Anwendung der eingebetteten Bewegungssteuerungsplattform SMP86x in leistungsstarken, offenen Gravier- und Schneidsystemen
2026-02-21 14:06:50··#1
Zusammenfassung: Der SMP86X ist eine leistungsstarke, eingebettete Allzweck-Bewegungssteuerungsplattform auf Basis von ARM+FPGA. Dank seiner integrierten Verarbeitungs- und Pufferfunktionen sowie Beschleunigungs-/Verzögerungsfunktionen und linearen, kreisförmigen und kontinuierlichen Interpolationsfunktionen ermöglicht er die einfache Implementierung einer offenen, flexiblen und kostengünstigen Lösung für Gravur- und Schneidsysteme. Der Schlüssel zu Bewegungssteuerungssystemen für Gravur- und Schneidprozesse liegt in der kontinuierlichen Trajektorienverarbeitung, um beliebige Kurven in der Ebene oder im Raum zu bearbeiten, beispielsweise beim Laserschneiden und bei Werbe-/Formengravursystemen. Eine gängige Implementierungsmethode ist die Verwendung kleiner Liniensegmente zur Simulation der tatsächlichen Trajektorie. Die größte technische Herausforderung besteht daher in der Implementierung der kontinuierlichen Interpolation dieser kleinen Liniensegmente. Da die tatsächliche Bearbeitungstrajektorie oft nicht sehr gleichmäßig ist, stellt die effiziente Implementierung der Interpolationsfunktion des Bewegungscontrollers, insbesondere der kontinuierlichen Interpolation, hohe Anforderungen an die Geschwindigkeit, Genauigkeit und Glätte des Steuerungssystems. Die Embedded-Motion-Control-Plattform der SMP86x-Serie von Shenzhen Smidi Technology Development Co., Ltd. erfüllt mit ihren leistungsstarken Motion-Control-Funktionen und ihrer benutzerfreundlichen Plattform die Anforderungen an eine solche Lösung. 1. SMP86X Embedded-Motion-Control-Plattform: Die SMP86x ist eine Motion-Control-Plattform auf Basis eines FPGA (unserer leistungsstarken SOPC-Chiplösung für die Mehrachsen-Gelenksteuerung: SM5000) und ARM. Sie nutzt nicht nur alle Funktionen der SM5000-Lösung, sondern ist auch eine ARM-basierte Embedded-Lösung mit integrierten Speichermedien, seriellen und USB-Schnittstellen, Maus-/Tastaturschnittstellen und einer LCD-Schnittstelle. Zudem unterstützt sie UCOSII und UCLINUX. Kunden können sie für die Weiterentwicklung zur Erstellung eigenständiger CNC-Lösungen oder zur Integration in PC-Anwendungen über USB und andere Schnittstellen verwenden. Zu diesen Lösungen gehören selbstverständlich auch Gravur- und Schneidelösungen. Die SMP86x-Serie umfasst drei Produkte: SMP-860 (4-Achsen), SMP863 (3-Achsen) und SMP862 (2-Achsen). Nachfolgend finden Sie eine Beschreibung der Merkmale und Funktionen. 1.1 Merkmale der SMP86X-Plattform 1.1.1 Plattformtauglichkeit und Flexibilität Viele Kunden kennen universelle Motion-Control-Karten, deren Einsatz jedoch oft nicht optimal auf die tatsächlichen Systemanforderungen abgestimmt ist. Die SMP86x-Plattform legt Wert auf umfassende Funktionalität und bietet eine zentrale Steuerungskomponente sowie eine Anwendungsmanagement-Plattform und umfangreiche Motion-Control-Bibliotheksfunktionen. Darüber hinaus bietet der FPGA-Motion-Control-Chip Skalierbarkeit. Obwohl die SM5000-FPGA-Chip-Lösung leistungsstarke Funktionen bietet, benötigen Kunden häufig kundenspezifische Funktionen oder Schnittstellen. Dies lässt sich durch einfaches Hinzufügen der benötigten Komponenten zum FPGA-Chip realisieren. FPGAs bieten die Flexibilität von DSPs und gleichzeitig die Hardware-Zuverlässigkeit und Benutzerfreundlichkeit dedizierter ICs. Die Ein-/Ausgabeschnittstellen sind skalierbar, sodass Kunden sie selbst erweitern können (entweder durch Hinzufügen einer separaten Platine oder durch Anschluss an ihre bestehende Schaltung). Kunden können Signale analog, digital, mit optischer Hochgeschwindigkeitsisolation, differentiell und pegelbasiert entsprechend den Servo-/Schrittmotoreigenschaften ihrer Systeme verarbeiten. Wichtiger noch: Zusätzlich zu den üblicherweise verwendeten digitalen Ein-/Ausgabeschnittstellen bietet die SMP86x-Plattform kundenspezifische Erweiterungsschnittstellen, um die Integration mit anderen Komponenten im System zu vereinfachen. Sind beispielsweise weitere Prozessorkarten im System vorhanden, deren Schnittstellen Peripheriegeräten der Haupt-Bewegungssteuerungskarte (SMP86x oder andere Karten) ähneln und parallele Ein-/Ausgabe, registerbasierte Operationen oder andere Formen des Schnittstellen-Timings erfordern, kann SMP86x entsprechend angepasst werden. In diesem Fall kann SMP86x Funktionen ausführen, die andere Bewegungssteuerungskarten nicht bieten. 1.1.2 Eingebettete Funktionen: Da der ARM-Prozessor als Anwendungsmanagement-CPU dient und in Kombination mit dem integrierten Systemspeicher und den Schnittstellenressourcen sowie der Unterstützung für die Betriebssysteme UCOSII und UCLINUX, kann SMP86x zu einer vollständig unabhängigen eingebetteten Plattform werden. Dies spart die Kosten für einen PC in gängigen Steuerungssystemen, vereinfacht die Systemintegration und ermöglicht eine flexible Produktmobilität. Wir stellen Low-Level-Speichertreiber und Low-Level-Bibliotheksfunktionen für den SM5000-FPGA-Chip und weitere Hardware-Ressourcen auf ARM bereit. Kunden können schnell eigene, unabhängige Anwendungssysteme entwickeln (mit oder ohne eingebettetes Betriebssystem). Die Entwicklung erfolgt auf ARM mit C/C++, komplexere Systeme basieren auf dem Betriebssystem UCLINUX. 1.1.3 Bei PC-Anwendungen entwickeln einige Kunden Host-Computer-Anwendungen, die in Echtzeit mit dem Motion-Control-Motherboard kommunizieren. Alternativ verarbeitet der Host-Computer die Schnittstellen- und Betriebsdaten, die anschließend für den Offline-Betrieb auf das Motion-Control-Motherboard übertragen werden. Die Echtzeit-Interaktion mit dem PC erfolgt direkt über USB oder RS232. 1.2 Beschreibung der Funktionen und Leistung der SMP86x-Plattform 1.2.1 Hauptfunktionen und Leistung Eine Plattform kann bis zu vier Servo-/Schrittmotoren steuern, Geschwindigkeitsänderungen während der Bewegung jederzeit ermöglichen und unterstützt kontinuierliche Interpolation und weitere Funktionen. Die Impulsausgabe kann im Einzelimpuls- (Impuls + Richtung) oder Doppelimpulsmodus (Impuls + Impuls) mit einer maximalen Impulsfrequenz von 5 MHz erfolgen. Dank fortschrittlicher Technologie liegt der Frequenzfehler selbst bei hohen Ausgangsfrequenzen unter 0,1 %. Die Positionsverwaltung erfolgt über zwei Auf-/Abwärtszähler: einen für die interne Verwaltung des Positionszählers der Antriebsimpulsausgabelogik und einen für den Empfang externer Eingangssignale. Eingangssignale können von einem A/B-Phasengeber, einem Messgitter oder Auf-/Abwärtsimpulsen stammen und dienen als tatsächlicher Positionszähler. Der Zähler verfügt über bis zu 32 Bit mit einem maximalen Bereich von -2.147.483.648 bis +2.147.483.647. Der externe Eingang kann auch als Handradeingang für allgemeine Zählvorgänge genutzt werden. Für den Handradsignaleingang lassen sich verschiedene Signalverstärkungen einstellen (siehe Abbildungen 1–6). Es werden Servoschnittstellensignale wie Gebersignale, Positionssignale, Alarmsignale und Servostartsignale bereitgestellt. Es werden verschiedene Steuermodi unterstützt, darunter quantitative Bewegung mit einem quantitativen Antriebsbereich von 2.147.483.648 bis +2.147.483.647. Kontinuierliche Bewegung, Referenzfahrt, Mehrachseninterpolation und Kreisinterpolation werden ebenfalls unterstützt. Die Interpolation erfolgt typischerweise mit konstanter Geschwindigkeit, lineare/S-förmige Beschleunigung/Verzögerung ist jedoch ebenfalls möglich. Die Interpolationsfunktion zeichnet sich durch kontinuierliche Interpolation aus. Das bedeutet, dass die Interpolationsdaten für den nächsten Punkt während des Interpolationsprozesses eingegeben werden, um die Impulskontinuität zu gewährleisten und eine schnellere und bessere Interpolationsleistung zu erzielen. Die maximale Geschwindigkeit der kontinuierlichen Interpolation kann 5 MHz erreichen. Das System verfügt über mehrsegmentige Vorspeicherfunktionen, was insbesondere in eingebetteten Systemen von Vorteil ist, da hier Vorspeicherung und Pufferung weitgehend uneingeschränkt möglich sind. Die Geschwindigkeitsregelung kann mit konstanter Geschwindigkeit und linearer/S-förmiger Beschleunigung/Verzögerung erfolgen, einschließlich asymmetrischer linearer Beschleunigung/Verzögerung und automatischer/manueller Verzögerung. Im quantitativen Antrieb wird verhindert, dass die Geschwindigkeitskurve Dreiecksformen erzeugt. Jede Achse verfügt über zwei 32-Bit-Vergleichsregister zur Interruptgenerierung oder für Softwaregrenzen. Jede Achse besitzt acht Eingangssignale, darunter zwei positive und negative Grenzwertsignale, drei Stoppsignale, ein Servo-Positionssignal, ein Servo-Alarmsignal und ein universelles Eingangssignal. Mit Ausnahme der Grenzwertsignale können die übrigen Signale deaktiviert und als universelle Eingangssignale verwendet werden. Die drei Stoppsignale können als Ursprungssignale, Verzögerungssignale und Encoder-Z-Phasensuchsignale genutzt werden. Jede Achse besitzt acht universelle Ausgangssignale zur Steuerung der I/O-Punkte. Interrupts können für verschiedene Bedingungen konfiguriert werden, z. B. für den Start und das Ende der Beschleunigungs-/Verzögerungsbewegung, das Ende der Bewegung, Änderungen des Verhältnisses zwischen Positionszähler und Komparator sowie für Interrupts bei der nächsten Datenanforderung während der kontinuierlichen Interpolation. Abbildung 7 Abbildung 8 1.2.2 Funktionen der eingebetteten Plattform Die eingebettete Plattform ist eine offline-unabhängige Plattform. Die ARM-CPU dient als übergeordnete Management-CPU der Plattform und bildet zusammen mit dem SM5000 eine vollständige Anwendungsplattform. RS232-Schnittstelle, USB-Anschluss. Kommunikation mit dem Host-Computer. PS/2-Tastaturschnittstelle, 8x8-Tasten-Scanschnittstelle. LCD-Flüssigkristallanzeigeschnittstelle. 4 MB Flash-Speicher für Embedded-Systemdesign und Anwendungsspeicher. 8 MB SDRAM für Embedded-Systemdesign. 128 MB NAND-Flash-Speicher für Anwendungsspeicher. Unterstützt die Betriebssysteme UC/OSII und UC Linux. Funktionsbibliothek für Bewegungssteuerung des SM5000-Chips auf der ARM-Plattform. Unterstützt die Betriebssysteme DOS und Windows 95/98/NT/2000 (in Verbindung mit einem PC). Zusammenfassend ermöglichen die Funktionen der SMP8x-Plattform die Implementierung von Steuerungssystemen für kontinuierliche Trajektorienbewegungen, Punkt-zu-Punkt-Bewegungen, Folgebewegungen und Prozessbewegungen. 2. Implementierung des Gravur- und Schneidverfahrens: Die SMP86X-Bewegungssteuerungsplattform unterstützt zwei Einzelsegment-Trajektorienbewegungsmodi: lineare und kreisförmige Interpolation. Die von der Bewegungssteuerungsplattform SMP86X bereitgestellten Trajektorienbewegungen werden in einem orthogonalen Koordinatensystem beschrieben. Sind Start- und Endpunkt eines geraden Liniensegments vorgegeben, wird dieses interpoliert und kann mit T/S-Beschleunigung und -Verzögerung kombiniert werden. Neben der oben beschriebenen einsegmentigen Interpolation unterstützt die SMP86X-Plattform auch die kontinuierliche mehrsegmentige Interpolation. Diese wird direkt vom Algorithmus in der FPGA-Hardware verarbeitet. Der Benutzer schreibt die kontinuierlichen Trajektoriendaten direkt auf den Bewegungschip der Plattform, der diese dann kontinuierlich ausführt und Beschleunigungs- und Verzögerungssteuerung kombiniert. Beispielsweise beschleunigt der SM5000-FPGA-Chip der SMP86X-Bewegungssteuerungsplattform bei Eingabe von kontinuierlichen Daten aus 1000 einzelnen Trajektoriensegmenten (sowohl geraden als auch kreisförmigen Abschnitten) die Geschwindigkeit in den ersten ein oder wenigen Segmenten automatisch auf den vom Benutzer gewünschten Wert. Anschließend bewegen sich alle Segmente mit der erhöhten Geschwindigkeit. In den letzten ein oder wenigen Segmenten wird die Geschwindigkeit dann wieder reduziert, wodurch die kontinuierliche Interpolation direkt und effizient abgeschlossen wird. Diese Funktion ist besonders vorteilhaft für Gravur- und Schneidverfahren, da sie die 1000 einzelnen Trajektoriensegmente nicht einzeln mittels linearer/kreisförmiger Interpolation mit ständigen Geschwindigkeitsänderungen überflüssig macht. Darüber hinaus kann die SMP86X-Bewegungssteuerungsplattform einen Bewegungsdatenpuffer auf der ARM-Schicht einrichten und bietet so eine hohe Bandbreite für eine schnelle, stabile und echtzeitfähige kontinuierliche Bewegung mehrerer Trajektoriensegmente. Abbildungen 9 und 10. Um jedoch eine optimale Lösung für das Gravieren und Schneiden zu erzielen, reicht es nicht aus, sich allein auf die genannten Merkmale (Einzelsegmentinterpolation, kontinuierliche Interpolation und eingebettete Pufferung) zu verlassen. Bei einer idealen Bewegungstrajektorie der Verarbeitungsdaten treten keine Sprünge in der Bewegungstrajektorie und -geschwindigkeit auf (siehe Abbildung 1). In diesem Fall ist die oben beschriebene Verarbeitung komfortabel und effizient und verursacht keine mechanischen Vibrationen oder Schrittverluste des Motors, wodurch fehlerhafte Werkstücke vermieden werden. Ist die Verarbeitungstrajektorie nicht ideal, beispielsweise bilden 1000 kleine Liniensegmente eine kontinuierliche Trajektorie, die jedoch zwei Unebenheiten aufweist und zwei große spitze Winkel bildet (siehe Abbildung 2), so führt die direkte Anwendung der kontinuierlichen Interpolation auf die gesamte Trajektorie aufgrund der hohen Geschwindigkeit zu übermäßigen mechanischen Vibrationen und Schrittverlusten des Motors an den beiden „scharfen Kurven“. Die Einzelverarbeitung der 1000 Segmente und die Zuordnung von Start- und Stopp-Parametern zu jedem Segment lösen zwar die Probleme mit Vibrationen und Schrittverlusten, die Verarbeitungsgeschwindigkeit ist jedoch zu gering und daher inakzeptabel. Für leistungsstarke Gravur- und Schneidlösungen sind daher zwei Punkte entscheidend: die Glätte der Positionsdaten kontinuierlicher Trajektorien sowie die Kontinuität und geringe Änderung der Tangentialgeschwindigkeit entlang dieser Trajektorie. Um diese beiden Punkte zu erreichen, müssen in der Praxis Trajektorie und Geschwindigkeit mehrerer sich kontinuierlich bewegender kleiner Liniensegmente geplant und entsprechende Anpassungen und Vorverarbeitungen vorgenommen werden. 2.1 Glättung von Positionsdaten kontinuierlicher Trajektorien In der Praxis bestehen kontinuierliche Trajektorien in der Regel aus kleinen geraden Liniensegmenten, während Kreisbogentrajektorien eher selten vorkommen. Die Approximation beliebiger Kurven durch gerade Liniensegmente birgt daher Genauigkeitsprobleme. Viele CAD/CAM-Softwareprogramme erzeugen nach der Grafikverarbeitung Bearbeitungsdateien mit unzureichender Datengenauigkeit. Wie in Abbildung 3 dargestellt, führt die Simulation der Trajektorie mit unzureichend genauen geraden Liniensegmenten zu dem in Abbildung 4 gezeigten Ergebnis. In solchen Fällen ist die Kontur und Form des Werkstücks nicht glatt, unabhängig davon, wie kontinuierlich, gleichmäßig oder sogar langsam die Trajektorienbearbeitungsgeschwindigkeit ist, da dies der ursprünglichen Beschaffenheit entspricht! Zudem wird die Vermeidung von mechanischen Schwingungen erschwert. Um detailliertere und genauere Daten für die Bearbeitungstrajektorie zu erhalten, ist daher eine Interpolation erforderlich. Diese kann im ARM der SMP86x-Bewegungssteuerungsplattform programmiert und implementiert werden. Nach der Interpolation erhält man die tatsächliche Bearbeitungstrajektorie, die in Abbildung 5 dargestellt ist. 2.2 Kontinuität und langsame Änderung der Tangentialgeschwindigkeit auf kontinuierlichen Trajektorien Bei der Bearbeitung von mehrsegmentigen kontinuierlichen Trajektorien ist bei ausreichender Datengenauigkeit die Kontinuität der Geschwindigkeit auf der Trajektorie der kritischste Punkt für die Systemleistung. Hierbei ist die Tangentialgeschwindigkeit entlang der Trajektorienrichtung gemeint! Dies ist entscheidend dafür, ob das System die Anforderungen an Geschwindigkeit, Genauigkeit und Laufruhe erfüllt. In der Fertigung kann die Bearbeitungsbahn weder eine ideale Gerade noch ein Kreis oder eine beliebige, glatte Kurve sein. Aufgrund der Anforderungen an die Werkstückform sind, wie in Abbildung 2 dargestellt, Sprünge in der Bahn unvermeidlich. Beschleunigt sich die Bewegung und bewegt sich das Werkstück kontinuierlich mit hoher Geschwindigkeit, treten zwangsläufig mechanische Vibrationen oder sogar Schrittverluste des Motors auf. Abbildung 6 zeigt als Beispiel: Wird die Tangentialgeschwindigkeit entlang der Bahn nicht geplant und berücksichtigt, ergibt sich der in Abbildung 7 dargestellte Verlauf der Bearbeitungsgeschwindigkeit. An Punkt 7 der Bahn bleibt der Absolutwert der Geschwindigkeit zwar konstant, die Vektorgeschwindigkeit ändert sich jedoch sprunghaft. Dies liegt daran, dass sich die Geschwindigkeiten in X- und Y-Richtung sprunghaft ändern. Je höher der Geschwindigkeitswert, desto geringer ist die Belastbarkeit von Motor und Maschinen. Daher ist es unerlässlich, die Tangentialvektorgeschwindigkeit an Punkt 7 der Trajektorie so zu verarbeiten, dass sie möglichst sprungfrei oder relativ gleichmäßig verläuft. Im ARM der SMP86x-Bewegungssteuerungsplattform wird eine kontinuierliche Trajektorie aus 12 Segmenten an Punkt 7 „unterbrochen“, sodass die beiden kontinuierlichen Trajektorien von Punkt 1 zu Punkt 7 und von Punkt 7 zu Punkt 12 relativ gleichmäßig verlaufen. Anschließend werden sie dem FPGA-Chip auf der Plattform zur kontinuierlichen Interpolationsverarbeitung der Bewegungssteuerung übergeben, kombiniert mit Beschleunigungs- und Verzögerungsverarbeitung. Am Beispiel einer T-förmigen Trajektorie ergibt sich die in Abbildung 8 dargestellte Geschwindigkeitskurve. Man erkennt, dass die Geschwindigkeit an Punkt 7 auf den idealen niedrigen Wert abfällt, wodurch die Verarbeitung flexibel gestaltet wird. 2.3 Ein Verfahren zur Geschwindigkeitsverarbeitung in Laserschneidsystemen. Basierend auf den oben beschriebenen Prinzipien lassen sich allgemeine Lösungen für Gravur- und Schneidsysteme, einschließlich des Laserschneidens, realisieren. Laserschneidsysteme weisen jedoch eine Besonderheit auf: Die Arbeitskomponente ist kein Schneidwerkzeug, sondern ein Laserstrahl. Wenn sich die Bewegungsgeschwindigkeit an verschiedenen Punkten der Bearbeitungstrajektorie ändert, variiert auch die vom Werkstück empfangene Laserintensität. Um das oben beschriebene Geschwindigkeitsplanungsschema umzusetzen, muss die Laserstrahlintensität daher in Echtzeit an die Geschwindigkeitsänderung angepasst werden, um eine gleichmäßige Energieverteilung des Lichts auf dem Werkstück zu gewährleisten. Die Bewegungssteuerungsplattform SMP86x gibt die Geschwindigkeit während der Trajektorienbewegung in Echtzeit als Anpassungsparameter zur Steuerung der Laserleistung aus. Das heißt, das PWM-Signal zur Laserleistungssteuerung wird direkt von der Trajektoriengeschwindigkeit gesteuert, und es besteht ein invers-linearer Zusammenhang. Dies setzt die Lösung optimal um. Da sowohl die Geschwindigkeitsausgabe als auch die PWM-Ausgabe hardwareseitig verarbeitet werden, ist die Echtzeitfähigkeit hervorragend und von vielen anderen Steuerungssystemen unerreicht. Gerade die Einzigartigkeit von Laserschneidsystemen ermöglicht jedoch auch deren einzigartige Gestaltung. Bei der Laserstrahlbearbeitung kann die Laserleistung in Echtzeit ein- und ausgeschaltet werden, um den Steuerungsanforderungen des Prozesses gerecht zu werden. Dies unterscheidet sich von der Bearbeitung mit mechanischen Schneidwerkzeugen, bei der die Trägheit leicht zu einer ungleichmäßigen Bahn führen und ein Ein-/Ausschalten in Echtzeit unmöglich machen kann. Daher wird beim Laserschneiden, sobald die Geschwindigkeit der Bahnbewegung auf einen vorgegebenen Wert beschleunigt werden kann und die Laserquelle für die Bearbeitung eingeschaltet ist, sodass alle tatsächlichen Bearbeitungsbahnen mit der gleichen Geschwindigkeit ablaufen, das Teil, das eine Geschwindigkeitsplanung (Beschleunigungs- und Verzögerungsprozesse) erfordert, mithilfe virtueller Bahnen bearbeitet. Währenddessen ist die Laserquelle ausgeschaltet. In Abbildung 9 stellen die kontinuierlichen Bahnen 1–5 und 8–13 die tatsächlichen Bearbeitungsbahnen dar. Die virtuellen Segmente 0–1, 5–6–7–8 und 13–14 werden für die Geschwindigkeitsplanung beim Start, Stopp und der Zwischenbearbeitung verwendet. Der letzte Abschnitt der zu bearbeitenden Trajektorie bewegt sich mit hoher und gleichmäßiger Geschwindigkeit, wie die Geschwindigkeitskurve in Abbildung 10 zeigt. Zusammenfassend lässt sich sagen, dass aufgrund der hohen Anforderungen an das Gravur- und Schneidsystem neben den hohen Anforderungen an die Bewegungssteuerung selbst auch Daten- und Geschwindigkeitsplanung und -vorverarbeitung sowie Echtzeitverarbeitung erforderlich sind. Daher eignet sich die SMP86x-Bewegungssteuerungsplattform mit ihrer hohen Leistungsfähigkeit, Offenheit und Integrationsfähigkeit für solche Systemlösungen.