Motortreiber Geschwindigkeitsregelung mit einem Arduino

In diesem Beispiel steuern wir die Geschwindigkeit eines Linearantriebs mit einem Arduino und einem Motortreiber.

Hinweis: In diesem Lernprogramm werden Vorkenntnisse in elektronischen Grundprinzipien, Arduino-Hardware und -Software vorausgesetzt. Wenn Sie Arduino zum ersten Mal verwenden, empfehlen wir Ihnen, die Grundlagen aus einem der vielen großartigen Anfänger-Tutorials zu lernen, die über die Google- und YouTube-Suche verfügbar sind. Bitte beachten Sie, dass wir nicht über die Ressourcen verfügen, um technischen Support für benutzerdefinierte Anwendungen bereitzustellen, und keine Debugging-, Bearbeitungs-, Code- oder Schaltpläne außerhalb dieser öffentlich verfügbaren Tutorials erstellen, bearbeiten.

Komponenten

Verdrahtung

Motortreiber Geschwindigkeitsregelung mit einem Arduino

Hardware- und Softwareübersicht

Die Gleichstrommotoren in Linearantrieben benötigen einen hohen Strom (bis zu 5 A). Wenn wir den Linearantrieb direkt an das Arduino anschließen, würde diese hohe Stromaufnahme die digitalen Arduino-Pins zerstören, da sie jeweils nur für 40 mA ausgelegt sind. Daher verwenden wir einen Motortreiber, der ein PWM-Signal (Pulsweitenmodulation) mit niedrigem Strom von der Arduino-Platine aufnehmen und ein PWM-Signal mit hohem Strom an den Linearaktuator ausgeben kann.

Der Motortreiber ist mit zwei digitalen PWM-Pins verbunden (Pins 10 und 11 am Arduino Uno). Durch Setzen eines dieser Pins auf LOW und des anderen auf HIGH (siehe Zeile 18 und 19 im Code unten) können wir den Aktuator mit maximaler Geschwindigkeit ausfahren. Um den Aktuator anzuhalten, setzen wir beide Pins auf LOW (siehe Zeile 21 und 22 im Code unten) und um die Bewegungsrichtung umzukehren, können wir die Reihenfolge der Pins HIGH und LOW umkehren (siehe Zeile 24 und 25 im Code unten). Wir können die Geschwindigkeit auch anpassen, indem wir die Variable „Geschwindigkeit“ auf einen beliebigen Wert im Bereich [0, 255] ändern. siehe Zeile 17 im Code unten.

Code

https://gist.github.com/Will-Firgelli/c0ef0871dc1946d75257e0c29dccae2a

Abwechslungsreiche Geschwindigkeitsregelung mit Potentiometer

Im obigen Beispiel stellen wir die Geschwindigkeit manuell in Zeile 17 des Codes ein. Es können jedoch Situationen auftreten, in denen wir die Geschwindigkeit des Stellantriebs zeitlich variieren möchten. Die einfachste Methode, dies zu erreichen, ist die Verwendung eines Potentiometers. EIN Potentiometer istEin variabler Widerstand mit drei Anschlüssen, der als Spannungsteiler fungieren kann. Durch Drehen des Knopfes des Potentiometers ändert sich die Ausgangsspannung und wir können diese mit dem analogen Pin eines Arduino verbinden, um eine variable Geschwindigkeit einzustellen.

Verdrahtung

Motortreiber Geschwindigkeitsregelung mit einem Arduino

Hardware- und Softwareübersicht

Wie oben erwähnt, ist ein Potentiometer eine Drehvorrichtung, die den Widerstand ändert, wenn der Knopf gedreht wird. Durch Verbinden der beiden äußeren Stifte des Potentiometers mit 5 V und GND und des mittleren Stifts mit dem Arduino-Analogstift A0 wird ein Spannungsteiler erzeugt. Wenn der Knopf gedreht wird, liest der Arduino analoge Messwerte im Bereich von [0, 1023].

Für Werte im Bereich [512, 1023] soll der Aktuator ausgefahren werden, und für Werte [0, 511] soll der Aktuator eingefahren werden. Dies kann mit einer einfachen if () / else-Anweisung in den Zeilen 22 und 28 in erreicht werden den Code unten. Mit der Funktion map () (Zeile 23 und 29 im folgenden Code) können wir dies in ein PWM-Signal umwandeln, das sowohl die Geschwindigkeit als auch die Richtung des Stellantriebs steuert.

Code

https://gist.github.com/Will-Firgelli/d2cdf69edc829974885984b3fb8e4856

Share This Article
Tags: