Een lineaire actuator zet de roterende beweging van een motor om in een rechtlijnige beweging, wat hem nuttig maakt voor duwen, tillen, kantelen en het openen van zaken in robotica, domotica en doe-het-zelfprojecten. In deze gids leer je hoe je een 12V lineaire actuator aanstuurt met een Arduino, inclusief de bedrading, de benodigde onderdelen en eenvoudige code om hem uit te schuiven en in te trekken.
Wat je nodig hebt
- 12V Micro lineaire actuator (kies je slaglengte en snelheid)
- Arduino-board (Uno, Nano of Mega)
- BTS7960 motordrivermodule, of een relaismodule
- 12V voeding geschikt voor je actuator
- Jumperkabels
- Een computer met de Arduino IDE geïnstalleerd
Stap 1: Begrijp de actuator
Een 12V lineaire actuator heeft twee draden. Het aanleggen van 12V in de ene polariteit schuift de stang uit; het omkeren van de polariteit trekt hem in. Hij verbruikt meer stroom dan een Arduino-pin kan leveren, dus je mag hem nooit rechtstreeks voeden vanaf de 5V-pin van de Arduino. Je hebt een driver nodig als tussenstap.
Twee veelvoorkomende opties:
- Motordriver (BTS7960) — hiermee kun je de richting omkeren en de snelheid regelen met PWM. Het beste voor de meeste projecten.
- Relaismodule — eenvoudige aan/uit-bediening, richting ingesteld door de bedrading. Prima voor langzame, bewegingen met een vaste snelheid.
Stap 2: Bedrading met de BTS7960 motordriver
| BTS7960-pin | Verbinden met |
|---|---|
| VCC | Arduino 5V |
| GND | Arduino GND |
| R_EN | Arduino-pin 4 |
| L_EN | Arduino-pin 5 |
| R_PWM | Arduino-pin 6 |
| L_PWM | Arduino-pin 7 |
| B+ (VMS) | 12V voeding positief |
| B- (GND) | 12V voeding negatief |
| MOTOR_A | Actuatordraad 1 |
| MOTOR_B | Actuatordraad 2 |
Zorg ervoor dat de 12V-voeding geschikt is voor de blokkeerstroom (stall current) van de actuator. Laat de actuator onder belasting niet gedurende lange tijd voorbij zijn eindpunten lopen.
Stap 3: De code uploaden
Dit voorbeeld schuift de actuator 3 seconden uit, pauzeert, trekt hem 3 seconden in en stopt dan.
#define R_EN 4
#define L_EN 5
#define R_PWM 6
#define L_PWM 7
void setup() {
pinMode(R_EN, OUTPUT);
pinMode(L_EN, OUTPUT);
pinMode(R_PWM, OUTPUT);
pinMode(L_PWM, OUTPUT);
Serial.begin(9600);
Serial.println("Test lineaire actuator");
}
void loop() {
// Uitschuiven
digitalWrite(R_EN, HIGH);
digitalWrite(L_EN, LOW);
analogWrite(R_PWM, 200);
analogWrite(L_PWM, 0);
delay(3000);
// Stoppen
digitalWrite(R_EN, LOW);
digitalWrite(L_EN, LOW);
analogWrite(R_PWM, 0);
analogWrite(L_PWM, 0);
delay(2000);
// Intrekken
digitalWrite(R_EN, LOW);
digitalWrite(L_EN, HIGH);
analogWrite(R_PWM, 0);
analogWrite(L_PWM, 200);
delay(3000);
// Stoppen
digitalWrite(R_EN, LOW);
digitalWrite(L_EN, LOW);
analogWrite(R_PWM, 0);
analogWrite(L_PWM, 0);
delay(2000);
}
Pas de vertragingswaarden (delay) aan op je slaglengte en snelheid, zodat de actuator niet voorbij zijn limieten loopt.
Stap 4: De opstelling testen
- Verbind de Arduino met je computer via USB.
- Selecteer in de Arduino IDE je board en poort in het menu Extra (Tools).
- Upload de code.
- De actuator zou in een lus moeten uitschuiven, pauzeren, intrekken en pauzeren.
Probleemoplossing
- Actuator beweegt niet: controleer of de 12V-voeding is aangesloten en ingeschakeld, en of de B+ en B- van de driver niet zijn omgedraaid.
- Actuator beweegt in de verkeerde richting: wissel de twee MOTOR_A/MOTOR_B-draden om.
- Onregelmatige beweging: controleer alle verbindingen, vooral de PWM-pinnen en de gemeenschappelijke aarde (ground) tussen de Arduino en de driver.
- Motor blokkeert: de belasting kan de nominale kracht van de actuator voor de gekozen snelheid overschrijden; kies een lagere snelheid of een variant met meer kracht.
Toepassingen van een 12V lineaire actuator
- Automatische raam- of ventilatieopeners
- Hoogteverstelling van bureaus en hefplatforms
- Robotarmen en grijpers
- Mechanismen voor het kantelen en draaien van camera's
- Geautomatiseerde voerbakken voor huisdieren en deurgrendels
Als je een van deze projecten bouwt, is de 12V Micro lineaire actuator verkrijgbaar in slaglengtes van 10 mm, 15 mm, 20 mm en 25 mm en snelheden van 4 mm/s tot 30 mm/s. Combineer hem met een BTS7960-motordriver en een Arduino-board om aan de slag te gaan.