- SPWM (साइनसोइडल पल्स चौड़ाई मॉडुलन) क्या है?
- एसपीडब्ल्यूएम इन्वर्टर कैसे काम करता है
- एसपीडब्ल्यूएम इन्वर्टर बनाने के लिए आवश्यक घटक
- एसपीडब्ल्यूएम इन्वर्टर सर्किट निर्माण
- SPWM इन्वर्टर के लिए Arduino प्रोग्राम
- TL494 PWM इन्वर्टर सर्किट का परीक्षण
इन्वर्टर सर्किट की अक्सर आवश्यकता होती है जहां ग्रिड से एसी की आपूर्ति प्राप्त करना संभव नहीं है। एक इन्वर्टर सर्किट का उपयोग डीसी पावर को एसी पावर में बदलने के लिए किया जाता है और इसे दो प्रकारों में विभाजित किया जा सकता है जो कि शुद्ध साइन वेव इनवर्टर या संशोधित स्क्वायर वेव इनवर्टर हैं। ये शुद्ध साइन वेव इनवर्टर बहुत महंगे हैं, जहां संशोधित स्क्वायर वेव इनवर्टर सस्ती हैं। विभिन्न प्रकार के इन्वर्टर के बारे में अधिक जानें यहाँ।
पिछले लेख में, मैंने आपको दिखाया है कि इससे जुड़ी समस्याओं का समाधान करके एक संशोधित वर्ग तरंग औंधा कैसे नहीं बनाया जाए। तो इस लेख में, मैं Arduino का उपयोग करके एक सरल शुद्ध साइन वेव इन्वर्टर बनाऊंगा, और सर्किट के कार्य सिद्धांत की व्याख्या करूंगा ।
यदि आप इस सर्किट को बना रहे हैं, तो कृपया ध्यान दें कि इस सर्किट में कोई प्रतिक्रिया नहीं, कोई अति-सुरक्षा, कोई शॉर्ट सर्किट सुरक्षा और कोई तापमान सुरक्षा नहीं है। इसलिए यह सर्किट केवल शैक्षिक उद्देश्यों के लिए बनाया और प्रदर्शित किया गया है, और व्यावसायिक उपकरणों के लिए इस प्रकार के सर्किट का निर्माण और उपयोग करने के लिए बिल्कुल अनुशंसित नहीं है। हालाँकि, यदि आवश्यक हो, तो आप उन्हें अपने सर्किट में जोड़ सकते हैं, जैसे आमतौर पर उपयोग किए जाने वाले सुरक्षा सर्किट
वोल्टेज संरक्षण, ओवरक्रैक प्रोटेक्शन, रिवर्स पोलरिटी प्रोटेक्शन, शॉर्ट सर्किट प्रोटेक्शन, हॉट स्वैप नियंत्रक इत्यादि पर पहले ही चर्चा की जा चुकी है।
चेतावनी: यदि आप इस प्रकार का सर्किट बना रहे हैं, तो कृपया इनपुट पर स्विचिंग सिग्नल द्वारा उत्पन्न उच्च वोल्टेज और वोल्टेज स्पाइक्स के बारे में अतिरिक्त सावधानी बरतें।
SPWM (साइनसोइडल पल्स चौड़ाई मॉडुलन) क्या है?
नाम पता चलता है, SPWM के लिए खड़ा है एस inusoidal पी ulse डब्ल्यू idth एम odulation। जैसा कि आप पहले से ही जानते होंगे, PWM सिग्नल एक संकेत है, जिसमें हम पल्स की आवृत्ति के साथ-साथ ऑन-टाइम और ऑफ-टाइम भी बदल सकते हैं, जिसे कर्तव्य चक्र के रूप में भी जाना जाता है । यदि आप पीडब्लूएम के बारे में अधिक जानना चाहते हैं, तो आप इसे यहां पढ़ सकते हैं। तो, कर्तव्य चक्र को अलग करके, हम पल्स के औसत वोल्टेज को बदलते हैं। नीचे दी गई छवि से पता चलता है कि-
यदि हम PWM सिग्नल पर विचार करते हैं, जो 0 - 5V के बीच स्विच हो रहा है, जिसमें 100% का एक कर्तव्य चक्र है, तो हमें 5V का औसत आउटपुट वोल्टेज मिलेगा, अगर हम उसी संकेत को 50% के कर्तव्य चक्र के साथ मानते हैं , तो हम करेंगे 2.5V का आउटपुट वोल्टेज मिलता है, और 25% के कर्तव्य चक्र के लिए, यह आधा है। यह PWM सिग्नल के मूल सिद्धांत को बताता है, और हम SPWM सिग्नल के मूल सिद्धांत को समझ सकते हैं ।
एक साइन वोल्टेज मुख्य रूप से एक सादृश्य वोल्टेज जो बदलती जाती है इसकी है समय के साथ परिमाण, और हम से एक साइन लहर के इस व्यवहार को पुन: पेश कर सकते हैं लगातार PWM लहर का कर्तव्य चक्र बदल रहा है, छवि से पता चलता है नीचे है।
यदि आप नीचे दिए गए योजनाबद्ध को देखते हैं , तो यह देखेंगे कि ट्रांसफार्मर के आउटपुट में एक संधारित्र जुड़ा हुआ है । यह संधारित्र वाहक आवृत्ति से एसी सिग्नल को चौरसाई करने के लिए जिम्मेदार है ।
उपयोग किए गए इनपुट सिग्नल इनपुट सिग्नल और लोड के अनुसार कैपेसिटर को चार्ज और डिस्चार्ज करेंगे । जैसा कि हमने बहुत उच्च-आवृत्ति वाले SPWM सिग्नल का उपयोग किया है, इसमें एक बहुत छोटा कर्तव्य चक्र होगा जो 1% जैसा है, यह 1% कर्तव्य चक्र संधारित्र को थोड़ा चार्ज करेगा, अगला कर्तव्य चक्र 5% है, यह फिर से चार्ज होगा संधारित्र थोड़ा अधिक है, निम्नलिखित पल्स में 10% का कर्तव्य चक्र होगा और संधारित्र थोड़ा अधिक चार्ज करेगा, हम सिग्नल लागू करेंगे जब तक कि हम 100% के कर्तव्य चक्र तक नहीं पहुंच जाते हैं और वहां से, हम वापस नीचे जाएंगे 1% तक । यह आउटपुट पर साइन वेव की तरह एक बहुत ही चिकनी वक्र बनाएगा। इसलिए, इनपुट पर कर्तव्य चक्र के उचित मूल्य प्रदान करने से, हमारे पास आउटपुट पर बहुत अधिक साइनसोइडल तरंग होगी।
एसपीडब्ल्यूएम इन्वर्टर कैसे काम करता है
उपरोक्त छवि SPWM इन्वर्टर के मुख्य ड्राइविंग सेक्शन को दिखाती है, और जैसा कि आप देख सकते हैं, हमने इस सर्किट के ट्रांसफॉर्मर को चलाने, अवांछित स्विचिंग शोर को कम करने और MOSFET की सुरक्षा के लिए आधे पुल विन्यास में दो एन-चैनल MOSFETs का उपयोग किया है।, हमने MOSFETs के साथ समानांतर 1N5819 डायोड का उपयोग किया है । गेट सेक्शन में उत्पन्न किसी भी हानिकारक स्पाइक्स को कम करने के लिए, हमने 1274148 डायोड के साथ 4.7 ओम रेसिस्टर्स का समानांतर उपयोग किया है । अंत में, BD139 और BD 140 ट्रांजिस्टर एक पुश-पुल कॉन्फ़िगरेशन में कॉन्फ़िगर किए गए हैं MOSFET के गेट को चलाने के लिए, क्योंकि इस MOSFET में बहुत अधिक गेट कैपेसिटेंस है और ठीक से चालू करने के लिए बेस पर न्यूनतम 10V की आवश्यकता होती है। यहां पुश-पुल एम्पलीफायरों के काम के बारे में अधिक जानें।
सर्किट के कार्य सिद्धांत को बेहतर ढंग से समझने के लिए, हमने इसे एक बिंदु पर कम कर दिया है, जहां MOSFET का यह खंड चालू है। जब MOSFET करंट पर होता है, तो पहले ट्रांसफॉर्मर से बहता है और फिर MOSFET द्वारा ग्राउंड हो जाता है, इस प्रकार एक मैग्नेटिक फ्लक्स भी उस दिशा में प्रेरित हो जाएगा, जिसमें करंट प्रवाहित हो रहा है, और ट्रांसफॉर्मर का कोर मैग्नेटिक फ्लक्स से गुजरेगा द्वितीयक घुमावदार में, और हम आउटपुट पर साइनसोइडल सिग्नल का सकारात्मक आधा चक्र प्राप्त करेंगे।
अगले चक्र में, सर्किट का निचला हिस्सा सर्किट के शीर्ष भाग पर होता है, यही कारण है कि मैंने शीर्ष भाग को हटा दिया है, अब वर्तमान विपरीत दिशा में बहता है और उस दिशा में एक चुंबकीय प्रवाह उत्पन्न करता है, इस प्रकार उलट होता है कोर में चुंबकीय प्रवाह की दिशा । यहां MOSFET के काम करने के बारे में अधिक जानें।
अब, हम सभी जानते हैं कि एक ट्रांसफार्मर चुंबकीय प्रवाह से काम करता है। तो, दोनों MOSFETs को चालू और बंद करना, एक दूसरे के लिए उल्टा और एक सेकंड में 50 बार करना, ट्रांसफार्मर के मूल के अंदर एक अच्छा दोलन चुंबकीय प्रवाह उत्पन्न करेगा और बदलते चुंबकीय प्रवाह के रूप में द्वितीयक कुंडल में एक वोल्टेज उत्पन्न करेगा हम फैराडे के नियम से जानते हैं । यही कारण है कि बुनियादी पलटनेवाला काम करता है।
इस परियोजना में प्रयुक्त पूरा SPWM इन्वर्टर सर्किट नीचे दिया गया है।
एसपीडब्ल्यूएम इन्वर्टर बनाने के लिए आवश्यक घटक
Sl.No |
पार्ट्स |
प्रकार |
मात्रा |
1 |
Atmega328P |
I C |
1 |
२ |
IRFZ44N |
MOSFET |
२ |
३ |
BD139 |
ट्रांजिस्टर |
२ |
४ |
BD140 |
ट्रांजिस्टर |
२ |
५ |
22pF है |
संधारित्र |
२ |
६ |
10K, 1% |
अवरोध |
1 |
। |
16 मेगाहर्ट्ज |
क्रिस्टल |
1 |
। |
0.1uF |
संधारित्र |
३ |
९ |
4.7 आर |
अवरोध |
२ |
१० |
1N4148 |
डायोड |
२ |
1 1 |
LM7805 |
वोल्टेज रेगुलेटर |
1 |
१२ |
200uF, 16V |
संधारित्र |
1 |
१३ |
47uF, 16V |
संधारित्र |
1 |
१४ |
2.2uF, 400V |
संधारित्र |
1 |
एसपीडब्ल्यूएम इन्वर्टर सर्किट निर्माण
इस प्रदर्शन के लिए, सर्किट का निर्माण वेरोबोर्ड पर किया गया है, योजनाबद्ध की मदद से, ट्रांसफार्मर के आउटपुट पर, कनेक्शन के माध्यम से करंट की एक बड़ी मात्रा प्रवाहित होगी, इसलिए कनेक्शन जंपर्स को जितना संभव हो उतना मोटा होना चाहिए।
SPWM इन्वर्टर के लिए Arduino प्रोग्राम
इससे पहले कि हम आगे बढ़ें और कोड को समझना शुरू करें, आइए मूल बातें स्पष्ट करें। उपरोक्त कार्य सिद्धांत से, आपने सीखा है कि आउटपुट में PWM सिग्नल कैसा दिखेगा, अब सवाल यह है कि हम Arduino के आउटपुट पिन पर इस तरह की भिन्न लहर कैसे बना सकते हैं।
अलग-अलग पीडब्लूएम सिग्नल बनाने के लिए, हम 1 के प्रीस्कूलर सेटिंग के साथ 16-बिट टाइमर 1 का उपयोग करने जा रहे हैं, जो हमें प्रत्येक गणना के लिए 1600/16000000 = 0.1ms का समय देगा, अगर हम एक सॉइल तरंग के एक आधे चक्र पर विचार करें।, जो लहर के एक-आधे चक्र के भीतर 100 बार ठीक बैठता है। सरल शब्दों में, हम अपनी साइन वेव का 200 बार नमूना ले सकेंगे।
अगला, हमें अपनी साइन लहर को 200 टुकड़ों में विभाजित करना होगा और आयाम के सहसंबंध के साथ उनके मूल्यों की गणना करना होगा । इसके बाद, हमें उन मानों को टाइमर काउंटर मानों में बदलकर इसे काउंटर लिमिट से गुणा करना होगा। अंत में, हमें उन मानों को काउंटर पर फीड करने के लिए लुकअप टेबल में रखना होगा और हम अपनी साइन वेव प्राप्त करेंगे।
चीजों को थोड़ा सरल बनाने के लिए, मैं GitHub से बहुत अच्छी तरह से लिखे गए SPWM कोड का उपयोग कर रहा हूं जो कर्ट हट्टेन द्वारा बनाया गया है।
कोड बहुत सरल है, हम आवश्यक हेडर फ़ाइलों को जोड़कर अपना कार्यक्रम शुरू करते हैं
# अकेला छोड़ दो
अगला, हमारे पास हमारे दो लुकअप टेबल हैं जिनसे हम टाइमर काउंटर वैल्यू प्राप्त करने जा रहे हैं।
int lookUp1 = {50, 100, 151, 201, 250, 300, 349, 398, 446, 494, 542, 589, 635, 681, 726, 771, 814, 857, 899, 940, 981, 1020, 1020, 1058। 1095, 1131, 1166, 1200, 1233, 1264, 1294, 1323, 1351, 1377, 1402, 1426, 1448, 1468, 1488, 1505, 1522, 1536, 1550, 1561, 1572, 1580, 1580, 1587, 1587, 1593, 1597, 1597, 1597, 1597, 1597। 1599, 1600, 1599, 1597, 1593, 1587, 1580, 1572, 1561, 1550, 1536, 1522, 1505, 1488, 1468, 1448, 1426, 1402, 1377, 1351, 1323, 1294, 1264, 1264, 1233, 1200, 1200, 1200। 1166, 1131, 1095, 1058, 1020, 981, 940, 899, 857, 814, 771, 726, 681, 635, 589, 542, 494, 494, 446, 398, 349, 300, 250, 201, 151, 100, 100। 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 00, 0, 0}; int लुक 2 = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 0, 0, 50, 100, 151, 201, 250, 300, 349, 398, 446, 494, 542, 589, 635, 681, 726, 771, 814, 857, 899, 940, 981, 1020, 1020, 1058। 1095, 1131, 1166, 1200, 1233, 1264, 1294, 1323, 1351, 1377, 1402, 1426, 1448, 1468, 1488, 1505, 1522, 1536, 1550, 1561, 1572, 1580, 1580, 1587, 1587, 1593, 1597, 1597, 1597, 1597, 1597। 1599, 1600, 1599, 1597, 1593, 1587, 1580, 1572, 1561, 1550, 1536, 1522, 1505, 1488, 1468, 1448, 1426, 1402, 1377, 1351, 1323, 1294, 1264, 1264, 1233, 1200, 1200, 1200। 1166, 1131, 1095, 1058, 1020, 981, 940, 899, 857, 814, 771, 726, 681, 635, 589, 542, 494, 444, 396, 349, 3009, 300, 250201, 151, 100, 50, 0};
अगला, सेटअप अनुभाग में, हम प्रत्येक पर स्पष्ट होने के लिए टाइमर काउंटर नियंत्रण रजिस्टर को इनिशियलाइज़ करते हैं। अधिक जानकारी के लिए, आपको atmega328 IC की डेटशीट के माध्यम से जाना होगा।
TCCR1A = 0b10100010; / * मैच पर 10 स्पष्ट, COMPA के लिए BOTTOM में सेट करें। मैच पर 10 स्पष्ट, COMPB के लिए BOTTOM में सेट करें। 00 10 WGM1 1: 0 तरंग के लिए 15. * / TCCR1B = 0b00011001; / * 000 11 WGM1 3: 2 तरंग के लिए 15. काउंटर पर 001 कोई प्रीस्केल नहीं है। * (TIMSK1 = 0b00000001; / * 0000000 1 TOV1 ध्वज अवरोध सक्षम करें। * /
उसके बाद, हम 16000 के पूर्वनिर्धारित मूल्य के साथ इनपुट कैप्चर रजिस्टर को इनिशियलाइज़ करते हैं क्योंकि इससे हमें 200 नमूने बनाने में मदद मिलेगी।
ICR1 = 1600; // अवधि 16MHz क्रिस्टल के लिए, स्विचिंग आवृत्ति के लिए 100 किलोहर्ट्ज़ के लिए 50Hz साइन लहर चक्र प्रति 200 उपविभाग।
अगला, हम फ़ंक्शन में कॉल करके वैश्विक रुकावटों को सक्षम करते हैं, सेई ();
अंत में, हम आउटपुट के रूप में Arduino पिन 9 और 10 सेट करते हैं
DDRB = 0b00000110; // आउटपुट के रूप में पीबी 1 और पीबी 2 सेट करें।
यह सेटअप फ़ंक्शन के अंत को चिह्नित करता है।
कोड का लूप सेक्शन खाली रहता है क्योंकि यह टाइमर काउंटर इंटरप्ट-संचालित प्रोग्राम है।
शून्य लूप () {; /*कुछ मत करो । । । । सदैव!*/}
इसके बाद, हमने टाइमर 1 अतिप्रवाह वेक्टर को परिभाषित किया है, इस रुकावट फ़ंक्शन को कॉल मिलता है जब टाइमर 1 अतिप्रवाह हो जाता है और एक बाधा उत्पन्न करता है।
ISR (TIMER1_OVF_vect) {
अगला, हम कुछ स्थानीय चरों को स्थैतिक चर घोषित करते हैं और हमने मानों को कैप्चर करने और रोकने वाले की तुलना करना शुरू कर दिया है।
स्थिर इंट संख्या; स्थिर चार ट्रिगर; // हर काल में कर्तव्य-चक्र बदलें। OCR1A = lookUp1; OCR1B = lookUp2;
अंत में, हम अगले मानों को कैप्चर करने और प्रतिरोधों की तुलना करने के लिए काउंटर को बढ़ाते हैं, जो इस कोड के अंत को चिह्नित करता है।
अगर (++ संख्या> = 200) {// पूर्व-वेतन वृद्धि है तो जांच करें कि यह 200 से नीचे है। संख्या = 0; // संख्या को रीसेट करें। ट्रिगर = ट्रिगर ^ 0b00000001; digitalWrite (13, ट्रिगर); }
TL494 PWM इन्वर्टर सर्किट का परीक्षण
सर्किट का परीक्षण करने के लिए, निम्नलिखित सेटअप का उपयोग किया जाता है।
- 12V लीड-एसिड बैटरी।
- एक ट्रांसफार्मर जिसमें 6-0-6 टैप और 12-0-12 टैप होता है
- 100W तापदीप्त प्रकाश बल्ब एक लोड के रूप में
- मेको 108 बी + टीआरएमएस मल्टीमीटर
- मेको 450B + TRMS मल्टीमीटर
Arduino से आउटपुट सिग्नल:
एक बार मैंने कोड अपलोड कर दिया। मैंने Arduino के दो पिनों से आउटपुट SPWM सिग्नल को मापा, जो नीचे की छवि की तरह दिखता है,
यदि हम थोड़ा सा ज़ूम करते हैं तो हम PWM लहर के कभी बदलते कर्तव्य चक्र को देख सकते हैं।
अगला, नीचे की छवि ट्रांसफार्मर से आउटपुट सिग्नल दिखाती है।
आदर्श स्थिति में SPWM इन्वर्टर सर्किट:
जैसा कि आप ऊपर की छवि से देख सकते हैं, यह सर्किट आदर्श चलाते हुए लगभग 13W खींचता है
लोड के बिना आउटपुट वोल्टेज:
इन्वर्टर सर्किट के आउटपुट वोल्टेज को ऊपर दिखाया गया है, यह बिना किसी लोड के जुड़े आउटपुट पर आने वाला वोल्टेज है।
इनपुट बिजली की खपत:
ऊपर की छवि इनपुट शक्ति को दर्शाती है जो 40W लोड संलग्न होने पर आईसी उपभोग करती है।
उत्पादन बिजली की खपत:
उपरोक्त छवि आउटपुट सर्किट को दिखाती है जो इस सर्किट द्वारा खपत होती है, (लोड एक 40W तापदीप्त प्रकाश बल्ब है)
उसके साथ, हम सर्किट के परीक्षण भाग को समाप्त करते हैं। आप एक प्रदर्शन के लिए नीचे दिए गए वीडियो की जांच कर सकते हैं। मुझे आशा है कि आपको यह लेख पसंद आया होगा और एसपीडब्ल्यूएम और इसके कार्यान्वयन तकनीकों के बारे में थोड़ा सीखा। पढ़ते रहो, सीखते रहो, निर्माण करते रहो और मैं तुम्हें अगले प्रोजेक्ट में देखूंगा।