ATTINY2313 पर घर का बना आवृत्ति काउंटर। ATTINY2313 पर घर का बना फ़्रीक्वेंसी काउंटर माइक्रोकंट्रोलर के बिना गतिशील संकेत के साथ फ़्रीक्वेंसी काउंटर

इस लेख में, हम देखेंगे कि 1% से कम त्रुटि के साथ 40 मेगाहर्ट्ज तक आवृत्तियों को मापने में सक्षम एक छोटा, सस्ता और सरल आवृत्ति काउंटर कैसे बनाया जाए। ऐसी सटीकता आपके अधिकांश एनालॉग और डिजिटल उपकरणों को डीबग करने के लिए काफी है। यह उपकरण आपको सर्किट के संचालन के कई पहलुओं का विश्लेषण करने की अनुमति देगा।

आवृत्ति मीटर का योजनाबद्ध आरेख चित्र 1 में दिखाया गया है।

चित्र .1। डिवाइस का योजनाबद्ध आरेख

फ़्रीक्वेंसी काउंटर को ब्रेडबोर्ड पर असेंबल किया जाता है, इसका आधार Atmel ATmega16 माइक्रोकंट्रोलर है, क्लॉक स्रोत आंतरिक 8 मेगाहर्ट्ज RC ऑसिलेटर है (माइक्रोकंट्रोलर की प्रोग्रामिंग करते समय इसे याद रखना चाहिए)। इसके अतिरिक्त, इनपुट भाग माइक्रोकंट्रोलर के इनपुट में फीड होने से पहले मापी गई आवृत्ति को 16 से विभाजित करने वाले के रूप में 4-बिट काउंटर 74HC191 का उपयोग करता है। जैसा कि आप देख सकते हैं, केवल काउंटर के आउटपुट Q3 का उपयोग किया जाता है, इस आउटपुट पर आवृत्ति 16 से विभाजित इनपुट आवृत्ति के बराबर होगी।

डिवाइस इनपुट (जांच) बिंदु W1 है, जो सीधे माइक्रोकंट्रोलर पोर्ट PB0 से और, एक डिवाइडर के माध्यम से, PB1 पोर्ट से जुड़ा है।

मापी गई आवृत्ति का मान प्रदर्शित करने के लिए, एक सामान्य एनोड के साथ 4-अंकीय सात-खंड एलईडी संकेतक का उपयोग किया जाता है। यह समाधान संकेतक को जोड़ने के लिए कंडक्टरों की संख्या कम कर देता है। इस प्रकार के डिस्प्ले के अभाव में, विभिन्न प्रकार के सात-खंड संकेतकों का उपयोग करना संभव है, हालांकि, माइक्रोकंट्रोलर सॉफ़्टवेयर के अनुकूलन की आवश्यकता होगी।

लागू संकेतक का लेआउट और पिन असाइनमेंट चित्र 2 में दिखाया गया है।


अंक 2। लागू 4-अंकीय एलईडी संकेतक का स्थान और पिन असाइनमेंट.

पिन E1…E4 का उपयोग संबंधित अंकों को चालू करने के लिए किया जाता है (E1 - दाएं सबसे कम महत्वपूर्ण अंक को चालू करने के लिए)।

ATmega16 माइक्रोकंट्रोलर की प्रत्येक I/O लाइन 40 mA तक आउटपुट करंट प्रदान कर सकती है, इसलिए हमें ट्रांजिस्टर का उपयोग करने की आवश्यकता नहीं है और डिस्प्ले कंट्रोल सिग्नल (E1…E4) सीधे माइक्रोकंट्रोलर पोर्ट से जुड़े होते हैं।

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

आवृत्ति माप एल्गोरिथ्म

हम सभी जानते हैं कि आवृत्ति समय की प्रति इकाई बार-बार दोहराई जाने वाली पल्स की संख्या है। हालाँकि, माइक्रोकंट्रोलर जैसे डिजिटल उपकरणों के साथ आवृत्ति माप, जिसकी अपनी सीमाएँ हैं, वांछित परिणाम प्राप्त करने के लिए कुछ शोध की आवश्यकता होती है।

ATmega16 माइक्रोकंट्रोलर के काउंटर द्वारा संसाधित की जा सकने वाली अधिकतम आवृत्ति 2.5 से विभाजित घड़ी आवृत्ति से अधिक नहीं हो सकती। आइए अधिकतम आवृत्ति को निरूपित करें - एफएमएक्स. हमारे माइक्रोकंट्रोलर की घड़ी की आवृत्ति 8 मेगाहर्ट्ज है, इसलिए हम सीधे 3.2 मेगाहर्ट्ज तक सिग्नल माप सकते हैं। इस स्तर से ऊपर की आवृत्ति को मापने के लिए, हम इनपुट आवृत्ति विभक्त के रूप में 4-बिट काउंटर का उपयोग करते हैं। अब हम आवृत्तियों को 16 बार तक माप सकते हैं एफएमएक्स, लेकिन यहां काउंटर 74191 द्वारा एक सीमा लगाई गई है और वास्तविक अधिकतम मापी गई आवृत्ति 40 मेगाहर्ट्ज से अधिक नहीं है।

जो एल्गोरिदम विकसित किया गया है वह मूल (इनपुट) आवृत्ति को मापता है (हम दर्शाते हैं)। एफ हे) और विभाजक से प्राप्त आवृत्ति (हम निरूपित करते हैं एफ डी). जब तक शर्त यह है कि आवृत्ति कम हो एफएमएक्सशर्त पूरी होती है:

एफ हे = 16×एफ डी ;

लेकिन जैसे-जैसे आप करीब आते हैं एफ हेको एफ अधिकतम, अधिक से अधिक दालों को संसाधित किया जाना चाहिए और उपरोक्त अभिव्यक्ति बन जाती है:

एफ हे < 16 × F डी ;

इसलिए, माइक्रोकंट्रोलर की माप सीमा का स्वचालित रूप से पता लगाया जा सकता है।

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

एल्गोरिथ्म को आरेख में संक्षेपित किया गया है (चित्र 3)

चित्र 3 माइक्रोकंट्रोलर पर आवृत्ति मीटर के संचालन का एल्गोरिदम

माइक्रोकंट्रोलर सॉफ्टवेयर

माइक्रोकंट्रोलर प्रोग्राम का स्रोत कोड विस्तृत टिप्पणियों के साथ प्रदान किया गया है, लेकिन कुछ बिंदुओं के लिए अलग स्पष्टीकरण की आवश्यकता है:

  • कोड को इस प्रकार डिज़ाइन किया गया है कि मापा गया मान डिस्प्ले पर "kHz" में प्रदर्शित हो। उदाहरण के लिए, यदि आप डिस्प्ले पर मान "325.8" देखते हैं, तो इसका अर्थ है 325.8 किलोहर्ट्ज़, मान "3983" का अर्थ है 3983 किलोहर्ट्ज़ (या 3.983 मेगाहर्ट्ज)।
  • माइक्रोकंट्रोलर के टाइमर/काउंटर 0 का उपयोग सीधे इनपुट पल्स को गिनने के लिए किया जाता है;
  • माइक्रोकंट्रोलर के टाइमर/काउंटर 1 का उपयोग 16 से विभाजित करने के बाद इनपुट पल्स को गिनने के लिए किया जाता है;
  • टाइमर/काउंटर 2 को 1024 द्वारा प्रीस्केल्ड टाइमर के रूप में कॉन्फ़िगर किया गया है (सीपीयू आवृत्ति को 1024 से विभाजित किया गया है)। टाइमर की प्रत्येक अवधि टी की आवृत्ति की गणना और चयन करने के लिए एल्गोरिदम को लागू करने के लिए उपयोग किया जाता है। हमारे प्रोजेक्ट में टी = 1024× 256/एफ सीपीयू।
  • कार्यक्रम की शुरुआत में "31.78581" मान के साथ परिभाषित स्थिरांक "कारक" को संदर्भ आवृत्ति को मापकर कैलिब्रेट किया जाना चाहिए। अभिव्यक्ति के अनुसार गणना:

फ़ैक्टर = एफ सीपीयू /(1024× 256)=8.ई6/(1024×256)=30.51757

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

टिप्पणी

ATmega16 माइक्रोकंट्रोलर आंतरिक 1MHz RC ऑसिलेटर से संचालित होने के लिए फ़ैक्टरी सेट पर आता है। सीरियल प्रोग्रामर का उपयोग करके फ़्यूज़-बिट्स CKSEL3..0 को "0100" पर सेट करना आवश्यक है, जो आंतरिक 8 मेगाहर्ट्ज आरसी ऑसिलेटर के समावेशन से मेल खाता है।

ऐप्स:

- माइक्रोकंट्रोलर प्रोग्राम का स्रोत कोड

अनुवाद जिसे आप कह सकते हैं:

डिज़ाइन के विकास को डीडीएस फोरम पर पढ़ी गई एक टिप्पणी से प्रेरित किया गया था कि 193 और 500 श्रृंखला के अलावा अन्य उच्च-आवृत्ति डिवाइडर होने चाहिए थे, साथ ही एफएम2006 के लिए एक नए सिंथेसाइज़र की समय पर देखी गई योजना भी होनी चाहिए थी। प्रयोगों के बाद, एलएमएक्स 2306, एटीटीनी 2313 माइक्रोसर्किट और बीसी 1602 साइन-सिंथेसिस लिक्विड क्रिस्टल संकेतक पर निम्नलिखित विशेषताओं के साथ एक साधारण आवृत्ति मीटर का जन्म हुआ:

  • माप आवृत्ति रेंज 300 हर्ट्ज से 450 मेगाहर्ट्ज तक
  • संवेदनशीलता 50 एमवी से 200 एमवी तक
  • न्यूनतम माप कदम:
  • 300 हर्ट्ज से 4.5 मेगाहर्ट्ज तक की सीमा में 1 हर्ट्ज
  • 4.5 मेगाहर्ट्ज से 80 मेगाहर्ट्ज 25 हर्ट्ज
  • 80 मेगाहर्ट्ज से 450 मेगाहर्ट्ज 100 हर्ट्ज
  • मापन समय 0.1 सेकंड / 1 सेकंड
  • माप सटीकता 0.007% से अधिक खराब नहीं है
  • आपूर्ति वोल्टेज 9V...15V
  • वर्तमान खपत (सूचक प्रकाश के बिना) 20 एमए

योजना का विवरण एवं विन्यास (चित्र .1).

इनपुट एफ से सिग्नल ट्रांजिस्टर वीटी1 पर एम्प्लीफाइंग चरण में जाता है, जहां से यह प्रोग्राम करने योग्य उच्च-आवृत्ति विभक्त में बदल जाता है, जो डीडी1 माइक्रोक्रिकिट का हिस्सा है, साथ ही एसए1 स्लाइडिंग स्विच तक, जो माप सीमा (ऊपर) का चयन करता है 4.5 मेगाहर्ट्ज/4.5 मेगाहर्ट्ज से ऊपर)। इसके अलावा, सिग्नल को आगे बढ़ाया जाता है और डीडी2 चिप को खिलाया जाता है, जो आवृत्ति गणना, एलसीडी पर डेटा आउटपुट और डीडी1 चिप का नियंत्रण करता है। सर्किट DA1 स्टेबलाइज़र द्वारा संचालित है।

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

आप एफ इनपुट पर किसी भी संदर्भ आवृत्ति को लागू करके और वांछित एलसीडी रीडिंग प्राप्त करने के लिए सी9 और सी10 का चयन करके मानक ट्यूनिंग प्रक्रिया का भी उपयोग कर सकते हैं।

श्रृंखला D1, R5, R6, C7, ट्रांजिस्टर VT2 पर कैस्केड के साथ मिलकर, DD1 चिप से आने वाले दालों का विस्तार करती है। जब एफ इनपुट पर अधिकतम संभव आवृत्ति लागू की जाती है, लेकिन 450 मेगाहर्ट्ज से अधिक नहीं, तो प्रतिरोधी आर 5 का चयन करके, स्थिर एलसीडी रीडिंग प्राप्त की जाती है (यदि ऑसिलोस्कोप डीडी 2 के 9 वें चरण से जुड़ा हुआ है, तो ए के करीब कुछ होना चाहिए) घुमावदार). हमारे द्वारा असेंबल किए गए डिज़ाइन में कैपेसिटर C7 को कलेक्टर VT2 में ले जाया गया।

प्रोग कनेक्टर का उपयोग एटीटीनी 2313 के इन-सर्किट प्रोग्रामिंग के लिए किया जाता है। यदि प्रोग्रामर में माइक्रोक्रिकिट फ्लैश किया जाता है, तो कनेक्टर को सोल्डर नहीं किया जाता है। सॉकेट में माइक्रोक्रिकिट स्थापित करना बेहतर है।

विवरण।

स्थिर प्रतिरोधक और सिरेमिक कैपेसिटर आकार 0805 (सतह माउंट)। ट्रांजिस्टर VT1 KT368 को KT399, VT2 KT368 - कम आवृत्ति KT315 (बोर्ड समायोजन के साथ) द्वारा प्रतिस्थापित किया जाएगा। डीआईपी पैकेज में चिप डीडी2 एटीटीनी 2313-20 (20 मेगाहर्ट्ज तक की घड़ी आवृत्ति के साथ) मुद्रित कंडक्टरों के किनारे स्थापित किया गया है। डीए1 (प्रिंट साइड पर भी स्थापित) - 1 ए से अधिक करंट वाला कोई भी 5-वोल्ट स्टेबलाइजर, लेकिन यदि आप एलसीडी बैकलाइट का उपयोग नहीं करते हैं, तो आप कम-करंट 78एल05 का भी उपयोग कर सकते हैं। क्वार्ट्ज रेज़ोनेटर Q1 - किसी भी डिज़ाइन में 11.0592 मेगाहर्ट्ज। 5 मिमी से अधिक की लीवर लंबाई के साथ SA1 और SA2 - B1561(DPDT) या SS21 स्विच करता है। टैक्ट बटन SB1 - TS-A1PS (TS-A2PS, TS-A3PS, TS-A4PS, TS-A6PS)। संकेतक बीसी1602 या बीसी1601, बीसी1604, साथ ही अन्य निर्माताओं के एचडी-44780 नियंत्रक के समान। निष्कर्षों की संगति की जाँच अवश्य करें!हम VD2 1N4007 डायोड को उपयुक्त ऑपरेटिंग करंट वाले किसी भी डायोड से बदल सकते हैं। पावर कनेक्टर - एयूबी श्रृंखला 3.5 मिमी स्टीरियो या कुछ बोर्ड समायोजन के साथ समान। उपयुक्त वोल्टेज वाले किसी भी कम-शक्ति वाले एसी एडाप्टर का उपयोग बिजली आपूर्ति के लिए किया जाता है। बोर्ड को सिग्नल लगभग 0.8 मिमी व्यास और 5-8 सेमी लंबाई वाले सिंगल-कोर तार के माध्यम से खिलाया जाता है।

