मैं PIC माइक्रोकंट्रोलर के साथ -2 V से +2 V एनालॉग सिग्नल का नमूना कैसे ले सकता हूं?


10

मैं एक 10bit एडीसी के साथ एक PIC माइक्रो का उपयोग कर रहा हूं ताकि 300 हर्ट्ज से कम आवृत्ति वाले एनालॉग सिग्नल से रीडिंग ले सकें। हालाँकि, यह एनालॉग सिग्नल -2 V और +2 V की सीमा में है। मैं इसे एक प्रयोग करने योग्य रेंज में प्राप्त करने के लिए सिग्नल की स्थिति कैसे कर सकता हूं (ADC के इनपुट को सकारात्मक होना चाहिए) इसके अलावा, मेरे पास सकारात्मक और नहीं है नकारात्मक बिजली की आपूर्ति।


3
संभावित डुप्लिकेट: Electronics.stackexchange.com/questions/3105/…
थॉमस ओ



@Kellenjb - आपके द्वारा लिंक किए गए प्रश्न इस विशेष मामले की गणना को संबोधित नहीं करते हैं, जहां इनपुट वोल्टेज रेल से परे दोनों तरह से जाता है।
स्टीवनव

निम्नलिखित प्रश्नों को इस एक के डुप्लिकेट के रूप में बंद कर दिया गया था, और उपयोगी उत्तर दिए गए हैं: Electronics.stackexchange.com/questions/15985/… , Electronics.stackexchange.com/questions/15940/…
केविन वर्कर

जवाबों:


14

महत्वपूर्ण नोट:
यह उत्तर -20 वी + से 20 वी इनपुट के लिए समस्या को हल करने के लिए पोस्ट किया गया था , क्योंकि जो पूछा गया था। यह एक चतुर तरीका है, लेकिन काम नहीं करता है अगर इनपुट वोल्टेज सीमा रेल के बीच रहती है।

आपको वोल्टेज को एक प्रतिरोधक विभक्त के साथ स्केल करना होगा ताकि आपको -2.5V और + 2.5V के बीच वोल्टेज मिले, और 2.5V जोड़ें। (मैं अपने PIC के लिए 5V बिजली की आपूर्ति मान रहा हूँ)।

निम्नलिखित गणना लंबी दिखती है, लेकिन यह केवल इसलिए है क्योंकि मैं हर चरण के बारे में विस्तार से बताता हूं। वास्तव में यह इतना आसान है कि आप इसे कुछ ही समय में अपने सिर पर कर सकते हैं।

पहला यह:

R1 और V O U T के बीच का अवरोधक है , R2 + 5 V और V O U T के बीच का अवरोधक है , और R3 V O U T और G N D के बीच का अवरोधक है । VINVOUT
+5VVOUT
VOUTGND

हमारे पास कितने अज्ञात हैं? तीन, आर 1, आर 2 और आर 3। काफी नहीं, हम एक मूल्य को स्वतंत्र रूप से चुन सकते हैं, और अन्य दो उस पर निर्भर हैं। चलो R3 = 1k चुनें। अन्य मूल्यों को खोजने का गणितीय तरीका दो ( , V O U T ) जोड़े से एक साथ दो समीकरणों का एक सेट बनाना और अज्ञात अवरोधक मानों को हल करना है। कोई भी ( V I N , V O U T ) जोड़े करेगा, लेकिन हम देखेंगे कि हम उन जोड़ियों को ध्यान से चुनकर चीजों को सरल बना सकते हैं, जैसे कि चरम मान: ( + 20 V , + 5 V ) और ( -VINVOUTVINVOUT+20V+5V , 0 वी )। 20V0V

पहला मामला: , V O U T = + 5 V ध्यान दें कि (और यह समाधान की कुंजी है!) R2 के दोनों छोर + 5 V देखते हैं , इसलिए कोई वोल्टेज ड्रॉप नहीं है, और इसलिए नहीं आर 2 के माध्यम से करंट। इसका मतलब है कि I R 1 को I R 3 (KCL) के समान होना चाहिए । मैं आर 3 = + 5 वी - 0 वीVIN=+20VVOUT=+5V
+5VIR1IR3
। हम R1 के माध्यम से करंट को जानते हैं, और इसके ऊपर वोल्टेज भी है, इसलिए हम इसके प्रतिरोध की गणना कर सकते हैं:R1=+20V-5VIR3=+5V0V1kΩ=5mA=IR1
। हमारा पहला अज्ञात मिला! R1=+20V5V5mA=3kΩ

दूसरा मामला: , V O U T = 0 V वही जो R2 के साथ होता है वह अब R3 के साथ होता है: कोई वोल्टेज ड्रॉप नहीं, तो कोई करंट नहीं। KCL के अनुसार, अब I R 1 = I R 2 हैमैं आर 1 = - 20 वी - 0 वीVIN=20VVOUT=0V
IR1IR2
। हमआर2 केमाध्यम से वर्तमान को जानते हैं, और इसके ऊपर वोल्टेज भी, इसलिए हम इसके प्रतिरोध की गणना कर सकते हैं:आर2=+5वी-0वीIR1=20V0V3kΩ=6.67mA=IR2
। हमारा दूसरा अज्ञात मिला! R2=+5V0V6.67mA=0.75kΩ

तो एक समाधान है: R1=3kΩ,R2=0.75kΩ,R3=1kΩ

जैसे कि मैंने कहा कि यह केवल है अनुपात इन मूल्यों को जो महत्वपूर्ण है के बीच है, तो मैं भी चुन सकते हैं । हम इस समाधान को दूसरे ( वी आई एन , वी यू टी ) जोड़ी, उदाहरण के लिए ( 0 वी , 2.5 वी ) के खिलाफ जांच सकते हैं । R1 और R3 अब समानांतर हैं (उन दोनों पर + 2.5V-0V है, इसलिए जब हम उनके संयुक्त मूल्य की गणना करते हैं तो हम AC75 पाते हैं।R1=12kΩ,R2=3kΩ,R3=4kΩ
VINVOUT0V2.5V , बिल्कुल R2 के मूल्य, और मूल्य हम प्राप्त करने के लिए की जरूरत + 2.5 वी से + 5 वी ! इसलिए हमारा समाधान वास्तव में सही है। [क्यूसी स्टाम्प यहाँ जाता है]0.75kΩ+2.5V+5V

आखिरी बात यह है कि को PIC के ADC से जोड़ना है । एडीसी में अक्सर कम इनपुट प्रतिरोध होते हैं, इसलिए यह हमारे सावधानीपूर्वक गणना किए गए संतुलन को परेशान कर सकता है। चिंता की कोई बात नहीं है, हालाँकि, हमें बस R3 को बढ़ाना है ताकि R 3 / / R A D C = 1 k however हो । मान लीजिए आर डी सी = 5 कश्मीर Ω , तो 1VOUTR3//RADC=1kΩRADC=5kΩ इस से हम पाते हैंआर3=1.25कश्मीरΩ11kΩ=1R3+1RADC=1R3+15kΩR3=1.25kΩ



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


-20 वी का परिणाम 0 वी से थोड़ा नीचे होगा।
ओलिन लेट्रोप

(और शायद ओलिन लेट्रोप): मैं यह पता लगाने की कोशिश कर रहा था कि आपको 7k रोकनेवाला का मूल्य कैसे मिलेगा। मैंने देखा कि जब इनपुट वोल्टेज 2.5V होता है, तो नोड को करंट प्रवाहित नहीं किया जाएगा, जो भी प्रतिरोधक मूल्य हो, क्योंकि कोई वोल्टेज अंतर नहीं है। लेकिन में है कि 2.5V है नहीं मध्य दूरी, जबकि 2.5V बाहर भी है। इसका मतलब यह नहीं है कि विभक्त के दो अलग-अलग प्रतिरोधक होने चाहिए? क्या आपको पता है मेरा क्या मतलब है।
फेडेरिको रूसो

हो सकता है कि वह @ ओलिन लेट्रोप की टिप्पणी भी समझाता हो।
फेडेरिको रूसो

@ फ़्रेडरिक: हाँ, यह पूरी तरह से सममित नहीं होगा। मैं अपने उत्तर में इस पर चर्चा करता हूं। तीन प्रतिरोधों को -20 से +20 वोल्ट से 0 से 5 वोल्ट तक के नक्शे पर समायोजित करना संभव है, लेकिन स्टीवन और मैंने दोनों सरल मामलों को दिखाया जहां आपको एक मुकदमेबाजी मिलती है।
ओलिन लेट्रोप

6

सबसे आसान तरीका है "अवरोधक विभक्त" का उपयोग करना।

आपने यह नहीं कहा कि यह PIC किस वोल्टेज पर चल रहा है और इसलिए A / D इनपुट रेंज है, इसलिए उदाहरण के लिए 5V का उपयोग करें। आपकी इनपुट वोल्टेज रेंज 40V है, और आउटपुट 5V है, इसलिए आपको कम से कम 8 से कुछ प्राप्त करने की आवश्यकता है। आपको परिणाम 1/2 वीडीडी पर केंद्रित होने की आवश्यकता है, जो 2.5 वी है, जबकि आपका इनपुट वोल्टेज 0 वी पर केंद्रित है। ।

यह 3 प्रतिरोधों के साथ पूरा किया जा सकता है। सभी तीन प्रतिरोधों का एक सिरा एक साथ और PIC A / D इनपुट पिन से जुड़ा होता है। R1 का दूसरा छोर इनपुट सिग्नल पर जाता है, R2 Vdd में जाता है, और R3 जमीन पर जाता है। रोकनेवाला डिवाइडर R1 और R2 और R3 के समानांतर संयोजन से बनता है। आप परिणामी श्रेणी को 2.5V पर केन्द्रित करने के लिए R2 और R3 को समायोजित कर सकते हैं, लेकिन सरलता से यह समझाने के लिए कि हम थोड़ी सी अस्मिता के साथ जिएंगे और यह सुनिश्चित करने के लिए थोड़ा और अधिक भाग लेंगे कि दोनों छोर Vss-Vdd श्रेणी तक सीमित हैं।

मान लीजिए कि PIC एनालॉग सिग्नल को 10 k less या उससे कम की प्रतिबाधा चाहता है। सादगी के लिए फिर से, आर 2 और आर 3 20 k let's बनाते हैं। पीआईसी को खिलाने की प्रतिबाधा उन लोगों के समानांतर संयोजन से अधिक नहीं होगी, जो 10 kance है। 8 का क्षीणन प्राप्त करने के लिए, R1 को 7 बार R2 // R3 होना चाहिए, जो कि 70 kΩ है। हालांकि, चूंकि परिणाम बिल्कुल सममित नहीं होगा, इसलिए हमें यह सुनिश्चित करने के लिए थोड़ा और अधिक प्रयास करना होगा कि -20 वी तस्वीर में 0 वी से कम नहीं होगा। वास्तव में 9 के क्षीणन की आवश्यकता होती है, इसलिए R1 को कम से कम 8 गुना R2 // R3 होना चाहिए, जो कि 80 kuation है। 82 kΩ का मानक मूल्य कुछ ढलान और मार्जिन के लिए अनुमति देगा, लेकिन मूल सिग्नल को मापने के लिए आपको अभी भी अधिकांश ए / डी रेंज मिलती है।

जोड़ा गया:

यहां एक समान समस्या का सटीक समाधान खोजने का एक उदाहरण है। इसकी कोई अस्मिता नहीं है और इसमें एक विशेष निर्दिष्ट प्रतिबाधा है। समाधान का यह रूप हमेशा उपयोग किया जा सकता है जब ए / डी रेंज इनपुट वोल्टेज रेंज के भीतर पूरी तरह से हो।


+1 क्योंकि जहां तक ​​भागों की गिनती होती है, यह आवश्यक बनाने के लिए सबसे आसान तरीका है। कुछ नोट: यूसी के कोड में एसिमेट्री का ध्यान रखना संभव है, और जीएनडी पर जाने वाले अवरोधक के समानांतर एक संधारित्र जोड़कर सिग्नल को सुचारू किया जा सकता है (कम-पास फिल्टर)। कोने का फ़्रीक। 1 / (2 * pi R C) है, जहाँ R तीनों प्रतिरोधों का समानांतर मान है और C उस टोपी का मूल्य है जो जोड़ा जाता है (ADC को टोपी की आवश्यकता होती है। वैसे भी!)। कृपया सभी सहिष्णुता (R, ADC त्रुटि +/- अधिकतम। LSB, Ref। त्रुटि, ...) पर विचार करते हुए इस सेटअप की सटीकता की गणना करें - यह अपेक्षा से अधिक खराब हो सकता है।
zebonaut

@ ज़ेबोनौट - मैंने फिर से गणना की और अपने अद्यतन उत्तर में हर कदम के बारे में विस्तार से बताया (यह जितना दिखता है उतना कम जटिल है!)। यह आपको (-20 वी .. + 20 वी) की सटीक मैपिंग देता है (0 वी .. + 5 वी)
स्टीवनव

@ ज़ेबोनौट: कैपेसिटर एंटी-अलियासिंग फिल्टर के रूप में उपयोगी हो सकता है, लेकिन यह अस्मिता के बारे में कुछ नहीं करता है। मुझे नहीं लगा कि छोटी अस्मिता एक बड़ी बात थी। जैसा कि आपने कहा, फर्मवेयर की देखभाल करना काफी आसान है।
ओलिन लेट्रोप 12

यदि आप सॉफ्टवेयर में विषमता की भरपाई करना चाहते हैं, तो आपको सटीक हस्तांतरण फ़ंक्शन की गणना करनी होगी। यदि आपको ऐसा करना है, तो पहले स्थान पर सही अवरोधक मानों का उपयोग क्यों न करें (मेरे पहले (गलत) उत्तर से नहीं!)
स्टीवन्वह

@stevenvh: "राइट" रेसिस्टर वैल्यू का उपयोग करने में कुछ भी गलत नहीं है। मुझे एहसास हुआ कि एक सटीक मैपिंग संभव है (जैसा कि मैंने अपने उत्तर में उल्लेख किया है), लेकिन गणना की जटिलता में नहीं आने और वैचारिक रूप से सरल मामले का जवाब देने का फैसला किया, जिसके परिणामस्वरूप थोड़ी सी असावधानी होती है। किसी भी मामले में, आपको ढलान के लिए खाते में थोड़ा अधिक भाग लेना होगा, और शायद वैसे भी फर्मवेयर में जांच करनी चाहिए।
ओलिन लेट्रोप

2

यह उस के लिए मानक सर्किट है। आपको अपने आवश्यक प्रतिबाधा के लिए रोकनेवाला मानों को स्केल करने की आवश्यकता है।


क्या आपको यह सुनिश्चित करने की ज़रूरत है कि यदि इसका उपयोग किया जाए तो आपका स्रोत प्रतिबाधा अपेक्षाकृत कम है?
निक टी

लियोन, 1k रोकनेवाला के बजाय संधारित्र का उपयोग क्यों नहीं करें?
स्टीवन्वह

यह एक डीसी-युग्मित समाधान है। उचित संचालन के लिए श्रृंखला अवरोधक की आवश्यकता होती है।
लियोन हेलर

3
@ लीलर हेलर: मुझे लगता है कि यह एक बेहतर उत्तर होगा यदि आपने समझाया कि प्रतिरोधों के लिए सही मूल्य कैसे खोजें।
फेडेरिको रूसो

2

यदि संकेत DC नहीं है, या यदि DC संदर्भ महत्वपूर्ण नहीं है, तो संकेत को ADC के इनपुट में कैपेसिटिव रूप से युग्मित किया जा सकता है।

वैकल्पिक रूप से, यदि PIC के लिए आपका ग्राउंड फ्लोटिंग है, तो आप अपने सिग्नल ग्राउंड को PIC के 1/2 VDD में बाँध सकते हैं।


यदि आप कैपेसिटिव कपलिंग का उपयोग करते हैं तो आप डीसी घटक से छुटकारा पा लेते हैं, लेकिन सिग्नल का नकारात्मक हिस्सा तब भी जमीन से नीचे जाएगा, जब तक कि आप लियोन सर्किट में प्रतिरोधक विभक्त द्वारा इनपुट पिन पर पूर्वाग्रह प्रदान नहीं करते हैं।
स्टीवनव

आपूर्ति वोल्टेज निर्दिष्ट नहीं किया गया था - यह 5V एडीसी के साथ काम करेगा। यदि आप एक छोटे Vdd का उपयोग कर रहे थे, तो आपको इनपुट को स्केल करने की आवश्यकता होगी। यह उस समय एक संधारित्र के साथ लियोन के सर्किट में बदल जाएगा।
W5VO

2

निम्नलिखित सर्किट को काम करना चाहिए:

3.3V
 +
 |
 \
 / 1k
 \
 |
 +-- ADC input
 |
 \
 /  1k
 \
 |
 +-- Signal input (-2V to +2V)

यह एक संभावित विभक्त है। -2 वी पर, आउटपुट 0.65 वी होगा; + 2 वी, 2.65 वी पर।

3.3V रेल पर सभी शोर इनपुट में स्थानांतरित हो जाएंगे, इसलिए इस समस्या को कम करने के लिए एक अच्छा वोल्टेज संदर्भ का उपयोग करें।

यह अन्य आपूर्ति के साथ भी काम करेगा, लेकिन ऑफसेट शिफ्ट होगा।


हाँ, यह काम करता है, लेकिन पूर्ण एडीसी रेंज का उपयोग करना अच्छा होगा :-)
स्टीवनह

@stevenh आप ऐसा कर सकते हैं कि 0.65V और 2.65V संदर्भों का उपयोग करते हुए आप अपने सर्किट का उपयोग कर सकते हैं।
थॉमस ओ

VREF+VREFGND

@stevenh PIC24, dsPIC और PIC32 निश्चित रूप से Vref- है। मुझे लगता है कि कुछ 18F भी करते हैं।
थॉमस ओ

हाँ, ठीक है, मैं उन सभी को नहीं जानता ( उनमें से बहुत से हैं)। ओपी यह नहीं कहता कि वह किस भाग का उपयोग कर रहा है और वह गायब हो रहा है, इसलिए यह उससे पूछने का कोई फायदा नहीं है।
स्टीवनवह जूल 3'11

1

VADCREF
VADCVDDVADCVADCREF+

VDD2V3.3VVADC

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