Difference between revisions of "Arduino - Motor met Power"

From SPAD-it Wiki
Jump to: navigation, search
(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?

Navigatie