आप C8 को जंपर के साथ VT2 बेस से जोड़कर C4, R4 को बाहर कर सकते हैं और SA1 को सर्किट से स्विच कर सकते हैं। 6 पैर वाला DD2 हवा में लटका रहना चाहिए। इस अवतार में, निचली कटऑफ़ आवृत्ति 1.5 मेगाहर्ट्ज हो जाती है।

मुद्रित सर्किट बोर्ड स्प्रिंट-लेआउट में तलाकशुदा है और एक तरफा फ़ॉइल फ़ाइबरग्लास से बना है ( चावल। 2).

संरचनात्मक रूप से, डिवाइस में सात 7-सेगमेंट एलईडी संकेतक, एक माइक्रोकंट्रोलर और कई ट्रांजिस्टर और प्रतिरोधकों द्वारा निर्मित एक डिस्प्ले होता है। माइक्रोकंट्रोलर सभी आवश्यक कार्य करता है, इसलिए किसी अतिरिक्त माइक्रोसर्किट के उपयोग की आवश्यकता नहीं होती है।

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

माइक्रोकंट्रोलर द्वारा किए गए कार्य सरल और स्पष्ट हैं: 1 सेकंड में इनपुट पल्स की संख्या की गणना करना और परिणाम को 7-अंकीय संकेतक पर प्रदर्शित करना। यहां सबसे महत्वपूर्ण बिंदु मास्टर जनरेटर (समय आधार) की सटीकता है, जो सीटीसी मोड में अंतर्निहित 16-बिट टाइमर1 टाइमर द्वारा प्रदान की जाती है। दूसरा, 8-बिट, टाइमर-काउंटर अपने इनपुट T0 पर दालों की संख्या की गणना करने के मोड में काम करता है। प्रत्येक 256 पल्स एक रुकावट का कारण बनते हैं, जिसका हैंडलर गुणांक के मूल्य में वृद्धि करता है। जब 16-बिट टाइमर के साथ 1 एस की अवधि पूरी हो जाती है, तो एक रुकावट आती है, लेकिन इस मामले में, बाधा हैंडलर में कारक को 256 (8 बिट्स द्वारा बाईं शिफ्ट) से गुणा किया जाता है। काउंटर द्वारा पंजीकृत दालों की शेष संख्या गुणन के परिणाम में जोड़ दी जाती है। परिणामी मान को फिर अलग-अलग संख्याओं में विभाजित किया जाता है, जो संबंधित श्रेणी में एक अलग संकेतक पर प्रदर्शित होते हैं। उसके बाद, इंटरप्ट हैंडलर से बाहर निकलने से ठीक पहले, दोनों काउंटर एक साथ रीसेट हो जाते हैं और माप चक्र दोहराया जाता है। "खाली समय" में, माइक्रोकंट्रोलर मल्टीप्लेक्सिंग विधि का उपयोग करके संकेतक को जानकारी आउटपुट करता है। माइक्रोकंट्रोलर प्रोग्राम के स्रोत कोड में, लेखक ने अतिरिक्त टिप्पणियाँ दीं जो माइक्रोकंट्रोलर के एल्गोरिदम को विस्तार से समझने में मदद करेंगी।

संकल्प और माप सटीकता

माप सटीकता माइक्रोकंट्रोलर के लिए घड़ी स्रोत पर निर्भर करती है। अपने आप में, प्रोग्राम कोड उच्च आवृत्तियों पर एक त्रुटि (एक पल्स जोड़कर) पेश कर सकता है, लेकिन यह व्यावहारिक रूप से माप परिणाम को प्रभावित नहीं करता है। डिवाइस में उपयोग किया जाने वाला क्वार्ट्ज रेज़ोनेटर अच्छी गुणवत्ता का होना चाहिए और इसमें न्यूनतम त्रुटि होनी चाहिए। सबसे अच्छा विकल्प एक अनुनादक होगा जिसकी आवृत्ति 1024 से विभाज्य है, जैसे 16 मेगाहर्ट्ज या 22.1184 मेगाहर्ट्ज। 10 मेगाहर्ट्ज तक की माप सीमा प्राप्त करने के लिए, 21 मेगाहर्ट्ज और उससे अधिक की आवृत्ति पर एक क्वार्ट्ज रेज़ोनेटर का उपयोग करना आवश्यक है (16 मेगाहर्ट्ज के लिए, जैसा कि आरेख में है, माप सीमा 8 मेगाहर्ट्ज से थोड़ी कम हो जाती है)। 22.1184 मेगाहर्ट्ज क्वार्ट्ज रेज़ोनेटर हमारे डिवाइस के लिए आदर्श है, लेकिन कई रेडियो शौकीनों के लिए न्यूनतम त्रुटि के साथ इसे प्राप्त करना एक कठिन काम होगा। इस मामले में, आप एक अलग आवृत्ति (उदाहरण के लिए, 25 मेगाहर्ट्ज) पर एक क्वार्ट्ज रेज़ोनेटर का उपयोग कर सकते हैं, लेकिन आपको हार्डवेयर माप का समर्थन करने वाले ऑसिलोस्कोप और क्वार्ट्ज रेज़ोनेटर सर्किट में एक ट्रिमर कैपेसिटर का उपयोग करके मास्टर ऑसिलेटर अंशांकन प्रक्रिया निष्पादित करनी होगी (चित्र 3) , 4).

