Motorstrømkrets med høy strøm ved bruk av Arduino

Prøv Instrumentet Vårt For Å Eliminere Problemer





I dette prosjektet diskuterer vi hvordan kontrollere motorhastigheten ved hjelp av Arduino PWM-krets, og hvordan man implementerer reversering fremover eller retningskontroll i en DC-motor ved hjelp av Arduino gjennom et par trykknappbrytere. Enhver høystrømsmotor opptil 30 amp kan styres ved hjelp av dette oppsettet

AvAnkit Negi



Motor er en veldig viktig komponent i elektrisk og elektronikk, da de brukes som aktuatorer på mange områder.

Vi trenger motorer for små applikasjoner som robotikk, så vel som i områder der tunge motorer brukes (næringer osv.).



Nå kan motorer som brukes til små applikasjoner lett kontrolleres, da de ikke tar mye strøm (mindre enn 2 amp).

Og disse motorene kan enkelt styres ved å bruke mikrokontroller som arduino med motordrivere som L298 eller L293D .

Men motorer som brukes til tunge formål (større enn 10 amp), kan ikke styres bruker disse ic’ene da de kan levere begrenset strøm (maks 2amp). Så hvordan styres disse motorene enn?

Svaret er enkelt: ved hjelp av releer , som fungerer som brytere, dvs. bytter stor strøm med liten strøm. På denne måten kan to ting oppnås:

1. Kjører selve motoren med høy strøm.

2. Isolere kretsen, og forhindre dermed støt.

Nå kan en hvilken som helst mikrokontroller brukes til å bytte disse reléene. Vi bruker arduino UNO her.

KOMPONENTER KREVES FOR DETTE PROSJEKTET:

1. ARDUINO UNO: å gi inngangslogikk til stafettens primære side.

2. SPDT RELAY -2: to releer kreves for rotasjon i begge retninger. Kontakter må klassifiseres for å håndtere spesifikasjonene med høy strøm

Relébilde blå farge stafett som viser N / O N / C og poldetaljer3. Power Mosfet: Du kan bruke IRF1010 mosfet trykknapp mikrobryter

4. BATTERI (12v): for å levere strøm til motoren.

5. TO PUSHBUTTONS: for å gi innganger til arduino (dvs. når den trykkes og når den ikke trykkes)

10k 1/4 watt motstand

6. TO 10K MOTSTANDER: for avvisning (forklart nedenfor)

Motorstrømkrets med høy strøm ved bruk av Arduino

7. TILKOBLINGSLEDNINGER: for tilkobling.

SKJEMATISK:

PWM Arduino Motor Control Circuit

Opprett tilkoblinger som vist på figuren.

1. Koble normalt åpen terminal på begge reléene til den positive terminalen på batteriet og den normalt lukkede terminalen til batteriets minuspol.

2. Koble motoren mellom gjenværende terminal (av tre) på hvert relé.

3. Koble den ene terminalen på primærsiden av reléene til utgangspinnene til arduino som spesifisert i koden, og den andre terminalen til jord.

4. Koble den ene terminalen på begge trykknappene til 5v-pinnen med arduino og den andre terminalen til inngangspinnene som spesifisert i koden.

4. ** Ikke glem å koble motstander, da de er veldig viktige for at denne kretsen skal fungere, som forklart nedenfor:

HVORFOR ER MOTSTANDE TILKOBLET?

Du kan oppdage at det ikke er noe i det hele tatt koblet til inngangspinnene til Arduino, men det betyr ikke at disse pinoutene kan være et logisk null når den angitte bryteren er åpen

Snarere innebærer det at når bryteren er åpen, kan arduino ta en vilkårlig verdi mellom logikk 0 og logikk 1, noe som ikke er bra i det hele tatt (dette kalles sprett).

Så det vi ønsker her er at når ingenting er koblet til inngangspinnen, dvs. trykknappen er åpen, tar arduino 0 inngang fra pinnen.

Og for å oppnå dette, er pinnen direkte koblet til bakken før trykknappen via motstand. Hvis den er direkte koblet til bakken uten motstand, er det gode sjanser for at den vil brenne ut, ettersom stiften vil bli kortsluttet til bakken og enorm strøm vil strømme. For å forhindre dette er en motstand koblet mellom.

