Umfangreichster Changelog der vergangenen Jahre – Was hat es mit der neuen Motion Drive-Firmware-Version auf sich?
Zugegeben, Software-Updates sind selten News mit großem Nervenkitzel-Potential. Die Einführung der Version 4.2 unserer Motion Drive-Firmware ist aber definitiv die Ausnahme von der Regel. Unsere neue Software ermöglicht dramatische Leistungsverbesserungen, die Aufmerksamkeit verdienen. Mit V 4.2 werden unsere Kernprodukte SOMANET Servo Node (EtherCAT) und SOMANET Circulo eine noch attraktivere Option für Hersteller im Bereich Automatisierung, Robotik und Maschinenbau.
Mehr Performance für Drehmomentregler
Unsere Methode zur Steuerung des Drehmoments kann als ein Hybrid von Techniken angesehen werden. Eine solche Komponente dieser Steuerung ist das Motormodell, das zur Vorhersage von Phasenströmen für ein bestimmtes Set angelegter Phasenspannungen verwendet wird. Da eine genaue Schätzung des Rotorwinkels für die Effizienz entscheidend ist, sagen wir den Winkel basierend auf der Geschwindigkeit an mehreren Punkten in den Berechnungen voraus. Dies versetzt die Steuerung noch besser in der Lage, genaue Phasenspannungen zu berechnen und die Leistung bei hoher Geschwindigkeit zu steigern.
Aber das ist nicht alles. Da diese angelegte Spannung nur so groß sein kann wie das, was auf dem Bus verfügbar ist, haben wir eine Technik eingeführt, die als „Harmonic Injection“ bekannt ist. Dies erhöht die Leistung um 14 Prozent!
Angesichts der einzigartigen Verarbeitungsmöglichkeiten des SOMANET SoC haben wir den PWM-Generator so umgestaltet, dass er zuverlässig kürzere Deadtimes ermöglicht und strengere Anforderungen an den FET-Treiber erfüllt. Dies hat die maximale Spannung, die wir über die Motorphasen anlegen können, erhöht. Es ist schwierig, eine einzige Zahl zur Beschreibung des neuen Reglers zu finden, aber eine Drehmomentverbesserung von 30% ist möglich.
Auch das ist auch neu: Wenn Sie einen Motor mit sehr niedriger Induktivität steuern und dieser zu heiß wird, wählen Sie eine höhere PWM-Schaltfrequenz, um die Stromwelligkeit zu minimieren.
Verbesserte Leistung der Bewegungssteuerung
Eines vorab: Die maximale Bandbreite von Drehmoment- und Bewegungsregelkreisen hat leicht zugenommen. Die Drehmomentregelzyklen erhöhten sich von etwa 15 kHz auf 16 kHz. Dies wird wahrscheinlich geringfügige spürbare Auswirkungen haben, insbesondere weil unsere Stromregler Dead-Beat-Modelle sind, anstatt sich nur auf die Rückkopplungssteuerung zu verlassen. Die Positions- und Geschwindigkeitsregler wurden beide von ungefähr 3 kHz auf 4 kHz erhöht. Zusammen mit dieser und einigen anderen Optimierungen rund um diese Controller lohnt es sich, die Abstimmung Ihrer Achse zu überdenken. Die EtherCAT-Leistung wurde ebenfalls verbessert, um Anforderungen mit 4 kHz zu bedienen, sodass Sie die Daten schneller ein- und auslesen können.
Optimiertes Timing und Synchronisation
Ein typischer Roboter besteht aus mehreren Servoantrieben, die eine Reihe von Achsen steuern, und einem EtherCAT-Master, der inkrementelle Positionsaktualisierungen synchron an jede Achse sendet. Das hört sich gut an, aber „synchron“ ist etwas irreführend. Obwohl die Befehle tatsächlich zur gleichen Zeit gesendet werden, verwenden die Service Nodes die Daten nicht genau zum Zeitpunkt ihres Empfangs. Warum? Weil der Master und jeder Servoantrieb ihre eigenen Uhren haben! Der Master glaubt vielleicht, dass er die Befehle alle 1000 Mikrosekunden sendet, aber in Wirklichkeit ist es 999,432. Die Servico Nodes glauben möglicherweise, dass sie die Regelkreise alle 333 Mikrosekunden ausführen, aber in Wirklichkeit sind einige von ihnen etwas schneller und andere etwas langsamer.
Die Drift zwischen den Knoten ist im Allgemeinen kein Problem, bis einer der Controller unmittelbar vor dem Empfang des nächsten Befehls eine Schleife durchläuft. Oder es schleift zu langsam und verfehlt den vorherigen Befehl. Dies ist ein Aliasing-Effekt, und das Vorhandensein dieser Schwebungsfrequenz bei der Ausführung synchroner Befehle verursacht kleine, aber vorhandene Diskontinuitäten im Befehl. Wenn Ihr Controller eng eingestellt ist, verursacht dies spürbare Vibrationen in der Reaktion.
Schlimmer noch: Was passiert, wenn der Master-Befehl Jitter enthält und die Befehle nicht genau zur gleichen Zeit sendet? Dieser Jitter kann dramatisch hoch sein, wenn der Host-Rechner kein Echtzeitsystem ist, aber selbst bei sehr präzisen Systemen kann der Jitter mehrere Mikrosekunden betragen. Dies hat zur Folge, dass beim Auftreten des „Schlags“ (d.h. der Befehl wird direkt am Rand der Ausführung des nächsten Steuerzyklus gesendet) der Jitter bewirkt, dass ein Befehl direkt vor dem Zyklus empfangen wird, der nächste rechts hinter dem Zyklus und so weiter, bis die Kante des Regelzyklus weiter vom Jitterfenster entfernt ist.
Dies kann dazu führen, dass sich Ihr System so verhält, als würde jemand auf Ihre Mechanik trommeln. Um Ihnen ein Gefühl von Skalierbarkeit zu vermitteln, kann dies eine volle Sekunde Trommeln alle 10 Sekunden sein! Und es kommt vollständig vom Aliasing-Effekt zwischen den internen Uhren des Master- und Servo Nodes.
Was tun wir dagegen? Wir können eine Funktion von EtherCAT nutzen, die als „verteilte Uhr“ bezeichnet wird. Dieses Heartbeat-Signal wird vom ersten Node in der Kette generiert und im gesamten EtherCAT-Netzwerk kalibriert. Es bietet den Master- und Servo Nodes einen zuverlässigen Tick, der selbst in sehr großen Netzwerken auf etwa 15 Nanosekunden genau ist.
Die neue Version 4.2 bietet eine Driftkompensation mit diesem Signal! Schließen Sie zum Testen den Break-Ausgang von zwei Nodes an ein Oszilloskop an, lösen Sie die Bremse und setzen Sie einen Trigger für die ansteigende Flanke eines Signals. Sie sollten das PWM-Signal von beiden Nodes auf dem Display sehen. Ohne aktivierte verteilte Uhr werden Sie feststellen, dass das Signal ohne Trigger in eine Richtung driftet. Sobald Sie jedoch die Uhr aktivieren, stabilisieren sich die PWM-Komponenten von beiden Nodes und die Drift ist weg!
Notch-Filter mit Drehmomentwert
Wenn ein mechanisches System bei einer bestimmten Frequenz eine Störung aufweist, die in den Drehmomentbefehl zurückkehrt, möchten Sie möglicherweise verhindern, dass der Drehmomentregler darauf reagiert. Wenn eine Frequenz vermieden werden muss, um Resonanz zu verhindern, bietet Ihnen ein Sperrfilter eine Methode, um zu verhindern, dass ein Hochpegelregler sie anregt.
Dieser Sperrfilter ist am Eingang des Drehmomentreglers implementiert. Hochpegelregler (Position oder Geschwindigkeit) sowie die Objekte Zieldrehmoment und Drehmomentversatz werden zuerst durch diesen Filter geleitet.
Präzise Geschwindigkeitsvorsteuerung
Der kaskadierte Lageregler hat zwei Stufen: Position und Geschwindigkeit. Da der Geschwindigkeitsregler unabhängig ist, ist es möglich, die Position nach einem Fehler zu minimieren, indem der Eingang auf den Geschwindigkeitsregler vorbereitet wird, wobei eine gute Schätzung der Eingabe erfolgt, noch bevor der Regler die Möglichkeit hat, den gemessenen Fehler zu korrigieren. Die Vorwärtskopplung analysiert die abgeleitete Geschwindigkeit des Positionsbefehls, filtert sie und skaliert das Ergebnis dann um eine Verstärkung, um zu steuern, wie viel Boost auf den Geschwindigkeitsbefehl angewendet wird.
Diese Funktion führt zu weniger Folgefehlern, daher ist normalerweise eine gewisse Vorwärtskopplung wünschenswert. Es ist standardmäßig deaktiviert, aber unsere Dokumentation kann Ihnen helfen, es für Ihr System entsprechend einzurichten.
Neue CiA 402-Standardfunktionen
Homing-Unterstützung
Wir haben die Homing-Unterstützung in Form der drei am häufigsten verwendeten Modi eingeführt.
- 33 – Gehen Sie rückwärts zur vorherigen Position mit einer Umdrehung und setzen Sie die Position auf Null
- 34 – Gehen Sie vorwärts zur nächsten Position mit einer Umdrehung und setzen Sie die Position auf Null
- 35/37 – Setzen Sie die aktuelle Position auf Null
Weitere Informationen hierzu finden Sie in unserer Dokumentation.
Controller-Überwachung
Um den Zustand Ihrer Maschine zu überwachen, ist eine Überwachung der Steuerungsleistung erforderlich. Wir haben mehrere Objekte hinzugefügt, die bei der Diagnose helfen können.
Status der Steuerung
Diese Objekte geben Ihnen einen Überblick über die Ein- und Ausgänge des jeweiligen Controllers. Dazu gehören unter anderem der Positionsanforderungswert (0x6062), der interne Wert für Positionsanforderung (0x60fc), der Geschwindigkeitsanforderungswert (0x606b), der Drehmomentbedarfswert (0x6074), der Kontrollaufwand (0x60fa) u.v.m.
Damit nicht genug
Die neue Version der Firmware unterstützt jetzt die Trajektoriengenerierung auf dem Servo Node. Dies schafft die Möglichkeit, den Antrieb mit festgelegten Geschwindigkeiten und Beschleunigungen auf eine bestimmte Position, Geschwindigkeit oder ein bestimmtes Drehmoment zu steuern. Die Standard-CiA402-Profildefinitionen sind implementiert.
Neugestaltung der Bremsfreigabe
Die Stiftbremsen werden durch sanftes (und schnelles) Anlegen eines Drehmoments gelöst, um die Last anzuheben und den Druck auf den Stift zu entlasten. Die Position wird überwacht, um festzustellen, ob der Stift freigegeben wurde, und der Vorgang wird beendet, wenn dies erkannt wird. Dieser gesamte Vorgang ist ab sofort viel reibungsloser und konfigurierbarer.
Wir haben auch einen Bremsmodus eingeführt, mit dem der Master die Spannung in der vierten Phase manuell einstellen kann. Dies ermöglicht verschiedene Bremsfreigabestrategien am Master sowie eine generische Ausgabe für alles, was in dieser Phase konfiguriert ist. Beachten Sie, dass dieser Parameter auf (`0x2004: 9`) Maximales Drehmoment verschoben wurde, wenn Sie einen bestimmten Drehmomentprozentsatz für die Freigabestrategie verwendet haben.
Hochauflösender Datenpuffer steht bereit
Die folgende Neuerung ist sehr spannend: Die meisten Servoantriebe bieten die Möglichkeit, einige Signale zu übertasten und etwa einige Millisekunden lang einen Snapshot zu erstellen. Nach der Bewegung werden die Daten heruntergeladen und in einem Diagramm angezeigt. Es gibt dem Benutzer einen Blick auf eine kleine Momentaufnahme der gesamten Bewegung. Für einige Anwendungen kann dieser eingeschränkte Zeitrahmen jedoch ein Problem bei der Erfassung problematischen Verhaltens sein.
Wir führen nun einen hochauflösenden Datenstrom in Echtzeit ein! Es gibt jetzt einen 1-Millisekunden-Puffer mit mehreren internen Parametern. Gegenwärtig besteht dieser Puffer aus der Position und Geschwindigkeit, die bei 4 kHz abgetastet werden, und zwei gemessenen Phasenströmen, die bei 16 kHz abgetastet werden. Fügen Sie diese Parameter einer PDO-Karte hinzu und dekodieren Sie sie im laufenden Betrieb, um eine sehr hochauflösende Ansicht an den Interna der Steuerungen anzuzeigen. Dies ist noch nicht in OBLAC Drives integriert, aber Sie können die Daten auf Ihrem eigenen Master dekodieren.
PDO-und Nikon A-Unterstützung
Das Drive unterstützt jetzt die dynamische PDO-Zuordnung, und die Zuordnungen wurden erweitert, um Platz für 40 Objekte zu bieten. Es gibt vier Karten: 0x1600 bis 0x1603 und 0x1A00 bis 0x1A03. Außerdem unterstützen wir jetzt auch Nikon A-Format Encoder. Sie benötigen lediglich Hardware-Unterstützung für die Halbduplex-Kommunikation (z. B. Drive 1000 rev E).
Hall- und Inkrementalgeber arbeiten zusammen
Ihr Node kann jetzt so konfiguriert werden, dass er mit Hallsensoren und einem für die Kommutierung eingestellten Inkrementalgeber arbeitet. Auf diese Weise kann die Achse den Indexerkennungsvorgang beim Start überspringen (der Vorgang zum Ermitteln der absoluten Position des Encoders), da die Hallsensoren diese Informationen bereitstellen. Die Kommutierung erhält somit den Startvorteil der absoluten Hallsensoren mit der erhöhten Auflösung und Leistung eines Inkrementalgebers.
Skalierte externe ADC-Messung
Geräte wie Temperatursensoren erfordern eine gewisse Verschiebung zwischen der gemessenen Spannung und der Ausgangstemperatur. Um dies nativ auf dem Laufwerk zu unterstützen, haben wir ein Polynom fünfter Ordnung eingeführt, das für diese Übersetzung konfiguriert werden kann.
Objekt 0x2038 Extern skalierte Messung enthält die Objekte, die zum Einrichten erforderlich sind.
Ein Eingangszähler für langsame Frequenzen (unter 8 kHz) wird unterstützt.
Für langsame Frequenzen (unter 8 kHz) wird außerdem nun ein Eingangszähler unterstützt. Das Objekt mit dem Namen 0x2040 Eingangszähler zählt basierend auf einem an einen Eingang angeschlossenen Taktsignal hoch. Dies kann nützlich sein, um Geschwindigkeitsschätzungen für niederfrequente Signale zu erhalten, z. B. von Lüftern oder Pumpen.
Fazit
Neugierig geworden? Motion Drive v4.2 ist schneller, synchroner und präziser als sämtliche Lösungen, die Sie kennen. Wir finden das spannend … und Sie?
Schreiben Sie uns gerne eine Mail support@synapticon.com an oder geben Sie uns Ihre Kontaktinformationen
Autor: James Beck, Software Engineering Manager bei Synapticon