डाउनलोड अनुभाग में, विभिन्न क्वार्ट्ज रेज़ोनेटर के लिए फर्मवेयर के कई संस्करण डाउनलोड के लिए उपलब्ध हैं, लेकिन उपयोगकर्ता मौजूदा क्वार्ट्ज रेज़ोनेटर के लिए फ़र्मवेयर को स्वयं संकलित कर सकते हैं (स्रोत कोड में टिप्पणियाँ देखें)।

इनपुट संकेत

सामान्य स्थिति में, 0 ... 5 वी के आयाम के साथ किसी भी आकार का सिग्नल डिवाइस के इनपुट पर लागू किया जा सकता है, न कि केवल आयताकार दालों पर। आप साइनसॉइडल या त्रिकोणीय सिग्नल लागू कर सकते हैं; पल्स को 0.8 वी के स्तर पर गिरते किनारे से निर्धारित किया जाता है। कृपया ध्यान दें: आवृत्ति मीटर इनपुट उच्च वोल्टेज से सुरक्षित नहीं है और इसे बिजली तक नहीं खींचा जाता है, यह एक उच्च-प्रतिरोध इनपुट है जो सर्किट को लोड नहीं करता है परीक्षा। इनपुट पर उपयुक्त हाई-स्पीड फ़्रीक्वेंसी डिवाइडर का उपयोग करके माप सीमा को 10 हर्ट्ज के रिज़ॉल्यूशन के साथ 100 मेगाहर्ट्ज तक बढ़ाया जा सकता है।

दिखाना

डिवाइस डिस्प्ले के रूप में एक सामान्य एनोड के साथ सात एलईडी 7-सेगमेंट संकेतक का उपयोग करता है। यदि संकेतकों की चमक अपर्याप्त है, तो आप उन प्रतिरोधकों के मान को बदल सकते हैं जो खंडों के माध्यम से वर्तमान को सीमित करते हैं। हालाँकि, यह मत भूलिए कि माइक्रोकंट्रोलर के प्रत्येक आउटपुट के लिए पल्स करंट का परिमाण 40 mA से अधिक नहीं होना चाहिए (संकेतकों का अपना ऑपरेटिंग करंट भी होता है, इसके मूल्य के बारे में मत भूलना)। आरेख में, लेखक ने दर्शाया है कि इन प्रतिरोधों का मान 100 ओम है। माप परिणाम प्रदर्शित करते समय महत्वहीन शून्य दबा दिए जाते हैं, जिससे रीडिंग पढ़ना अधिक आरामदायक हो जाता है।

मुद्रित सर्किट बोर्ड

दो तरफा मुद्रित सर्किट बोर्ड का आयाम 109 × 23 मिमी है। ईगल पीसीबी डिज़ाइन वातावरण के मुफ़्त संस्करण में घटक लाइब्रेरी में सात-खंड एलईडी संकेतक नहीं हैं, इसलिए उन्हें लेखक द्वारा हाथ से तैयार किया गया था। जैसा कि मुद्रित सर्किट बोर्ड के लेखक के संस्करण की तस्वीरों (चित्र 5, 6, 7) में देखा जा सकता है, बढ़ते तार के साथ कई कनेक्शन बनाना अतिरिक्त रूप से आवश्यक है। बोर्ड के सामने की ओर एक कनेक्शन माइक्रोकंट्रोलर के वीसीसी पिन को पावर देता है (बोर्ड में एक छेद के माध्यम से)। बोर्ड के नीचे दो और कनेक्शन हैं, जिनका उपयोग 330 ओम प्रतिरोधों के माध्यम से अंक 4 और 7 में संकेतक के दशमलव बिंदु खंड पिन को जमीन से जोड़ने के लिए किया जाता है। माइक्रोकंट्रोलर की इन-सर्किट प्रोग्रामिंग के लिए, लेखक ने मुद्रित सर्किट बोर्ड के शीर्ष पर स्थित 6-पिन कनेक्टर (आरेख में, इस कनेक्टर को समग्र JP3 और JP4 के रूप में दिखाया गया है) का उपयोग किया। इस कनेक्टर को बोर्ड से जोड़ने की आवश्यकता नहीं है, माइक्रोकंट्रोलर को किसी भी तरह से प्रोग्राम किया जा सकता है।

डाउनलोड

मुद्रित सर्किट बोर्ड, स्रोत कोड और माइक्रोकंट्रोलर फर्मवेयर का योजनाबद्ध आरेख और चित्रण -

यह उपकरण 0-9999 हर्ट्ज के बीच आवृत्तियों को मापने के लिए डिज़ाइन किया गया है, लेकिन इनपुट पर आवृत्ति विभक्त का उपयोग करते समय, यह सीमा तदनुसार बढ़ा दी जाती है। अधिकतम इनपुट वोल्टेज 3V है, बशर्ते कि कोई अतिरिक्त वोल्टेज विभक्त न हो, न्यूनतम 0.15V है, बशर्ते कि यह अनुपस्थित हो। अधिकतम माप आवृत्ति को प्रोग्राम कोड को बदलकर बढ़ाया जा सकता है, लेकिन उस पर बाद में और अधिक जानकारी दी जाएगी।

डिवाइस सर्किट अपेक्षाकृत सरल है और नीचे दिखाया गया है:

सर्किट Atmega8A-PU द्वारा निर्मित 8-बिट माइक्रोकंट्रोलर पर आधारित है। माइक्रोकंट्रोलर के कोर को क्लॉक करने के लिए, बाहरी क्वार्ट्ज रेज़ोनेटर के साथ एक ऑसिलेटर का उपयोग किया जाता है। ऐसे जनरेटर का चुनाव बाद की आवृत्ति स्थिरता की आवश्यकताओं के कारण होता है। एक सामान्य एनोड और गतिशील संकेत के साथ सात-खंड वाले चार-अंकीय एलईडी संकेतक का उपयोग संकेतक के रूप में किया जाता है। संकेतक खंडों का वर्तमान प्रतिरोधों द्वारा सीमित नहीं है, क्योंकि गतिशील संकेत का उपयोग किया जाता है, और निश्चित रूप से, वर्तमान को स्पंदित किया जाता है, जिसे संकेतक खंड सफलतापूर्वक झेलते हैं, साथ ही माइक्रोकंट्रोलर पोर्ट भी। इनपुट नोड R2, D1, D2, C3, R3, R4, R1, Q1 तत्वों पर बनाया गया है। यह नोड अपने इनपुट पर आने वाले संकेतों का प्रवर्धन/सीमित प्रदान करता है (आवृत्ति काउंटर के इनपुट पर अवरोधक और डायोड इनपुट सिग्नल को सीमित करते हैं, ट्रांजिस्टर सिग्नल को टीटीएल स्तर तक बढ़ाने के लिए जिम्मेदार है)। डिवाइस का मुद्रित सर्किट बोर्ड भी जटिल नहीं है। यह एक तरफा पन्नी सामग्री से बना है (मूल रूप से इसे दो तरफा बनाने की योजना थी, लेकिन यह उपलब्ध नहीं था, इसलिए मैंने एक तरफा पर फैसला किया)। बोर्ड की टोपोलॉजी नीचे दिखाई गई है।

जहां तक ​​माइक्रोकंट्रोलर के लिए प्रोग्राम का सवाल है, इसे पर्यावरण में विकसित किया गया था (प्रोजेक्ट फ़ाइल संलग्न है)। दालों की गिनती करने के लिए, मैंने माइक्रोकंट्रोलर के INT0 इनपुट पर इंटरप्ट का उपयोग किया, और गिनती के समय को सीमित करने के लिए, मैंने टाइमर इंटरप्ट TMR0 का उपयोग किया। चूंकि इस टाइमर में 1/256 के विभाजन कारक के साथ एक प्रीस्केलर है (इस तथ्य के कारण कि यह आठ अंकों का है), इंटरप्ट आवृत्ति की गणना निम्नानुसार की जाती है: Fprev.=F gen.÷256÷thr। मामले. अपने डिज़ाइन में, मैंने 200 हर्ट्ज़ की रुकावट आवृत्ति चुनी। जैसा कि मैंने ऊपर लिखा है, माप आवृत्ति बढ़ाई जा सकती है। ऐसा करने के लिए, आपको केवल माप समय को सीमित करने की आवश्यकता है। यह कोड में संख्या 200 को 2 में बदलकर किया जाता है (माप समय 1s नहीं बल्कि 10ms है, कटऑफ आवृत्ति 99999Hz है), जैसा कि C में स्रोत कोड में चित्र में दिखाया गया है।

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

यहां प्रोग्राम में फ़्यूज़ सेट करने का एक उदाहरण दिया गया है:

अपने इच्छित उद्देश्य के लिए RESET का उपयोग करते हुए फ़्रीक्वेंसी काउंटर विकल्प का एक आरेख यहां दिया गया है:

और यहां सर्किट के दूसरे संस्करण के लिए बोर्ड टोपोलॉजी भी है:

सर्किट को बिजली देने के लिए, एक स्थिर 5V बिजली आपूर्ति का उपयोग किया जाता है (मैंने एक कंप्यूटर बिजली आपूर्ति का उपयोग किया, इसलिए सर्किट में कोई स्थिर तत्व नहीं हैं)।

इस योजना में कोई दुर्लभ भाग नहीं हैं, लेकिन मैं फिर भी प्रतिस्थापन और एनालॉग्स की सूची सूचीबद्ध करूंगा। तो Atmega8A-PU माइक्रोकंट्रोलर को समान Atmega8-16PU से बदला जा सकता है (वैसे, बाद वाला अधिक बेहतर है)। प्रतिरोधों को 0.125 W की शक्ति पर लिया जा सकता है, R2 के अपवाद के साथ, इसे 0.5 W पर लेना बेहतर है। कैपेसिटर - जनरेटर के लिए डिस्क, सिरेमिक हैं, और इनपुट यूनिट के लिए - पैरामीटर के संदर्भ में उपयुक्त कोई भी। ट्रांजिस्टर को घरेलू KT3102 से बदला जा सकता है (जैसा कि KT315 के लिए प्रयोगों से पता चला है, वर्तमान स्थानांतरण गुणांक h21E बहुत कम है)। आप कोई भी एलईडी संकेतक ले सकते हैं जो आकार में उपयुक्त हो (और वे महत्वपूर्ण नहीं हैं)। क्वार्ट्ज रेज़ोनेटर का उपयोग 3267800 हर्ट्ज (3.2768 मेगाहर्ट्ज) की आवृत्ति पर किया गया था।

तैयार डिवाइस की तस्वीरें नीचे दिखायी गयी हैं।

पहली तस्वीर एक अवरोधक को दिखाती है जो RESET MK बिजली आपूर्ति से जुड़ा है (रीसेट के साथ दूसरे फर्मवेयर चेक से बाईं ओर)।

रेडियो तत्वों की सूची

पद प्रकार मज़हब मात्रा टिप्पणीदुकानमेरा नोटपैड
उ1 एमके एवीआर 8-बिट

ATmega8A

1 एटीमेगा 8-16पीयू नोटपैड के लिए
Q1 द्विध्रुवी ट्रांजिस्टर

केटी3102

1 2एन3390 नोटपैड के लिए
वीडी1, वीडी2 रेक्टिफायर डायोड

1एन4148

2 नोटपैड के लिए
सी1, सी2 संधारित्र27 पीएफ2 नोटपैड के लिए
सी 3 संधारित्र22 एनएफ1 नोटपैड के लिए
आर1, आर4 अवरोध

470 ओम

2 नोटपैड के लिए
आर2 अवरोध

100 ओम

1
एक बहुत ही उपयोगी और सरल उपकरण, जो एक रेडियो शौकिया की रचनात्मक प्रयोगशाला में अपरिहार्य है, PIC16F628A MK पर बनाया जा सकता है। 30 मेगाहर्ट्ज तक की आवृत्तियों को मापने के लिए, यह डिजिटल आवृत्ति मीटर एक सामान्य PIC16F628A नियंत्रक चिप पर डिज़ाइन किया गया है। इसके सर्किट आरेख में एक बुनियादी मॉड्यूल होता है जिसमें एक इनपुट ड्राइवर होता है जो इसके गिनती इनपुट से जुड़ा होता है। फ़्रीक्वेंसी मीटर सर्किट नीचे दिए गए चित्र में दिखाया गया है:

इस मीटर का उपयोग दो मोड में किया जा सकता है - डिजिटल स्केल और फ़्रीक्वेंसी मीटर। जब बिजली चालू की जाती है, तो फ़्रीक्वेंसी मीटर उस मोड पर स्विच हो जाता है जिसमें उसने आखिरी बिजली बंद होने से पहले काम किया था। यदि यह एक फ़्रीक्वेंसी काउंटर मोड था, तो फ़्रीक्वेंसी काउंटर मोड "F." संकेतक के बाएँ अंक में प्रदर्शित किया जाएगा। साथ ही, संकेतक के निम्न-क्रम अंक में "0" प्रदर्शित किया जाएगा। फ़्रीक्वेंसी मीटर स्वचालित रूप से फ़्रीक्वेंसी माप मोड में प्रवेश करेगा और स्टैंडबाय मोड में होगा। जब इनपुट पर कोई सिग्नल लगाया जाता है, तो फ़्रीक्वेंसी काउंटर मोड का चिह्न "F" होता है। बुझ जाता है और संकेतक किलोहर्ट्ज़ में मापी गई आवृत्ति का मान प्रदर्शित करेगा।
फ़्रीक्वेंसी मीटर - डिजिटल स्केल के इनपुट ड्राइवर की योजना चित्र में दिखाई गई है:


यदि पावर-ऑन के समय फ़्रीक्वेंसी मीटर के इनपुट पर एक मापा सिग्नल है, तो पावर चालू करने के बाद, फ़्रीक्वेंसी मीटर का चिन्ह "F." 1 सेकंड के लिए जलेगा, और फिर चला जाएगा बाहर।
0.1 सेकंड के माप समय पर स्विच करने के लिए। या 10 सेकंड के लिए, आपको या तो बटन नंबर 1 दबाना होगा, या साथ ही क्रमशः बटन नंबर 1 और बटन नंबर 2 दबाना होगा (फ़्रीक्वेंसी काउंटर मोड के लिए कीबोर्ड लेआउट देखें), फिर दशमलव बिंदु स्थिति बदलने की प्रतीक्षा करें, और फिर बटन (बटन) को छोड़ दें। यदि उसके बाद 1 सेकंड के माप समय पर लौटना आवश्यक है, तो बटन नंबर 2 को दबाना और दशमलव बिंदु की स्थिति में बदलाव की प्रतीक्षा करना आवश्यक है, और फिर बटन को छोड़ दें। किसी भी माप समय के लिए, दशमलव बिंदु किलोहर्ट्ज़ को चिह्नित करता है।


काउंटर मोड कीबोर्ड लेआउट

बटन नंबर 1 0.1 सेकंड। माप समय 0.1 सेकंड में बदलें।
बटन #2 1 सेकंड। माप समय 1 सेकंड में बदलें।
बटन #1+
बटन नंबर 2 10 सेकंड। माप समय 10 सेकंड में बदलें।
(बटन एक साथ दबाए जाते हैं)

यदि बिजली बंद करने से पहले डिजिटल स्केल मोड में काम किया गया था, तो अगली बार जब बिजली चालू की जाएगी, तो यह मोड सेट किया जाएगा, और डिजिटल स्केल मोड के अंदर, बिल्कुल सबमोड ("माइनस आईएफ" या "प्लस आईएफ) ”) यह निर्धारित किया जाएगा कि आखिरी बिजली बंद होने तक कौन सा काम हुआ था। डिजिटल स्केल के सबमोड के संकेत ("एल।" या "एच।" क्रमशः) संकेतक के बाएं अंक में लगातार प्रदर्शित किए जाएंगे। यदि डिजिटल स्केल के इनपुट पर कोई सिग्नल नहीं है, तो संकेतक नियंत्रक की मेमोरी में संग्रहीत मध्यवर्ती आवृत्ति का मूल्य दिखाएगा, और यदि यह मौजूद है, तो इनपुट पर मौजूद सिग्नल की आवृत्ति को घटाने या जोड़ने का परिणाम होगा डिजिटल पैमाने का और PIC नियंत्रक की गैर-वाष्पशील मेमोरी में दर्ज मध्यवर्ती आवृत्ति का मान।


डिजिटल स्केल मोड में 4 उप-मोड हैं।
- जब आप बटन नंबर 1 दबाते हैं, तो सबमोड "माइनस आईएफ" होता है।
- इस स्थिति में, संकेतक के बाएं अंक में, सबमोड "एल" का चिह्न प्रदर्शित किया जाएगा।
- जब आप बटन नंबर 2 दबाते हैं, तो "प्लस आईएफ" सबमोड में संक्रमण होता है।
- इस स्थिति में, संकेतक के बाएं अंक में, सबमोड "एच" का चिह्न प्रदर्शित किया जाएगा।

नियंत्रक को "फ्लैशिंग" करने की प्रक्रिया में, मध्यवर्ती आवृत्ति का मान = 5.5 मेगाहर्ट्ज इसकी गैर-वाष्पशील मेमोरी में लिखा जाता है, लेकिन फिर यह स्वतंत्र रूप से इसमें कोई भी मान लिख सकता है और इसे मध्यवर्ती के रूप में उपयोग कर सकता है। ऐसा करने के लिए, आपको डिजिटल सिग्नल के इनपुट पर एक आवृत्ति के साथ एक बाहरी सिग्नल लागू करने की आवश्यकता है, जिसे बाद में एक मध्यवर्ती के रूप में उपयोग किया जाएगा। आप फ़्रीक्वेंसी काउंटर मोड पर स्विच करके इस फ़्रीक्वेंसी के मान को नियंत्रित कर सकते हैं।

संख्यात्मक स्केल मोड कीबोर्ड लेआउट:
समय मापने के बटन स्पष्टीकरण
बटन नंबर 1 "माइनस आईएफ" से मध्यवर्ती आवृत्ति घटा दी गई है
मापी गई आवृत्ति
बटन नंबर 2 "प्लस आईएफ" इंटरमीडिएट आवृत्ति को संक्षेप में प्रस्तुत किया गया है
मापी गई आवृत्ति
बटन #1+
बटन नंबर 2 यदि सेटिंग राइट टू रैम वैल्यू है
मापी गई आवृत्ति (आईएफ)
दोबारा:
बटन #1+
बटन नंबर 2 IF लिखें, इसे मध्यवर्ती के रूप में आगे उपयोग करने के लिए मापी गई आवृत्ति के मान को रैम से गैर-वाष्पशील मेमोरी में कॉपी किया जा रहा है


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


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


PIC16F84A माइक्रोकंट्रोलर के लिए फर्मवेयर, साथ ही नियंत्रक पर लेख का पूरा पाठ, यहां डाउनलोड करें। मैंने सर्किट का परीक्षण किया - ZU77।

लोड हो रहा है...लोड हो रहा है...