Denne motstanden kalles nedtrekksmotstand, da den trekker logikken på pinnen til 0. Og denne prosessen kalles avstøting.

KODE:

Brenn denne koden i din 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)
}
}

Arbeider (forståelse av kode):

• RETNINGSKONTROLL:

A. Når ikke begge trykknappene trykkes:

I denne tilstanden tar arduino 0 innspill fra begge pinnene. Som spesifisert i koden i denne tilstanden gir begge utgangspinnene 0 logikk (LAV):

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

digitalWrite (9, LAV)}

Siden inngangsspenningen til primæren til begge reléene er null sekundær terminal av begge, forblir i normalt lukket posisjon. Dermed er det null volt på begge terminalene på motoren, og forårsaker ingen rotasjon.

B. Når trykk på X trykkes, men Y ikke trykkes:

I denne tilstanden tar arduino 0 innganger fra pin 4, men input1 fra pin3. Som spesifisert i koden i denne tilstanden, skal pin 6 være i logikk 1 (HØY), mens pin 9 ved logikk 0 (LAV):

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

digitalWrite (9, LAV)}

Siden inngangsspenningen til relé nr. 1 er høy, blir bryteren til dette reléet kastet til normalt åpen tilstand, mens inngangsspenningen til relé 2 er lav, vil bryteren til dette reléet forbli i normalt lukket tilstand og forårsaker henholdsvis 12v og 0v over motorterminaler, forårsaker rotasjon av motoren i en retning.

C. Når trykknapp Y trykkes, men X ikke trykkes:

I denne tilstanden tar arduino 1 inngang fra pin 4, men input0 fra pin3. Som spesifisert i koden i denne tilstanden, skal pin 6 være i logikk 0 (LAV), mens pin 9 ved logikk 1 (HIGH):

hvis (x == 1 && y == 0) {digitalWrite (6, LAV)

digitalWrite (9, HIGH)}

Siden inngangsspenningen til relé nr. 2 er høy denne gangen, blir bryteren til dette reléet kastet til normalt åpen tilstand, mens inngangsspenningen til relé nr. 1 er lav, vil bryteren til dette reléet forbli i normalt lukket tilstand og forårsaker henholdsvis 12v og 0v over motoren. terminaler, forårsaker rotasjon av motoren i en annen retning.

D. Når begge trykknappene trykkes inn:

I denne tilstanden tar arduino 1 inngang fra begge pinnene. Som spesifisert i koden i denne tilstanden gir begge utgangspinnene 0 logikk (LAV):

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

digitalWrite (9, LAV)}

Siden inngangsspenningen til primæren til begge reléene er null sekundær terminal av begge, forblir i normalt lukket posisjon. Dermed er det null volt på begge terminalene på motoren, og forårsaker ingen rotasjon.

• FARTSKONTROLL:

La oss si at potensiometeret er i en slik posisjon når det gir 0 volt som inngang til A0-pinnen til arduino. På grunn av dette kartlegger arduino denne verdien som 0 og gir dermed 0 som utgang PWM på pin # 10, dvs.

analogWrite (10,0) // skriv den tilordnede verdien til 10. pin som utdata

Derfor får mosfet gate 0 strøm på grunn av hvilken den forblir av og motoren er i avslått stilling.

Når potten roteres og verdien på potten varieres, varierer spenningen på pinne A0 også, og denne verdien blir kartlagt på pinne # 10 med en proporsjonalt økende PWM-bredde, noe som får mer strøm til å strømme gjennom motoren og mosfetten. avløp, som igjen lar motoren få mer hastighet proporsjonalt, og det samme skjer motsatt.

Således kan vi fra den ovennevnte diskusjonen se hvordan en Arduino kan brukes til å kontrollere hastigheten så vel som retningen (forover) for en likestrømsmotor med høy strøm ved å justere den angitte potten og gjennom et par trykknapper.

Oppdater : For motor med høy strøm, vennligst bruk 12V / 30 amp reléer og BJT driver trinn for å betjene disse høy effekt reléene som angitt i følgende modifiserte diagram:




Forrige: Bil omvendt parkeringssensorkrets med alarm Neste: Arduino PWM Signal Generator Circuit