Innholdsfortegnelse:

Arduino L293D Motor Driver Shield Tutorial: 8 trinn
Arduino L293D Motor Driver Shield Tutorial: 8 trinn

Video: Arduino L293D Motor Driver Shield Tutorial: 8 trinn

Video: Arduino L293D Motor Driver Shield Tutorial: 8 trinn
Video: Motor driver shield control (L293D IC) 2024, Desember
Anonim
Arduino L293D Opplæring i motorførerskjold
Arduino L293D Opplæring i motorførerskjold

Du kan lese dette og mange andre fantastiske opplæringsprogrammer på ElectroPeaks offisielle nettsted

Oversikt

I denne opplæringen lærer du hvordan du driver DC-, stepper- og servomotorer ved hjelp av et Arduino L293D -motordriverskjerm.

Hva du vil lære:

  • Generell informasjon om likestrømsmotorer
  • Introduksjon til L293D motorskjerm
  • Kjører likestrøm-, servo- og steppermotorer

Trinn 1: Motorer og drivere

Motorer og drivere
Motorer og drivere

Motorer er en uatskillelig del av mange robotikk- og elektronikkprosjekter og har forskjellige typer du kan bruke avhengig av bruksområdet. Her er litt informasjon om forskjellige typer motorer:

DC -motorer: DC -motor er den vanligste typen motor som kan brukes til mange bruksområder. Vi kan se det i fjernkontrollbiler, roboter osv. Denne motoren har en enkel struktur. Den vil begynne å rulle ved å bruke riktig spenning til endene og endre retning ved å bytte spenningspolaritet. DC -motorers hastighet styres direkte av den påførte spenningen. Når spenningsnivået er mindre enn den maksimalt tolererbare spenningen, vil hastigheten reduseres.

Stepper Motors: I noen prosjekter som 3D -skrivere, skannere og CNC -maskiner må vi kjenne motorens spinntrinn nøyaktig. I disse tilfellene bruker vi trinnmotorer. Stepper motor er en elektrisk motor som deler en full rotasjon i et antall like trinn. Rotasjonsmengden per trinn bestemmes av motorstrukturen. Disse motorene har en meget høy nøyaktighet.

Servomotorer: Servomotor er en enkel likestrømsmotor med posisjonskontrolltjeneste. Ved å bruke en servo vil du kunne kontrollere mengden av aksler rotasjon og flytte den til en bestemt posisjon. De har vanligvis en liten dimensjon og er det beste valget for robotarmer.

Men vi kan ikke koble disse motorene til mikrokontrollere eller kontrollkort som Arduino direkte for å kontrollere dem siden de muligens trenger mer strøm enn en mikrokontroller kan drive, så vi trenger drivere. Driveren er en grensesnittkrets mellom motoren og kontrollenheten for å lette kjøringen. Stasjoner finnes i mange forskjellige typer. I denne instruksjonen lærer du å jobbe med motorskjoldet L293D.

L293D -skjold er et driverkort basert på L293 IC, som kan drive 4 likestrømsmotorer og 2 trinn- eller servomotorer samtidig.

Hver kanal i denne modulen har maksimal strøm på 1,2A og fungerer ikke hvis spenningen er mer enn 25v eller mindre enn 4,5v. Så vær forsiktig med å velge riktig motor i henhold til dens nominelle spenning og strøm. For flere funksjoner i dette skjoldet, la oss nevne kompatibilitet med Arduini UNO og MEGA, elektromagnetisk og termisk beskyttelse av motor og frakoblingskrets ved ukonvensjonell spenningsøkning.

Trinn 2: Hvordan bruke Arduino L293D motordriverskjerm?

Hvordan bruke Arduino L293D motordriverskjerm?
Hvordan bruke Arduino L293D motordriverskjerm?

Mens du bruker dette skjoldet 6 analoge pins (som også kan brukes som digitale pins), er pin 2 og pin 13 på arduino gratis.

Ved bruk av servomotor er pinnene 9, 10, 2 i bruk.

Ved bruk av likestrømsmotor er pin11 for #1, pin3 for #2, pin5 for #3, pin6 for #4 og pins 4, 7, 8 og 12 for dem alle i bruk.

Ved bruk av trinnmotor er pinnene 11 og 3 for #1, pinnene 5 og 6 for #2 og pinnene 4, 7, 8 og 12 for dem alle i bruk.

Du kan bruke gratis pins ved kablet tilkobling.

Hvis du bruker separat strømforsyning til Arduino og skjold, må du kontrollere at du har koblet fra jumperen på skjoldet.

Trinn 3: Kjøring av likestrømsmotor

Drivende likestrømsmotor
Drivende likestrømsmotor

#inkludere

Biblioteket du trenger for å kontrollere motoren:

AF_DCMotor motor (1, MOTOR12_64KHZ)

Definere likestrømsmotoren du bruker.

Det første argumentet står for antallet motorer i skjoldet, og det andre står for motorens hastighetsreguleringsfrekvens. Det andre argumentet kan være MOTOR12_2KHZ, MOTOR12_8KHZ, MOTOR12_8KHZ og MOTOR12_8KHZ for motorer nummer 1 og 2, og det kan være MOTOR12_8KHZ, MOTOR12_8KHZ og MOTOR12_8KHZ for motorer nummer 3 og 4. Og hvis den ikke er merket, vil den være slått av som standard.

motor.setSpeed (200);

Definere motorhastigheten. Den kan settes fra 0 til 255.

void loop () {

motor.run (FREM);

forsinkelse (1000);

motor.run (BACKWARD);

forsinkelse (1000);

motor.run (RELEASE);

forsinkelse (1000);

}

Funksjon motor.run () angir motorens bevegelsesstatus. Statusen kan være FREMOVER, TILBAKE og RELEASE. RELEASE er det samme som bremsen, men det kan ta litt tid før motoren stopper helt.

Det anbefales å lodde en 100nF kondensator til hver motorpinne for å redusere støy.

Trinn 4: Kjørende servomotor

Kjørende servomotor
Kjørende servomotor

Arduino IDE -bibliotek og eksempler er egnet for å kjøre en servomotor.

#inkludere

Biblioteket du trenger for å kjøre servomotoren

Servo myservo;

Definere et servomotorobjekt.

ugyldig oppsett () {

myservo.attach (9);

}

Bestem pinnen som skal kobles til Servo. (Pin 9 for sevo #1 og pin 10 for servo #2)

void loop () {

myservo.write (val);

forsinkelse (15);

}

Bestem mengden motorrotasjon. Mellom 0 til 360 eller 0 til 180 i henhold til motortype.

Trinn 5: Kjøre trinnmotor

Drivende trinnmotor
Drivende trinnmotor

#inkludere <AFMotor.h>

Bestem biblioteket du trenger

AF_Trinnmotor (48, 2);

Definere et trinnmotorobjekt. Det første argumentet er motortrinnsoppløsningen. (for eksempel hvis motoren din har en presisjon på 7,5 grader/trinn, betyr det at motorens trinnoppløsning er. Det andre argumentet er nummeret på trinnmotoren som er koblet til skjermen.

ugyldig oppsett () {motor.setSpeed (10);

motor.onestep (FREM, ENKEL);

motor.release ();

forsinkelse (1000);

}

void loop () {motor.step (100, FREM, ENKEL);

motor. trinn (100, BACKWARD, ENKELT);

motor. trinn (100, FREM, DOBBELT); motor. trinn (100, TILBAKE, DOBBELT);

motor. trinn (100, FREM, INTERLEAVE); motor. trinn (100, BACKWARD, INTERLEAVE);

motor. trinn (100, FREM, MICROSTEP); motor. trinn (100, BACKWARD, MICROSTEP);

}

Bestem motorhastigheten i turtall.

Det første argumentet er trinnmengden som trengs for å bevege seg, det andre er å bestemme retningen (FORWARD eller BACKWARD), og det tredje argumentet bestemmer trinntypen: ENKEL (Aktiver en spole), DOUBLE (Aktiver to spoler for mer dreiemoment), INTERLEAVED (Kontinuerlig endring i antall spoler fra en til to og omvendt til dobbel presisjon, men i dette tilfellet blir hastigheten halvert) og MICROSTEP (Endring av trinnene gjøres sakte for mer presisjon. I dette tilfellet, dreiemomentet er lavere). Som standard, når motoren slutter å bevege seg, beholder den sin status.

Du må bruke funksjonen motor.release () for å frigjøre motoren.

Trinn 6: Kjøp Arduino L293D Motor Driver Shield

Kjøp Arduino L293D Shield fra ElectroPeak

Trinn 7: Relaterte prosjekter:

  • L293D: Teori, diagram, simulering og pinout
  • Begynnerguiden for å kontrollere motorer av Arduino & L293D

Trinn 8: Lik oss på FaceBook

Hvis du synes denne opplæringen er nyttig og interessant, kan du like oss på facebook.

Anbefalt: