L293D-stuurprogrammamotor:hoe u het aansluit op een gelijkstroommotor met behulp van Arduino
Stel dat je van plan bent een robot of een speelgoedauto te ontwerpen, dan staat de kennis over motoren voorop. Een zeer kosteneffectieve en gemakkelijke manier om deze motoren te besturen is het gebruik van een L293D driver motor shield. Beter nog, gebruik het in een interface met een microcontroller zoals Arduino.
Onder andere de L293D-motordriver is een van de meest populaire chipsets in zijn soort. Meer nog, vanwege de diverse toepassingen in elektronische constructies zoals servo's, stappenmotoren en DC-motoren. Het cruciale kenmerk lijkt echter de richtings- en snelheidsregeling in twee onafhankelijke DC-motoren te zijn. En dat is wat je verderop in dit instructable leert.
1. Wat is de L293D-motordriver?
Deze 16-pins chipset is een tweekanaals H-bridge driver voor motoren. Vaak is de primaire functie ervan als besturingsinterface voor gelijkstroom-motorparen of in een enkele stappenmotor.
Standaard wordt de L293D-chipset voor motorstuurprogramma's in tweeën geleverd. Daarom kan hij vier gelijkstroommotoren aandrijven. Om die reden is de L293D-chipset een waardevol bouwmiddel in vierwielige robots.
In totaal geeft het schild je vier H-bruggen. Daarom levert elke h-brug een motorstroom van 0,6A. Ook het 74HC595 schuifregister is een kenmerk van de beveiliging. Dit register breidt de acht besturingspinnen van de dubbele L293D IC uit naar de viercijferige pinnen van de Arduino.
(Een viervoudige H-bridge 16-pins L293D-motordriver met hoge stroomsterkte).
2. Kenmerken van l293D Motor Driver
Enkele kenmerken die de L293D-motordriver zo'n goed onderdeel maken in CNC- en robotprojecten zijn:
- Hiermee kunt u de richting- en snelheidsniveaus in het toegepaste apparaat regelen.
- Interessanter is dat de driver het mogelijk maakt om twee vergelijkbare dubbele DC-motoren te laten draaien.
- De motorspanning, Vs. (Vcc2) ligt tussen 4,5V en 36V.
- Bovendien is de maximale continue motorstroom 600mA.
- Aan de andere kant is de maximale piekstroom van de motor 1,2 A.
- De Vss(Vcc1) voedingsspanning varieert tussen 4,5V en 7V.
- De overgangstijd is maximaal 300ns tussen 5V en 24V.
- Door thermische activering is het mogelijk om automatische uitschakeling in te schakelen.
- Eindelijk is de IC beschikbaar in pakketten van SOIC, DIP en TSSOP.
3.L293D Motor Driver Shield Output pin-configuratie
(Een schematisch pin-diagram dat een bipolaire L293D stappenmotor driver toont).
Pincode | Naam van pin | Pinbeschrijving |
1 | Schakel 1,2 in | Deze aansluiting activeert de ingangspinnen:ingang 1(2) en ingang 2(7). |
2 | Invoerpen 1 | Het functioneert als een directe besturing voor uitgang 1 pin. Vaak vind je het toepasbaar in digitale circuitbesturing. |
3 | Uitgangspen 1 | Deze pin is verbonden met één uiteinde, Motor 1. |
4 | Grond | Aan de ene kant gaat deze pin naar de aarde van het circuit (0V). |
5 | Grond | We hebben deze andere aardingspin (0V) aan de andere kant. |
6 | Uitgangspen 2 | Zoals in uitgang pin 1, wordt deze terminal aangesloten op het andere uiteinde van motor 1. |
7 | Invoerpen 2 | Het bestuurt rechtstreeks de uitgang 2-pin. Het is ook toepasbaar in digitale circuitbesturingen. |
8 | Vs. (Vcc2) | Met een nominale spanning van 4,5 V-36 V wordt hij aangesloten op de spanningspen en voedt hij de motoren. |
9 | Schakel 3,4 in | Deze aansluiting maakt alleen de ingangspinnen mogelijk:ingang 3(10) en ingang 4(15). |
10 | Invoer 3 | Het biedt directe controle voor de Output 3-pin. Bovendien functioneert het als een ander digitaal circuitbesturingsuitgang. |
11 | Uitgang 3 | Deze pin wordt aangesloten op een uiteinde van Motor 2. |
12 | Grond | Hier verbindt de aardingspin de aarde van het circuit (0V) |
13 | Grond | Nog een aardingspin aangesloten op de aarde van het circuit (0V) |
14 | Uitgang 4 | Net als uitgang 3 gaat deze pin ook naar het andere uiteinde van motor 2. |
15 | Invoer 4 | Hierdoor biedt het directe controle voor de Output 4-pin. Het functioneert ook als een digitale circuitbesturing. |
16 | Vss (Vcc2) | Ten slotte wordt de pin aangesloten op een externe spanning van +5V die verantwoordelijk is voor de voeding van het IC. |
4. Werkingsprincipe van L293D Motor Driver
Zoals eerder aangegeven, kan de L293D-motordriver dubbele gelijkstroommotoren aansturen. Daarom is het essentieel om te begrijpen hoe deze dual-channel H-bridge IC werkt.
(Een diagram van een unipolaire motor van 5 volt die is aangesloten op een L293D).
De eerste fase van het werkingsprincipe omvat het opzetten van een H-brug. Met andere woorden, het gebruikt dubbele paren Darlington-transistors die we Q2/Q3 en Q1/4 noemen. Tegenover elk is een diode verbonden met de collector en emitter van de transistors. Als gevolg hiervan wordt voorkomen dat door de motor gegenereerde tegen-EMK de transistoren beschadigt.
Dus wanneer de transistoren Q1/Q4 in de AAN-positie staan, gaan de transistoren Q2/Q3 uit. Er loopt dus stroom van Vcc, over de motor en naar de grond.
Deze actie veroorzaakt een draaiing van de motor met de klok mee/tegen de klok in. Samenvattend bepalen de motorpolariteit en de wijze van aansluiting op de voeding de draairichting.
Aan de andere kant, wanneer de Q1/Q4-transistoren UIT zijn, schakelt Q2/Q3 automatisch AAN. Er is dus een omgekeerde in de stroom die via de motor vloeit. Dus wanneer deze tegenstroom vloeit, wisselt de draairichting van de motor ook af.
5. Hoe gebruiken we de L293D-motordriver?
Zoals eerder vermeld, gebruikt de L293D-motordriver een bidirectionele aandrijfstroom van ongeveer 600 mA en een bereik van 4,5 V-36 V. Deze functies omvatten echter het gebruik van deze 16-pins motordriverchip met Arduino Uno.
Daarom introduceren we een project dat DC-motoren en L293D verbindt met ARDUINO. Dus, hier is een stapsgewijze procedure om het circuit in te stellen dat de richting en snelheid van de gelijkstroommotor regelt.
Stap één:verzamel de materialen die je nodig hebt voor het project.
- Twee 10K potentiometers.
- L293D-chipset voor motorstuurprogramma.
- Twee kleine gelijkstroommotoren.
- Arduino Uno of Arduino Pro Mini.
- Broodplank.
- Jumperdraden.
Stap twee:het circuit opzetten
De verbindingen die bij dit circuit betrokken zijn, zijn vrij eenvoudig.
We gebruiken echter een videozelfstudie om het circuit in te stellen voor een nauwkeurigere illustratie.
De motor is vaak beter af met een geheel andere voeding. In dit geval gebruiken we 12V voor de motor. Aan de andere kant voedt een 5V-voeding de L293D en Arduino.
Opmerking:de externe stroombron gaat naar pin 8 van de L293D. Neem voorzorgsmaatregelen bij het maken van deze verbindingen. Anders riskeert u schade aan de motoren.
Stap drie:de code om een gelijkstroommotor te programmeren
We gaan dat doen en er zijn twee basisstappen vereist.
Installeer de bibliotheek AFMotor.h.
Allereerst hebben we een communicatiemedium nodig met de L293D IC. Voor dat doel moeten we de AFMotor.h-bibliotheek installeren.
Deze bibliotheek stelt ons in staat om commando's te geven die gelijkstroom-, solenoïde- en stappenmotoren besturen.
Om de AFMotor.h-bibliotheek te installeren, scrolt u eerst naar Sketch. Zoek vervolgens "Bibliotheek opnemen", waarna u "Bibliotheken beheren" zoekt. De bibliotheekbeheerder werkt de geïnstalleerde bibliotheeklijst bij terwijl de bibliotheekbeheerder de index downloadt.
Gebruik daarna het zoekfilter om "Motor Shield" te vinden. Selecteer onder de items de Adafruit Motor Shield-bibliotheek van Adafruit en klik vervolgens op Installeren.
Voer de Arduino-code uit
Vervolgens moeten we de onderstaande Arduino-code uitvoeren:
#include
AF_DCMotormotor(4);
ongeldige setup()
{
//Stel de startsnelheid in voor de motor &stop
motor.setSpeed(200);
motor.run(RELEASE);
}
void loop()
{
uint8_t i;
// Zet de motor AAN
motor.run(VOORUIT);
// Accelereer van 0 naar maximale snelheid
voor (i=0; i<255; i++)
{
motor.setSpeed(i);
vertraging(10);
}
// Vertraag van maximale snelheid naar 0
voor (i=255; i!=0; i–)
{
motor.setSpeed(i);
vertraging(10);
}
// Verander dan de motorrichting
motor.run(ACHTERUIT);
// Accelereer van 0 naar maximale snelheid
voor (i=0; i<255; i++)
{
motor.setSpeed(i);
vertraging(10);
}
// Vertraag van maximale snelheid naar 0
voor (i=255; i!=0; i–)
{
motor.setSpeed(i);
vertraging(10);
}
// Zet nu de motor UIT
motor.run(RELEASE);
vertraging(1000);
}
Stap 4:Installatie voltooid
In dit stadium is uw DIY-circuitopstelling voltooid. Je hebt nu een besturingsmechanisme voor elk DC-motorapparaat dat deze L293D-chip en Arduino Uno-microcontroller gebruikt.
6.L293D Equivalent Dual Timer IC
Andere IC's die vergelijkbaar zijn met L293D zijn ULN2003, SN754410, LB1909MC.
(Een ULN2003 IC op een PCB met daarop de gelabelde pinnen en de aansluitpunten)
7. De toepassingen van L293D
- Het helpt je om krachtige LED-apparaten aan te sturen.
- Het is ook toepasbaar in motoren met hoge stroomsterkte die worden aangedreven door digitale circuits zoals robots.
- De L293D-driver is een integraal onderdeel van stappenmotoren en motoren in het algemeen.
- Voor gebruik in relaisstuurprogrammamodules. Daarom maakt het een vergrendelingsrelais mogelijk.
Samenvatting
Er zijn andere verschillende methoden om DC-motoren op meer dan één manier met Arduino te besturen. Een van de gemakkelijkste manieren is echter om een L293D-motorstuurprogramma-IC te gebruiken. Een L293D IC geeft een voorsprong voor het gelijktijdig regelen van de snelheid en richting van twee afzonderlijke DC-motoren.
Tot slot hebben we geleerd hoe we met dit IC een gelijkstroommotor kunnen instellen en programmeren. Maar misschien wil je iets uitdagenders proberen. Voor meer tutorials over hoe u dit kunt doen, kunt u contact opnemen met onze contactpagina voor volledige begeleiding.
Industriële technologie
- Human Detection Robotics System met Arduino Uno
- PPM-signaal van de RC-ontvanger lezen met Arduino
- Android bestuurd speelgoed met Raspberry Motor Shield
- Hoe de massa van de aarde te meten met Arduino
- Een website maken die Arduino communiceert met PHP
- DIY Arduino-robotarm – bestuurd door handgebaren
- Arduino - Tekenen via internet met stappenmotorcontroller
- Hoe maak je thuis een mini-oscilloscoop met Arduino Nano
- Hoe werkt een geborstelde gelijkstroommotor?
- Hoe maak je een kompas met Arduino en Processing IDE?
- Hoe een gelijkstroommotor te controleren?