Indholdsfortegnelse:

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

Video: Arduino L293D Motor Driver Shield Tutorial: 8 trin

Video: Arduino L293D Motor Driver Shield Tutorial: 8 trin
Video: L293D Motor control Module Tutorial - Run motors off the Arduino 2024, Juli
Anonim
Arduino L293D Motor Driver Shield Tutorial
Arduino L293D Motor Driver Shield Tutorial

Du kan læse dette og mange andre fantastiske selvstudier på ElectroPeaks officielle websted

Oversigt

I denne vejledning lærer du, hvordan du driver DC-, stepper- og servomotorer ved hjælp af et Arduino L293D -motordriverskærm.

Hvad du vil lære:

  • Generel information om DC -motorer
  • Introduktion til L293D motorskærm
  • Kører DC, Servo & Stepper motorer

Trin 1: Motorer og drivere

Motorer og drivere
Motorer og drivere

Motorer er en uadskillelig del af mange robot- og elektronikprojekter og har forskellige typer, du kan bruge afhængigt af deres anvendelse. Her er nogle oplysninger om forskellige typer af motorer:

DC -motorer: DC -motor er den mest almindelige motortype, der kan bruges til mange applikationer. Vi kan se det i fjernbetjeningsbiler, robotter osv. Denne motor har en enkel struktur. Det vil begynde at rulle ved at anvende korrekt spænding til dets ender og ændre dets retning ved at skifte spændingspolaritet. DC -motorers hastighed styres direkte af den påførte spænding. Når spændingsniveauet er mindre end den maksimalt tolerable spænding, vil hastigheden falde.

Stepper Motors: I nogle projekter såsom 3D -printere, scannere og CNC -maskiner har vi brug for at kende motorspindtrin nøjagtigt. I disse tilfælde bruger vi trinmotorer. Stepper motor er en elektrisk motor, der opdeler en fuld rotation i et antal lige trin. Rotationsmængden pr. Trin bestemmes af motorstrukturen. Disse motorer har en meget høj nøjagtighed.

Servomotorer: Servomotor er en simpel DC -motor med en positionskontroltjeneste. Ved at bruge en servo vil du være i stand til at kontrollere mængden af aksler rotation og flytte den til en bestemt position. De har normalt en lille dimension og er det bedste valg til robotarme.

Men vi kan ikke forbinde disse motorer til mikrokontrollere eller controllerkort som f.eks. Arduino direkte for at kontrollere dem, da de muligvis har brug for mere strøm, end en mikrokontroller kan drive, så vi har brug for drivere. Driveren er et interfacekredsløb mellem motoren og styreenheden for at lette kørslen. Drev findes i mange forskellige typer. I denne instruktion lærer du at arbejde på motorskærmen L293D.

L293D -skjold er et driverkort baseret på L293 IC, som kan køre 4 DC -motorer og 2 trin- eller servomotorer på samme tid.

Hver kanal i dette modul har den maksimale strøm på 1,2A og fungerer ikke, hvis spændingen er mere end 25v eller mindre end 4,5v. Så vær forsigtig med at vælge den rigtige motor i henhold til dens nominelle spænding og strøm. For flere funktioner i dette skjold, lad os nævne kompatibilitet med Arduini UNO og MEGA, elektromagnetisk og termisk beskyttelse af motor og afbryderkredsløb i tilfælde af utraditionel spændingsstigning.

Trin 2: Sådan bruges Arduino L293D Motor Driver Shield?

Sådan bruges Arduino L293D motordriverskjold?
Sådan bruges Arduino L293D motordriverskjold?

Mens du bruger dette skjold 6 analoge stifter (som også kan bruges som digitale ben), er pin 2 og pin 13 på arduino gratis.

Ved brug af servomotor er ben 9, 10, 2 i brug.

Ved brug af jævnstrømsmotor er pin11 til #1, pin3 til #2, pin5 til #3, pin6 til #4 og ben 4, 7, 8 og 12 for dem alle i brug.

