ESP32 - Actuator
Deze handleiding legt uit hoe u een ESP32 gebruikt om een lineaire actuator aan te sturen. We gaan in detail behandelen:
- Hoe een lineaire actuator werkt
- Hoe u een lineaire actuator laat uitschuiven of intrekken
- Hoe u een lineaire actuator aanstuurt met een L298N driver
- Hoe u de snelheid van een lineaire actuator regelt
Deze tutorial is voor een lineaire actuator zonder feedback. Wilt u leren over lineaire actuators met feedback? Bekijk dan deze ESP32 - Actuator met Feedback tutorial.
Vereiste hardware
Of u kunt de volgende kits kopen:
| 1 | × | DIYables Sensorkit (30 sensoren/displays) | |
| 1 | × | DIYables Sensorkit (18 sensoren/displays) |
Over de lineaire actuator

Aansluitingen lineaire actuator
Een lineaire actuator heeft twee draden:
- Positieve draad: meestal rood
- Negatieve draad: meestal zwart

Hoe het werkt
Als u een lineaire actuator koopt, is het belangrijk om te weten op welke spanning de actuator werkt. We nemen een 12V lineaire actuator als voorbeeld.
Wanneer u de 12V actuator aansluit op een 12V voeding:
- 12V en GND respectievelijk op de positieve en negatieve draad: de lineaire actuator schuift met maximale snelheid uit totdat hij de eindstand bereikt.
- 12V en GND op de negatieve en positieve draad: de actuator trekt met maximale snelheid in totdat hij de eindstand bereikt.
Als u het vermogen onderbreekt tijdens het uitschuiven/intrekken (GND op beide draden), stopt de actuator direct met bewegen.
※ Notiz:
Voor DC-motoren, servo motoren en stappenmotoren zonder tandwieloverbrenging geldt dat bij het stoppen van de voeding de positie niet kan worden vastgehouden onder belasting. In tegenstelling tot deze motoren kan een lineaire actuator wél zijn positie behouden wanneer de voeding stopt, zelfs onder belasting.
Wanneer de voeding van de lineaire actuator onder 12V ligt, blijft deze wel uitschuiven/intrekken maar niet op maximale snelheid. Dit betekent dat door het aanpassen van de voedingsspanning ook de snelheid van de actuator verandert. Deze methode wordt echter zelden gebruikt vanwege de moeilijkheid om de voedingsspanning nauwkeurig te regelen. In plaats daarvan wordt de voedingsspanning vastgezet en wordt de snelheid van de lineaire actuator geregeld via een PWM-signaal. Hoe hoger de duty cycle van de PWM, hoe hoger de snelheid van uitschuiven/intrekken.

Hoe een lineaire actuator te besturen met ESP32
Het besturen van een lineaire actuator omvat:
- Het uitschuiven van de actuator met maximale snelheid
- Het intrekken van de actuator met maximale snelheid
- (optioneel) Het regelen van de snelheid tijdens het uitschuiven/intrekken
De ESP32 genereert het besturingssignaal voor de actuator. Dit signaal heeft echter een lage spanning en stroom, en kan niet direct de lineaire actuator aansturen. Daarom is een driver nodig tussen de ESP32 en de actuator. De driver vervult twee functies:
- Het versterken van het aansturingssignaal van de ESP32 (zowel stroom als spanning)
- Het ontvangen van een tweede aansturingssignaal van de ESP32 om de polariteit van de voeding om te keren → voor het regelen van de draairichting
※ Notiz:
- Deze handleiding is toepasbaar op alle lineaire actuators. De 12V actuator is slechts een voorbeeld.
- Bij een 5V lineaire actuator, ook al levert de ESP32-pin 5V (gelijke spanning als de actuator), is een driver toch nodig omdat de ESP32-pin niet genoeg stroom kan leveren voor de actuator.
Er zijn meerdere chips en modules (bijvoorbeeld L293D, L298N) die als driver kunnen dienen voor lineaire actuators. In deze tutorial maken we gebruik van de L298N driver.
※ Notiz:
Ook relais kunnen als driver worden gebruikt. Hiervoor zijn echter 4 relais nodig om één lineaire actuator te besturen (voor zowel uitschuiven als intrekken).
Over de L298N Driver
De L298N driver kan gebruikt worden om lineaire actuators, DC-motoren en stappenmotoren te besturen. In deze tutorial leert u hoe u de L298N inzet voor het aansturen van een lineaire actuator.
L298N Driver aansluitingen

De L298N driver beschikt over twee kanalen, kanaal A en kanaal B. Hierdoor kan hij twee lineaire actuators onafhankelijk tegelijk aansturen. Stel dat lineaire actuator A is aangesloten op kanaal A en lineaire actuator B op kanaal B. De L298N driver heeft 13 pins:
Gemeenschappelijke pins voor beide kanalen:
- VCC pin: levert spanning aan de lineaire actuator, tussen 5 en 35V
- GND pin: gemeenschappelijke massa (0V), moet verbonden zijn met GND
- 5V pin: voeding voor de L298N-module, kan gevoed worden door 5V van de ESP32
Kanaal A pins:
- ENA pin: wordt gebruikt om de snelheid van lineaire actuator A te regelen. Door de jumper te verwijderen en de ENA-pin te verbinden met een PWM-uitgang van de ESP32 kunt u de snelheid regelen.
- IN1 en IN2 pins: regelen de bewegingsrichting van de actuator. Als één van beide HIGH is en de ander LOW, schuift de actuator uit of trekt hij in. Als beide inputs gelijk zijn (beide HIGH of beide LOW), stopt de actuator.
- OUT1 en OUT2 pins: verbonden met lineaire actuator A
Kanaal B pins:
- ENB pin: om de snelheid van lineaire actuator B te regelen (werkt hetzelfde als ENA)
- IN3 en IN4 pins: voor het regelen van de rijrichting van actuator B (zelfde principe als IN1 en IN2)
- OUT3 en OUT4 pins: verbonden met lineaire actuator B
Zoals hierboven beschreven, heeft de L298N driver twee voedingsspanningen nodig:
- Eén voor de lineaire actuator (VCC en GND): tussen 5 en 35V
- Eén voor de interne werking van de L298N module (5V en GND): tussen 5 en 7V
De L298N driver heeft daarnaast drie jumpers voor geavanceerde toepassingen. Voor deze tutorial adviseert het weghalen van alle jumpers op de L298N driver voor eenvoud.
Met een ESP32 en de L298N driver kunt u twee lineaire actuators onafhankelijk van elkaar aansturen. Voor het aansturen van elke actuator zijn slechts drie ESP32-pinnen nodig.
※ Notiz:
Deze tutorial behandelt de besturing van een lineaire actuator op kanaal A. Het besturen van een tweede actuator op kanaal B werkt op dezelfde manier.
Hoe een lineaire actuator aan te sturen
We leren hoe u een lineaire actuator aanstuurt met een L298N driver.
Bedradingsschema
Verwijder alle drie de jumpers van de L298N-module voordat u gaat bedraden.

This image is created using Fritzing. Click to enlarge image
Hoe een lineaire actuator uitschuiven/intrekken
De bewegingsrichting van een lineaire actuator wordt geregeld door een HIGH of LOW signaal op IN1 en IN2. De onderstaande tabel toont de aansturingslogica voor beide kanalen.
| IN1 pin | IN2 pin | Richting |
|---|---|---|
| LOW | LOW | Lineaire actuator A stopt |
| HIGH | HIGH | Lineaire actuator A stopt |
| HIGH | LOW | Lineaire actuator A schuift uit |
| LOW | HIGH | Lineaire actuator A trekt in |
- Actuator A uitschuiven
- Actuator A intrekken
※ Notiz:
De bewegingsrichting is omgekeerd als de OUT1 & OUT2 pinnen omgekeerd zijn aangesloten op de actuator. In dat geval hoeft u alleen OUT1 en OUT2 te verwisselen of de aansturingssignalen op IN1 en IN2 in uw code om te draaien.
Hoe een lineaire actuator stoppen met uitschuiven of intrekken
De lineaire actuator stopt automatisch wanneer hij bij de eindstand is aangekomen. U kunt hem ook programmeren om te stoppen voordat de eindstand is bereikt.
Er zijn twee manieren om de actuator te stoppen:
- De snelheid instellen op 0
- IN1 en IN2 pins beide hetzelfde signaal geven (beide LOW of beide HIGH)
- Of
Hoe de snelheid van een lineaire actuator te regelen via de L298N driver
De snelheid van de actuator regelen is eenvoudig. In plaats van de ENA pin gewoon op HIGH te zetten, schakelen we een PWM-signaal naar de ENA pin. Dit kan door:
- Een ESP32-pin te verbinden met de ENA-pin van de L298N
- Het genereren van een PWM-signaal op de ENA-pin, bijvoorbeeld met de analogWrite() functie. De L298N module versterkt dit PWM-signaal naar de actuator.
De snelheid is een waarde tussen 0 en 255. Bij 0 stopt de actuator, bij 255 schuift of trekt hij met maximale snelheid.
Voorbeeldcode voor ESP32
De onderstaande code doet het volgende:
- De actuator uitschuiven met maximale snelheid
- De actuator stoppen
- De actuator intrekken met maximale snelheid
- De actuator stoppen
Snelle stappen
- Verwijder alle drie de jumpers van de L298N-module
- Kopieer bovenstaande code en plak deze in de Arduino IDE
- Compileer en upload de code naar uw ESP32 bord door op de Upload knop te klikken in Arduino IDE
- Observeer het volgende:
- De lineaire actuator schuift uit en stopt wanneer de eindstand is bereikt
- De actuator houdt de positie een tijdje vast
- De actuator trekt in en stopt weer bij de eindstand
- De actuator houdt weer even de positie vast
- Dit proces wordt continu herhaald
Video Tutorial
We overwegen het maken van videotutorials. Als u videotutorials belangrijk vindt, abonneer u dan op ons YouTube-kanaal om ons te motiveren de video's te maken.
Bekijk onze video-tutorial voor een visuele begeleiding bij dit project! De video biedt extra inzichten en helpt u bij het begrijpen van het gebruik van ESP32 met lineaire actuators.