- Componente necesare:
- Diagrama circuitului și explicații:
- Calcule curente:
- Funcționarea motorului bidirecțional controlat Arduino:
În acest proiect controlăm direcția și viteza unui motor de curent mare de 24v folosind Arduino și două relee. Nu sunt necesare comutatoare de alimentare pentru acest circuit, doar două butoane și în Potențiometru pentru a controla direcția și viteza motorului de curent continuu. Un buton va roti motorul în sensul acelor de ceasornic și altul îl va roti în sens invers acelor de ceasornic. Un control MOSFET n-canal este necesar pentru a controla viteza motorului. Releele sunt utilizate pentru a comuta direcțiile motorului. Seamănă cu circuitul H-Bridge.
Componente necesare:
- Arduino Uno
- Două relee 12v (poate fi utilizat și releu 5v)
- Două tranzistoare; BC547
- Două butoane
- IRF540N
- Rezistor de 10k
- Sursa de 24 volți
- Potențiometru 10K
- Trei diode 1N4007
- Conectarea firelor
Diagrama circuitului și explicații:
Diagrama circuitului acestui proiect de control al motorului bidirecțional este prezentată în imaginea de mai jos. Faceți conexiunile în conformitate cu aceasta:
- Conectați borna normal închisă a ambelor relee la borna pozitivă a bateriei.
- Conectați borna normal deschisă a ambelor relee la borna de scurgere a MOSFET.
- Conectați sursa MOSFET la terminalul negativ al bateriei și la pinul de masă al Arduino UNO.
- Terminal de poartă la pinul PWM 6 al Arduino.
- Conectați rezistorul 10k de la poartă la sursă și dioda 1N4007 de la sursă la golire.
- Conectați motorul între terminalul central al releelor.
- Din cele două terminale rămase, unul merge la pinul Vin al Arduino Uno și altul la terminalul colector al tranzistorului (pentru fiecare releu).
- Conectați terminalul emițător al ambelor tranzistori la pinul GND al Arduino.
- Pinul digital 2 și 3 al Arduino, fiecare în serie cu buton, merge la baza tranzistoarelor.
- Conectați dioda la releu exact așa cum se arată în figură.
- Conectați terminalul final al potențiometrului la pinul 5v și respectiv pinul Gnd al Arduino. Și terminalul ștergătorului la pinul A0.
- ** dacă aveți două baterii separate de 12 V, conectați terminalul pozitiv al unei baterii la terminalul negativ al altei baterii și folosiți cele două terminale rămase pozitive și negative.
Scopul tranzistoarelor:
pinii digitali Arduino nu pot furniza cantitatea de curent necesară pentru a porni un releu normal de 5V. În plus, folosim releu 12v în acest proiect. Pinul vin al Arduino nu poate furniza cu ușurință atât de mult curent pentru ambele relee. Prin urmare, tranzistoarele sunt utilizate pentru a conduce curentul de la pinul Arduino la releu care este controlat folosind un buton conectat de la pinul digital la terminalul de bază al tranzistorului.
Scopul Arduino:
- Pentru a furniza cantitatea de curent necesară pentru pornirea releului.
- Pentru a porni tranzistorul.
- Pentru a controla viteza motoarelor de curent continuu cu potențiometru folosind programarea. Verificați complet codul Arduino la final.
Scopul MOSFET:
MOSFET este necesar pentru a controla viteza motorului. MOSFET este pornit și oprit la tensiune de înaltă frecvență și deoarece motorul este conectat în serie cu golirea MOSFET, valoarea tensiunii PWM determină viteza motorului.
Calcule curente:
Rezistența bobinei releului se măsoară folosind un multimetru care se dovedește a fi = 400 ohmi
Pinul vin de Arduino dă = 12v
Deci, curentul trebuie să porniți releul = 12/400 Amperi = 30 mA
Dacă ambele relee sunt alimentate, curent = 30 * 2 = 60 mA
** Pinul Arduino poate furniza curent maxim = 200mA.
Astfel, nu există nicio problemă excesivă în Arduino.
Funcționarea motorului bidirecțional controlat Arduino:
Funcționarea acestui circuit de comandă a motorului în două direcții este simplă. Ambii pini (2, 3) din Arduino vor rămâne întotdeauna înalți.
Când nu este apăsat niciun buton:
În acest caz, niciun curent nu circulă la baza tranzistorului, prin urmare tranzistorul rămâne oprit (acționează ca un comutator deschis) din cauza căruia nu curge curent pentru a relua bobina de la pinul Vin al Arduino.
Când este apăsat un buton:
În acest caz, un anumit curent curge la baza tranzistorului prin intermediul butonului apăsat care îl pornește. Acum curentul curge cu ușurință în bobina releu de la pinul Vin prin acest tranzistor care pornește acest releu (RELAY A) și comutatorul acestui releu este aruncat în poziția NO. În timp ce alt releu (RELAY B) este încă în poziția NC. Deci curentul curge de la borna pozitivă a bateriei la borna negativă prin motor, adică curentul curge de la releul A la releul B. Acest lucru determină rotația în sensul acelor de ceasornic a motorului.
Când este apăsat un alt buton:
De data aceasta se activează un alt releu. Acum curentul curge cu ușurință la bobina releului de la pinul Vin prin tranzistor care pornește acest releu (RELAY B) și comutatorul acestui releu este aruncat în poziția NO. În timp ce alt releu (RELAY A) rămâne în poziția NC. Deci curentul curge de la borna pozitivă a bateriei la borna negativă a bateriei prin motor. Dar de această dată curentul curge de la releul B la releul A. Acest lucru determină rotirea motorului în sens invers acelor de ceasornic
Când sunt apăsate ambele butoane:
În acest caz, curentul curge la baza ambelor tranzistori datorită cărora ambii tranzistori se aprind (acționează ca un comutator închis). Și astfel ambele relee sunt acum în poziția NO. Deci, curentul nu curge de la borna pozitivă a bateriei la borna negativă prin motor și astfel nu se rotește.
Controlul vitezei motorului DC:
Poarta MOSFET este conectată la pinul PWM 6 al Arduino UNO. Mosfet este pornit și oprit la o tensiune de frecvență ridicată PWM și, din moment ce motorul este conectat în serie cu drenajul Mosfet, valoarea tensiunii PWM determină viteza motorului. Acum, tensiunea dintre terminalul ștergătorului potențiometrului și Gnd determină tensiunea PWM la pinul 6 și, pe măsură ce terminalul ștergătorului este rotit, tensiunea la pinul analogic A0 se schimbă, provocând schimbarea vitezei motorului.
Funcționarea completă a acestui control bidirecțional al vitezei și direcției motorului pe bază de Arduino este prezentată în videoclipul de mai jos cu codul Arduino.