Arduino Shield – Motor Shield (L293D)

Hardware

BESTEL NU!

Informatie

L293D Motor shield is een zeer nuttige shield met standaard componenten. Het bevat twee L293D motor drivers en een 74HC595 schuifregister. Het schuifregister breidt 3 pinnen van de Arduino uit tot 8 pinnen om de richting te controleren voor de motor.

L293D is een monolithische geïntegreerde , hoogspanning , hoge stroom , 4 -channel motor driver.
In principe betekent dit dat u deze chip kun je gelijkstroom motoren en voedingen gebruiken tot maximaal 10 Volt en de chip kan een maximale stroom van 600mA per kanaal leveren.
– Kan 4 DC motoren of 2 stappenmotoren of 2 Servo’s aansturen.
– Tot 4 tweerichting-DC motoren met afzonderlijke 8 – bit toerental.
– Tot 2 stappenmotoren ( unipolaire of bipolaire ) met enkele spoel , dubbele spoel of interleaved stepping.
– 4 H – bruggen: per brug biedt 0.6A ( 1,2 A piekstroom ) met thermische beveiliging , kan de motoren aansturen op 4.5V tot 10V DC.
– Pull-down weerstanden houden motoren uitgeschakeld tijdens het opstarten.
– reset-knop.
– 2 externe terminal Power Interface , voor aparte logica / motor.
– compatibel met Arduino Uno, Mega , Diecimila & Duemilanove.

Overzicht van de vermogens:

LET OP: Het is altijd aan te raden om de motor shield via een externe voeding te voeden, dit om geen grote stromen via de USB poort te laten lopen, vergeet daarom niet de JUMPER PWR te verwijderen! (anders voed je met de externe voeding de USB poort van je computer en deze kan hoger zijn dan 5v)

De layout van deze shield:


Overige informatie (ENG):

What pins are not used on the motor shield?

All 6 analog input pins are available. They can also be used as digital pins (pins #14 thru 19)

Digital pin 2, and 13 are not used.

The following pins are in use only if the DC/Stepper noted is in use:
Digital pin 11: DC Motor #1 / Stepper #1 (activation/speed control)
Digital pin 3: DC Motor #2 / Stepper #1 (activation/speed control)
Digital pin 5: DC Motor #3 / Stepper #2 (activation/speed control)
Digital pin 6: DC Motor #4 / Stepper #2 (activation/speed control)

The following pins are in use if any DC/steppers are used
Digital pin 4, 7, 8 and 12 are used to drive the DC/Stepper motors via the 74HC595 serial-to-parallel latch

The following pins are used only if that particular servo is in use:
Digitals pin 9: Servo #1 control
Digital pin 10: Servo #2 control

How can I connect to the unused pins?

The analog pins (analog 0-5 also known as digital pins 14-19) are broken out in the bottom right corner.

Pin 2 has a small breakout since its the only truly unused pin

The remaining pins are not broken out because they could be used by the motor shield. If you are sure that you are not using those pins then you can connect to them by using stacking headers when assembling the kit or soldering onto the top of the header with wires, or using a “Wing shield”

I have two stepper motors and I want to run them simulaneously but the example code can only control one and then the other?

The stepper motor library step() routine does not have the ability to run both motors at a time. Instead, you will have to ‘interleave’ the calls. For example, to have both motors step forward 100 times you must write code like this:


Wat heb je nodig?

1) Arduino UNO/MEGA board
2) Arduino Motor Shield Library


Aansluiten en aansturen van motors

De code om een stappenmotor op M1 te laten draaien in verschillende richtingen:

Ps. je kan “motor kanaal” 1 t/m 4 selecteren door de X te vervangen in het kanaal te gebruiken:

AF_DCMotor motor(X);

Een voorbeeld met 2 motoren geeft dan:

De code om motor M1 in toerental te regelen:


Aansluiten en aansturen van stappenmotors

Let op: Een “Bi-polar” stappenmotor is relatief eenvoudig door te meten, er komen 4 draden uit, welke aangesloten zijn op 2 spoelen, met een simpele “pieper” kan je de 2 speolen eenvoudig doormeten, een spoel sluit je dan aan op M1 en de ander op M2

Heb je een stappenmotor met 6 draden, dan is het hoogstwaarschijnlijk een “UNI-polar” model, je kan dan de GND aan elkaar zetten en aansluiten.

Aansluiten op de shield:

De code om een stappenmotor op M1/M2 te laten draaien met verschillende instellingen:

In mijn bevindingen, daait de instelling met “Microsteps” het soepelste!

Motor Kanaal:
1 = M1 + M2
2 = M3 + M4

Motor instellingen:
360 graden / 7,5 graad per stap = 48 stappen
, de instelling is dan:

AF_Stepper motor(48, 1);

360 graden / 1,8 graad per stap = 200 stappen, de instelling is dan:

AF_Stepper motor(200, 1);

Het script:

Script #2
Dit script laat 2 stappenmotoren van “1.8 degree” om de buurt een kant op draaien op de “microstep” instelling.

Script #3

2 Motoren tegelijk laten draaien (microstep is te langzaam, daarvoor is nu gekozen voor “SINGLE”)


Aansluiten en aansturen van servo’s

LET OP: Zorg er voor dat als je kleine servo’s gebruikt van 5 volt je de JUMPER PWM eraf haalt als de externe spanning hoger is!, bijvoorbeeld SG90 servo’s kunnen via de USB gevoed worden, dat is geen probleem.

Om een servo aan te sluiten, kan je het standaard servo script gebruiken

Servo Kanaal:
2 = Arduino D9
1 = Arduino D10

Script #2
Dit script laat 2 servo’s om de buurt een kant op draaien.


Bronnen:
14core.com
14core.com
mcuoneclipse.com
learn.adafruit.com