Difference between revisions of "Arduino - Motor met Power"
(Created page with "Een Arduino is prima om een paar LEDjes aan te sturen en eventueel een klein servo-motortje. Maar als je wat meer wilt, zoals veel LEDjes aansturen, of een behoorlijke elektri...") |
(No difference)
|
Revision as of 12:21, 18 February 2018
Een Arduino is prima om een paar LEDjes aan te sturen en eventueel een klein servo-motortje. Maar als je wat meer wilt, zoals veel LEDjes aansturen, of een behoorlijke elektrische motor, volstaat een Arduino niet meer. Toch kun je kunt zo'n motor wel aansluiten met een Arduino, en dan bijvoorbeeld de PWM mogelijkheden ervan gebruiken, maar dan kan het vermogen niet van de Arduino zelf komen; alleen het stuursignaal. Dit kan heel goed met een MOSFET driver. Zo'n MOSFET werkt als een heel snelle, elektronisch aanstuurbare schakelaar, die gemakkelijk mee kan doen met het signaal van de PWM. Daar komt als voordeel bij dat je een andere spanningsbron kunt gebruiken voor de motor. De motor kan bijvoorbeeld op een dikke acuu van 24 Volt werken, terwijl de Arduino het doet met een batterijtje van 5 Volt.
MOSFET driver
Bij de stappenmotor hebben we die drivers al voorbij zien komen, maar er niet veel aandacht aan besteed. Nu gaan we iets dieper in op dergelijke drivers. Zoals gezegd werkt een MOSFET als een elektronisch bestuurbare schakelaar.
Overigens heb je voor een brug-schakeling (zie bij stappenmotor) vier MOSFET's nodig, terwijl je voor een snelheidsregeling in één richting met een enkele MOSFET kunt volstaan.
De schakeling
Extra benodigdheden:
- 1 MOSFET driver module
- 1 DC motor
- 1 Bijpassende batterij
| Bestand:naam bestand.png |
| Beschrijving bovenstaande figuur |
Het programma
int motor=10;
int wait=10;
void setup()
{
pinMode(motor,OUTPUT);
}
void loop()
{
for (int i=0; i<256; i++) {
analogWrite(motor,i);
delay(wait);
}
for (int i=254; i>=0; i--) {
analogWrite(motor,i);
delay(wait);
}
}
Uitleg
Het programma is uiterst simpel. De loop heeft twee delen waarin de motor eerst steeds meer vermogen krijgt en daarna steeds minder. Als het programma draait zul je zien dat de motor steeds sneller gaat draaien en dan weer afremt om meteen daarna weer te versnellen. En zo voort. Uiteraard kun je de motorsnelheid programmatisch aan bepaalde inputs koppelen en de snelheid regelen met bijvoorbeeld een potmeter. In dit project willen we alleen laten zien hoe je een zwaardere motor aan kunt sturen met een Arduino.
Beetje spelen
Leuk om zo'n motor aan te sturen, maar wat nu als de motor ook achteruit moet kunnen draaien?