Attiny2313 पर थर्मामीटर छोटा नहीं आता है।

खोजो इस लेख में हम समीक्षा करेंगेडिजिटल थर्मामीटर , बनाया गयामाइक्रोकंट्रोलर Attiny2313 , सुसज्जितरिमोट डिजिटल सेंसर DS18B20

. तापमान माप सीमा -55 से +125 डिग्री सेल्सियस तक है, तापमान माप चरण 0.1 डिग्री है। सर्किट बहुत सरल है, इसमें न्यूनतम भाग होते हैं और इसे आसानी से अपने हाथों से जोड़ा जा सकता है।

थर्मामीटर सर्किट के संचालन का विवरणरिमोट सेंसर के साथ घर का बना इलेक्ट्रॉनिक थर्मामीटर

ज्ञात हर चीज़ पर निर्मित। डलास का DS18B20 माइक्रोक्रिकिट तापमान सेंसर के रूप में कार्य करता है। थर्मामीटर सर्किट में अधिकतम 8 डिजिटल सेंसर का उपयोग किया जा सकता है। माइक्रोकंट्रोलर 1वायर प्रोटोकॉल के माध्यम से DS18B20 के साथ संचार करता है।

सबसे पहले, सभी कनेक्टेड सेंसरों को खोजा जाता है और आरंभ किया जाता है, फिर उनसे तापमान पढ़ा जाता है और फिर तीन अंकों वाले सात-खंड संकेतक HL1 पर प्रदर्शित किया जाता है। सूचक का उपयोग सामान्य कैथोड (सीसी) और सामान्य एनोड (सीए) दोनों के साथ किया जा सकता है। इसी प्रकार के सूचक का भी प्रयोग किया गया। प्रत्येक संकेतक का अपना फर्मवेयर होता है। आप घर और बाहर दोनों जगह तापमान माप सकते हैं; ऐसा करने के लिए, आपको DS18B20 को खिड़की के बाहर ले जाना होगा।

Attiny2313 के लिए आपको फ़्यूज़ को निम्नानुसार सेट करने की आवश्यकता है (प्रोग्राम के लिए)। मुझे इनक्यूबेटर के लिए एक थर्मामीटर की आवश्यकता थी, और चूंकि मेरे पास पहले से ही थर्मोस्टेट है, इसलिए मैं केवल थर्मामीटर ही बनाऊंगा। मेरे मामले में, मैं 4-अंकीय संकेतक के बजाय 3-अंकीय संकेतक का उपयोग करूंगा। आइए डिजिटल संकेतकों के बारे में थोड़ी बात करें। सात-खंड संकेतक में सात संकेत तत्व (खंड) होते हैं, जिन्हें बिजली आपूर्ति द्वारा व्यक्तिगत रूप से चालू और बंद किया जाता है। इन्हें अलग-अलग संयोजनों में शामिल करके आप उनसे संख्याओं के चित्र बना सकते हैं। आधुनिक संकेतकों में, एलईडी खंडों के रूप में बनाई जाती हैं, इसलिए एलईडी संकेतकों का आकार बेहद सरल होता है - जितने कम अलग एलईडी होंगे, डिवाइस उतना ही सस्ता होगा। खंडों को अक्षरों द्वारा निर्दिष्ट किया गया हैकोजी

  • . आठवां खंड एक बिंदु है. यहां संकेतक के पैरामीटर हैं जो थर्मामीटर में उपयोग किए जाते हैं:
  • अधिकतम फॉरवर्ड वोल्टेज (वर्तमान 20 एमए पर):...2.5 वी
  • अधिकतम आगे की धारा: ......25-30 एमए
  • अधिकतम रिवर्स वोल्टेज: .....5 V
  • रिवर्स करंट (5V पर): ......10 µA
  • बिजली अपव्यय: ..150 मेगावाट
  • अधिकतम पल्स फॉरवर्ड करंट: ......140-160 एमए

आइए अब थर्मामीटर ही बनाना शुरू करें। आइए सर्किट आरेख का अध्ययन करें।

इसे बनाने के लिए हमें आवश्यकता होगी:

>>> 4-अंकीय सात-खंड सूचक 1 टुकड़ा
>>> 0.1 माइक्रोफ़ारड सिरेमिक कैपेसिटर 1 पीसी।
>>> इलेक्ट्रोलाइटिक कैपेसिटर 100 यूएफ 16वी (10 संभव है)
>>> प्रतिरोधक 100-200 ओम 0.125 डब्ल्यू 8 पीसी।
>>> माइक्रोकंट्रोलर AtTiny2313 1 पीसी।
>>> पैनल 20 पैर 1 पीसी।
>>> सेंसर DS18B20 1 पीसी।
>>> तार, टांका लगाने वाला लोहा, सुनहरे हाथ))

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

हम बिजली की आपूर्ति करते हैं - और आपका काम हो गया! जो कुछ बचा है वह माइक्रोकंट्रोलर को फ्लैश करना है। फर्मवेयर संभव है. संग्रह में दो फ़र्मवेयर हैं, एक सामान्य कैथोड के लिए और एक सामान्य एनोड के लिए।

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

इसके अलावा महत्वपूर्ण कारकों में से एक: फ़्यूज़ सेट करते समय, "दबाना न भूलें" पढ़ना" (पढ़ें)। और फ़र्मवेयर को सहेजें, प्रोग्रामर से माइक्रोकंट्रोलर को हटा दें और डिवाइस में डालें।

हम सर्किट को बिजली की आपूर्ति करते हैं - और वोइला! सब कुछ काम करता है. सर्किट के लिए कोई मुद्रित सर्किट बोर्ड नहीं है, क्योंकि इसकी सादगी के कारण इसे खींचने का कोई मतलब नहीं है, सर्किट में मोटे तौर पर पांच रेडियो घटक होते हैं। प्रतिरोधों की गिनती नहीं की जा रही है, क्योंकि वहां उन्हें सोल्डर करना आम तौर पर आसान होता है। इस तापमान सेंसर के संचालन का वीडियो नीचे देखा जा सकता है:

ATTINY थर्मामीटर कैसे काम करता है

डिवाइस वास्तव में इतना सरल है कि यह नौसिखिया नियंत्रकों के लिए एकदम सही है, एटटिनी पर पहला व्यावहारिक प्रोजेक्ट है। मैं तुम्हारे साथ था उबलना.

एटीटीनी पर थर्मामीटर लेख पर चर्चा करें

मैं आपके द्वारा खर्च किए गए समय, धन, विवरण आदि के लिए सभी जिम्मेदारी से तुरंत इनकार करता हूं... अगर कुछ आपके लिए काम नहीं करता है, तो इसे अपने कुटिल हाथों पर दोष दें...

हाल ही में मैं पूरी तरह से निष्क्रिय शीतलन वाला एक कंप्यूटर बना रहा था। प्रोसेसर के तापमान की आसानी से निगरानी करने के लिए, थर्मामीटर को जल्दी से इकट्ठा करना आवश्यक था। "एवरेस्ट", "आइडा" और अन्य जैसे सभी प्रकार के कार्यक्रम एक साधारण कारण से मेरे लिए उपयुक्त नहीं थे: मैं मॉनिटर बंद होने पर भी तापमान को नियंत्रित करना चाहता था। या फिर मॉनिटर पूरी तरह से बंद होने पर भी। DS18B20 डिजिटल सेंसर, एक सस्ते AVR माइक्रोकंट्रोलर और सात-खंड संकेतक पर आधारित थर्मामीटर को इकट्ठा करने का निर्णय लिया गया। सबसे पहले मैं इंटरनेट पर प्रस्तावित विकल्पों में से एक के अनुसार थर्मामीटर सर्किट को दोहराना चाहता था। लेकिन इंटरनेट पर पोस्ट किए गए रेखाचित्रों का विश्लेषण करने के बाद, मैं इस निष्कर्ष पर पहुंचा कि मुझे अपनी खुद की "साइकिल" का आविष्कार करना होगा।

इंटरनेट पर प्रस्तुत डिज़ाइनों में कई कमियाँ थीं, अर्थात्:
* डायनामिक डिस्प्ले की कम गति (50...100 हर्ट्ज़), जिसके कारण संकेतक को देखना असुविधाजनक हो जाता है यदि आप जल्दी से उस पर नज़र डालते हैं, तो ऐसा लगता है कि संख्याएँ "चल रही हैं";
* सभी डिज़ाइनों ने संपूर्ण तापमान रेंज को पर्याप्त रूप से नहीं मापा (उदाहरण के लिए -55 से +125 तक), ऐसे डिज़ाइन भी थे जो शून्य डिग्री से नीचे तापमान नहीं मापते थे, या 100 डिग्री से ऊपर तापमान गलत तरीके से मापते थे;
* कोई चेकसम चेक (सीआरसी) नहीं था;
* खंडों के सामान्य पिन बिना कुंजी ट्रांजिस्टर के माइक्रोकंट्रोलर के एक पैर से जुड़े हुए थे, जिससे माइक्रोकंट्रोलर पोर्ट ओवरलोड हो रहे थे।

यदि एमके पोर्ट अतिभारित हैं, तो संकेतक की चमक कम हो सकती है, और माइक्रोकंट्रोलर के पैर भी जल सकते हैं। कुछ साल पहले मैंने इंटरनेट से एक आरेख का उपयोग करके ATtiny2313+DS18B20 का उपयोग करके एक थर्मामीटर इकट्ठा किया था। सर्किट कुंजी ट्रांजिस्टर के बिना था। 18 डिग्री के तापमान पर, संख्या "1" चमकीली चमकती थी, और संख्या "8" काफ़ी धीमी चमकती थी, मुझे आशा है कि हर कोई समझता है कि सब कुछ इस तरह से क्यों होता है। इसलिए, मैंने खुद से वादा किया कि मैं भविष्य में एमके पैरों पर ज्यादा भार नहीं डालूंगा। वैसे, यहां उस थर्मामीटर की एक तस्वीर है, जिसे इंटरनेट से एक आरेख के अनुसार इकट्ठा किया गया है, मुझे लगता है कि इसे किसी टिप्पणी की आवश्यकता नहीं है:

मैं भी कुछ सुधार करना चाहता था:
* संकेतक पर डिग्री प्रतीक प्रदर्शित करें (डिग्री का दसवां हिस्सा मेरे लिए इतना महत्वपूर्ण नहीं था);
* बाहरी क्वार्ट्ज से माइक्रोकंट्रोलर को घड़ी दें, क्योंकि सेंसर द्वारा उपयोग किया जाने वाला "1-वायर" प्रोटोकॉल समय अंतराल (टाइम स्लॉट) के निर्माण के लिए महत्वपूर्ण है, इसलिए मैं अंतर्निहित घड़ी की स्थिरता के लिए प्रार्थना नहीं करना चाहता था जेनरेटर;
* प्रोग्राम में चेकसम चेक दर्ज करें, यदि चेकसम मेल नहीं खाता है, तो संकेतक पर प्रदर्शित करें: "सीआरसी";
* सर्किट में एक डायोड जोड़ें (सर्किट को पावर रिवर्सल से बचाने के लिए);
* जब बिजली लागू की जाती है, तो सभी खंड 1 सेकंड के लिए रोशन हो जाते हैं (तथाकथित खंड परीक्षण);
* DS18B20 चेकसम सत्यापन लागू करें।

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

मैंने 3 परिचित स्थानों, एक सामान्य एनोड वाले खंडों के लिए सात-खंड संकेतक का उपयोग किया। इसके अलावा संग्रह में (लेख के अंत में) एक सामान्य कैथोड वाले संकेतक के लिए फर्मवेयर हैं। मैंने खंडों के सामान्य टर्मिनलों को एमके के दो टर्मिनलों से जोड़ा, जो समानांतर में जुड़े हुए हैं। इस प्रकार, खंड संकेतक का प्रत्येक सामान्य पिन पिन की भार क्षमता बढ़ाने के लिए 2 एमके पिन का उपयोग करता है।

मैंने लगभग सभी फ्री लेग्स (रीसेट पिन को छोड़कर) का उपयोग करते हुए ATtiny2313A माइक्रोकंट्रोलर (आप ATtiny2313 या ATtiny2313L का भी उपयोग कर सकते हैं) का उपयोग किया। यदि आप ATmega8 पर थर्मामीटर असेंबल करते हैं, तो आप पोर्ट की भार क्षमता बढ़ाने के लिए समानांतर में 3 या 4 पैर जोड़ सकते हैं।

डिवाइस आरेख:

मैं इकट्ठे किए गए थर्मामीटर की तस्वीरें संलग्न कर रहा हूं। अभी तक कोई मामला नहीं है, क्योंकि थर्मामीटर पीसी केस में बनाया जाएगा।

संकेत.
तापमान सेंसर कनेक्ट नहीं है, या डेटा लाइन पर शॉर्ट सर्किट है:

चेकसम त्रुटि (सीआरसी):

तापमान सेंसर जुड़ा, तापमान -55 से -10 डिग्री तक:

तापमान सेंसर जुड़ा, तापमान -9 से -1 डिग्री तक:

तापमान सेंसर जुड़ा, तापमान 0 से 9 डिग्री तक:

तापमान सेंसर जुड़ा, तापमान 10 से 99 डिग्री तक:

तापमान सेंसर जुड़ा, तापमान 100 से 125 डिग्री तक:

गतिशील डिस्प्ले आवृत्ति कई किलोहर्ट्ज़ है, इसलिए संकेतक पर एक त्वरित नज़र डालने पर भी झिलमिलाहट आंख को दिखाई नहीं देती है।
उन लोगों के लिए जो डिज़ाइन को दोहराना चाहते हैं, मैंने विभिन्न क्वार्ट्ज के लिए कई फर्मवेयर संकलित किए: 4 मेगाहर्ट्ज, 8 मेगाहर्ट्ज, 10 मेगाहर्ट्ज, 12 मेगाहर्ट्ज, 16 मेगाहर्ट्ज।
मैंने एक सामान्य एनोड (OA) और एक सामान्य कैथोड (OC) वाले संकेतकों के लिए फर्मवेयर भी बनाया। सभी फ़र्मवेयर संग्रह में हैं (नीचे देखें)।

युपीडी
फ़र्मवेयर अपडेट किया गया. छोटे-मोटे सुधार, छोटी-मोटी अच्छाइयाँ। इनमें से मुख्य हैं stdint डेटा प्रकार, खंडों के लिए पैरों का लचीला विन्यास। सभी परिवर्तन स्रोत शीर्षलेख में वर्णित हैं।

मुझे इनक्यूबेटर के लिए एक थर्मामीटर की आवश्यकता थी, और चूंकि मेरे पास पहले से ही एक थर्मोस्टेट है, इसलिए मैं केवल थर्मामीटर ही बनाऊंगा। मेरे मामले में, मैं 4-अंकीय संकेतक के बजाय 3-अंकीय संकेतक का उपयोग करूंगा। आइए डिजिटल संकेतकों के बारे में थोड़ी बात करें। सात-खंड संकेतक में सात संकेत तत्व (खंड) होते हैं, जिन्हें बिजली आपूर्ति द्वारा व्यक्तिगत रूप से चालू और बंद किया जाता है। इन्हें अलग-अलग संयोजनों में शामिल करके आप उनसे संख्याओं के चित्र बना सकते हैं। आधुनिक संकेतकों में, एलईडी खंडों के रूप में बनाई जाती हैं, इसलिए एलईडी संकेतकों का आकार बेहद सरल होता है - जितने कम अलग एलईडी होंगे, डिवाइस उतना ही सस्ता होगा। खंडों को अक्षरों द्वारा निर्दिष्ट किया गया है मुझे इनक्यूबेटर के लिए एक थर्मामीटर की आवश्यकता थी, और चूंकि मेरे पास पहले से ही थर्मोस्टेट है, इसलिए मैं केवल थर्मामीटर ही बनाऊंगा। मेरे मामले में, मैं 4-अंकीय संकेतक के बजाय 3-अंकीय संकेतक का उपयोग करूंगा। आइए डिजिटल संकेतकों के बारे में थोड़ी बात करें। सात-खंड संकेतक में सात संकेत तत्व (खंड) होते हैं, जिन्हें बिजली आपूर्ति द्वारा व्यक्तिगत रूप से चालू और बंद किया जाता है। इन्हें अलग-अलग संयोजनों में शामिल करके आप उनसे संख्याओं के चित्र बना सकते हैं। आधुनिक संकेतकों में, एलईडी खंडों के रूप में बनाई जाती हैं, इसलिए एलईडी संकेतकों का आकार बेहद सरल होता है - जितने कम अलग एलईडी होंगे, डिवाइस उतना ही सस्ता होगा। खंडों को अक्षरों द्वारा निर्दिष्ट किया गया हैको. आठवां खंड एक बिंदु है. यहां संकेतक के पैरामीटर हैं जो थर्मामीटर में उपयोग किए जाते हैं:
  • . आठवां खंड एक बिंदु है. यहां संकेतक के पैरामीटर हैं जो थर्मामीटर में उपयोग किए जाते हैं:
  • अधिकतम फॉरवर्ड वोल्टेज (वर्तमान 20 एमए पर):...2.5 वी
  • अधिकतम आगे की धारा: ......25-30 एमए
  • अधिकतम रिवर्स वोल्टेज: .....5 V
  • रिवर्स करंट (5V पर): ......10 µA
  • बिजली अपव्यय: ..150 मेगावाट
  • अधिकतम पल्स फॉरवर्ड करंट: ......140-160 एमए

आइए अब थर्मामीटर ही बनाना शुरू करें। आइए सर्किट आरेख का अध्ययन करें।

इसे बनाने के लिए हमें आवश्यकता होगी:

>>> 4-अंकीय सात-खंड सूचक 1 टुकड़ा
>>> 0.1 माइक्रोफ़ारड सिरेमिक कैपेसिटर 1 पीसी।
>>> इलेक्ट्रोलाइटिक कैपेसिटर 100 यूएफ 16वी (10 संभव है)
>>> प्रतिरोधक 100-200 ओम 0.125 डब्ल्यू 8 पीसी।
>>> माइक्रोकंट्रोलर AtTiny2313 1 पीसी।
>>> पैनल 20 पैर 1 पीसी।
>>> सेंसर DS18B20 1 पीसी।
>>> तार, टांका लगाने वाला लोहा, सुनहरे हाथ))

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

हम बिजली की आपूर्ति करते हैं - और आपका काम हो गया! जो कुछ बचा है वह माइक्रोकंट्रोलर को फ्लैश करना है। फर्मवेयर संभव है. संग्रह में दो फ़र्मवेयर हैं, एक सामान्य कैथोड के लिए और एक सामान्य एनोड के लिए।

इस एमके को फ्लैश करने के लिए हमें एक एवीआर प्रोग्रामर की आवश्यकता है। पढ़ना"हम फ़्यूज़ को नीचे दी गई तस्वीर के अनुसार सेट करते हैं:

