Motor-2
Leerdoelen |
motor, h-brug, vrijloopdiode
|
Voorkennis |
spanning en stroom
|
Inleiding
Bestand:Voorbeeld.png
Opbouwen van de schakeling
De schakeling bestaat uit:
- een potmeter, voor het instellen van de snelheid, verbonden met A0
- een schakelaar (button, gebruikt interne pullup weerstand) voor het omschakelen van de draairichting, verbonden met pin 2
- een H-brug IC (bijvoorbeeld L293DNE)
- de "D" in deze IC-naam geeft aan dat dit IC interne vrijloop-diodes (flyback diodes) heeft. Die hoef je dan niet extern toe te voegen.
- een DC-motor (kleine motor, werkend op 5V, met lage stroom)
Denk om de richting waarin je het H-brug IC monteert:
- ICs monteer je altijd over de lege middenlijn (die is ervoor gemaakt);
- de inkeping zit aan de kant van pin 1 van het IC (op het breadboard: rechts);
- pin 1 is dan de pin boven de inkeping.
- pin 1 van de H-brug is verbonden met pin 9 van de Arduino (Enable), voor het regelen van de snelheid (PWM)
- pin 2 (Control1) is verbonden met pin 10 (in1), voor de richting van de motor
- pin 7 (Control2) is verbonden met pin 11 (in2), voor de richting van de motor
- pin 12 (GND) is verbonden 0V
- pin 8 (VCC - power) is verbonden met 5V, voor de power voor de motor
- pin 16 (VCC - logic) is verbonden met 5V, voor de besturingslogica.
De motor verbind je met pin 3 en pin 6 van de H-brug.
Schema
Programma
int enable = 9;
int in1 = 10;
int in2 = 11;
int button = 2;
int potmeter = A0;
boolean reverse = false;
void setMotor(int speed, boolean reverse) {
analogWrite(enable, speed);
digitalWrite(in1, ! reverse);
digitalWrite(in2, reverse);
}
void setup() {
pinMode(in1, OUTPUT);
pinMode(in2, OUTPUT);
pinMode(enable, OUTPUT);
pinMode(button, INPUT_PULLUP);
}
void loop() {
int speed = analogRead(potmeter) / 4;
if (digitalRead(button) == LOW) {
reverse = ! reverse;
delay(200);
}
setMotor(speed, reverse);
}
Uitleg van het programma
De besturing van de H-brug is verrassend eenvoudig:
enable
geeft aan of de motor spanning krijgt of niet;
- door deze te koppelen aan een PMW-output kunnen we de snelheid van de motor regelen;
in1
en in2
geven de stand van de schakelaars van de H-brug aan, volgens onderstaande tabel
- als we ervoor zorgen dat
in1 != in2
(in1 verschilt van in2) dan draait de motor;
- door deze beide tegelijk om te wisselen veranderen we de richting van de motor;
in1 |
in2 |
motor
|
0 |
0 |
stop
|
0 |
1 |
links
|
1 |
0 |
rechts
|
1 |
1 |
stop
|
De andere onderdelen zijn bekend:
- met de
button
schakelen we de richting van de motor om;
- denk om de
delay
! Anders blijft de motor omschakelen, in hoog tempo.
- met de
potmeter
stellen we de snelheid van de motor in.
- denk hierbij om de schaling.
Vragen en opdrachten
Eerste experimenten
LEDS voor richting
Je kunt de H-brug testen door twee LEDs van verschillende kleuren met elk een serieweerstand te verbinden met de motor-verbindingen (IC-aansluitingen 3 en 6). De ene LED verbind je in de ene richting, de andere in tegengestelde richting.
- sluit eerst alleen deze LEDs aan; de motor nog niet. Je kunt dan zien dat:
- de ene LED brandt, en de andere niet; of omgekeerd, als je de richting omkeert (button);
- de LED meer of minder brandt, als je de potmeter-instelling verandert.
- sluit vervolgens de motor aan naast de LED-verbindingen.
- wat verwacht je te zien?
- wat krijg je te zien?
- hoe kun je dit verklaren?
Verdiepingsvragen