- अवयव आवश्यक
- Arduino का उपयोग करके एसी प्रशंसक नियंत्रण का कार्य
- 1. जीरो-क्रॉसिंग डिटेक्टर
- 2. फेज एंगल कंट्रोलिंग सर्किट
- 3. फैन स्पीड को नियंत्रित करने के लिए पोटेंशियोमीटर
- 4. पीडब्लूएम सिग्नल जनरेशन यूनिट
- सर्किट आरेख
- एसी प्रशंसक गति नियंत्रण के लिए Arduino प्रोग्रामिंग
चेतावनी !! इस परियोजना में चर्चा की गई सर्किट आरेख केवल शैक्षिक उद्देश्यों के लिए है। सलाह दी जाती है कि 220V एसी मेन वोल्टेज के साथ काम करने के लिए अत्यधिक सावधानी बरतने की आवश्यकता होती है और सुरक्षा प्रक्रियाओं का पालन किया जाना चाहिए। सर्किट चालू होने पर किसी भी घटक या तारों को न छुएं।
किसी स्विच का उपयोग करके या कुछ नियंत्रण तंत्र का उपयोग करके किसी भी घरेलू उपकरण को चालू या बंद करना आसान है जैसा कि हमने कई Arduino आधारित निजी ऑटोमेशन परियोजनाओं में किया था। लेकिन बहुत सारे अनुप्रयोग हैं जहां हमें एसी बिजली को आंशिक रूप से नियंत्रित करने की आवश्यकता है, उदाहरण के लिए, पंखे की गति या एक लैंप की तीव्रता को नियंत्रित करने के लिए। इस मामले में, PWM तकनीक का उपयोग किया जाता है, इसलिए यहां हम सीखेंगे कि Arduino के साथ AC प्रशंसक गति को नियंत्रित करने के लिए Arduino उत्पन्न PWM का उपयोग कैसे करें ।
इस परियोजना में, हम TRIAC का उपयोग करके Arduino AC प्रशंसक गति नियंत्रण प्रदर्शित करेंगे । यहाँ एसी सिग्नल की चरण नियंत्रण विधि का उपयोग एसी प्रशंसक गति को नियंत्रित करने के लिए किया जाता है, जो Arduino द्वारा उत्पन्न PWM संकेतों का उपयोग करता है। पिछले ट्यूटोरियल में, हमने PWM का उपयोग करके डीसी पंखे की गति को नियंत्रित किया।
अवयव आवश्यक
- Arduino UNO
- 4N25 (जीरो क्रॉसिंग डिटेक्टर)
- 10k पोटेंशियोमीटर
- MOC3021 0pto-युग्मक
- (0-9) वी, 500 एमए स्टेपडाउन ट्रांसफार्मर
- BT136 TRIAC
- 230 VAC अक्षीय एसी प्रशंसक
- तारों को जोड़ना
- प्रतिरोधों
Arduino का उपयोग करके एसी प्रशंसक नियंत्रण का कार्य
कार्य को चार अलग-अलग भागों में विभाजित किया जा सकता है। वे इस प्रकार हैं
1. जीरो-क्रॉसिंग डिटेक्टर
2. फेज़ एंगल कंट्रोलिंग सर्किट
3. फैन स्पीड राशि को नियंत्रित करने के लिए पोटेंशियोमीटर
4. पीडब्लूएम सिग्नल सिग्नल सर्किट
1. जीरो-क्रॉसिंग डिटेक्टर
हमारे घर में जो एसी सप्लाई हमें मिलती है वह 220v AC RMS, 50 HZ है। यह एसी सिग्नल प्रकृति में बारी-बारी से होता है और समय-समय पर इसकी ध्रुवीयता बदलता रहता है। प्रत्येक चक्र की पहली छमाही में, यह एक दिशा में एक चरम वोल्टेज तक पहुंचता है और फिर घटकर शून्य हो जाता है। फिर अगले आधे चक्र में, यह एक पीक वोल्टेज के लिए वैकल्पिक दिशा (नकारात्मक) में बहता है और फिर शून्य पर आता है। एसी फैन की गति को नियंत्रित करने के लिए, दोनों आधे चक्रों के शिखर वोल्टेज को काटने या नियंत्रित करने की आवश्यकता होती है। इसके लिए, हमें उस शून्य बिंदु का पता लगाना होगा, जहां से सिग्नल को नियंत्रित / कटा होना है। वोल्टेज वक्र पर यह बिंदु जहां वोल्टेज दिशा बदलता है शून्य वोल्टेज क्रॉसिंग कहलाता है ।
नीचे दिखाया गया सर्किट शून्य क्रॉसिंग डिटेक्टर सर्किट है जिसका उपयोग शून्य-क्रॉसिंग बिंदु को प्राप्त करने के लिए किया जाता है। सबसे पहले, 220V AC वोल्टेज को स्टेप-डाउन ट्रांसफार्मर का उपयोग करके 9V AC तक नीचे ले जाया जाता है और फिर इसे इसके पिन 1 पर 4N25 ऑप्टोकॉउलर खिलाया जाता है और 2. 4N25 ऑप्टोकॉप्लर में 1 के रूप में एक एनोड और पिन 2 के रूप में इनबिल्ट एलईडी को पिन के रूप में डाला जाता है कैथोड। इसलिए नीचे दिए गए सर्किट के अनुसार, जब एसी तरंग शून्य-क्रॉसिंग बिंदु के करीब जाती है, तो 4N25 की इनबिल्ट एलईडी बंद हो जाएगी और परिणामस्वरूप, 4N25 का आउटपुट ट्रांजिस्टर भी बंद हो जाएगा और आउटपुट पल्स पिन 5V तक खींच लें। इसी तरह, जब सिग्नल धीरे-धीरे चरम तक बढ़ता हैबिंदु, फिर एलईडी चालू होता है और ट्रांजिस्टर आउटपुट पिन से जुड़े ग्राउंड पिन के साथ चालू होता है, जो इस पिन को 0V बनाता है। इस नाड़ी का उपयोग करके, Arduino का उपयोग करके शून्य-क्रॉसिंग बिंदु का पता लगाया जा सकता है।
2. फेज एंगल कंट्रोलिंग सर्किट
जीरो क्रॉसिंग के बिंदु का पता लगाने के बाद, अब हमें समय की मात्रा को नियंत्रित करना होगा जिसके लिए बिजली चालू और बंद होगी। यह PWM सिग्नल एसी मोटर में वोल्टेज आउटपुट की मात्रा तय करेगा, जो बदले में इसकी गति को नियंत्रित करता है। यहां एक BT136 TRIAC का उपयोग किया जाता है, जो AC वोल्टेज को नियंत्रित करता है क्योंकि यह AC वोल्टेज सिग्नल को नियंत्रित करने के लिए एक पावर इलेक्ट्रॉनिक स्विच है।
TRIAC एक तीन-टर्मिनल एसी स्विच है जिसे इसके गेट टर्मिनल पर कम ऊर्जा संकेत द्वारा ट्रिगर किया जा सकता है। SCRs में, यह केवल एक दिशा में संचालित होता है, लेकिन TRIAC के मामले में, शक्ति दोनों दिशाओं में नियंत्रित की जा सकती है। TRIAC और SCR के बारे में अधिक जानने के लिए, हमारे पिछले लेखों का अनुसरण करें।
जैसा कि ऊपर की आकृति में दिखाया गया है, TRIAC एक छोटे गेट पल्स सिग्नल को लगाकर 90 डिग्री के फायरिंग कोण पर चालू होता है। समय "t1" देरी का समय है जिसे डिमिंग आवश्यकता के अनुसार दिया जाता है। उदाहरण के लिए, इस मामले में, फायरिंग कोण 90 प्रतिशत है, इसलिए बिजली उत्पादन भी आधा हो जाएगा और इसलिए दीपक भी आधी तीव्रता के साथ चमक जाएगा।
हम जानते हैं कि एसी सिग्नल की आवृत्ति यहां 50 हर्ट्ज है। तो समय अवधि 1 / f होगी, जो कि 20ms है। एक आधे चक्र के लिए, यह 10ms या 10,000 माइक्रोसेकंड होगा। इसलिए एक एसी लैंप की शक्ति को नियंत्रित करने के लिए, "टी 1" की रेंज 0-10000 माइक्रोसेकंड से भिन्न हो सकती है।
ऑप्टोकॉपलर:
Optocoupler को Optoisolator के नाम से भी जाना जाता है। इसका उपयोग डीसी और एसी सिग्नल जैसे दो इलेक्ट्रिकल सर्किट के बीच अलगाव बनाए रखने के लिए किया जाता है। मूल रूप से, इसमें एक एलईडी होता है जो अवरक्त प्रकाश और फोटोसेंटर का उत्सर्जन करता है जो इसका पता लगाता है। यहां एक MOC3021 ऑप्टोकॉप्लर का उपयोग माइक्रोकंट्रोलर सिग्नलों से एसी फैन को नियंत्रित करने के लिए किया जाता है जो एक डीसी सिग्नल है।
TRIAC और Optocoupler कनेक्शन आरेख:
3. फैन स्पीड को नियंत्रित करने के लिए पोटेंशियोमीटर
यहां एसी फैन की गति को अलग करने के लिए एक पोटेंशियोमीटर का उपयोग किया जाता है। हम जानते हैं कि एक पोटेंशियोमीटर एक 3 टर्मिनल डिवाइस है जो वोल्टेज डिवाइडर के रूप में कार्य करता है और एक चर वोल्टेज आउटपुट प्रदान करता है। यह चर एनालॉग आउटपुट वोल्टेज एसी प्रशंसक की गति मान सेट करने के लिए Arduino एनालॉग इनपुट टर्मिनल पर दिया गया है।
4. पीडब्लूएम सिग्नल जनरेशन यूनिट
अंतिम चरण में, गति आवश्यकताओं के अनुसार TRIAC को एक PWM पल्स दिया जाता है, जो बदले में AC सिग्नल के ON / OFF समय को बदलता है और फैन की गति को नियंत्रित करने के लिए एक चर आउटपुट प्रदान करता है। यहाँ Arduino का उपयोग PWM पल्स को उत्पन्न करने के लिए किया जाता है, जो कि पोटेंशियोमीटर से इनपुट लेता है और PWM सिग्नल आउटपुट को TRIAC और ऑप्टोकॉप्लर सर्किट को देता है, जो वांछित गति से AC फैन को आगे बढ़ाता है। पीडब्लूएम पीढ़ी के बारे में अधिक जानें यहाँ Arduino का उपयोग कर।
सर्किट आरेख
इस Arduino आधारित 230v प्रशंसक गति नियंत्रण सर्किट के लिए सर्किट आरेख नीचे दिया गया है:
नोट: मैंने ब्रेडबोर्ड पर पूरा सर्किट केवल समझ के उद्देश्य से दिखाया है। आपको सीधे अपने ब्रेडबोर्ड पर 220V एसी की आपूर्ति का उपयोग नहीं करना चाहिए, मैंने कनेक्शन बनाने के लिए एक बिंदीदार बोर्ड का उपयोग किया है जैसा कि आप नीचे दी गई छवि में देख सकते हैं
एसी प्रशंसक गति नियंत्रण के लिए Arduino प्रोग्रामिंग
हार्डवेयर कनेक्शन के बाद, हमें Arduino के लिए कोड लिखने की आवश्यकता होती है, जो एक पोटेंशियोमीटर इनपुट का उपयोग करके AC सिग्नल ON / OFF टाइम को नियंत्रित करने के लिए PWM सिग्नल उत्पन्न करेगा। हमने पहले कई परियोजनाओं में पीडब्लूएम तकनीकों का इस्तेमाल किया।
इस प्रोजेक्ट के निचले भाग में इस Arduino AC फैन स्पीड कंट्रोल प्रोजेक्ट का पूरा कोड दिया गया है। कोड की चरणवार व्याख्या नीचे दी गई है।
पहले चरण में, सभी आवश्यक चर घोषित करें, जो पूरे कोड में उपयोग किए जाने वाले हैं। यहाँ BT136 TRIAC Arduino के 6 पिन से जुड़ा है। और चर speed_val को गति चरण का मान संग्रहीत करने के लिए घोषित किया जाता है।
int TRIAC = 6; int speed_val = 0;
अगला, सेटअप फ़ंक्शन के अंदर, TRIAC पिन को आउटपुट के रूप में घोषित करें क्योंकि इस पिन के माध्यम से PWM आउटपुट उत्पन्न किया जाएगा। फिर, शून्य-क्रॉसिंग का पता लगाने के लिए एक बाधा को कॉन्फ़िगर करें। यहाँ हमने एक फ़ंक्शन का उपयोग किया है जिसे अटैचमेंट कहा जाता है, जो Arduino के डिजिटल पिन 3 को बाहरी रुकावट के रूप में कॉन्फ़िगर करेगा और इसके पिन पर किसी भी व्यवधान का पता लगाने पर शून्य_क्रॉसिंग नामक फ़ंक्शन को कॉल करेगा ।
शून्य सेटअप () {pinMode (LAMP, OUTPUT); संलग्नक }
अनंत लूप के अंदर, पोटेंशियोमीटर से एनालॉग मूल्य को पढ़ें जो ए 0 पर जुड़ा हुआ है और इसे (10-49) के मान रेंज में मैप करता है।
इस सीमा का पता लगाने के लिए हमें एक छोटी गणना करनी होगी। पहले यह बताया गया था कि प्रत्येक आधा चक्र 10,000 माइक्रोसेकंड के बराबर है। तो यहां 50 चरणों में डिमिंग को नियंत्रित किया जाएगा जो एक मनमाना मूल्य है और इसे बदला जा सकता है। यहां न्यूनतम कदम 10 के रूप में उठाए गए हैं, शून्य नहीं क्योंकि 0-9 कदम लगभग समान बिजली उत्पादन देते हैं और अधिकतम कदम 49 के रूप में उठाए जाते हैं क्योंकि ऊपरी सीमा (जो इस मामले में 50 है) को लेने के लिए व्यावहारिक रूप से अनुशंसित नहीं है।
फिर प्रत्येक चरण समय की गणना 10000/50 = 200 माइक्रोसेकंड के रूप में की जा सकती है। यह कोड के अगले भाग में उपयोग किया जाएगा।
शून्य लूप () {int pot = analogRead (A0); int data1 = map (पॉट, 0, 1023,10,49); speed_val = data1; }
अंतिम चरण में, बाधित-संचालित फ़ंक्शन को शून्य_क्रॉसिंग कॉन्फ़िगर करें । यहां डिमिंग समय की गणना व्यक्तिगत चरण समय को नहीं के साथ गुणा करके की जा सकती है। चरणों की। फिर इस देरी के समय के बाद, TRIAC को 10 माइक्रोसेकंड के एक छोटे से उच्च पल्स का उपयोग करके ट्रिगर किया जा सकता है जो TRIAC को चालू करने के लिए पर्याप्त है।
शून्य शून्य_क्रॉसिंग () {int chop_time = (200 * speed_val); delayMicroseconds (chop_time); digitalWrite (TRIAC, HIGH); देरीमाइक्रोसेकंड (10); digitalWrite (TRIAC, LOW); }
Arduino और PWM का उपयोग करके इस एसी फैन नियंत्रण के लिए एक कार्यशील वीडियो के साथ पूरा कोड नीचे दिया गया है।