इस परियोजना में हम PIC माइक्रोकंट्रोलर PIC16F877A के साथ रिले को इंटरफेस करेंगे । रिले उच्च वोल्टेज, उच्च वर्तमान उपकरणों को नियंत्रित करने के लिए एक यांत्रिक उपकरण है जो निम्न वोल्टेज स्तरों से ' चालू ' या ' बंद ' होता है। रिले दो वोल्टेज स्तरों के बीच अलगाव प्रदान करता है और इसका उपयोग आमतौर पर एसी उपकरणों को नियंत्रित करने के लिए किया जाता है । मैकेनिकल से लेकर सॉलिड स्टेट रिले तक, इलेक्ट्रॉनिक्स में विभिन्न प्रकार के रिले उपलब्ध हैं। इस परियोजना में हम यांत्रिक रिले का उपयोग करेंगे।
इस परियोजना में हम निम्नलिखित बातें करेंगे-
- हम उपयोगकर्ता से इनपुट के लिए एक स्विच इंटरफेस करेंगे।
- 5 वी रिले के साथ एक 220V एसी बल्ब को नियंत्रित करें ।
- रिले को नियंत्रित करने के लिए हम BC547 NPN ट्रांजिस्टर का उपयोग करेंगे और ट्रांजिस्टर को PIC16F877A से नियंत्रित किया जाएगा । एक लीड रिले ऑन या ऑफ कंडीशन को सूचित करेगा।
यदि आप PIC माइक्रोकंट्रोलर के लिए नए हैं, तो PIC माइक्रोकंट्रोलर के साथ शुरू करना शुरू करें।
घटक आवश्यक:
- PIC16F877A
- 20 मेगाहर्ट्ज क्रिस्टल
- 2 पीसी 33 पीएफ सिरेमिक
- 3 पीसी 4.7k प्रतिरोधों
- 1k रोकनेवाला
- 1 एलईडी
- BC547 ट्रांजिस्टर
- 1N4007 डायोड
- 5V घन रिले
- एसी बल्ब
- ब्रेड बोर्ड
- भागों को जोड़ने के लिए तार।
- कम से कम 200mA वर्तमान क्षमताओं के साथ 5V एडाप्टर या कोई 5V पावर स्रोत।
रिले और इसके कार्य:
रिले ठेठ स्विच के समान काम करता है। यांत्रिक रिले विद्युत चुम्बकीय कुंडल से बने अस्थायी चुंबक का उपयोग करते हैं। जब हम इस कॉइल के पार पर्याप्त करंट प्रदान करते हैं, तो यह सक्रिय हो जाता है और एक बांह खींचता है। उसके कारण रिले में जुड़े सर्किट को बंद या खुला किया जा सकता है। इनपुट और आउटपुट में कोई विद्युत कनेक्शन नहीं है और इस प्रकार यह इनपुट और आउटपुट को अलग करता है । रिले और इसके निर्माण के बारे में अधिक जानें यहाँ।
5V, 6V, 12V, 18V आदि जैसे विभिन्न वोल्टेज रेंज में रिले मिल सकते हैं । इस परियोजना में हम 5V रिले का उपयोग करेंगे क्योंकि हमारे काम करने वाले वोल्टेज यहाँ 5 वोल्ट है। यह 5V घन रिले 240VAC पर 7A लोड या 110VAC पर 10A लोड करने में सक्षम है । हालांकि उस विशाल भार के बजाय, हम एक 220VAC बल्ब का उपयोग करेंगे और इसे रिले का उपयोग करके स्विच करेंगे।
यह 5V रिले है जिसे हम इस परियोजना में उपयोग कर रहे हैं। वर्तमान रेटिंग स्पष्ट रूप से दो वोल्टेज स्तरों के लिए निर्दिष्ट है, 10A 120VAC पर और 7A 240VAC पर । हमें निर्दिष्ट रेटिंग से कम रिले में लोड कनेक्ट करने की आवश्यकता है।
इस रिले में 5 पिन हैं । यदि हम पिनआउट देखते हैं तो हम देख सकते हैं-
एल 1 और एल 2 आंतरिक विद्युत तार की पिन है। हमें रिले को ' ON ' या ' OFF ' में बदलने के लिए इन दो पिनों को नियंत्रित करने की आवश्यकता है । अगले तीन पिन POLE, NO और NC हैं । ध्रुव आंतरिक धातु की प्लेट से जुड़ा होता है जो रिले को चालू करने पर इसका कनेक्शन बदल देता है। सामान्य स्थिति में, POLE को NC से छोटा किया जाता है । एनसी के लिए खड़ा है सामान्य रूप से जुड़े । जब रिले चालू होता है, तो ध्रुव अपनी स्थिति बदल देता है और NO के साथ जुड़ जाता है । नो आम तौर पर ओपन के लिए खड़ा है ।
हमारे सर्किट में, हमने ट्रांजिस्टर और डायोड के साथ रिले कनेक्शन बनाया है। ट्रांजिस्टर और डायोड के साथ रिले रिले मॉड्यूल के रूप में बाजार में उपलब्ध है, इसलिए जब आप रिले मॉड्यूल का उपयोग करते हैं तो आपको इसके चालक सर्किट (ट्रांजिस्टर और डायोड) को कनेक्ट करने की आवश्यकता नहीं होती है।
एसी होम अप्लायंसेज को नियंत्रित करने के लिए सभी होम ऑटोमेशन प्रोजेक्ट्स में रिले का उपयोग किया जाता है।
सर्किट आरेख:
रिले को PIC माइक्रोकंट्रोलर से जोड़ने के लिए पूरा सर्किट नीचे दिया गया है:
उपरोक्त योजनाबद्ध pic16F877A में उपयोग किया जाता है, जहां पोर्ट B पर एलईडी और ट्रांजिस्टर जुड़ा हुआ है, जिसे RBO पर TAC स्विच का उपयोग करके आगे नियंत्रित किया जाता है । आर 1 ट्रांजिस्टर के पूर्वाग्रह वर्तमान प्रदान करते हैं। R2 एक पुल-डाउन रोकनेवाला है, जिसका उपयोग स्पर्श स्विच में किया जाता है। यह तर्क प्रदान करेगा 0 जब स्विच दबाया नहीं जाता है। 1N4007 एक है क्लैंप डायोड, रिले के विद्युत चुम्बकीय कुंडल के लिए इस्तेमाल किया। जब रिले बंद हो जाएगा, तो उच्च वोल्टेज स्पाइक्स के लिए संभावनाएं हैंऔर डायोड इसे दबा देगा। रिले को चलाने के लिए ट्रांजिस्टर की आवश्यकता होती है क्योंकि इसे 50mA से अधिक वर्तमान की आवश्यकता होती है, जो कि माइक्रोकंट्रोलर प्रदान करने में असमर्थ है। हम ट्रांजिस्टर के बजाय ULN2003 का भी उपयोग कर सकते हैं, यह एक समझदार विकल्प है यदि आवेदन के लिए दो या तीन से अधिक रिले की आवश्यकता होती है, तो रिले मॉड्यूल सर्किट की जांच करें। एलईडी भर में बंदरगाह RB2 सूचित करेंगे " रिले पर है "।
अंतिम सर्किट इस तरह दिखेगा-
आप यहां Arduino के साथ रिले को नियंत्रित करना सीख सकते हैं, और यदि आप वास्तव में रिले में रुचि रखते हैं, तो यहां सभी रिले सर्किट की जांच करें।
कोड स्पष्टीकरण:
Main.c फ़ाइल की शुरुआत में, हमने pic16F877A के लिए कॉन्फ़िगरेशन लाइनें जोड़ीं और PORTB में पिन नामों को भी परिभाषित किया ।
हमेशा की तरह सबसे पहले, हमें विन्यास माइक्रोकंट्रोलर में कॉन्फ़िगरेशन बिट्स सेट करने की आवश्यकता है, कुछ मैक्रोज़ को परिभाषित करें, जिसमें पुस्तकालयों और क्रिस्टल आवृत्ति शामिल हैं। आप अंत में दिए गए पूर्ण कोड में उन सभी के लिए कोड की जांच कर सकते हैं । हमने इनपुट के रूप में RB0 बनाया । इस पिन में स्विच जुड़ा हुआ है।
#शामिल
उसके बाद, हमने system_init () फ़ंक्शन कहा, जहां हमने पिन दिशा को इनिशियलाइज़ किया, और पिन की डिफ़ॉल्ट स्थिति को भी कॉन्फ़िगर किया।
System_init () फ़ंक्शन में हम देखेंगे
void system_init (शून्य) { TRISBbits.TRISB0 = 1; // इनपुट के रूप में सेटिंग TRISBbits.TRISB1 = 0; // उत्पादन TRISBbits.TRISB2 = 0 के रूप में एलईडी की स्थापना ; // उत्पादन एलईडी के रूप में रिले पिन की स्थापना = 0; रिले = 0; }
में मुख्य समारोह हम लगातार, स्विच प्रेस जाँच अगर हम भर में तर्क उच्च संवेदन द्वारा स्विच प्रेस का पता लगाने के RB0; हम कुछ समय तक प्रतीक्षा करते हैं और देखते हैं कि स्विच अभी भी दबाया गया है या नहीं, यदि स्विच अभी भी दबाया जाता है तो हम RELAY और LED पिन की स्थिति को उलट देंगे।
शून्य मुख्य (शून्य) { system_init (); // सिस्टम तैयार हो रहा है जबकि (1) { अगर (SW == 1) {// स्विच दबाया गया है __delay_ms (50); // बहस में देरी अगर (SW == 1) {// स्विच अभी भी LED = LED! // पिन स्टेटस को प्राप्त करना। RELAY =! RELAY; } } } वापसी; }
इस रिले इंटरफेस के लिए पूरा कोड और डेमो वीडियो नीचे दिया गया है।