Willkommen zu einem weiteren technischen Blog von Progressive Automations! Heute werden wir erläutern, wie ein Arduino mit unserem PA-04-HS kommunizieren kann.
Ein Hall-Effekt-Sensor ist ein elektronisches Bauteil, das eine präzise Steuerung eines linearen Aktuators ermöglicht. Er wird normalerweise innerhalb des Getriebes zusammen mit einer magnetischen Scheibe positioniert. Wenn sich der lineare Aktuator bewegt, rotiert die magnetische Scheibe, wodurch ein Magnetfeld entsteht, das durch den Hall-Effekt-Sensor hindurchgeht. Dies erzeugt einen Spannungspuls, der gezählt werden kann, um die Position, Geschwindigkeit oder Richtung des linearen Aktuators zu bestimmen. Um diese Signale zu nutzen, muss jedoch ein Mikrocontroller wie ein Arduino oder Raspberry Pi verwendet werden. In diesem Artikel werden wir uns mit der Verwendung eines Aktuators für einen Raspberry Pi und der Steuerung eines linearen Aktuators mit Arduino befassen. Wie bereits erwähnt, werden beide Mikrocontroller mit einem PA-04-HS Hall-Effekt-Linearantrieb von Progressive Automations demonstriert.
[cta-inhalt]
Der PA-04-HS kommt mit integriertem Hall-Effekt-Feedback!
Berechnungen zu Position, Geschwindigkeit und Richtung
Bevor wir in die Einzelheiten eintauchen, ist das erste, was wir verstehen müssen, wie die Signale, die vom Hall-Effekt-Sensor kommen, verwendet werden, um die Position, Geschwindigkeit und Richtung des linearen Aktuators zu berechnen. Im PA-04-HS ist der Hall-Effekt-Sensor so konzipiert, dass er zwei Signale in einem von zwei binären Zuständen erzeugt: ein oder aus. Diese beiden Signale steigen und fallen, während der Elektromotor mit einem Phasenunterschied von 90 Grad zwischen ihnen rotiert. Machen Sie sich keine Sorgen, wenn Sie nicht wissen, wie Sie dies in einen Code umsetzen, der von einem Mikrocontroller gelesen werden kann; wir werden Ihnen das später in diesem Artikel geben.
Position
Die Position des linearen Aktuators erfordert einige Berechnungen unter Verwendung der Hall-Effekt-Signale und einiger Messungen des Aktuators selbst. Die Gleichung für die Position des Aktuatorstabs erfordert die Hublänge des Aktuators und die Gesamtzahl der von vollständig eingefahren bis vollständig ausgefahren erkannten Kanten. Mit diesen Messungen kann die folgende Gleichung verwendet werden:

Die in der obigen Gleichung erkannten Kanten, seit sie vollständig eingefahren sind, beginnen bei null und erhöhen sich um eins, wenn eine Kante in Vorwärtsrichtung erkannt wird, und verringern sich um eins, wenn eine Kante in Rückwärtsrichtung erkannt wird.
Geschwindigkeit
Die Geschwindigkeit eines Aktuators kann unter Verwendung der Hall-Effekt-Signale gemessen werden, indem ein Timer im Programm implementiert wird. Dieser Timer wird verwendet, um die Zeit zwischen den erkannten Kanten zu messen. Darüber hinaus ist der berechnete Wert der Änderung der Hublänge pro erkannter Kante erforderlich. Mit diesen Werten kann die folgende Gleichung verwendet werden:

Richtung
Die Richtung der Bewegung eines Aktuators kann bestimmt werden, indem der aktuelle Zustand der beiden Signale (Signal A und B) betrachtet und mit dem letzten Zustand der beiden Signale verglichen wird. Dies liegt daran, dass sich die beiden Signale ändern, welches führend und welches nachfolgend ist, abhängig von der Richtung der Bewegung des Aktuators.


Was ist besser, ein Arduino oder ein Raspberry Pi Mikrocontroller?
Es geht nicht darum, welcher im Allgemeinen besser ist, sondern vielmehr darum, welcher besser für Ihre beabsichtigte Anwendung ist. Es wäre besser, ein Arduino zu wählen, wenn die Hauptaufgabe Ihrer Anwendung darin besteht, die Daten vom Hall-Effekt-Sensor zu lesen und einen bestimmten Satz von Anweisungen zurückzugeben.
Andererseits wäre der Raspberry Pi praktischer, wenn es darum geht, Aufgaben zu lösen, die auf einem Personal Computer ausgeführt werden würden. Darüber hinaus vereinfacht der Raspberry Pi das Workflow-Management in verschiedenen Szenarien, wie z.B. die Verbindung mit dem Internet oder die Steuerung eines linearen Aktuators über ein mobiles Gerät.
Es kann praktisch sein, beide Mikrocontroller zu verwenden, um verschiedene Aufgaben zu lösen. Der Raspberry Pi könnte Zugriff auf den Code erhalten und verschiedene Parameter anpassen, die dann an ein Arduino gesendet werden können, um den linearen Aktuator basierend auf den Informationen, die er sammelt, zu steuern.
Lassen Sie uns in die Einzelheiten eintauchen und Ihnen zeigen, wie Sie einen linearen Aktuator mit Arduino steuern.
Arduino mit linearen Aktuatoren

Je nach Ihrer Anwendung können Sie zwischen der Verwendung einer Abfragemethode oder einer Unterbrechung mit einem Mikrocontroller wählen, wenn es um digitale Signale geht. Abfragen ist eine programmierte Methode, bei der ein Mikrocontroller regelmäßig den Zustand eines Eingangs überprüft, um zu sehen, ob es eine Änderung gegeben hat. Unterbrechungen sind ein Hardware-Mechanismus, der sofort den Fokus des Programms des Mikrocontrollers verschiebt, wenn sich der Zustand an einem Eingang ändert.
Zu Demonstrationszwecken werden wir uns für die Unterbrechungsmethode entscheiden, um den genauen Moment zu erfahren, in dem ein Signal seinen Zustand ändert. Bei einem Arduino-Mikrocontroller wird eine Unterbrechung verwendet, indem eine Interrupt-Service-Routine (ISR) erstellt wird.
Hier ist, was Sie benötigen:
Verdrahtung der Arduino- und Shield-Komponenten
Die Hall-Effekt-Sensoren haben 4 Drähte: 5V, GND und 2 Signaldraht. Jeder Signaldraht gibt Pulse aus, während der Motor dreht. Es gibt auch zwei Aktuatorkabel, die mit dem MegaMoto verbunden werden müssen. Wir werden nur eines der Hall-Effekt-Signale verwenden.
Verbinden Sie den linearen Aktuator mit dem Arduino und MegaMoto wie folgt:
- Rotes Sensorkabel mit dem Arduino 5V-Pin.
- Schwarzes Sensorkabel mit dem Arduino GND-Pin.
- Gelbes/Oranges Kabel mit dem Arduino-Pin 2 oder 3 (wenn Sie einen anderen Arduino verwenden, stellen Sie sicher, dass die Pins Unterbrechungen sind).
- Rotes Aktuatorkabel mit MOTA des MegaMoto.
- Schwarzes Aktuatorkabel mit MOTB des MegaMoto.
Sobald die Motoren korrekt mit den Platinen verdrahtet sind, verdrahten Sie die Stromversorgung wie folgt:
- 12V an BAT+ anschließen.
- GND an BAT- anschließen.
- 12V an Vin am Arduino anschließen.
- Verdrahten Sie zwei Tasten zwischen den Pins 7 und 8 am Arduino und verbinden Sie sie mit GND.
Es gibt 4 Arten von Auslösern für die Unterbrechung: steigend, fallend, hoch und niedrig. Durch Ändern des Auslösers können Sie anpassen, wann die Unterbrechung erfolgt. Steigend ist, wenn der Pin einen Übergang von niedrig nach hoch sieht, fallend ist, wenn er hoch nach niedrig sieht, niedrig ist, wenn der Pin niedrig ist, und hoch ist, wenn der Pin hoch ist.
Für den vollständigen Arduino-Code besuchen Sie unseren Leitfaden hier: Hall-Effekt-Linearantrieb Arduino-Code
Der Code bewegt den Aktuator vorwärts oder rückwärts um einen bestimmten Betrag, wenn Sie die Tasten an Pin 7 oder 8 drücken (aktiv NIEDRIG). Er enthält auch eine Homing-Routine. Dies ist wichtig, da Sie, wenn Sie den Motor lange Zeit hin und her laufen lassen, hier und da einen Zähler verlieren und langsam den Überblick verlieren können, wo Sie sich befinden. Die Homing-Routine bewegt den linearen Aktuator zurück zu einer bekannten Position, damit der Zähler zurückgesetzt werden kann.
Raspberry Pi Aktuator
Wie schließt man einen Aktuator an einen Raspberry Pi 2, 4 oder ein neueres Modell an? Die Steuerung eines linearen Aktuators mit einem Raspberry Pi ist einfach und kann über das Internet erfolgen, was eine drahtlose Steuerung ermöglicht. Befolgen Sie die Schritte in der folgenden Anleitung, um genau zu sehen, wie: Raspberry Pi Linearantriebsteuerung.
Der Raspberry Pi 4 wird verwendet, um die Server-Software auszuführen und Befehle zur Steuerung des linearen Aktuators zu empfangen. Diese Anleitung verwendet jedoch keinen Hall-Effekt-Sensor. Um dies zu tun, kann ein Arduino-Board mit dem linearen Aktuator und dem Raspberry Pi verbunden werden, um Daten drahtlos zu senden/zu empfangen. Obwohl der Raspberry Pi auch direkt verwendet werden kann, um Sensordaten zu lesen, ähnlich wie der Arduino, kann es übertrieben sein, wenn Sie nur einige wenige lineare Aktuatoren steuern.
Steuerung mehrerer linearer Aktuatoren

Wenn Sie mehrere lineare Aktuatoren mit einem Raspberry Pi oder Arduino steuern müssen, benötigen Sie einige zusätzliche Komponenten, und der Code muss angepasst werden. Zwei oder mehr lineare Aktuatoren können synchronisiert werden, indem die Zählungen des Hall-Effekt-Sensors verfolgt werden, und wenn sich die Zählungen der linearen Aktuatoren zu weit voneinander entfernen, wird jeder lineare Aktuator langsamer, um die Positionen auszugleichen.
Sehen Sie sich das vollständige Set von Anweisungen hier an: Steuern Sie mehrere lineare Aktuatoren mit einem Mikrocontroller
Alternativ, wenn die Synchronisation nicht Teil Ihrer beabsichtigten Anwendung ist, verwenden Sie einfach ein Arduino für einen oder zwei Aktuatoren, je nach Anzahl der verfügbaren Interrupt-Pins. Um mehr Aktuatoren zu steuern, können Sie entweder mehr Arduino-Boards verwenden oder ein Arduino-Shield mit mehr Interrupt-Pins erhalten.
[cta-inhalt]
Durchsuchen Sie unser Sortiment an Mikrocontrollern für die ultimative Aktuatorsteuerung!
Durchsuchen Sie Mikrocontroller
Fazit
Wenn Sie bereit für die Herausforderung sind, gibt es zusätzliche Methoden, die Sie ausprobieren können, indem Sie ein Arduino mit linearen Aktuatoren verwenden, um die Bewegung zu steuern, wie z.B. die Verwendung von cleverem PID-Code, den Sie hier sehen können: PID-Steuerung des linearen Aktuators. Ein Hall-Effekt-Sensor in einem linearen Aktuator, wie dem PA-04-HS, bietet ein zusätzliches Maß an Kontrolle, das leicht mit Hilfe eines Arduino oder Raspberry Pi eingerichtet werden kann. Egal, ob Ihre Anwendung nur das Lesen von Sensordaten erfordert oder ob Sie Ihren linearen Aktuator auf die nächste Stufe bringen möchten, indem Sie ihn online stellen, ein Hall-Effekt-Sensor, kombiniert mit einem Mikrocontroller Ihrer Wahl, ist der richtige Weg.
Wenn Sie Fragen zum Inhalt dieses Artikels haben oder einfach nur mögliche Produktlösungen besprechen möchten, kontaktieren Sie uns und wir helfen Ihnen gerne weiter.