विषयसूची:

पीसी प्रशंसकों के लिए DIY PWM नियंत्रण: 12 कदम
पीसी प्रशंसकों के लिए DIY PWM नियंत्रण: 12 कदम

वीडियो: पीसी प्रशंसकों के लिए DIY PWM नियंत्रण: 12 कदम

वीडियो: पीसी प्रशंसकों के लिए DIY PWM नियंत्रण: 12 कदम
वीडियो: speed controller || 12vdc + Soler 2024, जुलाई
Anonim
पीसी प्रशंसकों के लिए DIY PWM नियंत्रण
पीसी प्रशंसकों के लिए DIY PWM नियंत्रण

यह निर्देशयोग्य पूरी तरह से चित्रित 12 वी पीसी प्रशंसक पीडब्लूएम नियंत्रक के निर्माण का वर्णन करता है। डिजाइन 16 3-पिन कंप्यूटर प्रशंसकों को नियंत्रित कर सकता है। डिज़ाइन प्रत्येक पंखे के कर्तव्य चक्र को नियंत्रित करने के लिए डायलॉग ग्रीनपाक ™ कॉन्फ़िगर करने योग्य मिश्रित-सिग्नल आईसी की एक जोड़ी का उपयोग करता है। इसमें पंखे की गति को बदलने के दो तरीके भी शामिल हैं:

ए। एक चतुर्भुज/रोटरी एन्कोडर के साथ

बी। C# में निर्मित Windows अनुप्रयोग के साथ जो I2C के माध्यम से GreenPAK के साथ संचार करता है।

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

चरण 1: सिस्टम ब्लॉक आरेख

सिस्टम ब्लॉक आरेख
सिस्टम ब्लॉक आरेख

चरण 2: SLG46108 रोटरी डिकोडर डिजाइन

SLG46108 रोटरी डिकोडर डिजाइन
SLG46108 रोटरी डिकोडर डिजाइन
SLG46108 रोटरी डिकोडर डिजाइन
SLG46108 रोटरी डिकोडर डिजाइन
SLG46108 रोटरी डिकोडर डिजाइन
SLG46108 रोटरी डिकोडर डिजाइन

एक रोटरी एन्कोडर का उपयोग प्रशंसकों के कर्तव्य चक्र को मैन्युअल रूप से बढ़ाने या घटाने के लिए किया जाता है। यह डिवाइस अपने चैनल ए और चैनल बी आउटपुट पर दालों को आउटपुट करता है जो 90 डिग्री अलग होते हैं। रोटरी एनकोडर कैसे काम करता है, इस बारे में अधिक जानकारी के लिए एएन-1101: अनलॉक्ड क्वाड्रेचर डिकोडर देखें।

चैनल ए और चैनल बी संकेतों को संसाधित करने और उन्हें वामावर्त (सीसीडब्ल्यू) और दक्षिणावर्त (सीडब्ल्यू) दालों के रूप में आउटपुट करने के लिए डायलॉग ग्रीनपैक एसएलजी४६१०८ का उपयोग करके एक क्लॉक रोटरी डिकोडर बनाया जा सकता है।

जब चैनल ए चैनल बी का नेतृत्व करता है, तो डिज़ाइन सीडब्ल्यू पर एक छोटी पल्स आउटपुट करता है। जब चैनल बी चैनल ए का नेतृत्व करता है, तो यह सीसीडब्ल्यू पर एक छोटी पल्स आउटपुट करता है

तीन डीएफएफ घड़ी के साथ चैनल ए इनपुट को सिंक्रनाइज़ करते हैं। इसी तरह, OUT0 के साथ दो DFF और OUT1 के तीन DFF पर सेट के साथ पाइप विलंब चैनल B के लिए समान कार्यक्षमता बनाता है।

CW और CCW आउटपुट बनाने के लिए कुछ LUTs का उपयोग करें, इस मानक रोटरी डिकोडर डिज़ाइन के बारे में अधिक जानकारी के लिए, इस वेबसाइट पर जाएँ।

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

XOR गेट्स के बाद की सर्किटरी सुनिश्चित करती है कि एक ही समय में CW पल्स और CCW पल्स कभी नहीं होंगे, जिससे रोटरी एनकोडर के साथ कोई त्रुटि हो सकती है। सीडब्ल्यू और सीसीडब्ल्यू संकेतों पर 8 एमएस गिरने वाले किनारे की देरी उन्हें 8 एमएस प्लस एक घड़ी चक्र के लिए उच्च रहने के लिए मजबूर करती है, जो डाउनस्ट्रीम एसएलजी 46826 ग्रीनपैक के लिए जरूरी है।

चरण 3: SLG46826 फैन नियंत्रक डिजाइन

SLG46826 फैन नियंत्रक डिजाइन
SLG46826 फैन नियंत्रक डिजाइन

चरण 4: ऑफसेट काउंटरों के साथ PWM जनरेशन

ऑफसेट काउंटरों के साथ पीडब्लूएम जनरेशन
ऑफसेट काउंटरों के साथ पीडब्लूएम जनरेशन
ऑफसेट काउंटरों के साथ पीडब्लूएम जनरेशन
ऑफसेट काउंटरों के साथ पीडब्लूएम जनरेशन

पीडब्लूएम सिग्नल उत्पन्न करने के लिए समान अवधि के ऑफसेट काउंटरों की एक जोड़ी का उपयोग किया जाता है। पहला काउंटर एक DFF सेट करता है, और दूसरा इसे रीसेट करता है, एक सुसंगत कर्तव्य चक्र PWM सिग्नल बनाता है जैसा कि चित्र 6 और चित्र 7 में दिखाया गया है।

CNT6 DFF10 सेट करता है और CNT1 का उल्टा आउटपुट DFF10 को रीसेट करता है। पिन 18 और 19 का उपयोग PWM सिग्नल को बाहरी सर्किटरी में आउटपुट करने के लिए किया जाता है

चरण 5: क्लॉक इंजेक्शन और क्लॉक स्किपिंग के साथ ड्यूटी साइकिल नियंत्रण

क्लॉक इंजेक्शन और क्लॉक स्किपिंग के साथ ड्यूटी साइकिल कंट्रोल
क्लॉक इंजेक्शन और क्लॉक स्किपिंग के साथ ड्यूटी साइकिल कंट्रोल
क्लॉक इंजेक्शन और क्लॉक स्किपिंग के साथ ड्यूटी साइकिल कंट्रोल
क्लॉक इंजेक्शन और क्लॉक स्किपिंग के साथ ड्यूटी साइकिल कंट्रोल

प्रशंसक नियंत्रक रोटरी डिकोडर से इनपुट के रूप में CW और CCW सिग्नल प्राप्त करता है और उनका उपयोग PWM सिग्नल को बढ़ाने या घटाने के लिए करता है जो पंखे की गति को नियंत्रित करता है। यह कई डिजिटल लॉजिक घटकों के साथ हासिल किया गया है।

सीडब्ल्यू पल्स प्राप्त होने पर कर्तव्य चक्र को बढ़ाने की जरूरत है। यह CNT6 ब्लॉक में एक अतिरिक्त क्लॉक पल्स को इंजेक्ट करके किया जाता है, जिससे यह पहले की तुलना में एक घड़ी चक्र का उत्पादन करता है अन्यथा होता। यह प्रक्रिया चित्र 8 में दिखाई गई है।

CNT1 अभी भी एक स्थिर दर पर क्लॉक किया जा रहा है, लेकिन CNT6 में कुछ अतिरिक्त घड़ियाँ इंजेक्ट की गई हैं। हर बार काउंटर पर एक अतिरिक्त घड़ी होती है, यह अपने आउटपुट को एक घड़ी की अवधि में बाईं ओर स्थानांतरित कर देता है।

इसके विपरीत, कर्तव्य चक्र को कम करने के लिए, चित्र 9 में दिखाए गए अनुसार CNT6 के लिए एक घड़ी की पल्स को छोड़ दें। CNT1 अभी भी एक स्थिर दर पर क्लॉक हो रहा है, और CNT6 के लिए स्किप क्लॉक पल्स हैं, जहां काउंटर को क्लॉक नहीं किया गया था जब यह माना जाता था। प्रति। इस तरह CNT6 के आउटपुट को एक बार में एक घड़ी की अवधि तक दाईं ओर धकेला जाता है, जिससे आउटपुट PWM ड्यूटी चक्र छोटा हो जाता है।

ग्रीनपैक के भीतर कुछ डिजिटल लॉजिक तत्वों के उपयोग के साथ क्लॉक इंजेक्शन और क्लॉक स्किपिंग कार्यक्षमता की जाती है। लैच/एज डिटेक्टर कॉम्बो की एक जोड़ी बनाने के लिए मल्टीफ़ंक्शन ब्लॉक की एक जोड़ी का उपयोग किया जाता है। 4-बिट LUT0 का उपयोग सामान्य क्लॉक सिग्नल (CLK/8) और क्लॉक इंजेक्शन या क्लॉक स्किपिंग सिग्नल के बीच मक्स करने के लिए किया जाता है। यह कार्यक्षमता चरण 7 में अधिक विस्तार से वर्णित है।

चरण 6: बटन इनपुट

बटन इनपुट
बटन इनपुट

बटन इनपुट को 20 एमएस के लिए डिबॉउन्ड किया जाता है, फिर एक कुंडी को चालू करने के लिए उपयोग किया जाता है जो यह निर्धारित करता है कि क्या यह विशेष चिप चुना गया है। यदि इसे चुना जाता है, तो 4-बिट LUT क्लॉक स्किपिंग या इंजेक्शन सिग्नल पास करता है। यदि चिप का चयन नहीं किया जाता है, तो 4-बिट LUT केवल CLK/8 सिग्नल पास करता है।

चरण 7: ड्यूटी साइकिल रोलओवर को रोकना

ड्यूटी साइकिल रोलओवर को रोकना
ड्यूटी साइकिल रोलओवर को रोकना
ड्यूटी साइकिल रोलओवर को रोकना
ड्यूटी साइकिल रोलओवर को रोकना
ड्यूटी साइकिल रोलओवर को रोकना
ड्यूटी साइकिल रोलओवर को रोकना

RS लैच 3-बिट LUT5 और 3-बिट LUT3 का उपयोग यह सुनिश्चित करने के लिए किया जाता है कि आप इतनी घड़ियों को इंजेक्ट या स्किप नहीं कर सकते हैं कि ऑफ़सेट काउंटर लुढ़क जाते हैं। यह सिस्टम को १००% कर्तव्य चक्र तक पहुँचने से बचने के लिए है और फिर १% कर्तव्य चक्र पर लुढ़कने के लिए यदि यह एक और इंजेक्शन वाली घड़ी प्राप्त करता है।

जब सिस्टम रोलिंग से एक घड़ी चक्र दूर होता है, तो RS लैच मल्टीफ़ंक्शन ब्लॉक में इनपुट को लैच करके ऐसा होने से रोकता है। DFFs की एक जोड़ी PWM_SET और PWM_nRST संकेतों को एक घड़ी की अवधि तक विलंबित करती है जैसा कि चित्र 11 में दिखाया गया है।

आवश्यक तर्क बनाने के लिए LUTs की एक जोड़ी का उपयोग किया जाता है। यदि कर्तव्य चक्र इतना कम है कि विलंबित PWM_SET संकेत उसी समय PWM_nRST संकेत के रूप में होता है, तो कर्तव्य चक्र में और कमी रोलओवर का कारण बनेगी।

इसी तरह, यदि अधिकतम कर्तव्य चक्र के निकट, जैसे कि विलंबित PWM_nRST संकेत उसी समय PWM_SET संकेत के रूप में होता है, तो कर्तव्य चक्र में और वृद्धि से बचना आवश्यक है। इस उदाहरण में, यह सुनिश्चित करने के लिए कि सिस्टम 99% से 1% तक लुढ़कता नहीं है, nRST सिग्नल को दो घड़ी चक्रों से विलंबित करें।

चरण 8: I2C. के साथ कर्तव्य चक्र नियंत्रण

I2C. के साथ ड्यूटी साइकिल नियंत्रण
I2C. के साथ ड्यूटी साइकिल नियंत्रण
I2C. के साथ ड्यूटी साइकिल नियंत्रण
I2C. के साथ ड्यूटी साइकिल नियंत्रण
I2C. के साथ ड्यूटी साइकिल नियंत्रण
I2C. के साथ ड्यूटी साइकिल नियंत्रण

इस डिज़ाइन में क्लॉक स्किपिंग / क्लॉक इंजेक्शन के अलावा कर्तव्य चक्र को नियंत्रित करने का एक और तरीका शामिल है। कर्तव्य चक्र निर्धारित करने के लिए ग्रीनपाक को I2C कमांड लिखने के लिए एक बाहरी माइक्रोकंट्रोलर का उपयोग किया जा सकता है।

I2C पर कर्तव्य चक्र को नियंत्रित करने के लिए नियंत्रक को एक विशिष्ट कमांड अनुक्रम करने की आवश्यकता होती है। इन आदेशों को तालिका 1 में क्रम में दिखाया गया है। एक "x" एक बिट को इंगित करता है जिसे बदलना नहीं चाहिए, "[" एक स्टार्ट बिट को इंगित करता है, और "]" एक स्टॉप बिट को इंगित करता है।

PDLY ब्लॉक CLK/8 सिग्नल के गिरते किनारे पर एक शॉर्ट एक्टिव हाई पल्स उत्पन्न करता है, जिसे !CLK/8 कहा जाता है। उस सिग्नल का उपयोग DFF14 को स्थिर आवृत्ति पर देखने के लिए किया जाता है। जब I2C_SET एसिंक्रोनस रूप से उच्च हो जाता है, तो !CLK/8 का अगला बढ़ता किनारा DFF14 को उच्च आउटपुट देता है, जो CNT5 वनशॉट को ट्रिगर करता है। वनशॉट उन घड़ी चक्रों की संख्या के लिए चलता है जिन्हें उपयोगकर्ता ने तालिका 1 में "CNT5 को लिखें" I2C कमांड में निर्दिष्ट किया है। इस मामले में, यह 10 घड़ी चक्र है। वनशॉट 25 मेगाहर्ट्ज थरथरानवाला को ठीक उसकी अवधि के लिए चलाने की अनुमति देता है और अब नहीं, ताकि 3-बिट LUT0 को CNT5 को लिखे गए घड़ी चक्रों की संख्या प्राप्त हो।

चित्र 15 इन संकेतों को दिखाता है, जहां लाल घड़ियां वे हैं जो 3-बिट LUT0 को भेजी जाती हैं, जो उन्हें CNT6 (PWM_SET काउंटर) में भेजती हैं, इस प्रकार कर्तव्य चक्र निर्माण के लिए ऑफसेट का निर्माण करती हैं।

चरण 9: टैकोमीटर रीडिंग

टैकोमीटर रीडिंग
टैकोमीटर रीडिंग
टैकोमीटर रीडिंग
टैकोमीटर रीडिंग

यदि वांछित है, तो उपयोगकर्ता I2C पर टैकोमीटर मान पढ़ सकता है ताकि यह पता लगाया जा सके कि CNT2 मान को पढ़कर पंखा कितनी तेज़ी से घूम रहा है। CNT2 को हर बार ACMP0H के बढ़ते किनारे पर बढ़ाया जाता है, और I2C कमांड के साथ एसिंक्रोनस रूप से रीसेट किया जा सकता है। ध्यान दें कि यह एक वैकल्पिक विशेषता है, और ACMP0H की दहलीज को उपयोग किए जा रहे विशेष पंखे के विनिर्देशों के अनुसार ट्विक करने की आवश्यकता होगी।

चरण 10: बाहरी सर्किट डिजाइन

बाहरी सर्किट डिजाइन
बाहरी सर्किट डिजाइन

बाहरी सर्किट काफी सरल है। इस विशेष उपकरण को रोटरी नियंत्रण के लिए चुना गया है या नहीं, यह टॉगल करने के लिए ग्रीनपैक के पिन6 से जुड़ा एक पुशबटन है, और डिवाइस के चयन के समय इंगित करने के लिए पिन12 और पिन13 से जुड़ी एक एलईडी है।

चूंकि पंखा 12 V से चलता है, इसके स्विचिंग को नियंत्रित करने के लिए FET की एक जोड़ी की आवश्यकता होती है। ग्रीनपैक का पिन18 और पिन19 एक एनएफईटी चलाते हैं। जब nFET चालू होता है, तो यह pFET LOW के गेट को खींचता है, जो पंखे को +12 V से जोड़ता है। जब nFET को बंद किया जाता है, तो PFET के गेट को 1 kΩ रेसिस्टर द्वारा खींच लिया जाता है, जो पंखे को डिस्कनेक्ट कर देता है। +12 वी से।

चरण 11: पीसीबी डिजाइन

पीसीबी डिजाइन
पीसीबी डिजाइन

डिजाइन को प्रोटोटाइप करने के लिए कुछ पीसीबी इकट्ठे किए गए थे। बाईं ओर पीसीबी "फैन कंट्रोलर" है, जिसमें रोटरी एनकोडर, 12 V जैक, SLG46108 GreenPAK, और FT232H USB से I2C ब्रेकआउट बोर्ड के लिए कनेक्टर हैं। दाईं ओर दो पीसीबी "फैन बोर्ड" हैं, जिनमें SLG46826 ग्रीनपैक, पुशबटन, स्विच, एलईडी और फैन हेडर शामिल हैं।

प्रत्येक फैन बोर्ड में बाईं ओर एक ढका हुआ पुरुष हेडर और दाईं ओर एक महिला हेडर होता है ताकि उन्हें एक साथ डेज़ी-जंजीर किया जा सके। प्रत्येक फैन बोर्ड को दो प्रशंसकों को स्वतंत्र रूप से नियंत्रित करने के लिए संसाधनों से भरा जा सकता है।

चरण 12: सी # आवेदन

सी # आवेदन
सी # आवेदन

FT232H USB-I2C ब्रिज के माध्यम से फैन बोर्ड के साथ इंटरफेस करने के लिए A C# एप्लिकेशन लिखा गया था। इस एप्लिकेशन का उपयोग प्रत्येक प्रशंसक की आवृत्ति को I2C कमांड के साथ समायोजित करने के लिए किया जा सकता है जो एप्लिकेशन द्वारा उत्पन्न होते हैं।

एप्लिकेशन प्रति सेकंड एक बार सभी 16 I2C पतों को पिंग करता है और मौजूद दास पतों के साथ GUI को पॉप्युलेट करता है। इस उदाहरण में फैन 1 (दास का पता 0001) और फैन 3 (दास का पता 0011) बोर्ड से जुड़ा है। स्लाइडर बार को घुमाकर या स्लाइडर बार के नीचे टेक्स्टबॉक्स में 0-256 से एक मान टाइप करके प्रत्येक प्रशंसक के कर्तव्य चक्र में समायोजन व्यक्तिगत रूप से किया जा सकता है।

निष्कर्ष

इस डिज़ाइन का उपयोग करके 16 प्रशंसकों को स्वतंत्र रूप से नियंत्रित करना संभव है (क्योंकि 16 संभावित I2C स्लेव पते हैं) या तो रोटरी एन्कोडर के साथ या C# एप्लिकेशन के साथ। यह प्रदर्शित किया गया है कि ऑफसेट काउंटरों की एक जोड़ी के साथ पीडब्लूएम सिग्नल कैसे उत्पन्न किया जाए, और रोलओवर के बिना उस सिग्नल के कर्तव्य चक्र को कैसे बढ़ाया और घटाया जाए।

सिफारिश की: