Raspberry Pi - Aktuator
Dieses Tutorial zeigt Ihnen, wie Sie den Raspberry Pi verwenden, um einen Linearantrieb zu steuern. Im Detail werden wir Folgendes lernen:
- Wie ein Linearantrieb funktioniert
- Wie man einen Raspberry Pi programmiert, um einen Linearantrieb auszufahren bzw. einzufahren
- Wie man einen Raspberry Pi programmiert, um die Geschwindigkeit eines Linearantriebs zu steuern
Es gibt zwei Arten von linearen Stellantrieben:
- Linearantrieb ohne Rückmeldung: Dieser fährt normalerweise vollständig aus oder vollständig ein und lässt sich nicht präzise so steuern, dass er an einer bestimmten Position stoppt.
- Linearantrieb mit Rückmeldung: Dieser besitzt ein Rückmeldesignal, das es ermöglicht, ihn präzise so zu steuern, dass er bis zu einer bestimmten Position ausgefahren oder eingefahren werden kann.
Dieses Tutorial ist für einen Linearantrieb ohne Rückkopplung. Wenn Sie mehr über einen Linearantrieb mit Rückkopplung erfahren möchten, lesen Sie bitte dieses Raspberry Pi - Aktuator mit Rückkopplung Tutorial.
Erforderliche Hardware
Oder Sie können die folgenden Kits kaufen:
| 1 | × | DIYables Sensor-Kit (30 Sensoren/Displays) | |
| 1 | × | DIYables Sensor-Kit (18 Sensoren/Displays) |
Über Linearantrieb

Linearantrieb Pinbelegung
Ein Linearantrieb hat zwei Drähte, wobei der positive Draht typischerweise rot ist und der negative Draht normalerweise schwarz.

Wie es funktioniert
Beim Kauf eines Linearantriebs ist es wichtig zu verstehen, welche Spannung er für den Betrieb benötigt. Als Beispiel betrachten wir einen 12-Volt-Linearantrieb.
Wenn Sie den 12-Volt-Linearantrieb mit einer 12-Volt-Stromquelle betreiben:
- Verbinde 12V mit dem positiven Draht und GND mit dem negativen Draht: Der Linearantrieb fährt mit Vollgas aus, bis er den Endanschlag erreicht.
- Verbinde 12V mit dem negativen Draht und GND mit dem positiven Draht: Der Linearantrieb fährt mit Vollgas zurück, bis er den Endanschlag erreicht.
Wenn die Stromzufuhr zum Aktuator dadurch unterbrochen wird, dass der Erdungsdraht sowohl mit dem Plus- als auch mit dem Minusdraht verbunden wird, hört der Prozess des Aus- bzw. Einfahrens auf.
※ Notiz:
Für Gleichstrommotoren, Servomotoren und Schrittmotoren ohne Getriebe gilt: Wenn eine Last vorhanden ist und die Stromversorgung abgeschaltet wird, können sie ihre Position nicht halten. Im Gegensatz dazu kann ein Aktuator seine Position beibehalten, auch wenn die Stromversorgung nicht mehr vorhanden ist, während er eine Last trägt.
Wenn die Spannung der Stromquelle für Linearantriebe weniger als 12 V beträgt, fährt der Linearantrieb dennoch aus bzw. ein, aber nicht mit maximaler Geschwindigkeit. Dies bedeutet, dass wir die Geschwindigkeit des Linearantriebs durch Ändern der Spannung verändern können. Dennoch wird diese Methode aufgrund der Schwierigkeit, die Spannung der Stromquelle zu steuern, nicht häufig angewendet. Daher wird die Spannung der Stromquelle konstant gehalten und die Geschwindigkeit des Linearantriebs mit einem PWM-Signal geregelt. Je größer der Tastgrad des PWM-Signals, desto schneller fährt der Linearantrieb aus bzw. ein.

So steuern Sie einen Linearantrieb mit dem Raspberry Pi
Die Steuerung eines linearen Aktuators umfasst:
- Den Linearantrieb mit maximaler Geschwindigkeit ausfahren.
- Den Linearantrieb mit maximaler Geschwindigkeit einfahren.
- (Optional) Die Ausfahr-/Einfahrrate regulieren.
Der Raspberry Pi ist in der Lage, ein Signal zu erzeugen, um den Linearantrieb zu steuern, jedoch besitzt dieses Signal eine geringe Spannung und geringe Stromstärke. Daher ist zwischen dem Raspberry Pi und dem Linearantrieb ein Hardware-Treiber erforderlich, um das Steuersignal vom Raspberry Pi zu verstärken und außerdem ein weiteres Steuersignal vom Raspberry Pi zu empfangen, um die Polarität der Spannungsversorgung für die Richtungssteuerung umzuschalten.
※ Notiz:
- Dieses Tutorial kann mit jedem Linearantrieb verwendet werden. Ein 12-V-Linearantrieb ist nur ein Beispiel.
- Wenn man einen 5-V-Linearantrieb steuert, auch wenn der GPIO-Pin des Raspberry Pi 5 V ausgibt (was der Spannung des Linearantriebs entspricht), wird dennoch ein Treiber zwischen dem Raspberry Pi und dem Linearantrieb benötigt, weil der GPIO-Pin des Raspberry Pi nicht genügend Strom für den Linearantrieb liefert.
Es gibt zahlreiche Arten von Chips und Modulen, die als Treiber für lineare Aktuatoren verwendet werden können, wie z. B. L293D und L298N. In diesem Tutorial verwenden wir den L298N-Treiber.
Über den L298N-Treiber
Der L298N-Treiber kann verwendet werden, um einen linearen Stellantrieb, einen Gleichstrommotor und einen Schrittmotor zu steuern. In diesem Tutorial wird erläutert, wie Sie ihn zur Steuerung des linearen Stellantriebs verwenden.
L298N Treiber-Pinbelegung

Der L298N-Treiber hat zwei Kanäle, die mit A und B bezeichnet sind. Dies ermöglicht es ihm, zwei lineare Aktuatoren gleichzeitig unabhängig zu steuern. Angenommen, der lineare Aktuator A ist an Kanal A angeschlossen und der lineare Aktuator B ist an Kanal B angeschlossen. Der L298N-Treiber hat insgesamt 13 Pins.
Die gemeinsamen Pins für beide Kanäle:
- VCC-Pin: Versorgt den Linearantrieb mit Strom, mit einem Spannungsbereich von 5 bis 35 V.
- GND-Pin: Dies ist ein gemeinsamer Masseanschluss und muss mit 0 V (GND) verbunden werden.
- 5V-Pin: Versorgt das L298N-Modul mit Strom und kann mit 5V vom Raspberry Pi gespeist werden.
Kanal A Pins:
- ENA-Pins: Diese Pins werden verwendet, um die Geschwindigkeit des Linearantriebs A zu steuern. Indem man den Jumper entfernt und diesen Pin mit dem PWM-Eingang verbindet, kann man die Aus- bzw. Einfahrgeschwindigkeit des Linearantriebs A steuern.
- IN1 und IN2-Pins: Diese Pins dienen dazu, die Richtung eines Linearantriebs zu steuern. Wenn einer von ihnen HIGH ist und der andere LOW, fährt der Linearantrieb aus bzw. fährt ein. Wenn beide Eingänge entweder HIGH oder LOW sind, stoppt der Linearantrieb.
- OUT1 und OUT2-Pins: Diese Pins sind mit dem Linearantrieb A verbunden.
Pins von Kanal B:
- ENB-Pins: Der Jumper kann entfernt werden und der Pin an einen PWM-Eingang angeschlossen werden, um die Geschwindigkeit des Linearantriebs B zu steuern.
- IN3- und IN4-Pins: Wenn einer dieser Pins auf HIGH und der andere auf LOW gesetzt wird, bewegt sich der Linearantrieb in eine der Richtungen. Sind beide auf denselben Zustand gesetzt (HIGH oder LOW), stoppt der Antrieb.
- OUT3- und OUT4-Pins: Diese Pins sind mit dem Linearantrieb verbunden.
Wie bereits erwähnt benötigt der L298N-Treiber zwei Stromversorgungen:
- Eine für den Linearantrieb (VCC- und GND-Pins): Spannungsbereich von 5 bis 35 V.
- Eine für den internen Betrieb des L298N-Moduls (5V- und GND-Pins): Spannungsbereich von 5 bis 7 V.
Entferne alle Jumper am L298N-Treiber, um die Schaltung zu vereinfachen.
Wir können zwei Linearantriebe unabhängig voneinander gleichzeitig betreiben, indem wir einen Raspberry Pi und einen L298N-Treiber verwenden. Um jeden Linearantrieb zu steuern, benötigen wir lediglich drei Pins vom Raspberry Pi.
※ Notiz:
Der verbleibende Teil dieses Tutorials wird sich darauf konzentrieren, einen Linearantrieb über Kanal A zu steuern. Der Betrieb des anderen Linearantriebs ist ähnlich.
So steuern Sie einen Linearantrieb
Wir werden untersuchen, wie man den L298N-Treiber verwendet, um einen Linearantrieb zu steuern.
Schaltplan
Entfernen Sie alle drei Jumper vom L298N-Modul, bevor Sie es anschließen.

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
Um Ihren Verdrahtungsaufbau zu vereinfachen und zu organisieren, empfehlen wir die Verwendung eines Schraubklemmenblock-Shields für Raspberry Pi. Dieses Shield gewährleistet sicherere und besser verwaltbare Verbindungen, wie unten gezeigt:

Wie man einen Linearantrieb aus- und einfährt
Die Bewegungsrichtung des Linearantriebs kann durch das Anlegen eines logischen HIGH/LOW an die Pins IN1 und IN2 geregelt werden. Die folgende Tabelle zeigt, wie man die Richtung in beiden Kanälen steuert.
| 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 |
- Erhöhen Sie die Länge des Linearantriebs A.
- Drehen Sie den Linearantrieb A um.
※ Notiz:
Die Ausrichtung des Linearantriebs kann umgekehrt werden, indem die OUT1- und OUT2-Pins in einer anderen Reihenfolge angeschlossen werden. Dazu müssen entweder die OUT1- und OUT2-Pins vertauscht oder die Steuersignale an den IN1- und IN2-Pins im Code geändert werden.
Wie man verhindert, dass sich ein Linearantrieb ausfährt oder einzieht
Der Linearantrieb wird das Ausfahren bzw. das Einfahren stoppen, sobald er den Grenzwert erreicht. Es ist auch möglich, das Ausfahren bzw. das Einfahren programmatisch zu stoppen, bevor er den Grenzwert erreicht.
Es gibt zwei Methoden, den Linearantrieb zu stoppen:
- Die Geschwindigkeit auf 0 einstellen
- Die Stromversorgung trennen
- Setzt die IN1- und IN2-Pins auf denselben Wert, entweder LOW oder HIGH.
- Oder
Wie man die Geschwindigkeit eines Linearantriebs über den L298N-Treiber steuert
Es ist einfach, die Geschwindigkeit des Linearantriebs zu regeln. Anstatt den ENA-Pin auf HIGH zu setzen, können wir ein PWM-Signal an den ENA-Pin erzeugen. Dies kann durch Folgendes erfolgen:
- Einen Pin des Raspberry Pi an den ENA des L298N anschließen.
- Erzeugung eines PWM-Signals am ENA-Pin durch Verwendung der Funktion pwm.ChangeDutyCycle(). Der L298N-Treiber verstärkt das PWM-Signal auf den Linearantrieb.
Die Geschwindigkeit ist ein Wert, der von 0 bis 255 reicht. Wenn die Geschwindigkeit 0 beträgt, stoppt der Linearantrieb seine Bewegung. Bei einer Geschwindigkeit von 255 fährt der Linearantrieb mit der maximalen Geschwindigkeit aus bzw. ein.
Raspberry Pi Beispielcode
Der folgende Code:
- Steuert den Linearantrieb bei maximaler Geschwindigkeit bis zu seinem maximalen Hub
- Steuert den Linearantrieb bei maximaler Geschwindigkeit bis zu seinem minimalen Hub
Schnelle Schritte
Entferne alle drei Jumper vom L298N-Modul. Und dann:
- Stellen Sie sicher, dass Raspbian oder ein anderes Raspberry Pi-kompatibles Betriebssystem auf Ihrem Raspberry Pi installiert ist.
- Stellen Sie sicher, dass Ihr Raspberry Pi im selben lokalen Netzwerk wie Ihr PC verbunden ist.
- Stellen Sie sicher, dass Ihr Raspberry Pi mit dem Internet verbunden ist, wenn Sie einige Bibliotheken installieren müssen.
- Wenn Sie den Raspberry Pi zum ersten Mal verwenden, sehen Sie sich Wie man den Raspberry Pi einrichtet an.
- Schließen Sie Ihren PC über SSH an den Raspberry Pi an, entweder mit dem integrierten SSH-Client unter Linux und macOS oder PuTTY unter Windows. Siehe Wie Sie Ihren PC über SSH mit dem Raspberry Pi verbinden.
- Stellen Sie sicher, dass Sie die RPi.GPIO-Bibliothek installiert haben. Falls nicht, installieren Sie sie mit dem folgenden Befehl:
- Erstellen Sie eine Python-Skriptdatei actuator.py und fügen Sie den folgenden Code hinzu:
- Speichern Sie die Datei und führen Sie das Python-Skript aus, indem Sie den folgenden Befehl im Terminal ausführen:
Das Skript läuft in einer Endlosschleife ununterbrochen, bis Sie im Terminal Strg + C drücken.
Bitte beachten:
- Der Linearantrieb fährt aus, bis er den Anschlag erreicht, und hält dann an.
- Der Linearantrieb verharrt in dieser Position für eine bestimmte Zeit.
- Der Linearantrieb fährt ein, bis er den Anschlag erreicht, und hält dann an.
- Der Linearantrieb verharrt in dieser Position für eine bestimmte Zeit.
- Dieser Zyklus wiederholt sich.
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.