Innehållsförteckning:

Arduino L293D Motor Driver Shield Handledning: 8 steg
Arduino L293D Motor Driver Shield Handledning: 8 steg

Video: Arduino L293D Motor Driver Shield Handledning: 8 steg

Video: Arduino L293D Motor Driver Shield Handledning: 8 steg
Video: Управление двигателем постоянного тока с ШИМ с помощью Arduino и модуля L298N с библиотекой - Robojax 2024, December
Anonim
Arduino L293D Motor Driver Shield Tutorial
Arduino L293D Motor Driver Shield Tutorial

Du kan läsa detta och många andra fantastiska självstudier på ElectroPeaks officiella webbplats

Översikt

I den här självstudien lär du dig att köra lik-, steg- och servomotorer med en Arduino L293D -motordrivrutin.

Vad du kommer att lära dig:

  • Allmän information om likströmsmotorer
  • Introduktion till L293D motorskydd
  • Drivande likström, servo och stegmotorer

Steg 1: Motorer och drivrutiner

Motorer och förare
Motorer och förare

Motorer är en oskiljaktig del av många robot- och elektronikprojekt och har olika typer som du kan använda beroende på deras tillämpning. Här är lite information om olika typer av motorer:

DC -motorer: Likströmsmotor är den vanligaste typen av motor som kan användas för många applikationer. Vi kan se det i fjärrkontrollbilar, robotar, etc. Denna motor har en enkel struktur. Det kommer att börja rulla genom att applicera rätt spänning i dess ändar och ändra dess riktning genom att byta spänningspolaritet. DC -motorns varvtal styrs direkt av den applicerade spänningen. När spänningsnivån är mindre än den högsta acceptabla spänningen skulle hastigheten minska.

Stegmotorer: I vissa projekt som 3D -skrivare, skannrar och CNC -maskiner måste vi känna till motorns centrifugeringssteg exakt. I dessa fall använder vi stegmotorer. Stegmotor är en elmotor som delar upp en full rotation i ett antal lika steg. Rotationsmängden per steg bestäms av motorstrukturen. Dessa motorer har en mycket hög noggrannhet.

Servomotorer: Servomotor är en enkel likströmsmotor med positionskontrolltjänst. Genom att använda en servo kommer du att kunna styra mängden axelrotation och flytta den till en specifik position. De har vanligtvis en liten dimension och är det bästa valet för robotarmar.

Men vi kan inte ansluta dessa motorer till mikrokontroller eller styrkort som Arduino direkt för att styra dem eftersom de möjligen behöver mer ström än en mikrokontroller kan driva så vi behöver drivrutiner. Föraren är en gränssnittskrets mellan motorn och styrenheten för att underlätta körningen. Enheter finns i många olika typer. I denna instruktion lär du dig att arbeta med motorskärmen L293D.

L293D -sköld är ett drivkort baserat på L293 IC, som kan driva 4 likströmsmotorer och 2 steg- eller servomotorer samtidigt.

Varje kanal i denna modul har maximal ström på 1,2A och fungerar inte om spänningen är mer än 25v eller mindre än 4,5v. Så var försiktig med att välja rätt motor enligt dess nominella spänning och ström. För fler funktioner i denna skärm, låt oss nämna kompatibilitet med Arduini UNO och MEGA, elektromagnetiskt och termiskt skydd av motor och frånkopplingskrets vid okonventionell spänningshöjning.

Steg 2: Hur använder jag Arduino L293D Motor Driver Shield?

Hur använder jag Arduino L293D Motor Driver Shield?
Hur använder jag Arduino L293D Motor Driver Shield?

När du använder denna skärm 6 analoga stift (som också kan användas som digitala stift) är stift 2 och stift 13 på arduino gratis.

Vid användning av servomotor används stift 9, 10, 2.

Vid användning av likströmsmotor används pin11 för #1, pin3 för #2, pin5 för #3, pin6 för #4 och stift 4, 7, 8 och 12 för alla.

Vid användning av stegmotor används stift 11 och 3 för #1, stift 5 och 6 för #2 och stift 4, 7, 8 och 12 för alla.

Du kan använda fria stift genom trådbundna anslutningar.

Om du använder separat strömförsörjning till Arduino och skärm, se till att du har kopplat bort bygeln på skärmen.

Steg 3: Kör likströmsmotor

Drivande likströmsmotor
Drivande likströmsmotor

#omfatta

Biblioteket du behöver för att styra motorn:

AF_DCMotor motor (1, MOTOR12_64KHZ)

Definiera likströmsmotorn du använder.

Det första argumentet står för antalet motorer i skölden och det andra står för motorns varvtalsregleringsfrekvens. Det andra argumentet kan vara MOTOR12_2KHZ, MOTOR12_8KHZ, MOTOR12_8KHZ och MOTOR12_8KHZ för motorer nummer 1 och 2, och det kan vara MOTOR12_8KHZ, MOTOR12_8KHZ och MOTOR12_8KHZ för motorerna nummer 3 och 4. Och om det är avstängt kommer det att vara avmarkerat.

motor.setSpeed (200);

Definierar motorvarvtalet. Den kan ställas in från 0 till 255.

void loop () {

motor.run (FRAMÅT);

fördröjning (1000);

motor.körning (BACKWARD);

fördröjning (1000);

motor.run (RELEASE);

fördröjning (1000);

}

Funktion motor.run () anger motorns rörelsestatus. Statusen kan vara FRAMÅT, BAKOM och FRIGIVA. RELEASE är detsamma som bromsen men det kan ta lite tid innan motorn stannar helt.

Det rekommenderas att löda en 100nF kondensator till varje motorstift för att minska buller.

Steg 4: Kör servomotor

Körande servomotor
Körande servomotor

Arduino IDE -bibliotek och exempel är lämpliga för att köra en servomotor.

#omfatta

Biblioteket du behöver för att köra servomotorn

Servo myservo;

Definiera ett servomotorobjekt.

void setup () {

myservo.attach (9);

}

Bestäm stiftet som ansluter till Servo. (Stift 9 för sevo #1 och stift 10 för servo #2)

void loop () {

myservo.write (val);

fördröjning (15);

}

Bestäm mängden motorrotation. Mellan 0 till 360 eller 0 till 180 beroende på motortyp.

Steg 5: Kör stegmotor

Drivande stegmotor
Drivande stegmotor

#inkludera <AFMotor.h>

Bestäm biblioteket du behöver

AF_Stegmotor (48, 2);

Definiera ett stegmotorobjekt. Det första argumentet är motorstegsupplösningen. (till exempel, om din motor har en precision på 7,5 grader/steg, betyder det att motorstegsupplösningen är. Det andra argumentet är antalet stegmotorer anslutna till skärmen.

void setup () {motor.setSpeed (10);

motor.onestep (FRAMÅT, ENKEL);

motor.release ();

fördröjning (1000);

}

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

motor. steg (100, BACKWARD, ENKEL);

motor. steg (100, FRAM, DUBBELT); motor. steg (100, BACKWARD, DOUBLE);

motor. steg (100, FRAMÅT, INTERLEAVE); motor. steg (100, BACKWARD, INTERLEAVE);

motor. steg (100, FRAM, MICROSTEP); motor. steg (100, BACKWARD, MICROSTEP);

}

Bestäm motorvarvtalet i varvtal.

Det första argumentet är mängden steg som krävs för att flytta, det andra är att bestämma riktning (FRAMÅT eller BAKVÄRD), och det tredje argumentet bestämmer stegtypen: ENKEL (Aktivera en spole), DOUBLE (Aktivera två spolar för mer vridmoment), INTERLEAVED (Kontinuerlig förändring av antalet spolar från en till två och vice versa till dubbel precision, men i detta fall halveras hastigheten) och MICROSTEP (Ändra stegen görs långsamt för mer precision. I detta fall, vridmomentet är lägre). Som standard, när motorn slutar röra sig, behåller den sin status.

Du måste använda funktionen motor.release () för att släppa motorn.

Steg 6: Köp Arduino L293D Motor Driver Shield

Köp Arduino L293D Shield från ElectroPeak

Steg 7: Relaterade projekt:

  • L293D: Teori, diagram, simulering och pinout
  • Nybörjarguiden för att styra motorer av Arduino & L293D

Steg 8: Gilla oss på FaceBook

Om du tycker att denna handledning är användbar och intressant, gilla oss gärna på facebook.

Rekommenderad: