एनालॉग इनपुट पिन के माध्यम से 4-बिट बस पता चयन: मोंटे कार्लो सिमुलेशन पता मानों को अतिव्यापी दिखाता है


16

मैंने ATTiny44 माइक्रोकंट्रोलर के साथ अपने मास्टर थीसिस के लिए एक छोटा सेंसर पीसीबी डिजाइन किया । मुझे अपने आवेदन के लिए इनमें से लगभग 200 बोर्डों की आवश्यकता है और 16 हमेशा स्थानीय रूप से नियंत्रक बोर्ड से जुड़े होते हैं। पूरा नेटवर्क इस तरह दिखता है:

यहां छवि विवरण दर्ज करें

नियंत्रक और सेंसर बोर्डों के बीच संवाद करने के लिए मैंने अपनी 1 पिन बस (समय आधारित) लिखी। एकमात्र समस्या सेंसर बोर्ड को नेटवर्क में इसकी स्थिति जानने के लिए एक पता होना चाहिए, जब मैं नियंत्रक बोर्ड को अपना डेटा भेजता हूं।

जैसा कि मेरे पास एटीटी पर केवल 1 पिन बचा था मैं एक जम्पर आधारित डीएसी सर्किट के साथ आया था जो चार जंपर्स की सेटिंग के आधार पर एक एनालॉग वोल्टेज उत्पन्न करना चाहिए। जैसा कि सेंसर सर्किटरी मूल्यों का उपयोग करता है (47, 470, 1k, 3k, 4k7, 10k, 100k, और 220k) और मैं उत्पादन के लिए अनुकूलन करना चाहता था मैंने DAC के लिए नीचे दिए गए मूल्यों का उपयोग किया (मूल रूप से 100k, 50k, 20k और 10k )। जो मुझे जम्पर सेटिंग के आधार पर 0 V और 760 mV के बीच एक अच्छा मूल्य दे। वास्तव में जो मुझे एटीटी के आंतरिक 1.1 वी संदर्भ के साथ एनालॉग वोल्टेज के रूप में पढ़ने की आवश्यकता थी। स्टार्ट-अप पर एट्टीनी इस वोल्टेज को पढ़ता है और इसकी स्थिति जानना चाहिए।

ढांच के रूप में

इस सर्किट का अनुकरण करें - सर्किटलैब का उपयोग करके बनाई गई योजनाबद्ध

सिद्धांत रूप में यह ठीक काम करता है। मैंने यह भी पुष्टि करने के लिए एलटीस्पाइस में एक मोंटे कार्लो विश्लेषण किया था कि मुझे कोई अतिव्यापी क्षेत्र नहीं मिलता है, जब प्रतिरोधों की सहिष्णुता पर विचार किया जाता है (सभी 1% बीटीडब्ल्यू हैं)। नीचे आप इस विश्लेषण की तस्वीरें पा सकते हैं।

यहां छवि विवरण दर्ज करें यहां छवि विवरण दर्ज करें

अब मैंने इन बोर्डों में से कई (सौभाग्य से 200 नहीं) का उत्पादन किया और फिर भी कुछ अपने पते पर सही रीडिंग प्राप्त करने में विफल रहे (विशेष रूप से उच्च पता क्षेत्रों में जहां सभी सहिष्णुता एक बार में खेलने के लिए आती हैं)। मैंने सभी संभावित समाधानों को मापा और अंत में अपनी समस्या का पता लगाया। मेरे मूल विश्लेषण में 5 वी आपूर्ति वोल्टेज की सहिष्णुता शामिल नहीं थी, जो स्थानीय रूप से प्रत्येक नियंत्रक बोर्ड पर एमसी 7805 के साथ 12 वी से उत्पन्न होती है । प्रति डेटाशीट में, MC7805 में 4.8 और 5.2 V के बीच आउटपुट वोल्टेज है।

यह पता लगाने के बाद मैंने मोंटे कार्लो विश्लेषण को संशोधित किया। अब यह इस तरह दिखता है:

यहां छवि विवरण दर्ज करें यहां छवि विवरण दर्ज करें

जैसा कि आप देख सकते हैं कि अच्छे अतिव्यापी क्षेत्र हैं, जहां मैं निश्चित रूप से नहीं कह सकता कि यह वोल्टेज केवल इस पते का मतलब हो सकता है। मूल रूप से सभी पते नहीं से शुरू होते हैं। 8 एक गलत रीडिंग (उच्च पते के लिए झूठी रीडिंग के लिए उच्च संभावनाओं के साथ) प्राप्त कर सकता है।

मैं बोर्ड पर पहले से ही उपयोग किए जाने वाले की तुलना में अलग-अलग प्रतिरोधक मान जोड़ना नहीं चाहूंगा (जैसा कि थीसिस के लिए मैं उत्पादन के लिए अनुकूलित करना चाहता हूं)।

मैं DAC रोकनेवाला नेटवर्क को खिलाने के लिए एक वोल्टेज संदर्भ (जैसे, जेनर डायोड) नहीं जोड़ना चाहूंगा।

मैं किसी भी अधिक नियंत्रक बोर्ड को संशोधित नहीं कर सकता (और वहां एक अधिक सटीक वोल्टेज नियामक का उपयोग करता हूं )।

मैं अभी भी सेंसर बोर्ड के पीसीबी डिजाइन / योजनाबद्ध को संशोधित कर सकता हूं !

मैं पते पर हमेशा सही रीडिंग कैसे प्राप्त कर सकता हूं (या तो प्रोग्राम द्वारा या सर्किट बदलकर)?


3
+1 अच्छा सवाल। क्या आप पिछले LTspice asc फ़ाइल को एक पास्टबिन में कहीं प्रदान कर सकते हैं? तो हम अन्य संयोजनों का परीक्षण कर सकते हैं?
को SE

2
महान सवाल, यह पता लगाने से पहले कि यहां मार्गदर्शन के लिए वास्तव में क्या कारण है, पर अच्छा काम। अब प्रश्न और उत्तर केवल आपके माध्यम से पास होने वाले किसी भी व्यक्ति के लिए एक अच्छा पढ़ा है :-)
मस्त

जवाबों:


19

आपके सिमुलेशन के अनुसार, आपकी संबोधन योजना तब तक ठीक काम करती है जब तक कि प्रतिरोधक मूल्यों में अनिश्चितता को माना जाता है। यह वोल्टेज पर अनिश्चितता है जो इसे विफल कर देता है।

मेरी सलाह एडीसी के संदर्भ के रूप में इसका उपयोग करके वीसीसी पर उतार-चढ़ाव को रद्द करना है। आप प्रोग्रामिंग करके ऐसा कर सकते हैंREFS बिट्स को ADMUXरजिस्टर में , जैसा कि डेटाशीट में बताया गया है :

यहाँ छवि विवरण दर्ज करें

एक बार जब आप एडीसी के लिए एक संदर्भ वोल्टेज के रूप में वीसीसी पर स्विच करते हैं, तो आप अब वोल्टेज नहीं मापेंगे, लेकिन प्रतिरोधक मानों के बीच एक अनुपात, और वे 1% के लिए सटीक हैं। योजनाबद्ध में कोई बदलाव की आवश्यकता नहीं है (हालांकि आप एडीसी की रूपांतरण सीमा के बीच में अपने माप प्राप्त करने के लिए आर 7 के मूल्य में वृद्धि करना चाहते हैं), केवल एटिनी के फर्मवेयर को अपडेट करना होगा।

यदि आप अभी भी सेंसर बोर्ड को फिर से काम करने के लिए तैयार हैं, तो आप अपने योजनाबद्ध को R-2R सीढ़ी द्वारा प्रतिस्थापित कर सकते हैं जैसा कि Cano64 ने सुझाव दिया है:

ढांच के रूप में

इस सर्किट का अनुकरण करें - सर्किटलैब का उपयोग करके बनाई गई योजनाबद्ध

यह सीढ़ी में सभी चरणों को समान बनाकर संकल्प का अनुकूलन करेगा। 1% प्रतिरोधक 5 बिट तक के मोनोटोनिक लैडर के निर्माण के लिए सटीक हैं ।


रवींद्र! मैंने पेड़ों के लिए फॉरेस्ट नहीं देखा। मैं उस 1.1V पर बहुत ठीक हो गया था ... बहुत बहुत धन्यवाद! मैं कोशिश करूंगा कि
कार्लकर्ल्स

1
इसका परीक्षण किया और यह काम करता है। महान!
कार्लकर्ल्सम

मैंने इसे वीसीसी के साथ आरईएफ के लिए और आर 7 के लिए 220k रोकनेवाला के रूप में परीक्षण किया। मैं बाद में 100k, 220k R-2R सीढ़ी की कोशिश कर सकता हूं और देख सकता हूं कि क्या यह मुझे और भी बेहतर परिणाम देता है। एक बार फिर धन्यवाद!
कार्लकर्ल्सम

3

मुझे एक बार इसी तरह की समस्या का समाधान करना था। Arduino पर मुझे एक एनालॉग पिन से 4 बटन कनेक्ट करने की आवश्यकता थी, हालांकि मुझे एक साथ प्रेस (सभी संयोजनों) को पहचानने की आवश्यकता थी। मैं आपके साथ उसी सर्किट के साथ आया था, तब मैंने सभी संभावित अवरोधक मूल्य संयोजनों की खोज करने के लिए एक कार्यक्रम लिखा था ताकि अंतिम मान जब आप बटन दबाएं, जितना संभव हो उतना अलग हो। अंदाज़ा लगाओ? हम खराब हैं, ऐसा नहीं किया जा सकता है। यह अच्छा दिन है।

मुझे पता चला कि स्विच के लिए इष्टतम अवरोधक मान आर, 2 आर, 4 आर, 8 आर के करीब हैं और डिवाइडर के नीचे के हिस्से का मूल्य आर है। आपका सर्किट पहले से ही इष्टतम एक के करीब है, आपको बस आर 7 को 10k के साथ बदलने की आवश्यकता है बाधा।

लेकिन आपके लिए एक अच्छी खबर है। चूंकि आपको बस एक पता सेट करने की आवश्यकता है (आप डिवाइस चालू होने पर स्विच को संचालित नहीं करेंगे) मैं इसके बजाय SPDT स्विच और R2R सीढ़ी का उपयोग करने की सलाह देता हूं ।


यह क्यों नहीं किया जा सका? क्या हुआ जब आपने अपने स्विच को (R, 2R, 4R, 8R) प्रतिरोधों से जोड़ा? क्या संयोजन काम नहीं किया?
दिमित्री ग्रिगोरीव

आर -2 आर सीढ़ी एक शानदार सुझाव है!
दिमित्री ग्रिगोरीव

+ दिमित्री का मतलब था कि आउटपुट वॉल्टेज में से एक ही उन्हें मज़बूती से अलग करने के करीब है।
Cano64
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.