Actuatoren en motoren
Aan het eind van dit hoofdstuk kun je:
- Uitleggen wat actuatoren zijn en hun rol in elektronische systemen.
- Een servomotor aansluiten en besturen met de Arduino.
- Een programma schrijven dat een servomotor aanstuurt op basis van sensorinput.
Wat zijn actuatoren?
Definitie: Een actuator is een apparaat dat energie omzet in beweging. Het wordt gebruikt om een systeem of mechanisme te controleren of te bewegen.
Voorbeelden van actuatoren:
- Servomotoren: Precisie motoren die een hoekpositie kunnen aannemen.
- DC-motoren: Standaard motoren die continu kunnen draaien.
- Stepper motoren: Motoren die in discrete stappen bewegen.
- Relais: Elektrische schakelaars die circuits kunnen openen of sluiten.
Waarom actuatoren gebruiken?
- Ze stellen je in staat om fysieke beweging te integreren in je projecten.
- Worden gebruikt in robotica, automatisering, en mechanische systemen.
Werken met servomotoren
Wat is een Servomotor?
- Een servomotor is een motor die een bepaalde hoekpositie kan aannemen, meestal tussen 0° en 180°.
- Hij bevat een motor, een tandwielstelsel, een potentiometer en een besturingscircuit.
Aansluiten van een Servomotor:
-
Componenten: Servomotor (bijv. SG90), Arduino, breadboard, jumper wires.
-
Draden van de servo:
- Rood: Voedingsspanning (meestal 5V).
- Bruin of Zwart: Aarde (GND).
- Geel, Oranje of Wit: Signaal (PWM-besturingssignaal).
-
Aansluiting:
- Verbind de rode draad met de 5V pin van de Arduino.
- Verbind de bruine/zwart draad met GND.
- Verbind de geel/oranje/witte draad met digitale pin 9 (PWM pin).
Let op: Sommige servomotoren kunnen meer stroom trekken dan de Arduino kan leveren. Voor dit voorbeeld is het veilig, maar voor grotere servo's moet je een externe voeding gebruiken.
De Servo Bibliotheek
- Arduino heeft een ingebouwde Servo bibliotheek die het eenvoudig maakt om servomotoren aan te sturen.
- De bibliotheek zorgt voor de juiste timing van de PWM-signalen die nodig zijn om de servo te besturen.
Toevoegen van de Servo Bibliotheek:
- Ga in de Arduino IDE naar Schets > Bibliotheek gebruiken > Servo of voeg
#include <Servo.h>toe aan je code.
Code om de Servomotor te Besturen
Basiscode om de servo te bewegen:
#include <Servo.h>
Servo mijnServo; // Maak een Servo object aan
void setup() {
mijnServo.attach(9); // Verbind de servo met pin 9
}
void loop() {
mijnServo.write(0); // Beweeg naar 0 graden
delay(1000); // Wacht 1 seconde
mijnServo.write(90); // Beweeg naar 90 graden
delay(1000);
mijnServo.write(180); // Beweeg naar 180 graden
delay(1000);
}
Uitleg van de Code:
#include <Servo.h>: Voegt de Servo bibliotheek toe.Servo mijnServo;: Maakt een nieuw Servo object.mijnServo.attach(9);: Verbindt het Servo object met pin 9.mijnServo.write(hoek);: Stuurt de servo naar de opgegeven hoek (0° - 180°).
Servo besturen met een potentiometer
Sensorinput gebruiken om de servo te besturen:
-
Aansluiting van de potentiometer:
- Verbind de middelste pin van de potentiometer met analoge pin A0.
- Verbind de buitenste pinnen met 5V en GND.
-
Code aanpassen:
#include <Servo.h> Servo mijnServo; void setup() { mijnServo.attach(9); } void loop() { int sensorValue = analogRead(A0); // Lees de potentiometer int hoek = map(sensorValue, 0, 1023, 0, 180); // Converteer naar hoek mijnServo.write(hoek); // Beweeg servo naar hoek delay(15); // Kleine pauze voor stabiliteit }
Uitleg van de Code:
analogRead(A0): Leest de waarde van de potentiometer.map(sensorValue, 0, 1023, 0, 180): Converteert de sensorwaarde naar een hoek tussen 0° en 180°.mijnServo.write(hoek): Beweegt de servo naar de berekende hoek.
Opdracht
Doel: Programmeer de servomotor om heen en weer te bewegen op basis van een sensorinput (potentiometer).
Instructies:
- Bouw de schakeling met de servomotor en potentiometer zoals hierboven beschreven.
- Schrijf of kopieer de code in de Arduino IDE.
- Upload de code naar je Arduino.
- Draai aan de potentiometer en observeer hoe de servomotor reageert.
Extra Uitdagingen
- Uitbreiding 1: Gebruik een LDR in plaats van een potentiometer om de servo te besturen op basis van lichtintensiteit.
- Uitbreiding 2: Laat de servo automatisch heen en weer bewegen tussen twee hoeken met een instelbare snelheid.
Veelgemaakte Fouten
- Verkeerde voeding van de servo: Zorg ervoor dat de servo voldoende stroom krijgt; gebruik eventueel een externe voeding.
- Servo niet correct aangesloten: Controleer de kleurcodering van de draden.
- Servo beweegt schokkerig: Voeg een delay toe om de beweging te stabiliseren.
Veiligheidstips
- Gebruik geen servomotoren die meer stroom vereisen dan de Arduino kan leveren zonder externe voeding.
- Zorg ervoor dat bewegende delen vrij kunnen bewegen zonder obstakels.
- Pas op voor scherpe randen of bewegende onderdelen die letsel kunnen veroorzaken.
