FREE SHIPPING ON ALL ORDERS OVER £20

60 DAY HASSLE-FREE RETURNS

Hoe een 12V lineaire actuator aan te sturen met Arduino

How to Control a 12V Linear Actuator with Arduino

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

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:

  1. Motordriver (BTS7960) — hiermee kun je de richting omkeren en de snelheid regelen met PWM. Het beste voor de meeste projecten.
  2. 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

  1. Verbind de Arduino met je computer via USB.
  2. Selecteer in de Arduino IDE je board en poort in het menu Extra (Tools).
  3. Upload de code.
  4. 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.

Notice an Issue? Have a Suggestion?
If you encounter a problem or have an idea for a new feature, let us know! Report a problem or request a feature here.

Laat een reactie achter