इसके अलावा महत्वपूर्ण कारकों में से एक: फ़्यूज़ सेट करते समय, "दबाना न भूलें" पढ़ना" (पढ़ें)। और फ़र्मवेयर को सहेजें, प्रोग्रामर से माइक्रोकंट्रोलर को हटा दें और डिवाइस में डालें।

यह कैसे करें, लिंक देखें। पोनीप्रोग खोलें (यदि आपके पास उपरोक्त लेख से प्रोग्रामर है) और फर्मवेयर अपलोड करें। फ़र्मवेयर अपलोड करते समय, बटन दबाना न भूलें "

ATTINY थर्मामीटर कैसे काम करता है

हम सर्किट को बिजली की आपूर्ति करते हैं - और वोइला! सब कुछ काम करता है. सर्किट के लिए कोई मुद्रित सर्किट बोर्ड नहीं है, क्योंकि इसकी सादगी के कारण इसे खींचने का कोई मतलब नहीं है, सर्किट में मोटे तौर पर पांच रेडियो घटक होते हैं। प्रतिरोधों की गिनती नहीं की जा रही है, क्योंकि वहां उन्हें सोल्डर करना आम तौर पर आसान होता है। इस तापमान सेंसर के संचालन का वीडियो नीचे देखा जा सकता है: उबलना.

डिवाइस वास्तव में इतना सरल है कि यह नौसिखिया नियंत्रकों के लिए एकदम सही है, एटटिनी पर पहला व्यावहारिक प्रोजेक्ट है। मैं तुम्हारे साथ था
"थर्मामीटर: यह छोटा नहीं हो सकता" वेबसाइट arv.radioliga.com पर लेख का शीर्षक है। मैंने संकेतित पृष्ठ पर स्थित आरेख को बहुत समय पहले देखा था, लेकिन मुझे इसमें दिलचस्पी तब हुई जब मंच के एक साथी नागरिक ने इस "छोटे" थर्मामीटर के बारे में प्रश्न पूछे। अधिक सटीक होने के लिए, मुझे आरेख में उतनी दिलचस्पी नहीं हुई जितनी कि थर्मामीटर के आयामों में। लेखक के पास 50*22 मिमी मापने वाले बोर्ड पर एक थर्मामीटर लगा हुआ है।

क्या वास्तव में इससे कम जैसी कोई चीज़ नहीं है?

आरेख और कार्यक्रम के बारे में कुछ शब्द। बलिदान के बिना कॉम्पैक्टनेस नहीं आई है। सर्किट में कोई वर्तमान-सीमित प्रतिरोध नहीं है, जो पूरी तरह से अच्छा नहीं है। भार क्षमता बढ़ाने के लिए, संकेतक कैथोड एक साथ एमके के दो टर्मिनलों से जुड़े होते हैं।
कार्यक्रम में कुछ भी मौलिक नहीं है. टेम्पलेट CVAVR के विज़ार्ड का उपयोग करके तैयार किया गया है, बाकी हिस्से मेरी थर्मामीटर घड़ी से लिए गए हैं। मैंने संशोधित DS18B20 लाइब्रेरी का उपयोग किया, या यों कहें कि यह DS1820/DS18S20 और DS18B20 के लिए CVAVR से दो लाइब्रेरी का योग है, यानी। उपरोक्त में से किसी भी सेंसर का उपयोग थर्मामीटर में किया जा सकता है। अधिक सटीक रूप से, किसी भी संयोजन में 4 से अधिक सेंसर नहीं।
फ़्यूज़: एमके को 4 मेगाहर्ट्ज पर एक आंतरिक आरसी ऑसिलेटर से संचालित करने के लिए कॉन्फ़िगर किया गया है। सीकेएसईएल = 0010, एसयूटी = 10, अन्य सभी = 1।



संबंधित आलेख: