INHOUDSOPGAWE:
Video: Arduino L293D -motorbestuurder -skildstudie: 8 stappe
2025 Outeur: John Day | [email protected]. Laas verander: 2025-01-13 06:56
U kan hierdie en vele ander wonderlike tutoriale op die amptelike webwerf van ElectroPeak lees
Oorsig
In hierdie tutoriaal leer u hoe u DC-, stepper- en servomotors moet bestuur met 'n Arduino L293D -motorbestuurderskerm.
Wat jy sal leer:
- Algemene inligting oor GS -motors
- Inleiding tot die motorskerm L293D
- Ry DC, Servo & Stepper motors
Stap 1: Motors en bestuurders
Motors is 'n onlosmaaklike deel van baie robotiese en elektroniese projekte en het verskillende tipes wat u kan gebruik, afhangende van die toepassing daarvan. Hier is 'n paar inligting oor verskillende tipes motors:
DC -motors: GS -motor is die mees algemene tipe enjin wat vir baie toepassings gebruik kan word. Ons kan dit sien in afstandsbedieningsmotors, robotte, ens. Hierdie motor het 'n eenvoudige struktuur. Dit sal begin rol deur die regte spanning aan die eindpunte toe te pas en sy rigting te verander deur die polariteit van die spanning te verander. Die DC -motorsnelheid word direk beheer deur die toegepaste spanning. As die spanningsvlak minder is as die maksimum draagbare spanning, sal die snelheid verminder.
Stepper Motors: In sommige projekte soos 3D -drukkers, skandeerders en CNC -masjiene moet ons motorstappe akkuraat ken. In hierdie gevalle gebruik ons stappermotors. Stappermotor is 'n elektriese motor wat 'n volle rotasie in 'n aantal gelyke trappe verdeel. Die hoeveelheid rotasie per stap word bepaal deur die motorstruktuur. Hierdie motors het 'n baie hoë akkuraatheid.
Servomotors: Servomotor is 'n eenvoudige DC -motor met 'n posisionele beheerdiens. Deur 'n servo te gebruik, kan u die rotasie van die asse beheer en na 'n spesifieke posisie beweeg. Hulle het gewoonlik 'n klein dimensie en is die beste keuse vir robotarms.
Maar ons kan hierdie motors nie direk aan mikrobeheerders of kontroleerderbord soos Arduino koppel om dit te beheer nie, aangesien hulle moontlik meer stroom benodig as wat 'n mikrobeheerder kan dryf, sodat ons bestuurders nodig het. Die bestuurder is 'n koppelvlakbaan tussen die motor en die bestuurseenheid om bestuur te vergemaklik. Drives kom in baie verskillende tipes voor. In hierdie instruksie leer u hoe u aan die L293D -motorskerm werk.
L293D -skild is 'n bestuurdersbord wat gebaseer is op L293 IC, wat 4 GS -motors en 2 stepper- of servomotors tegelyk kan aandryf.
Elke kanaal van hierdie module het die maksimum stroom van 1.2A en werk nie as die spanning meer as 25v of minder as 4.5v is nie. Wees dus versigtig met die keuse van die regte motor volgens sy nominale spanning en stroom. Vir meer kenmerke van hierdie skild, kan ons noem dat dit verenigbaar is met Arduini UNO en MEGA, elektromagnetiese en termiese beskerming van die motor en die ontkoppelingsbaan in die geval van onkonvensionele spanningsverhoging.
Stap 2: Hoe om die Arduino L293D -motorbestuurderskerm te gebruik?
Terwyl u hierdie skild 6 analoog penne gebruik (wat ook as digitale penne gebruik kan word), is pen 2 en pen 13 van arduino gratis.
In die geval van die gebruik van servomotor, word penne 9, 10, 2 gebruik.
In die geval van die gebruik van DC -motor, is pin11 vir #1, pin3 vir #2, pin5 vir #3, pin6 vir #4 en penne 4, 7, 8 en 12 vir almal gebruik.
As u 'n stapmotor gebruik, word penne 11 en 3 vir nommer 1, penne 5 en 6 vir #2 en penne 4, 7, 8 en 12 vir almal gebruik.
U kan gratis penne gebruik deur bedrade verbindings.
As u 'n aparte kragtoevoer op Arduino en die skild aanbring, moet u seker maak dat u die trui op die skerm ontkoppel het.
Stap 3: Ry met DC -motor
#insluit
Die biblioteek wat u nodig het om die motor te beheer:
AF_DC Motor motor (1, MOTOR12_64KHZ)
Definieer die GS -motor wat u gebruik.
Die eerste argument staan vir die aantal motors in die skild en die tweede een staan vir die frekwensie van die motorsnelheidsbeheer. Die tweede argument kan MOTOR12_2KHZ, MOTOR12_8KHZ, MOTOR12_8KHZ en MOTOR12_8KHZ vir motors nommer 1 en 2 wees, en dit kan MOTOR12_8KHZ, MOTOR12_8KHZ, en MOTOR12_8KHZ wees vir motors nommer 3 en 4. En as dit uitgeskakel word, sal dit by standaard gemerk word.
motor.setSpeed (200);
Bepaal die motorsnelheid. Dit kan ingestel word van 0 tot 255.
leemte -lus () {
motor.run (VOORUIT);
vertraging (1000);
motor.run (TERUG);
vertraging (1000);
motor.run (RELEASE);
vertraging (1000);
}
Funksie motor.run () spesifiseer die motor se bewegingsstatus. Die status kan VOORUIT, TERUG en VERKLARING wees. RELEASE is dieselfde as die rem, maar dit kan 'n rukkie neem voordat die motor stop.
Dit word aanbeveel om 'n 100nF -kondensator aan elke motorpen vas te soldeer om geraas te verminder.
Stap 4: Bestuur servomotor
Arduino IDE -biblioteek en voorbeelde is geskik vir die bestuur van 'n servomotor.
#insluit
Die biblioteek wat u benodig om die servomotor te bestuur
Servo myservo;
Definieer 'n servomotoriese voorwerp.
ongeldige opstelling () {
myservo.attach (9);
}
Bepaal die pen wat met Servo verbind word. (Pen 9 vir sevo #1 en pen 10 vir servo #2)
leemte -lus () {
myservo.write (val);
vertraging (15);
}
Bepaal die hoeveelheid motorrotasie. Tussen 0 tot 360 of 0 tot 180 volgens motortipe.
Stap 5: ry stapmotor
#sluit <AFMotor.h> in
Bepaal die biblioteek wat u benodig
AF_Stapmotor (48, 2);
Definieer 'n stapmotorvoorwerp. Die eerste argument is die motorstapresolusie. (as u motor byvoorbeeld 'n presisie van 7,5 grade/stap het, beteken dit dat die motorstapresolusie is. Die tweede argument is die nommer van die stappermotor wat aan die skild gekoppel is.
ongeldige opstelling () {motor.setSpeed (10);
motor.onestep (VOORUIT, ENKEL);
motor.vrystelling ();
vertraging (1000);
}
leegte lus () {motor.step (100, VOORUIT, ENKEL);
motor.stap (100, AGTER, ENKEL);
motor.stap (100, VOORUIT, DUBBEL); motor.stap (100, TERUG, DUBBEL);
motor.stap (100, VOORUIT, INTERLEAVE); motor.stap (100, TERUG, INTERLEEF);
motor.step (100, VOORUIT, MICROSTEP); motor.stap (100, TERUG, MICROSTEP);
}
Bepaal motorsnelheid in rpm.
Die eerste argument is die hoeveelheid stap wat nodig is om te beweeg, die tweede een is om rigting te bepaal (VOORUIT of TERUG), en die derde argument bepaal die tipe stappe: ENKEL (Aktiveer 'n spoel), DOUBLE (Aktiveer twee spoele vir meer wringkrag), INTERLEAVED (Deurlopende verandering in die aantal spoele van een na twee en omgekeerd tot dubbele presisie, maar in hierdie geval word die snelheid gehalveer), en MICROSTEP (Die stappe word stadig verander vir meer presisie. In hierdie geval, die wringkrag is laer). Standaard hou die motor sy status as die motor ophou beweeg.
U moet die funksie motor.release () gebruik om die motor los te laat.
Stap 6: Koop die Arduino L293D -motorbestuurderskerm
Koop Arduino L293D -skild van ElectroPeak
Stap 7: Verwante projekte:
- L293D: Teorie, diagram, simulasie en pinout
- Die beginnersgids vir die beheer van motors deur Arduino & L293D
Stap 8: Hou van ons op FaceBook
As u hierdie tutoriaal nuttig en interessant vind, hou van ons op facebook.