Share this

Ein universeller, eingebetteter Mehrachsen-Bewegungscontroller und seine Anwendung

2026-02-21 12:32:53 · · #1
Zusammenfassung: Dieser Artikel stellt ein universelles Bewegungssteuerungskonzept vor, das den ARM-Mikrocontroller LPC2214 mit dem 4-Achsen-3-Gelenk-DSP-Bewegungssteuerungschip MCX314A kombiniert. Das Anwendungsprinzip dieser Bewegungssteuerung in einem X- und Y-Achsen-CNC-Servotisch wird erläutert. Die Steuerung zeichnet sich durch hohe Geschwindigkeit, hohe Präzision, hohe Zuverlässigkeit und niedrige Kosten aus und bietet einen hohen Anwendungswert in der CNC-Werkzeugmaschinensteuerung. Bewegungssteuerungssysteme finden breite Anwendung in der Industrie, insbesondere in der modernen Fertigung. Die Steuerung ist unerlässlich, um die gewünschte Bewegungstrajektorie und Bewegungsparameter wie Geschwindigkeit, Beschleunigung und Kraft zu erreichen. Im Allgemeinen besteht ein Bewegungssteuerungssystem hauptsächlich aus einer Bewegungssteuerung, einem Treiber, einem Aktor, Übertragungskomponenten und den gesteuerten beweglichen Teilen. Der ARM-Prozessor zeichnet sich durch geringe Größe, niedrigen Stromverbrauch, niedrige Kosten und hohe Leistung aus und ist ein branchenführender eingebetteter 32-Bit-RISC-Mikroprozessor. Der MCX314A ist ein hochintegrierter, dedizierter DSP-Chip für Bewegungssteuerung, der die Positions-, Geschwindigkeits- und Beschleunigungsregelung von 4-Achsen-3-Gelenk-Systemen sowie die kontinuierliche Interpolation und die Positionsregelung im geschlossenen Regelkreis für lineare und kreisförmige Bewegungen ermöglicht. Die organische Kombination dieser beiden Technologien ermöglicht die einfache Realisierung eines kostengünstigen und leistungsstarken Bewegungscontrollers. 1. LPC2214 ARM-Mikrocontroller: Der LPC2214 ist ein industrietauglicher 16/32-Bit-ARM-Mikrocontroller auf Basis des ARM7TDMI-S von Philips, der Echtzeit-Emulation und -Tracking unterstützt. Er verfügt über 256 kB schnellen Flash-ROM und 16 kB statischen RAM und besitzt eine externe Speicherschnittstelle. Die integrierte PLL erreicht eine maximale CPU-Betriebsfrequenz von 60 MHz. Der LPC2214 ist in einem 144-poligen LQFP-Gehäuse untergebracht und verfügt über zwei 32-Bit-Timer, einen Interrupt-Controller und verschiedene serielle Schnittstellen. Dadurch eignet er sich besonders für industrielle Steuerungsanwendungen. Seine interne Struktur ist in Abbildung 1 dargestellt. Abbildung 1: Blockdiagramm der internen Struktur des LPC2214. 2. Hauptfunktionen des MCX314A. Der MCX314A ist ein dedizierter DSP-IC (Digitaler Signalprozessor) für die 4-Achsen-Bewegungssteuerung der japanischen NOVA Corporation. Er dient der Positions-, Geschwindigkeits- und Interpolationssteuerung von Schrittmotoren oder Impuls-Servoantrieben und findet Anwendung in der industriellen Automatisierung, in Industrierobotern, Messgeräten, Bürogeräten und Haushaltsgeräten. Er ermöglicht die unabhängige Positions- und Geschwindigkeitssteuerung jeder Achse (X-, Y-, Z- und U-Achse) und die Auswahl von zwei beliebigen Achsen für die Kreisinterpolation sowie von zwei oder drei Achsen für die Linearinterpolation mit einer Interpolationsgenauigkeit von ±0,5 LSB. Zu seinen weiteren Funktionen gehören Servomotor-Rückmeldungseingänge (Encodersignal, Präsenzsignal und Alarmsignal), Beschleunigungs-/Verzögerungsansteuerung, Hardware- und Software-Endschalter, automatische Ursprungssuche, Synchronbetrieb und Eingangssignalfilterung. Der MCX314A kann mit einem 8/16-Bit-Datenbus kommunizieren. Alle seine Funktionen werden durch Lesen und Schreiben interner Befehls-, Daten-, Status- und Modusregister realisiert. Der Standard-Eingangstakt beträgt 16 MHz, der Ausgangsimpulsbereich 32 Bit und die maximale Geschwindigkeit 4 Millionen Impulse pro Sekunde. Jede Achse verfügt über einen 32-Bit-Logikpositionszähler (Zählen der Ausgangsansteuerimpulse), einen Ist-Positionszähler (Zählen der externen Encoderimpulse) und ein Vergleichsregister zur Realisierung einer geschlossenen Positionsregelung. Jede Achse besitzt 4 universelle Eingänge und 8 universelle Ausgänge. 3. Grundstruktur des Bewegungscontrollers 3.1 Hardware-System Der ARM-Mikrocontroller LPC2214 ist über einen 16-Bit-Datenbus mit dem MCX314A verbunden (siehe Abbildung 2). Nach der Verbindung und mit den Pins EXPLSN, H16L8 und TESTN des MCX314A an +5 V, dem Pin RESETN an eine Low-Level-Reset-Schaltung, dem Pin CLK an eine 16-MHz-Taktquelle und dem Pin VDD an eine +5-V-Versorgung, verfügt der MCX314 über die grundlegendsten Betriebsbedingungen. Die I/O-Betriebsspannung des LPC2214 beträgt 3,3 V (kann aber 5 V vertragen), während die Betriebsspannung des MCX314A +5 V beträgt. Bei der Verbindung der beiden kann ein 1-kΩ-Widerstand in Reihe geschaltet werden. Die praktische Anwendung zeigt, dass auch eine direkte Verbindung zwischen dem LPC2214 und dem MCX314A möglich ist. Der gestrichelte Kasten in Abbildung 2 stellt die Schnittstelle einer der vier Achsen dar. Der XPP/XPM gibt Vorwärts-/Rückwärts-Ansteuerimpulse im CW/CCW-Modus und Ansteuerimpulse sowie Richtungssignale im Impuls-/Richtungsmodus aus. Der ECA/ECB/IN0-Empfänger empfängt das Feedback-Eingangssignal des Encoders. Der AM26LS31 ist ein 4-Kanal-Differenzialleitungstreiber, der AM26LS32 ein 4-Kanal-Differenzialleitungsempfänger. Zur Kommunikation mit Hostsystemen (HMI- und CAD/CAM-Systemen etc.) verfügt der Controller über Ethernet- und RS232-Schnittstellen. Der RTL8019AS ist ein Ethernet-Controller, der SP3232E ein 3,3-V-zu-RS232-Pegelwandler-IC. Der externe Flash-Speicher LPC2214 dient zur Speicherung der zu fixierenden Bewegungssteuerungsparameter (z. B. Bahnkoordinaten und Bewegungsgeschwindigkeit). Abbildung 2 zeigt das Blockdiagramm der Controllerstruktur und der Schnittstellenprinzipien . 3.2 Softwaresystem: Der LPC2214 liest und schreibt die internen Register des MCX314A über die 16-Bit-EMC-Schnittstelle für externen Speicherbus, um den MCX314A zu steuern. Der MCX314A verfügt über folgende beschreibbare Register: Befehlsregister WR0, Modusregister WR1–WR3, Ausgaberegister WR4, Interpolationsmodusregister WR5 und Datenregister WR6–WR7; sowie über folgende lesbare Register: Hauptstatusregister RR0, Statusregister RR1–WR5 und Datenregister RR6–WR7. Der ARM-Prozessor vereinheitlicht die Adressierung von E/A-Ports und Speicher. Der MCX314A kann mit dem Speicherbank2 des LPC2214 (Adressbereich 0x8200, 0000–0x82ff, ffff) verbunden werden, wobei CS2 als Chip-Select-Signal für den MCX314A dient. Daher lauten die Adressen von WR0 und RR0 0x8200 und 0000 (im Folgenden als Addr bezeichnet). Analog dazu lauten die Adressen von WR1 und RR1 Addr+2 und die von WR7 und RR7 Addr+0x00. Um dem LPC2214 eine 16-Bit-Busschnittstelle zu ermöglichen, müssen im Startcode PINSEL2=0x04914 und BCFG2=0x-1000ffef gesetzt werden. Die Softwareentwicklung erfolgt mit der ARM-Entwicklungsumgebung ADS1.2 (CodeWarrior for ARM Developer Suite). Das Schreiben des Startcodes ist ein entscheidender Schritt bei der Softwareentwicklung für ARM-Mikrocontroller und umfasst das Setzen der Interrupt-/Ausnahmevektortabelle, das Initialisieren des Stackpointer-Registers, das Festlegen der Stackgröße, das Adress-Remapping, das Setzen des Systemtakts und das Starten des C-Programms. Das Benutzerhandbuch MCX314A von NOVA electronics Inc. (Version 1.2) enthält ein Beispielprogramm in C, das sich mit entsprechenden Anpassungen problemlos in die Entwicklungsumgebung ADS 1.2 portieren lässt. Das Hostsystem lädt die Bewegungsparameter über die Kommunikationsschnittstelle in den Speicher des Bewegungscontrollers. Der LPC2214 liest die Bewegungsparameter aus dem Speicher, um den MCX314A zu steuern. Der Programmablauf ist in Abbildung 3 dargestellt. Abbildung 3 zeigt das Flussdiagramm des MCX314A-Steuerungsprogramms. Abbildung 4 zeigt dessen Anwendung in einem XY-Zweiachs-CNC-Servotisch. Der XY-Zweiachstisch ist ein kreuzförmiger Arbeitstisch mit Kugelgewindetrieben und Rollenführungen. Die Topologie des Steuerungssystems ist in Abbildung 4 dargestellt. Um die Struktur des universellen Controllers zu vereinfachen und ihn an verschiedene Anwendungen anzupassen, sind die objektnahen Komponenten (wie Signalverstärker und Optokoppler) auf einer Signaladapterplatine untergebracht. Der Motor in der Abbildung ist ein Panasonic AC-Servomotor (Modell MSMA022A1C, Leistung 200 W, Nenndrehzahl 3000 U/min, Nenndrehmoment 0,64 Nm). Der Geber (EC) ist ein 11-Linien-Inkrementalgeber mit 2500 Impulsen pro Umdrehung (P/r). Der Motortreiber ist der Panasonic Servotreiber MSDA023A1A, der auf den Motor abgestimmt ist. Der Steuermodus des Servotreibers ist auf „Positionsregelung“ eingestellt, der Ansteuerimpuls auf „CW/CCW“ und die Verstärkung jedes Regelkreises ist angepasst. Abbildung 4 zeigt die Topologie des CNC-Plattform-Steuerungssystems. Das Host-PC-System lädt das CNC-Programm über die Kommunikationsschnittstelle auf den Bewegungscontroller. Der LPC2214 interpretiert das CNC-Programm und wandelt es in entsprechende Befehle für den MCX314A um. Der MCX314A führt die Befehle aus und generiert Steuerimpulse für den Servotreiber, der die mechanischen Teile ansteuert, um die gewünschte Bewegung auszuführen. Der Bewegungscontroller kann unabhängig vom PC-System arbeiten. Wenn der LPC2214 den Bewegungsstatus (einschließlich der Encoder-Positionsrückmeldesignale) an das Host-PC-System zurückmeldet, kann der PC den CNC-Prozess problemlos überwachen. 5. Fazit: Der eingebettete Bewegungscontroller auf Basis des ARM-Mikrocontrollers und des dedizierten Chips MCX314A zeichnet sich durch hohe Geschwindigkeit, hohe Präzision, hohe Effizienz und niedrige Kosten aus. Seine einfache Struktur und hohe Zuverlässigkeit machen ihn zu einer praktikablen Lösung für universelle Bewegungssteuerungen. Er bietet ein hohes Anwendungspotenzial in CNC-Werkzeugmaschinen und anderen CNC-Geräten, in der Robotik und weiteren Bereichen.
Read next

Entwurf und Anwendung einer SPS in einer Diamant-Hydraulik-Synthesemaschine

Mit der rasanten technologischen Entwicklung im nationalen und internationalen Infrastruktursektor steigt die Marktnachf...

Articles 2026-02-20