I tilfælde af brug af trinmotor er ben 11 og 3 til #1, ben 5 og 6 til #2 og ben 4, 7, 8 og 12 til dem alle i brug.

Du kan bruge gratis ben ved kablede forbindelser.

Hvis du anvender separat strømforsyning til Arduino og skjold, skal du sørge for at have koblet jumperen på skjoldet.

Trin 3: Kørsel af DC -motor

Kørende DC motor
Kørende DC motor

#omfatte

Det bibliotek, du har brug for for at styre motoren:

AF_DCMotor motor (1, MOTOR12_64KHZ)

Definere den DC -motor, du bruger.

Det første argument står for antallet af motorer i skjoldet, og det andet står for motorens hastighedsreguleringsfrekvens. Det andet argument 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. Hvis den ikke er markeret, vil den være deaktiveret som standard.

motor.setSpeed (200);

Definerer motorhastigheden. Det kan indstilles fra 0 til 255.

void loop () {

motor.run (FREM);

forsinkelse (1000);

motor.run (BACKWARD);

forsinkelse (1000);

motor.run (RELEASE);

forsinkelse (1000);

}

Funktion motor.run () angiver motorens bevægelsesstatus. Status kan være FREM, BACKWARD og RELEASE. RELEASE er det samme som bremsen, men det kan tage noget tid, indtil motoren stopper helt.

Det anbefales at lodde en 100nF kondensator til hver motorstift for at reducere støj.

Trin 4: Kørende servomotor

Kørende servomotor
Kørende servomotor

Arduino IDE bibliotek og eksempler er velegnede til at køre en servomotor.

#omfatte

Det bibliotek, du har brug for til at køre Servomotoren

Servo myservo;

Definere et servomotorobjekt.

ugyldig opsætning () {

myservo.attach (9);

}

Bestem stiften, der forbinder til Servo. (Pin 9 til sevo #1 og pin 10 til servo #2)

void loop () {

myservo.write (val);

forsinkelse (15);

}

Bestem mængden af motorrotation. Mellem 0 til 360 eller 0 til 180 i henhold til motortype.

Trin 5: Kørende trinmotor

Kørende trinmotor
Kørende trinmotor

#include <AFMotor.h>

Bestem det bibliotek, du har brug for

AF_Trinmotor (48, 2);

Definere et trinmotorobjekt. Det første argument er den motoriske trinopløsning. (for eksempel, hvis din motor har en præcision på 7,5 grader/trin, betyder det, at motortrinopløsningen er. Det andet argument er antallet af trinmotoren, der er tilsluttet skærmen.

ugyldig opsætning () {motor.setSpeed (10);

motor.onestep (FREM, ENKEL);

motor.release ();

forsinkelse (1000);

}

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

motor. trin (100, BACKWARD, ENKEL);

motor. trin (100, FREM, DOBBELT); motor. trin (100, BACKWARD, DOUBLE);

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

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

}

Bestem motorhastighed i omdr./min.

Det første argument er mængden af trin, der er nødvendigt for at bevæge sig, det andet er at bestemme retningen (FORWARD eller BACKWARD), og det tredje argument bestemmer trintypen: ENKEL (Aktiver en spole), DOUBLE (Aktiver to spoler for mere drejningsmoment), INTERLEAVED (Kontinuerlig ændring i antallet af spoler fra en til to og omvendt til dobbelt præcision, men i dette tilfælde er hastigheden halveret) og MICROSTEP (Ændring af trinene udføres langsomt for mere præcision. I dette tilfælde, drejningsmomentet er lavere). Som standard, når motoren holder op med at bevæge sig, bevarer den sin status.

Du skal bruge funktionen motor.release () for at frigive motoren.

Trin 6: Køb Arduino L293D Motor Driver Shield

Køb Arduino L293D Shield fra ElectroPeak

Trin 7: Relaterede projekter:

  • L293D: Teori, diagram, simulering og pinout
  • Begynderguiden til styring af motorer af Arduino & L293D

Trin 8: Ligesom os på FaceBook

Hvis du finder denne vejledning nyttig og interessant, kan du lide os på facebook.

Anbefalede: