Inhoudsopgave:

Arduino L293D Motor Driver Shield-zelfstudie - Ajarnpa
Arduino L293D Motor Driver Shield-zelfstudie - Ajarnpa

Video: Arduino L293D Motor Driver Shield-zelfstudie - Ajarnpa

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

Je kunt deze en vele andere geweldige tutorials lezen op de officiële website van ElectroPeak

Overzicht

In deze tutorial leer je hoe je DC-, stepper- en servomotoren aanstuurt met behulp van een Arduino L293D motordriver shield.

Wat je gaat leren:

  • Algemene informatie over DC-motoren
  • Inleiding tot L293D-motorafscherming
  • Gelijkstroom-, servo- en stappenmotoren aansturen

Stap 1: Motoren en stuurprogramma's

Motoren en aandrijvingen
Motoren en aandrijvingen

Motoren zijn een onlosmakelijk onderdeel van veel robotica- en elektronicaprojecten en hebben verschillende typen die u kunt gebruiken, afhankelijk van hun toepassing. Hier is wat informatie over de verschillende typen motoren:

DC-motoren: DC-motor is het meest voorkomende type motor dat voor veel toepassingen kan worden gebruikt. We kunnen het zien in op afstand bestuurbare auto's, robots, enz. Deze motor heeft een eenvoudige structuur. Het begint te rollen door de juiste spanning op de uiteinden aan te brengen en van richting te veranderen door de spanningspolariteit om te schakelen. De snelheid van gelijkstroommotoren wordt rechtstreeks geregeld door de aangelegde spanning. Wanneer het spanningsniveau lager is dan de maximaal toelaatbare spanning, zou de snelheid afnemen.

Stappenmotoren: In sommige projecten, zoals 3D-printers, scanners en CNC-machines, moeten we de draaistappen van de motor nauwkeurig kennen. In deze gevallen gebruiken we stappenmotoren. Stappenmotor is een elektromotor die een volledige omwenteling opdeelt in een aantal gelijke stappen. De hoeveelheid rotatie per stap wordt bepaald door de motorische structuur. Deze motoren hebben een zeer hoge nauwkeurigheid.

Servomotoren: Servomotor is een eenvoudige gelijkstroommotor met een positiecontroleservice. Door een servo te gebruiken, kunt u het aantal assenrotatie regelen en naar een specifieke positie verplaatsen. Ze hebben meestal een kleine afmeting en zijn de beste keuze voor robotarmen.

Maar we kunnen deze motoren niet rechtstreeks aansluiten op microcontrollers of controllerboards zoals Arduino om ze te besturen, omdat ze mogelijk meer stroom nodig hebben dan een microcontroller kan aansturen, dus we hebben stuurprogramma's nodig. De driver is een interfacecircuit tussen de motor en de besturingseenheid om het rijden te vergemakkelijken. Aandrijvingen zijn er in veel verschillende soorten. In deze instructie leer je werken aan het L293D motorschild.

L293D-shield is een driverkaart op basis van L293 IC, die tegelijkertijd 4 DC-motoren en 2 stappen- of servomotoren kan aansturen.

Elk kanaal van deze module heeft de maximale stroom van 1,2A en werkt niet als de spanning hoger is dan 25v of lager dan 4,5v. Wees dus voorzichtig met het kiezen van de juiste motor op basis van de nominale spanning en stroom. Voor meer kenmerken van dit schild vermelden we de compatibiliteit met Arduini UNO en MEGA, elektromagnetische en thermische beveiliging van de motor en het ontkoppelingscircuit in geval van onconventionele spanningsverhoging.

Stap 2: Hoe Arduino L293D Motor Driver Shield te gebruiken?

Hoe Arduino L293D Motor Driver Shield te gebruiken?
Hoe Arduino L293D Motor Driver Shield te gebruiken?

Tijdens het gebruik van dit schild zijn 6 analoge pinnen (die ook als digitale pinnen kunnen worden gebruikt), pin 2 en pin 13 van arduino gratis.

Bij gebruik van een servomotor zijn pinnen 9, 10, 2 in gebruik.

In het geval van het gebruik van een DC-motor, zijn pin11 voor #1, pin3 voor #2, pin5 voor #3, pin6 voor #4 en pins 4, 7, 8 en 12 voor allemaal in gebruik.

In het geval van het gebruik van een stappenmotor, zijn pinnen 11 en 3 voor #1, pinnen 5 en 6 voor #2 en pinnen 4, 7, 8 en 12 voor allemaal in gebruik.

U kunt vrije pinnen gebruiken via bedrade verbindingen.

Als u een aparte voeding voor Arduino en schild toepast, zorg er dan voor dat u de jumper op het schild hebt losgekoppeld.

Stap 3: DC-motor aandrijven

Gelijkstroommotor aandrijven
Gelijkstroommotor aandrijven

#erbij betrekken

De bibliotheek die je nodig hebt om de motor te besturen:

AF_DCMotormotor (1, MOTOR12_64KHZ)

De DC-motor definiëren die u gebruikt.

Het eerste argument staat voor het aantal motoren in de afscherming en het tweede staat voor de frequentie van de motortoerentalregeling. Het tweede argument kan MOTOR12_2KHZ, MOTOR12_8KHZ, MOTOR12_8KHZ en MOTOR12_8KHZ zijn voor motoren nummer 1 en 2, en het kan MOTOR12_8KHZ, MOTOR12_8KHZ en MOTOR12_8KHZ zijn voor motoren nummer 3 en 4. En als het standaard niet is aangevinkt, zal het standaard uitgeschakeld zijn.

motor.setSpeed(200);

Het motortoerental definiëren. Het kan worden ingesteld van 0 tot 255.

lege lus() {

motor.run(VOORUIT);

vertraging (1000);

motor.run(ACHTERUIT);

vertraging (1000);

motor.run(RELEASE);

vertraging (1000);

}

Functie motor.run() specificeert de bewegingsstatus van de motor. De status kan VOORUIT, ACHTERUIT en VRIJGEVEN zijn. RELEASE is hetzelfde als de rem, maar het kan even duren voordat de motor volledig stopt.

Het wordt aanbevolen om een condensator van 100 nF op elke motorpin te solderen om ruis te verminderen.

Stap 4: Servomotor rijden

Servomotor rijden
Servomotor rijden

Arduino IDE-bibliotheek en voorbeelden zijn geschikt voor het aandrijven van een servomotor.

#erbij betrekken

De bibliotheek die je nodig hebt om de servomotor aan te drijven

Servo-mijnservo;

Een servomotorobject definiëren.

ongeldige setup() {

mijnservo.attach(9);

}

Bepaal de pin die op Servo is aangesloten. (pin 9 voor sevo #1 en pin 10 voor servo #2)

lege lus() {

mijnservo.write(val);

vertraging (15);

}

Bepaal de hoeveelheid motorrotatie. Tussen 0 tot 360 of 0 tot 180, afhankelijk van het motortype.

Stap 5: Stappenmotor aansturen

Stappenmotor rijden
Stappenmotor rijden

#include <AFMotor.h>

Bepaal de bibliotheek die je nodig hebt

AF_Stappenmotor (48, 2);

Een stappenmotorobject definiëren. Het eerste argument is de resolutie van de motorstappen. (Als uw motor bijvoorbeeld de precisie van 7,5 graden/stap heeft, betekent dit dat de resolutie van de motorstappen. is. Het tweede argument is het nummer van de stappenmotor die op het schild is aangesloten.

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

motor.onestep (VOORUIT, ENKEL);

motor.vrijgave();

vertraging (1000);

}

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

motor.stap (100, ACHTERUIT, ENKEL);

motor.step (100, VOORUIT, DUBBEL); motor.stap (100, ACHTERUIT, DUBBEL);

motor.step(100, VOORUIT, INTERLEAVE); motor.step (100, ACHTERUIT, INTERLEAVE);

motor.stap(100, VOORUIT, MICROSTEP); motor.stap(100, ACHTERUIT, MICROSTEP);

}

Bepaal het motortoerental in rpm.

Het eerste argument is de hoeveelheid stap die nodig is om te bewegen, het tweede is om de richting te bepalen (VOORUIT of ACHTERUIT), en het derde argument bepaalt het type stappen: ENKEL (Activeer een spoel), DUBBEL (Activeer twee spoelen voor meer koppel), INTERLEAVED (Continue verandering in het aantal spoelen van één naar twee en vice versa naar dubbele precisie, maar in dit geval wordt de snelheid gehalveerd) en MICROSTEP (Het veranderen van de stappen gebeurt langzaam voor meer precisie. In dit geval, het koppel is lager). Wanneer de motor stopt met bewegen, behoudt deze standaard zijn status.

U moet de functie motor.release() gebruiken om de motor vrij te geven.

Stap 6: Koop Arduino L293D Motor Driver Shield

Koop Arduino L293D Shield van ElectroPeak

Stap 7: Gerelateerde projecten:

  • L293D: Theorie, diagram, simulatie en pinout
  • De beginnershandleiding voor het besturen van motoren door Arduino & L293D

Stap 8: Vind ons leuk op Facebook

Als je deze tutorial nuttig en interessant vindt, vind je ons leuk op Facebook.

Aanbevolen: