In unserem neuesten "Wie man"-Beitrag werden wir darüber sprechen, wie man die Timing des Bewegungsablaufs eines Linearantriebs mit einem Mikrocontroller steuert. Mikrocontroller bieten viel Freiheit in der Bewegungssteuerung und dies ist nur ein Beispiel für eine nahezu endlose Menge an verfügbaren Bewegungssteuerungsoptionen. Je nach Ihrer Anwendung kann das Beispielprojekt in diesem Artikel angepasst werden, um Ihren Anforderungen gerecht zu werden, egal ob Sie einen weiteren zeitgesteuerten Antrieb hinzufügen oder die Stromversorgung verstärken, um einen stärkeren Linearantrieb zu betreiben, es liegt ganz bei Ihnen.
Bewegungssteuerung mit einem Mikrocontroller
Ein Arduino-Mikrocontroller wird verwendet, um die Bewegungszeit eines Linearantriebs zu steuern, aber jeder Mikrocontroller funktioniert. Da wir jedoch ein Shield verwenden, muss der Mikrocontroller kompatibel sein. Wir werden Sie durch die verschiedenen Parameter führen, die Sie anpassen können, um die Geschwindigkeit eines Linearantriebs zu ändern.
Was Sie benötigen
Für dieses Beispiel verwenden wir die folgenden Komponenten zur Steuerung eines Linearantriebs:
- 1 x MegaMoto Plus
- 1 x Arduino Uno Rev3
- 1 x Mini-Industrieller Antrieb (PA-09, aber jeder Linearantrieb funktioniert)
- 1 x Stromversorgung (PS-20-12, aber jede 12V-Stromversorgung funktioniert)
Komponenten verbinden
Jetzt, da wir unsere Materialien haben, müssen wir alles verbinden. Glücklicherweise sind die Verbindungen einfach, indem wir ein Shield verwenden, anstatt eine separate Platine, die zusätzliche Verkabelung und Lötarbeiten erfordert.
Zuerst verbinden wir unseren Antrieb mit unserem LC-80 MegaMoto Plus Shield, indem wir die beiden Drahtleitungen des Antriebs an die A/B-Schraubenklemmen des LC-80 anschließen. Dann müssen wir das LC-80 mit unserer Stromversorgung verbinden, in diesem Fall der PS-20-12. Wir tun dies, indem wir positive und negative Drähte von der Stromversorgung an die BAT +/- Klemmen des LC-80 anschließen.
Schließlich müssen wir das LC-80 mit dem LC-066 verbinden, was so einfach ist, wie es übereinander zu stecken, wie im Bild unten gezeigt.

Den Code anpassen
Um die volle Kontrolle über die Bewegung unseres Antriebs zu erhalten, müssen wir einige Programmierungen des Linearantriebs mit unserer Arduino-Einheit durchführen. Wir haben einen Beispielcode vorbereitet, der unseren Antrieb für 10 Sekunden in jede Richtung ausfahren und dann für einen Zyklus von 300 Sekunden zurückziehen lässt.
//Verwenden Sie die Jumper auf der Platine, um auszuwählen, welche Pins verwendet werden
int EnablePin1 = 13;
int PWMPinA1 = 11;
int PWMPinB1 = 3;
int extendtime = 10 * 1000; // 10 Sekunden, multipliziert mit 1000, um in Millisekunden umzuwandeln
int retracttime = 10 * 1000; // 10 Sekunden, multipliziert mit 1000, um in Millisekunden umzuwandeln
int timetorun = 300 * 1000; // 300 Sekunden, multipliziert mit 1000, um in Millisekunden umzuwandeln
int duty;
int elapsedTime;
boolean keepMoving;
void setup() {
Serial.begin(9600);
pinMode(EnablePin1, OUTPUT);//Aktivieren Sie die Platine
pinMode(PWMPinA1, OUTPUT);
pinMode(PWMPinB1, OUTPUT);//Motor-Ausgänge festlegen
elapsedTime = 0; // Zeit auf 0 setzen
keepMoving = true; //Das System wird sich bewegen
}//Ende Setup
void loop() {
if (keepMoving)
{
digitalWrite(EnablePin1, HIGH); // Motor aktivieren
pushActuator();
delay(extendtime);
stopActuator();
delay(10);//kleine Verzögerung vor dem Zurückziehen
pullActuator();
delay(retracttime);
stopActuator();
elapsedTime = millis();//Wie lange ist es her?
if (elapsedTime > timetorun) {//Wenn 300 Sekunden vergangen sind, stoppen
Serial.print("Die verstrichene Zeit überschreitet die maximale Laufzeit. Maximale Laufzeit: ");
Serial.println(timetorun);
keepMoving = false;
}
}//Ende if
}//Ende Hauptschleife
void stopActuator() {
analogWrite(PWMPinA1, 0);
analogWrite(PWMPinB1, 0); // Geschwindigkeit 0-255
}
void pushActuator() {
analogWrite(PWMPinA1, 255);
analogWrite(PWMPinB1, 0); // Geschwindigkeit 0-255
}
void pullActuator() {
analogWrite(PWMPinA1, 0);
analogWrite(PWMPinB1, 255);//Geschwindigkeit 0-255
}
Es ist wichtig, den Code Zeile für Zeile durchzugehen, um zu versuchen, zu verstehen, was vor sich geht. Indem Sie dies tun, können Sie den Code anpassen, um eine Vielzahl anderer Aufgaben auszuführen. Für den Moment ist jedoch der wichtigste Teil der erste Abschnitt und die Setup-Schleife, die sich auf die Zuweisung von Pins und die Einstellung der Zyklusgeschwindigkeit konzentriert.
Sie müssen die Pins auf unserem LC-80 so konfigurieren, dass sie mit dem übereinstimmen, was im ersten Abschnitt des Codes steht, indem Sie die Jumper auf dem LC-80 einstellen oder den Code anpassen. In diesem Fall setzen Sie den "Enable"-Pin auf D13, den "PWMA"-Pin auf D11 und den "PWMB"-Pin auf D3. Der "Enable"-Pin ist das, was den Motor steuert und mit Strom versorgt, und ohne ihn wird der Antrieb aufhören sich zu bewegen und kann nicht gesteuert werden. Die Pins "PWMA" und "PWMB" steuern das Ausfahren und Einziehen des Antriebs. Wir benötigen in diesem Beispiel keine "Sensor"-Pins, also machen Sie sich keine Sorgen, dort etwas auszuwählen.
Die Steuerung des Timers eines Linearantriebs ist nun abgeschlossen. Sie können den Code über die IDE von Arduino hochladen (von der Arduino-Website herunterladen). Sobald Sie Ihren Linearantrieb ausfahren und einziehen lassen, warum nicht ein wenig mit dem Code experimentieren? Versuchen Sie, die Ausfahr-/Einziehzeit im Code anzupassen, laden Sie ihn erneut auf das Arduino hoch und sehen Sie, wie der Linearantrieb reagiert. Durch die Anpassung dieser Zahlen im Code können Sie die Geschwindigkeit und die gesamte Bewegungszykluszeit basierend auf Ihrer gewünschten Anwendung steuern.
Fazit
Im Folgenden haben wir ein Video eines Timing-Antriebs in Aktion eingefügt. Für das Video-Beispiel wollten wir eine andere Möglichkeit zeigen, wie Sie das Timing ändern können, also haben wir ihn so eingestellt, dass er sich jeweils 5 Sekunden lang über einen Zyklus von 20 Sekunden aus- und einzieht.
Wie bereits erwähnt, ist dies nur ein Beispiel dafür, wie Sie die Bewegung eines Antriebs mit Hilfe unserer Mikrocontroller ändern können. Wenn Sie Ihre eigene benutzerdefinierte Steuerungsmethode im Kopf haben, können Sie ein Steuersystem speziell für Ihre benutzerdefinierten Anforderungen mit Hilfe unseres talentierten Ingenieurteams erstellen. Sie werden Sie durch den Prozess führen und sicherstellen, dass Sie die volle Kontrolle über Ihre Einheiten haben. Wenn Sie mehr über den Prozess der benutzerdefinierten Bestellung erfahren möchten, schauen Sie sich unsere Seite für benutzerdefinierte Bestellungen an.