डिजिटल रीड सीरियल ट्यूटोरियल - रोकनेवाला मूल्य की गणना


9

Arduino डिजिटल रीड सीरियल ट्यूटोरियल आपको एक साधारण बटन की वायरिंग के माध्यम से गाइड करता है। मेरे प्रश्न अवरोधक के चारों ओर केंद्रित हैं।

अवरोधक क्यों आवश्यक है?

मुझे लगता है कि मैं इसे समझता हूं, लेकिन अगर मैं गलत हूं तो मुझे सुधारो। यह सुनिश्चित करने के लिए कि इनपुट पिन एक कम संकेत पढ़ता है, और फ्लोट नहीं करता है, हमें पिन को जमीन से कनेक्ट करना चाहिए जब बटन को धक्का नहीं दिया जाता है। जब बटन को धक्का दिया जाता है, तो हमारे पास पिन और ग्राउंड दोनों पर बहने वाला 5V सिग्नल होगा। किरचॉफ के वोल्टेज कानून में कहा गया है कि बंद लूप में कुल वोल्टेज शून्य के बराबर होना चाहिए, इसलिए हमें इस 5 वी से निपटना होगा जो सीधे जमीन पर बह रहा है। यही कारण है कि हम बटन और जमीन के बीच एक अवरोधक डालते हैं।

प्रतिरोधक मूल्य कैसे चुना गया?

यह वह है जिस पर मैं अस्पष्ट हूं। ओम का नियम कहता है कि ...

resistance = voltage / current

यह एक 5V आपूर्ति है और Arduino Uno कल्पना कहती है कि पिन डीसी करंट का 40 mA प्रदान करता है। इसलिए..

resistance = 5V / 0.04A = 125 Ohms

में डिजिटल पढ़ें सीरियल ट्यूटोरियल, इसलिए हम एक 10K ओम बाधा है? इस तरह से overkill है, है ना? जो एक और सवाल की ओर ले जाता है: क्या आप कभी भी बहुत अधिक प्रतिरोध डाल सकते हैं, यदि आपका एकमात्र लक्ष्य वोल्टेज को तिरस्कृत करना है?

कोई भी प्रतिक्रिया देने के लिए अग्रिम धन्यवाद!

जवाबों:


6

तुम बहुत करीब हो। रोकनेवाला वहाँ एक पुल नीचे रोकनेवाला के रूप में कार्य करने के लिए है; यदि इनपुट पिन फ्लोटिंग है तो यह एक एंटीना है जो रैंडम स्टेटिक उठाता है। कुंजी यह है कि जब सकारात्मक (बटन दबाकर) आपूर्ति की जाती है तो सकारात्मक स्रोत को पुल डाउन रेज़र को "ऑवरम" करने की आवश्यकता होती है ताकि इनपुट पिन सकारात्मक पढ़े।

यदि कोई प्रतिरोध नहीं था, तो इनपुट पिन एक सीधे रास्ते के बीच में पढ़ा जाएगा जो सकारात्मक या नकारात्मक का पक्ष नहीं लेता है। घटित होने वाले प्रत्यक्ष शॉर्ट से, जो राज्य arduino पढ़ेगा मुझे संदेह है कि या तो यादृच्छिक या बिजली की आपूर्ति की कुछ संपत्ति होगी; यह शायद अभी भी जमीन पढ़ा होगा।

अवरोधक के साथ, सिग्नल लोड से पहले पॉजिटिव से सीधे जुड़ा हुआ पढ़ा जाता है। इस तरह यह एक उच्च संकेत प्राप्त करने के लिए सुनिश्चित हो जाएगा।

रोकनेवाला का सटीक आकार थोड़ा परिणाम है। बहुत छोटा और आप वर्तमान को बर्बाद करते हैं, लेकिन बहुत अधिक प्रतिरोध प्रभावी रूप से बस फिर से जमीन को डिस्कनेक्ट कर रहा है। मूल्यों की एक बहुत विस्तृत श्रृंखला है जो उन लोगों के बीच ठीक काम करेगी।

मैं यह नोट करना चाहूंगा कि जब एक Arduino पिन इनपुट मोड पर सेट होता है, तो यह प्रभावी रूप से कोई वर्तमान आपूर्ति नहीं करेगा। यह moddeled किया जा सकता है 100 मेगाओम रोकनेवाला के साथ श्रृंखला में किया जा रहा है। देख http://arduino.cc/en/Tutorial/DigitalPins जानकारी के लिए।


