Arduino का उपयोग करते हुए उच्च वर्तमान मोटर नियंत्रण सर्किट

समस्याओं को खत्म करने के लिए हमारे साधन का प्रयास करें





इस परियोजना में, हम चर्चा करते हैं कि कैसे मोटर की गति को नियंत्रित करें Arduino PWM सर्किट का उपयोग करना, और पुश बटन स्विच के एक जोड़े के माध्यम से Arduino का उपयोग करके DC मोटर में रिवर्स फॉरवर्ड या दिशा नियंत्रण को कैसे लागू किया जाए। इस सेट अप का उपयोग करके 30 amp तक किसी भी उच्च वर्तमान मोटर को नियंत्रित किया जा सकता है

द्वाराअंकित नेगी



मोटर विद्युत और इलेक्ट्रॉनिक्स में एक बहुत ही आवश्यक घटक है क्योंकि उनका उपयोग कई क्षेत्रों में एक्चुएटर के रूप में किया जाता है।

हमें रोबोटिक्स जैसे छोटे अनुप्रयोगों के साथ-साथ उन क्षेत्रों में भी मोटरों की आवश्यकता होती है जहां भारी मोटर्स का उपयोग किया जाता है (उद्योग आदि)।



अब छोटे अनुप्रयोगों के लिए उपयोग की जाने वाली मोटरों को आसानी से नियंत्रित किया जा सकता है क्योंकि वे बहुत अधिक धारा (2 से कम) नहीं लेती हैं।

और इन मोटरों को आर्डिनो जैसे माइक्रोकंट्रोलर का उपयोग करके आसानी से नियंत्रित किया जा सकता है L298 या L293D की तरह मोटर चालक आईसी ।

लेकिन जिन मोटरों का उपयोग भारी उद्देश्यों (10amp से अधिक) के लिए किया जाता है, उन्हें नियंत्रित नहीं किया जा सकता है इन आईसी का उपयोग कर के रूप में वे सीमित वर्तमान (अधिकतम 2amp) की आपूर्ति कर सकते हैं। तो इन मोटरों को कैसे नियंत्रित किया जाता है?

उत्तर सीधा है: रिले का उपयोग करना , जो स्विच के रूप में कार्य करता है यानी छोटे करंट का उपयोग करके बड़े धारा को स्विच करता है। इस तरह से दो चीजें हासिल की जा सकती हैं:

1. हमारे उच्च वर्तमान मोटर ही चल रहा है।

2. सर्किट को अलग करना, इस प्रकार किसी भी झटके को रोकना।

अब इन रिले को स्विच करने के लिए किसी भी माइक्रोकंट्रोलर का उपयोग किया जा सकता है। हम यहाँ arduino UNO का उपयोग करेंगे।

इस परियोजना के लिए आवश्यक घटक:

1. ARDUINO UNO: रिले के प्राथमिक पक्ष में इनपुट लॉजिक्स देना।

2. एसपीडीटी रिले -2: दोनों दिशाओं में रोटेशन के लिए दो रिले की आवश्यकता होती है। संपर्कों को उच्च वर्तमान मोटर विनिर्देशों को संभालने के लिए रेट किया जाना चाहिए

रिले छवि नीला रंग रिले एन / ओ एन / सी और पोल विवरण दिखा रहा है3. पावर मॉसफेट: आप आईआरएफ 1010 मॉसफेट का उपयोग कर सकते हैं पुश बटन माइक्रोकविच

4. बैटरी (12 वी): मोटर को बिजली की आपूर्ति करने के लिए।

5. दो पुश्तों: अर्दीनो को इनपुट देने के लिए (यानी जब दबाया जाए और जब न दबाया जाए)

10k 1/4 वाट रोकनेवाला

6. दो 10K रिस्टोरर्स: डिबगिंग के लिए (नीचे समझाया गया है)

Arduino का उपयोग करते हुए उच्च वर्तमान मोटर नियंत्रण सर्किट

7. कनेक्टिंग तार: कनेक्शन बनाने के लिए।

शैक्षिक:

PWM Arduino मोटर नियंत्रण सर्किट

चित्र में दिखाए अनुसार कनेक्शन करें।

1. बैटरी के सकारात्मक टर्मिनल के लिए दोनों रिले के सामान्य रूप से खुले टर्मिनल को कनेक्ट करें और बैटरी के नकारात्मक टर्मिनल को सामान्य रूप से बंद टर्मिनल से कनेक्ट करें।

2. प्रत्येक रिले के शेष टर्मिनल (तीन में से) के बीच मोटर को कनेक्ट करें।

3. कोड के निर्दिष्ट पिन और जमीन के अन्य टर्मिनल में आउटपुट पिन के लिए प्राथमिक पक्ष के एक टर्मिनल को कनेक्ट करें।

4. कोड में निर्दिष्ट के अनुसार दोनों पुशबुटनों के एक टर्मिनल को 5v पिन आर्डिनो और अन्य टर्मिनल को इनपुट पिन से कनेक्ट करें।

4. * मैं प्रतिरोधों को जोड़ना नहीं भूलता क्योंकि वे इस सर्किट के उचित कार्य के लिए बहुत महत्वपूर्ण हैं, जैसा कि नीचे बताया गया है:

उपभोक्ताओं को क्यों जोड़ा जाता है?

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

बल्कि इसका तात्पर्य यह है कि जब स्विच खुला होता है तो arduino तर्क 0 और तर्क 1 के बीच कोई यादृच्छिक मान ले सकता है, जो बिल्कुल भी अच्छा नहीं है (इसे शेख़ी कहा जाता है)।

तो हम यहाँ क्या चाहते हैं कि जब कुछ भी इनपुट पिन से जुड़ा न हो यानी पुशबटन खुला हो, तो arduino पिन से 0 इनपुट लेता है।

और इसे प्राप्त करने के लिए, पिन सीधे अवरोधक के माध्यम से पुशबटन से पहले जमीन से जुड़ा होता है। अगर यह बिना किसी अवरोध के सीधे जमीन से जुड़ा हुआ है, तो इस बात की अच्छी संभावना है कि यह बाहर जल जाएगा क्योंकि पिन जमीन पर धंस जाएगा और भारी मात्रा में करंट प्रवाहित होगा। इसे रोकने के लिए, एक रोकनेवाला बीच में जुड़ा हुआ है।

इस अवरोधक को पुलडाउन रेसिस्टर कहा जाता है क्योंकि यह पिन पर तर्क को 0. पर खींच रहा है और इस प्रक्रिया को डिबॉन्डिंग कहा जाता है।

कोड:

इस कोड को अपने Arduino में जलाएं।

int x// initialise variables
int y
int z
int w
void setup() {
pinMode(6,OUTPUT)//initialise pin 6 as output to RL1
pinMode(9,OUTPUT)//initialise pin 9 as output to RL2
pinMode(3,INPUT)//initialise pin 3 as input
pinMode(4,INPUT)//initialise pin 4 as input
pinMode(10,OUTPUT)//initialise PWM pin 8 as output to gate of mosfet
pinMode(A0,INPUT)//initialise pin A0 as input from pot.
Serial.begin(9600)
}
void loop() {
z=analogRead(A0)// read values from potentiometer in terms of voltage
w= map(z,0,1023,0,255)// map those values from 0 to 255
analogWrite(10,w)// write the mapped value to 10thpin as output
delay(1)//on time period of mosfet
analogWrite(10,w)
delay(1)//off time period of ,mosfet
Serial.println(z)//print value from pot to serial monitor
Serial.println(w)//print mapped value to serial monitor
x= digitalRead(3)
y= digitalRead(4)
if(x==0 && y==0){digitalWrite(6,LOW)//hault motor
digitalWrite(9,LOW)}
if(x==1 && y==0){digitalWrite(6,HIGH)// clockwise rotation of motor
digitalWrite(9,LOW)}
if(x==0 && y==1){digitalWrite(6,LOW)// anticlockwise rotation of motor
digitalWrite(9,HIGH)}
if(x==1 && y==1){digitalWrite(6,LOW)//hault motor
digitalWrite(9,LOW)
}
}

कार्य करना (कोड समझना):

• नियंत्रण नियंत्रण:

A. जब दोनों पुशबटन को दबाया नहीं जाता है:

इस स्थिति में, आर्डिनो दोनों पिंस से 0 इनपुट लेता है। इस स्थिति में कोड में निर्दिष्ट दोनों आउटपुट पिन 0 तर्क (LOW) देते हैं:

अगर (x == 0 && y == 0) {digitalWrite (6, LOW)

digitalWrite (9, कम)}

चूंकि दोनों रिले के प्राथमिक में इनपुट वोल्टेज शून्य से द्वितीयक टर्मिनल है, जो सामान्य रूप से बंद स्थिति में रहता है। इस प्रकार मोटर के दोनों टर्मिनलों पर शून्य वोल्ट होता है, जिससे कोई घुमाव नहीं होता है।

B. जब पुश बटन X दबाया जाता है लेकिन Y दबाया नहीं जाता है:

इस स्थिति में, arduino पिन 4 से 0 इनपुट लेता है, लेकिन pin3 से इनपुट 1 है। जैसा कि इस स्थिति में कोड में निर्दिष्ट है पिन 6 तर्क 1 (उच्च) पर होना चाहिए जबकि तर्क 0 पर पिन 9 (LOW):

अगर (x == 1 && y == 0) {digitalWrite (6, उच्च)

digitalWrite (9, कम)}

चूंकि # 1 रिले के लिए इनपुट वोल्टेज अधिक है, इसलिए इस रिले का स्विच सामान्य रूप से खुली स्थिति में फेंक दिया जाता है, जबकि रिले 2 में इनपुट वोल्टेज कम होता है, इस रिले का स्विच सामान्य रूप से बंद स्थिति में रहता है, जिसके कारण मोटर टर्मिनलों में क्रमशः 12v और 0v होता है, जिससे एक दिशा में मोटर का घूमना।

C. जब पुश बटन Y दबाया जाता है लेकिन X दबाया नहीं जाता है:

इस स्थिति में, arduino पिन 4 से 1 इनपुट लेता है लेकिन pin3 से इनपुट 0 है। जैसा कि इस स्थिति में कोड में निर्दिष्ट है पिन 6 तर्क 0 (LOW) पर होना चाहिए जबकि तर्क 1 पर पिन 9 (उच्च):

अगर (x == 1 && y == 0) {digitalWrite (6, LOW)

डिजिटलवाइट (9, उच्च)}

चूंकि इस समय # 2 पर इनपुट वोल्टेज अधिक है, इसलिए इस रिले के स्विच को सामान्य रूप से खुली स्थिति में फेंक दिया जाता है, जबकि # 1 रिले के लिए इनपुट वोल्टेज कम है, इस रिले का स्विच सामान्य रूप से बंद स्थिति में रहता है, जो मोटर के साथ क्रमशः 12v और 0v होता है। टर्मिनलों, एक अन्य दिशा में मोटर के रोटेशन के कारण।

D. जब दोनों पुशबटन को दबाया जाता है:

इस स्थिति में, आर्डिनो दोनों पिंस से 1 इनपुट लेता है। इस स्थिति में कोड में निर्दिष्ट दोनों आउटपुट पिन 0 तर्क (LOW) देते हैं:

अगर (x == 0 && y == 0) {digitalWrite (6, LOW)

digitalWrite (9, कम)}

चूंकि दोनों रिले के प्राथमिक में इनपुट वोल्टेज शून्य से द्वितीयक टर्मिनल है, जो सामान्य रूप से बंद स्थिति में रहता है। इस प्रकार मोटर के दोनों टर्मिनलों पर शून्य वोल्ट होता है, जिससे कोई घुमाव नहीं होता है।

• गति नियंत्रण:

बता दें कि पोटेंशियोमीटर ऐसी स्थिति में होता है, जब वह ए 0 पिन के एडियो के इनपुट के रूप में 0 वोल्ट देता है। इसके कारण, arduino इस मान को 0 के रूप में मैप करता है और इस प्रकार पिन के रूप में 0 पर आउटपुट PWM # 10 देता है, अर्थात;

analogWrite (10,0) // आउटपुट के रूप में 10 वीं पिन के लिए मैप किए गए मान को लिखें

इसलिए मस्जिद के गेट को 0 करंट मिलता है जिसके कारण यह बंद रहता है और मोटर स्विच ऑफ की स्थिति में होता है।

हालाँकि, जैसा कि पॉट घुमाया जाता है और पॉट का मूल्य भिन्न होता है, पिन A0 पर वोल्टेज भी भिन्न होता है, और यह मान पिन # 10 पर मैप किया जाता है, जिसमें एक समान रूप से बढ़ती PWM चौड़ाई होती है, जिससे मोटर और मस्जिद के माध्यम से अधिक प्रवाह होता है। नाली, जो बदले में मोटर को आनुपातिक रूप से अधिक गति प्राप्त करने की अनुमति देती है, और इसके विपरीत होता है।

इस प्रकार उपरोक्त चर्चा से हम देख सकते हैं कि कैसे एक Arduino का उपयोग गति को नियंत्रित करने के लिए किया जा सकता है और साथ ही निर्दिष्ट पॉट को समायोजित करके और पुश बटन के जोड़े के माध्यम से एक उच्च वर्तमान डीसी मोटर की दिशा (रिवर्स फॉरवर्ड) का उपयोग किया जा सकता है।

अपडेट करें : उच्च वर्तमान मोटर के लिए, कृपया इन उच्च शक्ति रिले के संचालन के लिए 12V / 30 amp रिले और BJT ड्राइवर चरणों का उपयोग करें जैसा कि निम्नलिखित संशोधित चित्र में दिखाया गया है:




पिछला: अलार्म के साथ कार रिवर्स पार्किंग सेंसर सर्किट अगला: Arduino PWM सिग्नल जनरेटर सर्किट