Für Automatisierungsmaschinen, die nur zwei bis drei Achsen elektrischer Antriebe benötigen, sind Impulsausgänge möglicherweise die einfachste Lösung.
Die Nutzung von Impulsausgängen einer SPS ist eine kostengünstige Möglichkeit, einfache Bewegungen zu realisieren. Die meisten, wenn nicht alle SPS-Hersteller bieten die Möglichkeit, Servomotoren und Schrittmotoren über ein Impulssignal zu steuern. Wenn eine einfache Maschine mit nur zwei oder drei Achsen und elektrischen Antrieben automatisiert werden muss, lassen sich Impulsausgänge deutlich einfacher einrichten, verdrahten und programmieren als analoge Signale. Sie sind zudem möglicherweise kostengünstiger als vernetzte Bewegungssteuerungen wie Ethernet/IP.
Sehen wir uns also die Steuerung eines Schrittmotors oder Servos mit einem Treiber oder Verstärker zwischen Controller und Motor an, wobei der Schwerpunkt auf den vom Controller oder Indexer verwendeten Impulssignalen liegt.
Grundlagen der Impulsfolge
Schrittmotoren und pulsgesteuerte Servomotoren können in beide Richtungen rotieren. Das bedeutet, dass eine Steuerung mindestens zwei Steuersignale an den Antrieb senden muss. Es gibt zwei Möglichkeiten, diese Signale bereitzustellen, und verschiedene Hersteller bezeichnen sie unterschiedlich. Es gibt zwei gängige Bezeichnungen für die beiden verwendeten Steuersignalschemata: den „1P-Modus“, auch bekannt als „Schritt-/Richtungsmodus“, und den „2P-Modus“, der als „CW/CCW-Modus“ oder „Uhrzeigersinn/Gegenuhrzeigersinn“ bezeichnet wird. Beide Modi erfordern zwei Steuersignale von der Steuerung an den Antrieb.
Im 1P-Modus ist ein Steuersignal ein Impuls- oder Schrittsignal. Das andere Signal ist ein Richtungseingang. Ist der Richtungseingang eingeschaltet und liegt ein Impulssignal am Schritteingang an, dreht sich der Motor im Uhrzeigersinn. Ist das Richtungssignal hingegen ausgeschaltet und liegt ein Impulssignal am Schritteingang an, dreht sich der Motor in die andere Richtung, also gegen den Uhrzeigersinn. Der Impuls liegt immer am gleichen Eingang an, unabhängig von der gewünschten Richtung.
Im 2P-Modus bilden beide Signale eine Impulsfolge. Es hat immer nur ein Eingang eine Frequenz. Liegt also eine Impulsfolge im Uhrzeigersinn an, dreht sich der Motor im Uhrzeigersinn. Liegt eine Impulsfolge gegen den Uhrzeigersinn an, dreht sich der Motor gegen den Uhrzeigersinn. Welcher Eingang die Impulsfolge empfängt, hängt von der gewünschten Richtung ab.
Die vom Controller ausgegebenen Impulse versetzen den Motor in Bewegung. Der Motor dreht sich pro Impuls am Impulseingang des Antriebs um eine Einheit. Wenn beispielsweise ein zweiphasiger Schrittmotor 200 Impulse pro Umdrehung (Impulse pro Umdrehung, I/U) hat, bewirkt ein Impuls eine Drehung des Motors um 1/200 einer Umdrehung oder 1,8 Grad, während 200 Impulse eine Umdrehung bewirken.
Natürlich haben verschiedene Motoren unterschiedliche Auflösungen. Schrittmotoren können Mikroschritte ausführen, wodurch sie viele tausend Impulse pro Umdrehung erzeugen. Servomotoren haben in der Regel eine Mindestauflösung von vielen tausend Impulsen pro Umdrehung. Unabhängig von der Motorauflösung bewirkt ein Impuls vom Controller oder Indexer nur eine inkrementelle Drehung.
Die Drehzahl eines Motors hängt von der Impulsfrequenz bzw. -geschwindigkeit ab. Je schneller die Impulse, desto schneller dreht sich der Motor. Im obigen Beispiel würde eine Frequenz von 200 Impulsen pro Sekunde (pps) bei einem Motor mit 200 ppr eine Umdrehung pro Sekunde (rps) oder 60 Umdrehungen pro Minute (rpm) bewirken. Je mehr Impulse für eine Umdrehung (ppr) des Motors benötigt werden, desto schneller müssen die Impulse gesendet werden, um die gleiche Drehzahl zu erreichen. Beispielsweise müsste bei einem Motor mit 1.000 ppr die Impulsfrequenz um das Doppelte höher sein als bei einem Motor mit 200 ppr, um die gleiche Drehzahl zu erreichen. Die Rechnung ist ganz einfach:
rps = pps/ppr (Umdrehungen pro Sekunde = Impulse pro Sekunde/Impulse pro Umdrehung)
U/min = U/s(60)
Kontrolle der Impulse
Die meisten Steuerungen verfügen über eine Methode zur Bestimmung, ob der Motor im oder gegen den Uhrzeigersinn drehen soll, und steuern die Signale entsprechend. Anders ausgedrückt: Der Programmierer muss normalerweise nicht herausfinden, welche Ausgänge aktiviert werden sollen. Viele SPSen verfügen beispielsweise über Funktionen zur Bewegungssteuerung mittels Impulssignal. Diese Funktion steuert die Ausgänge automatisch, um die richtige Drehrichtung zu erhalten, unabhängig davon, ob die Steuerung für den 1P- oder 2P-Modus konfiguriert ist.
Betrachten wir als einfaches Beispiel zwei Bewegungen. Beide Bewegungen umfassen 1.000 Impulse. Eine davon erfolgt in positiver, die andere in negativer Richtung. Die Steuerung aktiviert die entsprechenden Ausgänge (1P oder 2P), um den Motor in positiver Richtung (normalerweise im Uhrzeigersinn) drehen zu lassen, wenn die Anzahl der angeforderten Impulse 1.000 beträgt. Gibt ein Programm hingegen -1.000 Impulse vor, aktiviert die Steuerung die entsprechenden Ausgänge für eine Bewegung in negativer Richtung (normalerweise gegen den Uhrzeigersinn). Daher ist es für den Programmierer nicht erforderlich, die Drehrichtung des Motors durch die Auswahl der zu verwendenden Ausgänge im Programmcode zu steuern. Die Steuerung erledigt dies automatisch.
Controller und Treiber bieten in der Regel die Möglichkeit, den Impulstyp entweder per DIP-Schalter oder per Softwareauswahl auszuwählen. Es ist wichtig, dass Controller und Treiber identisch eingestellt sind. Andernfalls kann der Betrieb fehlerhaft sein oder ganz ausfallen.
Absolute und inkrementelle Bewegungen
Die beiden häufigsten Bewegungsbefehle in der Motion-Control-Programmierung sind inkrementelle und absolute Bewegungsbefehle. Das Konzept absoluter und inkrementeller Bewegungen verwirrt viele Anwender, unabhängig von der verwendeten Motorsteuerungsmethode. Diese Informationen gelten jedoch unabhängig davon, ob der Motor mit Impulsen, einem analogen Signal oder einem Netzwerk wie Ethernet/IP oder Ethercat gesteuert wird.
Erstens: Wenn ein Motor über einen Encoder verfügt, haben seine Bewegungsarten nichts mit dem Encodertyp zu tun. Zweitens können absolute und inkrementelle Bewegungen unabhängig davon ausgeführt werden, ob ein absoluter oder inkrementeller Encoder vorhanden ist oder ob überhaupt kein Encoder vorhanden ist.
Beim Bewegen einer Linearachse, beispielsweise eines Kugelumlaufspindelantriebs, mit einem Motor besteht (offensichtlich) ein begrenzter Abstand zwischen den beiden Enden des Antriebs. Anders ausgedrückt: Befindet sich der Schlitten an einem Ende des Antriebs, kann der Motor nur so lange gedreht werden, bis der Schlitten das gegenüberliegende Ende erreicht. Dies entspricht der Hublänge. Beispielsweise befindet sich bei einem Antrieb mit 200 mm Hub normalerweise ein Ende des Antriebs in der Null- bzw. Grundposition.
Eine absolute Bewegung transportiert den Schlitten unabhängig von seiner aktuellen Position zur gewünschten Position. Wenn beispielsweise die aktuelle Position Null ist und die gewünschte Bewegung 100 mm beträgt, sendet die Steuerung genügend Impulse, um den Antrieb bis zur 100-mm-Markierung vorwärts zu bewegen und anzuhalten.
Wenn die aktuelle Position des Aktuators jedoch 150 mm beträgt, würde eine absolute Bewegung von 100 mm dazu führen, dass der Controller Impulse in die negative Richtung sendet, um den Aktuator 50 mm nach hinten zu bewegen und an der 100-mm-Position anzuhalten.
Praktische Anwendungen
Das häufigste Problem bei der Impulssteuerung liegt in der Verdrahtung. Die Signale werden oft versehentlich vertauscht. Im 2P-Modus bedeutet dies, dass der CCW-Ausgang mit dem CW-Eingang verbunden ist und umgekehrt. Im 1P-Modus bedeutet dies, dass der Impulssignalausgang mit dem Richtungseingang und der Richtungssignalausgang mit dem Impulseingang verbunden ist.
Im 2P-Modus führt dieser Verdrahtungsfehler dazu, dass der Motor im Uhrzeigersinn dreht, wenn er gegen den Uhrzeigersinn gedreht werden soll, und gegen den Uhrzeigersinn, wenn er gegen den Uhrzeigersinn gedreht werden soll. Im 1P-Modus ist das Problem schwieriger zu diagnostizieren. Sind die Signale vertauscht, sendet der Controller eine Impulsfolge an den Richtungseingang, die jedoch nichts bewirkt. Er sendet außerdem eine Richtungsänderung (das Signal wird je nach Richtung ein- oder ausgeschaltet) an den Schritteingang, was den Motor impulsartig drehen lassen kann. Ein Bewegungsimpuls ist in der Regel kaum zu erkennen.
Die Verwendung des 2P-Modus erleichtert die Fehlersuche und ist in der Regel auch für Personen ohne große Erfahrung mit dieser Art der Bewegungssteuerung leichter verständlich.
Hier ist eine Methode, mit der Sie die Fehlersuche bei Impuls- und Richtungsachsen so schnell wie möglich verkürzen können. So können sich Ingenieure auf eine Sache konzentrieren. So müssen Sie nicht tagelang nach Verdrahtungsfehlern suchen, die die Bewegung verhindern, nur um dann festzustellen, dass die Impulsausgabefunktion in der SPS falsch konfiguriert ist und Sie nie Impulse ausgegeben haben.
1. Bestimmen Sie den zu verwendenden Pulsmodus und verwenden Sie für alle Achsen denselben Modus.
2. Stellen Sie den Controller auf den richtigen Modus ein.
3. Stellen Sie das Laufwerk auf den richtigen Modus ein.
4. Erstellen Sie in Ihrer Steuerung das einfachste Programm (normalerweise eine Tippfunktion), sodass der Motor angewiesen werden kann, sich langsam in die eine oder andere Richtung zu drehen.
5. Befehlen Sie eine CW-Bewegung und achten Sie auf Status im Controller, die darauf hinweisen, dass Impulse ausgegeben werden.
Dies können LEDs an den Ausgängen der Steuerung oder Statusflags wie das Busy-Flag in der SPS sein. Der Impulsausgangszähler in der Steuerung kann ebenfalls überwacht werden, um zu sehen, ob sich sein Wert ändert.
–Der Motor muss nicht an Ausgangsimpulse angeschlossen werden.
6. Wiederholen Sie den Test gegen den Uhrzeigersinn.
7. Wenn die Impulsausgabe in beide Richtungen erfolgreich ist, fahren Sie fort. Wenn nicht, muss zuerst die Programmierung geklärt werden.
8. Verdrahten Sie den Controller mit dem Treiber.
9. Bewegen Sie den Motor in eine Richtung. Wenn dies funktioniert, fahren Sie mit Schritt 10 fort. Wenn dies nicht funktioniert, überprüfen Sie die Verkabelung.
10. Bewegen Sie den Motor in die entgegengesetzte Richtung. Wenn es funktioniert, haben Sie es geschafft. Wenn es nicht funktioniert, überprüfen Sie die Verkabelung.
In dieser ersten Phase wurden viele Stunden vergeudet, da die Impulsfrequenz so niedrig ist, dass der Motor sich extrem langsam dreht, etwa 1/100 U/s. Wenn Sie den Betrieb nur durch Beobachten der Motorwelle erkennen können, sieht es möglicherweise so aus, als würde er sich nicht mit niedriger Geschwindigkeit bewegen, was zu der Annahme verleitet, dass er keine Impulse aussendet. Am besten berechnen Sie eine sichere Geschwindigkeit basierend auf der Motorauflösung und den Anwendungsparametern, bevor Sie die Geschwindigkeit für den Test festlegen. Manche glauben, sie könnten eine brauchbare Geschwindigkeit einfach durch Raten festlegen. Wenn der Motor jedoch 10.000 Impulse für eine Umdrehung benötigt und die Impulsfrequenz auf 1.000 pps eingestellt ist, benötigt der Motor 10 Sekunden für eine Umdrehung. Umgekehrt, wenn der Motor 1.000 Impulse für eine Umdrehung benötigt und die Impulsfrequenz auf 1.000 eingestellt ist, bewegt sich der Motor eine Umdrehung pro Sekunde oder 60 U/min. Dies kann für den Test zu schnell sein, wenn der Motor an einer Last wie einem Kugelumlaufspindel-Aktuator mit begrenzter Bewegungsdistanz befestigt ist. Es ist wichtig, auf Anzeigen zu achten, die die Ausgabe von Impulsen anzeigen (LEDs oder Impulszähler).
Berechnungen für die Praxis
Benutzer erhalten häufig HMIs, die die Entfernung und Geschwindigkeit der Maschine in Impulseinheiten statt in technischen Einheiten wie Millimetern anzeigen. Programmierer stehen oft unter Zeitdruck, um die Maschine zum Laufen zu bringen, und nehmen sich nicht die Zeit, die Maschineneinheiten zu ermitteln und in technische Einheiten umzurechnen. Hier sind einige Tipps, die dabei helfen können.
Wenn Sie die Schrittauflösung des Motors (Impulse pro Umdrehung) und die Bewegung pro Motorumdrehung (mm) kennen, wird die Befehlsimpulskonstante als Auflösung/Entfernung pro Umdrehung oder Impulse pro Umdrehung/Entfernung pro Umdrehung berechnet.
Mithilfe der Konstanten lässt sich ermitteln, wie viele Impulse erforderlich sind, um eine bestimmte Distanz zurückzulegen:
Aktuelle Position (oder Entfernung) = Impulszahl/Befehlsimpulse konstant.
Um technische Einheiten in Impulse umzurechnen, ermitteln Sie zunächst die Konstante, die die Anzahl der für eine bestimmte Bewegung benötigten Impulse bestimmt. Nehmen wir im obigen Beispiel an, dass der Motor 500 Impulse für eine Umdrehung benötigt und eine Umdrehung 10 mm beträgt. Die Konstante lässt sich berechnen, indem 500 (Impulse pro Umdrehung) durch 10 (mm Impulse pro Umdrehung) geteilt wird. Die Konstante beträgt also 500 Impulse/10 mm oder 50 Impulse/mm.
Mit dieser Konstante lässt sich dann die Anzahl der Impulse berechnen, die für eine Bewegung über eine bestimmte Distanz erforderlich sind. Beispiel: Für eine Bewegung von 15 mm sind 15 mm × 50 ppm = 750 Impulse erforderlich.
Um einen Impulszählerstand in technische Einheiten umzurechnen, dividieren Sie einfach den Impulszählerwert durch die Sollimpulskonstante. Wenn der Impulszähler also 6.000 anzeigt und diesen Wert durch die im obigen Beispiel berechnete Sollimpulskonstante dividiert, beträgt die Aktuatorposition 6.000 Impulse/50 ppm = 120 mm.
Um eine Geschwindigkeit in mm vorzugeben und die Steuerung die richtige Frequenz in Hz (Impulse pro Sekunde) berechnen zu lassen, muss zunächst die Geschwindigkeitskonstante ermittelt werden. Dies geschieht durch Ermittlung der Sollimpulskonstante (wie oben gezeigt), wobei die Einheiten geändert werden. Anders ausgedrückt: Wenn der Motor 500 Impulse pro Sekunde erzeugt und sich der Aktuator 10 mm pro Umdrehung bewegt, bewegt sich der Aktuator bei vorgegebenen 500 Impulsen pro Sekunde 10 mm pro Sekunde. Dividiert man 500 Impulse pro Sekunde durch 10 mm pro Sekunde, erhält man 50 Impulse pro Sekunde pro mm. Multipliziert man die Zielgeschwindigkeit mit 50, erhält man die richtige Impulsfrequenz.
Die Formeln sind dieselben, aber die Einheiten ändern sich:
Geschwindigkeitskonstante in pps = Impulse pro Umdrehung/Entfernung pro Umdrehung
Pulsgeschwindigkeit (pps) = (Geschwindigkeitskonstante) × Geschwindigkeit in mm
Die Verwendung eines Setups mit Impulsfolgesignalen zur Bewegungssteuerung mag zunächst schwierig erscheinen. Wenn man jedoch von Anfang an genau auf die Signaltypen und Einstellungen an Steuerung und Antrieben achtet, lässt sich der Zeitaufwand für die Inbetriebnahme verkürzen. Wenn man sich außerdem gleich die Zeit für einige grundlegende Berechnungen nimmt, wird die Programmierung von Geschwindigkeiten und Entfernungen einfacher, und Maschinenbediener erhalten intuitivere Informationen auf ihren HMIs.
Beitragszeit: 08.02.2021