2
यहां महत्वपूर्ण बात यह है कि यदि आप एक अवरोधक का उपयोग नहीं करते हैं, जब स्विच बंद हो जाता है, तो आपने जमीन पर +5 वोल्ट को छोटा कर दिया है। एक प्रत्यक्ष शॉर्ट बिजली की आपूर्ति को अधिभारित करेगा और बिजली की आपूर्ति पर सुरक्षा सर्किट की यात्रा करेगा, जिससे पूरे Arduino बंद हो जाएंगे। आप वर्तमान प्रवाह को कम रखने के लिए उच्च प्रतिबाधा का अवरोध चाहते हैं। मैं आमतौर पर एक 100k रोकनेवाला का उपयोग करता हूं, जो कि स्विच के खुलने पर 0 वोल्ट तक इनपुट सिग्नल खींचने के लिए काफी है, और केवल .00005 पेस प्रवाहित करने के लिए, वर्तमान की एक तुच्छ राशि की अनुमति देता है। एक 10k रोकनेवाला भी काम करता है, लेकिन वह 10 गुना अधिक प्रवाह की अनुमति देता है।
डंकन सी।

2

अवरोधक क्यों आवश्यक है?

Arduino इनपुट में बहुत अधिक प्रतिरोध है। Atmega328 के डेटाशेड का कहना है कि ADC के लिए 100 MOhm, ऐसे उच्च मूल्य अच्छे हैं, लेकिन परजीवी प्रभाव (प्रतिरोध, प्रेरण, समाई) से निपटने के लिए भी दोष है। इस तरह के प्रभावों को कैपेसिटेंस सेंसर के रूप में भी इस्तेमाल किया जा सकता है ।

प्रतिरोधक मूल्य कैसे चुना गया?

रोकनेवाला के पास एक मनमाना मूल्य होना चाहिए, जो इनपुट प्रतिरोध से छोटा है। 10k और ऊपर इनपुट रिसाव को अक्षम करने के लिए अच्छे हैं।

हालाँकि, जब आप आंतरिक पुल-अप रेसिस्टर्स का उपयोग करते हैं, तो आप प्रतिरोधक को भी छोड़ सकते हैं। इस मामले में आप नकारात्मक तर्क से निपटते हैं:

pinMode(3, INPUT);
digitalWrite(3, HIGH);

पिन 3 पर आप मापेंगे HIGHऔर बटन को पिन और जमीन से जुड़ा होना चाहिए। आंतरिक I / 0 पुल-अप रोकनेवाला का मान 50k है।


1

आप पहले से ही कुछ अच्छे उत्तरों के बारे में जान चुके हैं कि पुल-डाउन रोकनेवाला की आवश्यकता क्यों है।

संक्षेप में, आपको इनपुट को जमीन से उच्च और निम्न के बीच अस्थायी रूप से अस्थायी रूप से इनपुट रखने के लिए कनेक्ट करने की आवश्यकता है। आप एक अवरोधक का उपयोग करते हैं ताकि जब आप स्विच बंद कर दें, तो आप + 5 वी की आपूर्ति और जमीन के बीच एक शॉर्ट सर्किट न बनाएं।

एक और बिंदु, यद्यपि। Arduino के इनपुट में एक वैकल्पिक आंतरिक, सॉफ़्टवेयर-नियंत्रित पुल-अप रोकनेवाला शामिल है। यदि आप पहली बार पिन को इनपुट के रूप में सेट करते हैं, तो उस पोर्ट पर एक उच्च मान लिखें, यह पुल-अप रोकनेवाला को सक्रिय करता है। यह पिन को उच्च के रूप में पढ़ने का कारण बनता है जब इससे कुछ भी जुड़ा नहीं होता है।

आप + 5V के बजाय अपने स्विच को जमीन से जोड़ सकते हैं। फिर आपको उच्च मान मानने के लिए अपने कोड तर्क को बदलने की आवश्यकता है और दबाए गए के रूप में कम मूल्य नहीं। यह आपको अपनी वायरिंग को थोड़ा सरल बनाने की अनुमति देता है, क्योंकि आपको बाहरी अवरोधक की आवश्यकता नहीं है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.