Nagy áramú motorvezérlő áramkör Arduino segítségével

Próbálja Ki A Műszerünket A Problémák Kiküszöbölésére





Ebben a projektben megvitatjuk, hogyan lehet szabályozza a motor fordulatszámát az Arduino PWM áramkör használatával, és hogyan lehet az egyenirányú motorban hátramenet vagy irány irányítást végrehajtani az Arduino segítségével néhány nyomógombos kapcsolón keresztül. Bármely nagyáramú motor akár 30 amper is vezérelhető ezzel a beállítással

ÁltalAnkit Negi



A motor nagyon fontos eleme az elektromos és elektronikai alkatrészeknek, mivel sok területen működtetőként használják őket.

Motorokra van szükség olyan kis alkalmazásokhoz, mint a robotika, valamint azokon a területeken, ahol nehéz motorokat használnak (ipar stb.).



Most a kis alkalmazásokhoz használt motorok könnyen vezérelhetők, mivel nem vesznek túl sok áramot (kevesebb mint 2amp).

Ezek a motorok pedig egyszerűen vezérelhetők az arduino-hoz hasonló mikrovezérlővel motorvezető ic-k, mint az L298 vagy az L293D .

De a nehéz célokra (10amp-nál nagyobb) használt motorokat nem lehet irányítani ezeket az ic-eket használva mivel korlátozott áramot tudnak táplálni (max. 2amp). Tehát hogyan vezérlik ezeket a motorokat, mint?

A válasz egyszerű: relék használatával , amely kapcsolóként működik, azaz nagy áramot kapcsol át kis áram használatával. Ily módon két dolgot lehet elérni:

1. Magának a nagyáramú motorunknak a működtetése.

2. Az áramkör elkülönítése, ezáltal megakadályozva az esetleges sokkokat.

Most bármely mikrovezérlő használható ezeknek a reléknek a kapcsolására. Az arduino UNO-t fogjuk itt használni.

A PROJEKTHEZ SZÜKSÉGES ALKATRÉSZEK:

1. ARDUINO UNO: bemeneti logika adása a relé elsődleges oldalának.

2. SPDT RELAY -2: két relére van szükség a mindkét irányú forgatáshoz. Az érintkezőket minősíteni kell a nagy áramú motor specifikációinak kezeléséhez

Relé kép kék színű relé N / O N / C és a pólus részletei3. Power Mosfet: Használhatja az IRF1010 mosfetet nyomógombos mikrokapcsoló

4. AKKUMULÁTOR (12v): a motor áramellátása.

5. KÉT GOMB: bemenetek adása az arduino számára (azaz amikor megnyomják és amikor nem nyomják meg)

10k 1/4 wattos ellenállás

6. KÉT 10 000 ELLENÁLLÓ: visszavonáshoz (magyarázat alább)

Nagy áramú motorvezérlő áramkör Arduino segítségével

7. VEZETÉKEK CSATLAKOZTATÁSA: csatlakoztatáshoz.

VÁZLATOS:

PWM Arduino motorvezérlő áramkör

Csatlakoztassa az ábrán látható módon.

1. Csatlakoztassa mindkét relé normálisan nyitott kapcsait az akkumulátor pozitív kapcsaira, és normálisan zárt kapcsait az akkumulátor negatív kivezetésére.

2. Csatlakoztassa a motort az egyes relék fennmaradó kivezetése (háromból) közé.

3. Csatlakoztassa a relék elsődleges oldalának egyik terminálját az arduino kimeneti csapjaihoz a kódban megadottak szerint, a többi terminált pedig a földhöz.

4. Csatlakoztassa mindkét nyomógomb egyik sorkapcsát az arduino 5 V-os érintkezőjéhez és a többi sorkapcsot a bemeneti csapokhoz a kódban megadottak szerint.

4. ** Ne felejtse el csatlakoztatni az ellenállásokat, mivel ezek nagyon fontosak az áramkör megfelelő működéséhez, az alábbiakban leírtak szerint:

MIÉRT CSATLAKOZNAK az ellenállások?

Megállapíthatja, hogy egyáltalán nincs semmi csatlakoztatva az Arduino bemeneti csapjaihoz, de ez nem jelenti azt, hogy ezek a csatlakozók logikai nullaak lehetnek, ha a jelzett kapcsoló nyitva van.

Ehelyett azt jelenti, hogy amikor a kapcsoló nyitva van, az arduino bármilyen véletlenszerű értéket felvehet a 0 logika és az 1 logika között, ami egyáltalán nem jó (ezt pattogásnak hívják).

Tehát itt azt akarjuk, hogy amikor semmi nincs csatlakoztatva a bemeneti csaphoz, azaz a nyomógomb nyitva van, az arduino 0 bemenetet vesz a csapból.

Ennek elérése érdekében a csapot az ellenálláson keresztül a nyomógomb előtt közvetlenül a földhöz csatlakoztatják. Ha ellenállás nélkül csatlakozik közvetlenül a földhöz, akkor nagy az esélye annak, hogy kiég, mivel a csap földzárlatos lesz, és hatalmas mennyiségű áram folyik. Ennek megakadályozása érdekében egy ellenállás van összekötve.

Ezt az ellenállást úgy hívják, hogy lehúzható ellenállás, mivel a logikát a csapra 0-ra húzza. És ezt a folyamatot nevezzük visszavonásnak.

KÓD:

Írja be ezt a kódot az arduino-ba.

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)
}
}

Munka (kód megértése):

• IRÁNYVEZÉRLÉS:

A. Ha mindkét nyomógomb nincs megnyomva:

Ebben az állapotban az arduino 0 bemenetet vesz mindkét csapból. Amint a kód ebben az állapotban meghatározta, a kimeneti csapok 0 logikát adnak (LOW):

if (x == 0 && y == 0) {digitalWrite (6, LOW)

digitalWrite (9, LOW)}

Mivel mindkét relé primer bemeneti feszültsége nulla másodlagos kapocs marad normálisan zárt helyzetben. Így nulla volt a motor mindkét kapcsán, ami nem okoz forgást.

B. Ha megnyomja az X nyomógombot, de Y nem nyomja meg:

Ebben az állapotban az arduino 0 bemenetet vesz a 4-es, de az 1-es bemenetet a 3-as tűtől. Az ebben a feltételben szereplő kódban leírtak szerint a 6-os tűnek az 1-es (HIGH) logikának kell lennie, míg a 9-esnek a 0-as (LOW) logikának:

if (x == 1 && y == 0) {digitalWrite (6, HIGH)

digitalWrite (9, LOW)}

Mivel az 1. relé bemeneti feszültsége magas, ennek a relének a kapcsolója normálisan nyitott állapotba kerül, míg a 2. relé bemeneti feszültsége alacsony, ennek a relének a kapcsolója normálisan zárt állapotban marad, 12v-ot, illetve 0v-ot okozva a motorkapcsokon, ami a motor forgása egy irányban.

C. Ha megnyomja az Y nyomógombot, de nem nyomja meg az X gombot:

Ebben az állapotban az arduino 1 bemenetet vesz a 4-es, de a 0-as bemenetet a 3-as tűtől. Amint az ebben a feltételben a kódban meg van határozva, a 6. érintkezőnek a 0-as (LOW) logikának kell lennie, míg a 9-esnek az 1-es logikánál (HIGH):

if (x == 1 && y == 0) {digitalWrite (6, LOW)

digitalWrite (9, HIGH)}

Mivel a 2. relé bemeneti feszültsége ezúttal magas, ennek a relének a kapcsolója normálisan nyitott állapotba kerül, míg az 1. relé bemeneti feszültsége alacsony, ennek a relének a kapcsolója normálisan zárt állapotban marad, ami a motoron keresztül 12v, ill. sorkapcsok, ami a motor forgását egy másik irányba okozza.

D. Amikor mindkét nyomógombot megnyomja:

Ebben az állapotban az arduino 1 bemenetet vesz mindkét csapból. Amint a kód ebben az állapotban meghatározta, a kimeneti csapok 0 logikát adnak (LOW):

if (x == 0 && y == 0) {digitalWrite (6, LOW)

digitalWrite (9, LOW)}

Mivel mindkét relé primer bemeneti feszültsége nulla másodlagos kapocs marad normálisan zárt helyzetben. Így a motor mindkét kapcsán nulla volt van, ami nem okoz forgást.

• SEBESSÉG ELLENŐRZÉS:

Tegyük fel, hogy a potenciométer olyan helyzetben van, amikor 0 voltot ad bemenetként az arduino A0 tűjéhez. Emiatt az arduino ezt az értéket 0-ként térképezi fel, és így 0-t ad PWM kimenetként a # 10-es csapon, azaz

analogWrite (10,0) // írja be a leképezett értéket a 10. tűre kimenetként

Ezért a mosfet kapuja 0 áramot kap, ami miatt kikapcsolt állapotban van, és a motor kikapcsolt állapotban van.

Mivel azonban az edényt elforgatják és az edény értéke változik, az A0 érintkező feszültsége is változik, és ez az érték arányosan növekvő PWM szélességgel van feltérképezve a # 10 tűre, ami nagyobb áramot eredményez a motoron és a mosfeten lefolyó, ami viszont lehetővé teszi, hogy a motor arányosan nagyobb sebességet nyerjen, és ugyanez történik fordítva.

Így a fenti beszélgetésből láthatjuk, hogy egy Arduino hogyan használható a nagyáramú egyenáramú motor fordulatszámának és irányának (előrefelé irányításához) egyszerűen a megadott pot beállításával és néhány nyomógomb segítségével.

Frissítés : Nagyáramú motorokhoz kérjük, használja a 12 V / 30 amperes reléket és a BJT meghajtó fokozatokat ezeknek a nagy teljesítményű reléknek az üzemeltetéséhez, az alábbi módosított ábra szerint:




Előző: Autó hátramenet parkoló érzékelő áramköre riasztással Következő: Arduino PWM jelgenerátor áramkör