विषयसूची:

सीरियल नियंत्रित चर गति मोटर: 6 कदम
सीरियल नियंत्रित चर गति मोटर: 6 कदम

वीडियो: सीरियल नियंत्रित चर गति मोटर: 6 कदम

वीडियो: सीरियल नियंत्रित चर गति मोटर: 6 कदम
वीडियो: 3 speed cooler motor connection wiring test| how to find cooler motor speed wire and nutaral wire || 2024, जुलाई
Anonim
सीरियल नियंत्रित चर गति मोटर
सीरियल नियंत्रित चर गति मोटर

एक छोटी डीसी मोटर की गति को अपने कंप्यूटर पर सीरियल पोर्ट, एक एमओएसएफईटी और कुछ छोटे सॉफ्टवेयर के साथ नियंत्रित करें। (MOSFET और सीरियल पोर्ट "गति नियंत्रण" बनाते हैं; आपको अभी भी उस मोटर के लिए एक मोटर और एक उपयुक्त बिजली की आपूर्ति की आवश्यकता होगी; जबकि सीरियल पोर्ट एक मस्जिद को चालू और बंद करने के लिए वोल्टेज प्रदान कर सकता है, यह ' t एक विशिष्ट मोटर द्वारा आवश्यक करंट की आपूर्ति करता है।)

चरण 1: सर्किट को देखें

सर्किट को देखो
सर्किट को देखो

हम कंप्यूटर के rs232 पोर्ट से ट्रांसमिट डेटा पिन से जुड़े एक सामान्य एन-चैनल पावर MOSFET का उपयोग करके पल्स चौड़ाई मॉड्यूलेशन करने जा रहे हैं। जब सीरियल पोर्ट निष्क्रिय होता है, तो पिन "1" स्थिति पर बैठेगा, जो कि rs232 में अनुवादित होने तक, -12V जैसा कुछ है (ड्राइवरों के आधार पर, यह -9V या -5V के करीब हो सकता है), और ट्रांजिस्टर काफी बंद हो जाएगा। जब हम सीरियल पोर्ट पर "0" बिट्स संचारित करते हैं, तो rs232 पिन +12V या उससे भी अधिक पर जाएगा, जो कि अधिकांश मस्जिदों को अच्छी तरह से चालू करने के लिए पर्याप्त है।

यदि हम एक पंक्ति में बहुत सारे "0" बीआईएस संचारित करते हैं, तो मोटर पूरी तरह से चालू हो जाएगी और मोटर तेजी से चलेगी। यदि हम अधिकतर "1" बिट्स संचारित करते हैं, तो मोटर अधिक धीमी गति से चलेगी।

चरण 2: वायर इट अप

वायर इट अप
वायर इट अप

चूंकि केवल एक घटक है और केवल कुछ कनेक्शन हैं, आप केवल "फ्रीफॉर्म" तार जोड़ सकते हैं।

MOSFETs स्थिर संवेदनशील होते हैं, इसलिए थोड़ा सावधान रहें, लेकिन बहुत कम महत्वपूर्ण है।

चरण 3: PWM मानों के साथ फ़ाइलें सेट करें

PWM मानों के साथ फ़ाइलें सेट करें
PWM मानों के साथ फ़ाइलें सेट करें

किसी भी सॉफ्टवेयर को लिखे बिना मोटर को नियंत्रित करने का एक तरीका उपयुक्त बाइट्स वाली कुछ फाइलें तैयार करना है (अधिक या कम 0 बिट्स के साथ), और बस उन्हें COM पोर्ट पर कॉपी करें जहां आपने मोटर कनेक्ट की है। मैंने कई फाइलें तैयार की हैं (emacs का उपयोग करके, लेकिन जो कुछ भी आपके लिए काम करता है वह ठीक है):

  • 0.pwm:: में 5000 NULL वर्ण होते हैं (अधिकांश कीबोर्ड पर नियंत्रण-स्थान)[br] यह "पूर्ण गति" के लगभग उतना ही करीब है जितना हम इस तकनीक के साथ प्राप्त करने में सक्षम होंगे।
  • 1.pwm:: में 5000 नियंत्रण-ए वर्ण (ascii 01) (एक "1" बिट प्रति चार) शामिल हैं
  • 3.pwm:: 5000 कंट्रोल-सी कैरेक्टर (ascii 03) (दो "1" बिट्स प्रति चार) शामिल हैं
  • 7.pwm:: में 5000 कंट्रोल-जी कैरेक्टर (एएससीआई 07) (तीन "1" बिट्स प्रति चार) शामिल हैं
  • 15.pwm:: में 5000 कंट्रोल-ओ कैरेक्टर (एएससीआई 15) (चार "1" बिट्स प्रति चार) शामिल हैं
  • 31.pwm:: में 5000 नियंत्रण-_ वर्ण (ascii 31) (पांच "1" बिट प्रति वर्ण) शामिल हैं
  • 63.pwm:: में 5000 "?" वर्ण (ascii 63) (छह "1" बिट प्रति वर्ण)
  • 127.pwm:: में 5000 DEL वर्ण (ascii 127) (प्रति वर्ण सात "1" बिट) हैं

(अब जब मैंने चित्र खींचे हैं, तो आप देखेंगे कि वास्तविक बिट पैटर्न आदर्श नहीं हैं। चूंकि rs232 सीरियल पहले एलएसबी को प्रसारित करता है, हम वास्तव में शून्य में शिफ्ट करना चाहते हैं। छात्र के लिए एक व्यायाम!)

चरण 4: डॉस के साथ खेलें: अपने COM पोर्ट को कॉन्फ़िगर करें और फाइलों को कॉपी करें

डॉस के साथ खेलें: अपने COM पोर्ट को कॉन्फ़िगर करें और फाइलों को कॉपी करें
डॉस के साथ खेलें: अपने COM पोर्ट को कॉन्फ़िगर करें और फाइलों को कॉपी करें

9600 बीपीएस एक सामान्य बिटरेट है। यह अच्छी तरह से "लगभग" एक बाइट प्रति मिलीसेकंड से मेल खाता है, इसलिए इस मामले में यह 1000 हर्ट्ज की पीडब्लूएम आवृत्ति के साथ मेल खाता है, जो मुझे लगता है कि छोटे मोटर्स के लिए ठीक होना चाहिए। चीजें कैसे काम करती हैं, यह देखने के लिए आप विभिन्न बिट दरों के साथ प्रयोग कर सकते हैं, जो इस पद्धति के फायदों में से एक है। एक डॉस (या "कमांड प्रॉम्प्ट") विंडो बनाएं (यह मानते हुए कि आप विंडोज़ ओएस का उपयोग कर रहे हैं), और अपने कॉम पोर्ट को कॉन्फ़िगर करें जैसे:mode com1: 9600, n, 7, 1" जो कॉम पोर्ट को 9600bps पर चलने के लिए कहता है, और प्रत्येक वर्ण में 7 बिट भेजता है (हमारी 7 अलग-अलग बिट-लंबाई के साथ मेल खाने के लिए।) "n" का अर्थ है कोई समानता नहीं, तो वे केवल डेटा बिट्स होंगे। "1" का अर्थ है कि एक "स्टॉप" बिट होगा, जो हमें मोटर को सभी तरह से चालू करने से रोकेगा (ओह ठीक है।) तो अब आप मोटर को कमांड के साथ चालू कर सकते हैं जैसे: कॉपी 0.pwm com1: चूंकि हम लगभग 1 प्रति मिलीसेकंड पर 5000 वर्ण भेज रहे हैं, मोटर को लगभग 5 सेकंड के लिए पूरी गति के करीब चालू होना चाहिए। यदि आप 5 सेकंड से कम चाहते हैं, तो एक छोटी फ़ाइल बनाएं। इसी तरह, आप यह कर सकते हैं:प्रतिलिपि 127.pwm com1: मोटर को न्यूनतम संभव गति से चलाने के लिए। मेरे पास जो सेटअप था, उसके साथ मोटर 31.pwm से "धीमी" किसी भी चीज़ के साथ बिल्कुल भी नहीं मुड़ेगी, लेकिन YMMV (मैं पतला k मेरे पास 5V बैटरी से चलने वाली 12V मोटर थी।) COPY कमांड आपको फाइलों को एक साथ स्ट्रिंग करने देता है, इसलिए यदि आप चाहते हैं कि आपकी मोटर तेज हो और फिर धीमी हो, तो आप कुछ ऐसा कर सकते हैं: कॉपी 31.pwm+15। pwm+7.pwm+0.pwm+7.pwm+15.pwm+31.pwm com1:

चरण 5: एक प्रोग्राम से मोटर को नियंत्रित करें

एक प्रोग्राम से मोटर को नियंत्रित करें
एक प्रोग्राम से मोटर को नियंत्रित करें

यदि आप कोई प्रोग्राम लिख रहे हैं, तो आप शायद COM1: को एक फ़ाइल के रूप में खोल सकते हैं और इसे ऐसे लिख सकते हैं जैसे कि यह कोई अन्य फ़ाइल हो। एक विशेष संख्या में वर्णों को आउटपुट करके मोटर की अवधि को समय पर करने में सक्षम होने के कारण यह बहुत आसान प्रतीत होता है। यह मत भूलो कि सिस्टम आपके द्वारा सीरियल पोर्ट पर भेजे जाने वाले पात्रों को बफर करने की बहुत संभावना है, इसलिए सिर्फ इसलिए कि एक WRITE कॉल रिटर्न का मतलब यह नहीं है कि मोटर ने जो कुछ भी कहा है उसे पूरा कर लिया है। चूंकि हम कॉम पोर्ट सिग्नल के साथ कुछ भी "फैंसी" नहीं करते हैं, इसलिए आपको उन रहस्यमय विकल्पों की जांच नहीं करनी चाहिए जो इसका समर्थन कर सकते हैं। (हालांकि, यदि आप समझ सकते हैं कि कॉम पोर्ट पर BREAK अनुक्रम कैसे भेजा जाए, तो यह एक सतत "0" स्थिति है, और मोटर को सभी तरह से चलाएगा; निरंतर 0 वर्ण भेजने से अधिक।)

यदि आपकी प्रोग्रामिंग भाषा आपको COM1 पर आउटपुट नहीं देती है:, तो आप अभी भी कॉपी कमांड करने के लिए डॉस को "कॉल" करके मोटर को नियंत्रित करने में सक्षम हो सकते हैं। (ठीक है। मैंने माइक्रोसॉफ्ट के विजुअल बेसिक एक्सप्रेस 2005 (जो मुफ़्त है) को डाउनलोड किया है और सीरियल पोर्ट के माध्यम से नियंत्रित मोटर गति के लिए एक क्षैतिज स्क्रॉल बार को बांधने में कामयाब रहा है। ज़िप संलग्न है। यह शायद प्रोग्राम को डुप्लिकेट करने की आवश्यकता से अधिक है आपके सिस्टम पर, लेकिन मैं यह पता नहीं लगा सका कि किन बिट्स की आवश्यकता थी। कार्यक्रम दोनों को सरल बनाया गया है और बहु-थ्रेडेड होने के कारण इसे समझना (क्षमा करें) अधिक कठिन बना दिया गया है। एक थ्रेड सीरियल पोर्ट के लिए आउटपुट के अलावा कुछ नहीं करता है, और मुख्य थ्रेड स्क्रॉल बार को पढ़ता है और सीरियल थ्रेड द्वारा उपयोग की जाने वाली जानकारी को अपडेट करता है।)

चरण 6: प्रयोग

प्रयोग!
प्रयोग!

अगर चीजें मूल रूप से काम कर रही हैं, तो यह प्रयोग के लिए बहुत जगह प्रदान करती है।

  • मेरे बिट पैटर्न को ठीक करें!
  • क्या बिटरेट ज्यादा मायने रखता है?
  • क्या आपको "चालू" और "बंद" दालों की चौड़ाई को नियंत्रित करना है, या बस उनके अनुपात को पर्याप्त नियंत्रित करना है?
  • यदि आपको केवल अनुपात को नियंत्रित करना है, तो आप अधिक गति स्तर प्राप्त करने के लिए उच्च बिट दरों पर बहु-वर्ण अनुक्रमों पर विचार कर सकते हैं। आउटपुट 0 और उसके बाद 127 लगभग आधा होगा।
  • यह टॉर्च बल्बों को कम करने के लिए भी काम करना चाहिए।

सिफारिश की: