Arduino - Aktuator
In diesem Tutorial lernen wir:
- Wie ein Linearantrieb funktioniert
- Wie man einen Linearantrieb ausfahren oder einfahren lässt.
- Wie man einen Linearantrieb mit dem L298N-Treiber und Arduino steuert.
- Wie man die Geschwindigkeit eines Linearantriebs steuert.
Dieses Tutorial ist für einen Linearantrieb ohne Rückkopplung. Wenn Sie mehr über Linearantriebe mit Rückkopplung erfahren möchten, sehen Sie sich dieses Arduino - Aktuator mit Rückkopplung Tutorial an.
Erforderliche Hardware
Oder Sie können die folgenden Kits kaufen:
1 | × | DIYables STEM V3 Starter-Kit (Arduino enthalten) | |
1 | × | DIYables Sensor-Kit (30 Sensoren/Displays) | |
1 | × | DIYables Sensor-Kit (18 Sensoren/Displays) |
Über Linearantrieb

Linearantrieb-Pinbelegung
Linearantrieb hat zwei Drähte:
- Positiver Draht: normalerweise rot
- Negativer Draht: normalerweise schwarz

So funktioniert es
Wenn Sie einen Linearantrieb kaufen, müssen Sie wissen, mit welcher Spannung der Linearantrieb arbeitet. Nehmen wir als Beispiel einen 12-V-Linearantrieb.
Wenn Sie den 12-V-Linearantrieb mit einer 12-V-Stromquelle versorgen:
- 12 V und GND jeweils an den positiven Draht bzw. den negativen Draht anschließen: Der Linearantrieb fährt mit voller Geschwindigkeit aus, bis er den Endanschlag erreicht.
- 12 V und GND jeweils an den negativen Draht bzw. den positiven Draht anschließen: Der Linearantrieb fährt mit voller Geschwindigkeit ein, bis er den Endanschlag erreicht.
Während des Ausfahrens oder Einfahrens stoppt der Stellantrieb, wenn wir ihm die Versorgung unterbrechen (GND an beide Leitungen, positiv und negativ).
※ Notiz:
Für Gleichstrommotoren, Servomotoren und Schrittmotoren ohne Getriebe gilt: Unter Last können sie die Position nicht halten, wenn die Stromzufuhr abgeschaltet wird. Im Gegensatz zu diesen Motoren kann der Aktuator die Position auch beibehalten, während eine Last getragen wird, selbst wenn die Stromzufuhr abgeschaltet ist.
Wenn wir Linearantriebe unter 12 V mit Strom versorgen, fährt der Linearantrieb dennoch aus bzw. ein, aber nicht mit maximaler Geschwindigkeit. Das bedeutet, dass wir die Spannung der Stromversorgung ändern können, um die Geschwindigkeit des Linearantriebs zu verändern. Allerdings wird diese Methode in der Praxis nicht verwendet, da es schwierig ist, die Spannung der Stromversorgung zu steuern. Stattdessen fixieren wir die Spannung der Stromversorgung und steuern die Geschwindigkeit des Linearantriebs über ein PWM-Signal. Je größer der Tastgrad des PWM-Signals ist, desto schneller fährt der Linearantrieb aus bzw. ein.

Wie man einen Linearantrieb mit Arduino steuert
Die Steuerung eines Linearantriebs umfasst:
- Fährt den Linearantrieb mit maximaler Geschwindigkeit aus.
- Fährt den Linearantrieb mit maximaler Geschwindigkeit ein.
- (optional) steuert die Ausfahr- und Einfahrgeschwindigkeit.
Arduino kann das Signal erzeugen, um den Linearantrieb zu steuern. Allerdings hat dieses Signal eine geringe Spannung und einen geringen Strom, daher können wir es nicht verwenden, um den Linearantrieb zu steuern. Wir müssen dazwischen einen Hardwaretreiber verwenden. Der Treiber erledigt zwei Aufgaben:
- Das Steuersignal vom Arduino verstärken (Strom und Spannung)
- Ein weiteres Steuersignal vom Arduino empfangen, um die Polarität des Netzteils umzuschalten – zur Richtungssteuerung.
※ Notiz:
- Dieses Tutorial kann auf alle Linearantriebe angewendet werden. Ein 12-V-Linearantrieb ist nur ein Beispiel.
- Wenn Sie einen 5-V-Linearantrieb steuern, obwohl der Arduino-Pin 5 V ausgibt (die gleiche Spannung wie der Linearantrieb), benötigen Sie dennoch einen Treiber zwischen Arduino und Linearantrieb, da der Arduino-Pin nicht genügend Strom für den Linearantrieb liefert.
Es gibt viele Arten von Chips; Module (z. B. L293D, L298N) können als Treiber für lineare Aktuatoren verwendet werden. In diesem Tutorial verwenden wir den L298N-Treiber.
※ Notiz:
Sie können auch Relais als Treiber verwenden. Allerdings benötigt man vier Relais, um einen einzelnen Linearantrieb zu steuern (ausfahren und einfahren).
Über den L298N-Treiber
Der L298N-Treiber kann verwendet werden, um einen Linearantrieb, einen Gleichstrommotor und einen Schrittmotor zu steuern. In diesem Tutorial lernen wir, wie man ihn verwendet, um den Linearantrieb zu steuern.
L298N Treiber-Pinbelegung

Der L298N-Treiber hat zwei Kanäle, die als Kanal A und Kanal B bezeichnet werden. Daher kann der L298N-Treiber zwei Linearantriebe gleichzeitig unabhängig voneinander steuern. Nehmen wir an, dass der Linearantrieb A an Kanal A angeschlossen ist und der Linearantrieb B an Kanal B. Der L298N-Treiber hat 13 Pins:
Die gemeinsamen Pins für beide Kanäle:
- VCC-Pin: versorgt den Linearantrieb mit Strom. Er kann zwischen 5 und 35 V liegen.
- GND-Pin: ist ein gemeinsamer Masse-Anschluss und muss mit GND (0 V) verbunden werden.
- 5V-Pin: versorgt das L298N-Modul mit Strom. Es kann mit 5V vom Arduino versorgt werden.
Kanal A-Pins:
- ENA-Pins: Sie dienen der Steuerung der Geschwindigkeit des Linearantriebs A. Durch das Entfernen der Brücke und das Anschließen dieses Pins an den PWM-Eingang lässt sich die Ausfahr- bzw. Einfahrgeschwindigkeit des Linearantriebs A steuern.
- IN1- und IN2-Pins: IN1- und IN2-Pins dienen der Steuerung der Bewegungsrichtung eines Linearantriebs. Wenn einer von ihnen HIGH ist und der andere LOW, fährt der Linearantrieb aus oder ein. Sind beide Eingänge entweder HIGH oder LOW, stoppt der Linearantrieb.
- OUT1- und OUT2-Pins: OUT1- und OUT2-Pins sind mit dem Linearantrieb A verbunden.
Kanal B Pins:
- ENB-Pins: Werden verwendet, um die Geschwindigkeit des linearen Aktuators B zu steuern. Das Entfernen des Jumpers und das Anschließen dieses Pins an den PWM-Eingang ermöglichen es uns, die Ausfahr- bzw. Einfahrgeschwindigkeit des linearen Aktuators B zu steuern.
- IN3- und IN4-Pins: Werden verwendet, um die Bewegungsrichtung eines linearen Aktuators zu steuern. Wenn einer von ihnen HIGH ist und der andere LOW, fährt der lineare Aktuator aus oder ein. Sind beide Eingänge entweder HIGH oder LOW, stoppt der lineare Aktuator.
- OUT3- und OUT4-Pins: Sind mit einem linearen Aktuator verbunden.
Wie oben beschrieben verfügt der L298N-Treiber über zwei Eingangsspannungen:
- Einer für den linearen Aktuator (VCC- und GND-Pins): von 5 bis 35 V.
- Einer für den internen Betrieb des L298N-Moduls (5V- und GND-Pins): von 5 bis 7 V.
Der L298N-Treiber verfügt auch über drei Jumper für fortgeschrittene Anwendungen oder andere Zwecke. Zur Vereinfachung entfernen Sie bitte alle Jumper vom L298N-Treiber.
Wir können zwei lineare Aktuatoren gleichzeitig unabhängig voneinander steuern, indem wir einen Arduino und einen L298N-Treiber verwenden. Um jeden linearen Aktuator zu steuern, benötigen wir nur drei Pins vom Arduino.
※ Notiz:
Der verbleibende Teil dieses Tutorials steuert einen Linearantrieb über Kanal A. Die Steuerung des anderen Linearantriebs ist ähnlich.
Wie man einen linearen Stellantrieb steuert
Wir werden lernen, wie man einen Linearantrieb mit dem L298N-Treiber steuert.
Schaltplan
Bitte entfernen Sie vor dem Verkabeln alle drei Jumper am L298N-Modul.

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
Wie man einen Linearantrieb aus- und einfährt
Die Bewegungsrichtung eines Linearantriebs kann durch das Anwenden eines logischen HIGH/LOW auf die Pins IN1 und IN2 gesteuert werden. Die untenstehende Tabelle zeigt, wie die Richtung in beiden Kanälen gesteuert wird.
IN1 pin | IN2 pin | Direction |
---|---|---|
LOW | LOW | Linear Actuator A stops |
HIGH | HIGH | Linear Actuator A stops |
HIGH | LOW | Linear Actuator A extends |
LOW | HIGH | Linear Actuator A retracts |
- Verlängert Linearantrieb A
- Zieht Linearantrieb A zurück.
※ Notiz:
Die Bewegungsrichtung ist invertiert, wenn OUT1- und OUT2-Pins auf eine invertierte Weise mit zwei Pins des Linearantriebs verbunden sind. Falls dies der Fall ist, muss im Code lediglich OUT1- und OUT2-Pins getauscht werden oder das Steuersignal an IN1- und IN2-Pins geändert werden.
Wie man einen Linearantrieb daran hindert, sich auszufahren oder einzufahren
Der Linearantrieb stoppt automatisch das Ausfahren bzw. Einfahren, sobald er die Endlage erreicht hat. Wir können es auch programmgesteuert daran hindern, auszufahren bzw. einzufahren, solange es die Endlage noch nicht erreicht hat.
Es gibt zwei Möglichkeiten, einen Linearantrieb zu stoppen.
- Stellt die Geschwindigkeit auf 0 ein.
- Steuert die Pins IN1 und IN2 auf denselben Wert (LOW oder HIGH).
- Oder
Wie man die Geschwindigkeit eines Linearantriebs über den L298N-Treiber steuert
Es ist einfach, die Geschwindigkeit des Linearantriebs zu steuern. Anstatt den ENA-Pin auf HIGH zu setzen, erzeugen wir ein PWM-Signal am ENA-Pin. Wir können dies tun, indem wir:
- Verbinden Sie einen Arduino-Pin mit ENA des L298N.
- Generieren Sie ein PWM-Signal am ENA-Pin unter Verwendung der analogWrite()-Funktion. Der L298N-Treiber verstärkt das PWM-Signal für den Linearantrieb.
Die Geschwindigkeit ist ein Wert zwischen 0 und 255. Wenn die Geschwindigkeit 0 ist, stoppt der Linearantrieb. Wenn die Geschwindigkeit 255 beträgt, fährt der Linearantrieb mit maximaler Geschwindigkeit aus bzw. ein.
Arduino-Beispielcode
Der untenstehende Code tut Folgendes:
- Stellantrieb mit maximaler Geschwindigkeit ausfahren
- Linearantrieb stoppen
- Stellantrieb mit maximaler Geschwindigkeit einfahren
- Linearantrieb stoppen
Schnelle Schritte
- Entfernen Sie alle drei Jumper am L298N-Modul.
- Kopieren Sie den obigen Code und öffnen Sie ihn in der Arduino-IDE.
- Klicken Sie in der Arduino-IDE auf die Upload-Schaltfläche, um den Code auf den Arduino hochzuladen.
- Sie werden sehen:
- Der Linearantrieb fährt aus und stoppt dann, wenn er das Limit erreicht.
- Der Linearantrieb hält die Position für eine gewisse Zeit.
- Der Linearantrieb fährt ein und stoppt dann, wenn er das Limit erreicht.
- Der Linearantrieb hält die Position für eine gewisse Zeit.
- Der oben genannte Prozess wird wiederholt ausgeführt.
Video Tutorial
Wir erwägen die Erstellung von Video-Tutorials. Wenn Sie Video-Tutorials für wichtig halten, abonnieren Sie bitte unseren YouTube-Kanal , um uns zu motivieren, die Videos zu erstellen.