Forschung zum digitalen AC-Servosystem auf Basis der CAN-Bus-Technologie
2026-02-21 12:35:31··#1
Die Servosteuerung mehrerer Motoren findet breite Anwendung in verschiedenen elektrischen Antriebssystemen, beispielsweise in Dosier- und Förderprozessen. Die Leistungsfähigkeit der Motorsteuerung und die Koordination mehrerer Motoren in einem Servosystem beeinflussen direkt die Qualität des Produktionsprozesses. Effizientes Management, komfortable Anwendung und Echtzeitsteuerung sind die zentralen Herausforderungen im Produktionsbereich von Servosystemen mit mehreren Motoren. Daher wird in diesem Beitrag ein digitales AC-Servosystem zur Mehrachsen-Bewegungssteuerung auf Basis der CAN-Bus-Technologie vorgestellt. Die Feldbustechnologie behebt die Probleme herkömmlicher Busplatinen-I/O-Module (zahlreich, starke Störungen, komplexe Systemsoftwareprogrammierung und geringe Hardwarekompatibilität). Sie reduziert die Komplexität und Kosten der Feldsignalverbindungen erheblich, verbessert die Genauigkeit und Flexibilität der Signalübertragung, vereinfacht Installation, Inbetriebnahme und Wartung und bietet Anwendern vor Ort erhebliche wirtschaftliche Vorteile. Damit stellt sie eine wichtige Entwicklungsrichtung für die Automatisierung dar. Angesichts des kontinuierlichen Fortschritts der industriellen Feldsteuerungs- und Automatisierungstechnik genügen traditionelle Kommunikationsmodi nicht mehr den Anforderungen moderner Ingenieursleistungen. Der CAN-Bus (Controller Area Network) ist ein serielles Datenkommunikationsprotokoll, das Anfang der 1980er Jahre von Bosch in Deutschland entwickelt wurde, um den Datenaustausch zwischen zahlreichen Steuerungs- und Testgeräten in modernen Automobilen zu ermöglichen. Es handelt sich um eine fortschrittliche, kostengünstige und sichere Feldbustechnologie, die verteilte Steuerungs- oder Echtzeitsteuerungsnetzwerke effektiv unterstützt [2]. Jeder Knoten im CAN-Bus kann Informationen an andere Knoten senden. Als Kommunikationsmedium können verdrillte Adernpaare, Koaxialkabel oder Glasfasern verwendet werden. Zu den wichtigsten technischen Merkmalen gehören: 1. Ein Multi-Master-Busnetzwerk ermöglicht es jedem Knoten, jederzeit aktiv Informationen an andere Knoten zu senden, wobei mehrere Master prioritätsbasiert auf den Bus zugreifen; 2. Die nicht-destruktive, prioritätsbasierte Bus-Arbitrierungstechnologie reduziert die Konfliktlösungszeit im Bus erheblich und bietet auch unter hoher Last eine gute Leistung; 3. Vielfältige Datenübertragungsfunktionen: Punkt-zu-Punkt-, Punkt-zu-Mehrpunkt- (Gruppen-) und globale Broadcast-Datenübertragung. 4. Hohe Knotenkapazität: Die direkte Kommunikationsdistanz beträgt bis zu 10 km (Übertragungsrate 5 kbit/s), die maximale Übertragungsrate 1 Mbit/s (Übertragungsdistanz 40 m). 5. Hohe Zuverlässigkeit: Die Sicherungsschicht nutzt eine kurze Frame-Struktur und bietet dadurch hohe Echtzeitfähigkeit, gute Fehlerkorrektur sowie CRC- und andere Verifizierungsmaßnahmen für jeden Frame. Dies führt zu einer geringen Datenfehlerrate und hoher Zuverlässigkeit. 6. Automatische Fehlererkennung: Verlorene oder fehlerhaft übertragene Frames werden automatisch erneut gesendet. Temporäre und permanente Fehler werden erkannt, und fehlerhafte Knoten werden automatisch vom CAN-Bus getrennt. Ein CAN-Bus-System besteht aus CAN-Netzwerkknoten, Repeater-Knoten und einem Host-Computer. Gemäß dem Feldbusprotokoll verbindet die Bustechnologie Mess- und Steuergeräte an verschiedenen Standorten und mit unterschiedlichen Anwendungsbereichen und ermöglicht den Zugriff auf Intranet- und Internet-Netzwerke. Ein Hauptmerkmal der Feldbustechnologie ist ihre Unterstützung für bidirektionale, multivariate, busbasierte und volldigitale Kommunikation. Herkömmliche 4-20-mA-Analog-Gleichstromschleifen können über ein zweiadriges Kabel nur einen Parameter unidirektional übertragen. Mit zunehmender Systemkomplexität und Datenmenge hat sich die 4-20-mA-Stromschleifenübertragung zu einem Engpass entwickelt, der die Informationsübertragung einschränkt. Daher ist die Ablösung des 4-20-mA-Analogsignalstandards durch Feldbusse zu einem unumgänglichen Trend in der Steuerungssystementwicklung geworden. Die CAN-Bus-Steuerungsnetzwerkstruktur eines Mehrmotoren-Servosteuerungssystems auf Basis der CAN-Bus-Technologie ist in Abbildung 1 dargestellt. Das System besteht aus einem Host-Rechner, einem CAN-Bus und Feldservoeinheiten. Der Host-Rechner des CNC-Systems steuert jede Servoeinheit im Netzwerkknoten über den CAN-Bus. Die Datenübertragung zwischen dem digitalen Servo und dem CNC-System lässt sich in Echtzeit- und Nicht-Echtzeit-Daten unterteilen. Echtzeitdaten umfassen Steuerbefehle und Rückmeldeinformationen wie Position, Drehzahl und Drehmoment des Reglers in Echtzeit; die Anforderungen an die Übertragungsgeschwindigkeit sind entsprechend hoch. Nicht-Echtzeitdaten beziehen sich hauptsächlich auf Reglerparametereinstellungen, Funktionseinstellungen, Diagnosefunktionen, Servostatus und Alarminformationen; die Anforderungen an die Übertragungsgeschwindigkeit sind entsprechend niedriger. Der CAN-Schnittstellenadapter dient als Brücke für die Datenübertragung und Steuerung zwischen Host-Computer und Servoeinheit. Die Servoeinheit erfasst Daten aus dem Feld und überträgt diese über den Bus an den Host-Computer, um Echtzeitüberwachung und -steuerung zu ermöglichen. Das Hardware- und Softwaredesign des digitalen Servosystems umfasst die CAN-Bus-Schnittstellenhardware. Der Host-Computer des CNC-Systems nutzt die PCL-841-Karte von Advantech zur CAN-Bus-Kommunikation, während das Servoantriebssystem den On-Chip-CAN-Controller TMS320LF2407A von TI [3] verwendet. Dieser Controller ist vollständig kompatibel mit dem CAN2.0B-Protokoll, verfügt über Standard- und erweiterte Kennungen und unterstützt Daten- und Remote-Frames. Der On-Chip-CAN-Bus-Controller 2407A und die CAN-Schnittstelle nutzen den Treiberchip 82C250. Der 82C250 verwendet ein 120-Ω-Twisted-Pair-Kabel als Kommunikationsmedium. Das Signal wird im differentiellen Empfangs- und Sendemodus übertragen, was eine hohe Störfestigkeit und eine maximale Übertragungsrate von 1 Mbit/s ermöglicht. Es gibt drei verschiedene Betriebsmodi: Hochgeschwindigkeit, Flankensteuerung und Standby. Dieses System nutzt die Flankensteuerung, um Funkstörungen zu reduzieren. Um die Störfestigkeit zu erhöhen und den CAN-Controller zu schützen, ist zwischen dem TMS320LF2407A und dem 82C250 ein Hochgeschwindigkeits-Optokoppler geschaltet. Dieser verwendet einen HP HCPL-2630-Chip mit einer Taktfrequenz von 10 MHz. Die Schaltung ist in Abbildung 2 dargestellt. Die CAN-Bus-Netzwerksteuerungssoftware umfasst die Konfiguration und das Design des Netzwerkprotokolls der Anwendungsschicht, des Knotenfunktionsablaufs und der Kodierung usw. [4]. Die Initialisierung der Mailbox beinhaltet die Konfiguration der Pins, die Einstellung der Baudrate sowie die Konfiguration der Mailbox-Übertragung und des Mailbox-Empfangs. Zuerst wird das MCRB-Register konfiguriert und die Pins IOPC6 und IOPC7 werden den speziellen Funktionen CANRX und CANTX zugewiesen. Anschließend wird das MDER-Register konfiguriert, d. h. die Mailbox-Aktivierung und die Mailbox-Funktionen 2 und 3 werden festgelegt. Abschließend wird das Masken-ID-Register konfiguriert, mit dem beliebige Bits der ID maskiert werden können. Dieses Register ist nur für die empfangende Mailbox gültig. ; CAN-Mailbox-Initialisierungskonfiguration CAN_INIT: LDP#DP_PF2 LACL MCRB ; CAN-Pins konfigurieren OR#0C0H ; IOPC6 und IOPC7 als Sonderfunktionen konfigurieren: CANRX, CANTX SACLMCRB ; CAN-Bit-Timer konfigurieren LDP #DP_CAN SPLK#0040H,MDER;MD2 =1,MBX2 ist der Übertragungsmodus SPLK#0FFFFH,CAN_IFR ; Alle CAN-Interrupt-Flags löschen SPLK#07FFFH,LAM1_H ; Mailbox-2- und -3-Masken-ID-Register auf 0 setzen SPLK#0FFFFH,LAM1_L; Die IDs müssen übereinstimmen. Die Baudrateneinstellung hängt hauptsächlich von drei Registern ab: SCSR1 (System Control and Status Register 1), BCR1 (Bit Configuration Register 1) und BCR2 (Bit Configuration Register 2). Vor der Konfiguration müssen die Baudrate und die Frequenz des Quarzoszillators festgelegt werden. Bei der Konfiguration von Bittimern muss sich der CAN-Controller im Reset-Modus befinden (CCR=1). SPLK #1000H,MCR;CCR=1 Änderungsanforderung W_CCE:BITGSR,#0Bh; Warten auf Konfigurationsänderung aktivieren BCNDW_CCE,NTC; Wenn CCE=1, können die Register BCR2 und BCR1 konfiguriert werden. SPLK#01H,BCR2; Baudraten-Vorteilerregister SPLK#0033H,BCR1; Baudrate auf 1M eingestellt. LACLMCR Mailbox-Sende- und Empfangskonfiguration: Vor dem Ändern des Datenfelds muss die Mailbox deaktiviert, anschließend das Datenfeld aktiviert und eine Änderungsanforderung gestellt werden. Danach werden die Mailbox-ID und das Nachrichtensteuerungsregister festgelegt. Bei einer Sendemailbox werden die zuvor gesendeten Daten im Datenfeld gespeichert; bei einer Empfangsmailbox wird der Empfangspuffer gelöscht. Vor dem Schreiben des CAN-Mailbox-Inhalts müssen die Register LDP#DP_CAN und SPLK #0040H,MDER gesetzt werden. Mailbox deaktivieren, Mailbox 2 in Empfangsmodus versetzen: SPLK #0103H,MCR; CDR=1, Datenbereichsänderungsanforderung; CAN-Mailbox-Inhalt schreiben: LDP#DP_CAN2 SPLK #2447H,MSGID2H; Steuerwort und ID für Mailbox 2 festlegen: IDE=0,AME=0,AAM=0; Standardmodus ist MSGID2H[12~2> SPLK#0FFFFH,MSGID2L SPLK#08H,MSGCTRL2; Steuerfeld festlegen: Datenlänge DCL=8,RTR=0 Datenrahmen: SPLK#00000H,MBX2A; Informationsinitialisierung für Mailbox 2: SPLK#00000H,MBX2B SPLK#00000H,MBX2C SPLK#00000H,MBX2D SPLK#2447H,MSGID3H; Setzen Sie die Kennung für Mailbox 3. SPLK#0FFFFH,MSGID3L SPLK#08H,MSGCTRL3; RTR=0, DCL=8 SPLK#02211h,MBX3A; Initialisieren Sie die Mailbox-3-Informationen. SPLK#04433h,MBX3B SPLK#06655h,MBX3C SPLK#08877h,MBX3D; Setzen Sie die Register nach dem Schreiben des CAN-Mailbox-Inhalts. LDP#DPCAN SPLK#0480H,MCR; DB0=1,AB0=1,STM=0 SPLK#04CH,MDER; ME3=1,MBX3 senden, ME2=1 empfangen SPLK#0F7FFH,CAN_IMR; Interrupt MBX3 ungültig machen, MBX2 aktivieren; Interruptpriorität SPLK#0FFFFH,CAN_IFR; Alle Interrupt-Flags löschen. Die dedizierten Interruptregister für das CAN-Modul sind CAN_IFR und CAN_IMR. Ihre Verwendung entspricht der allgemeiner Interruptregister. Der TMS320LF2407A verwendet jedoch einen zweistufigen Interruptmodus. Der CAN-Mailbox-Interrupt mit hoher Priorität entspricht INT1, der CAN-Fehlerinterrupt mit hoher Priorität INT2. Der CAN-Mailbox-Interrupt mit niedriger Priorität und der CAN-Fehlerinterrupt entsprechen beide INT5. Daher muss der entsprechende Interrupt der ersten Stufe im Programm aktiviert werden. Beim Empfang von Daten muss eine Mailbox üblicherweise Frames von mehreren Knoten empfangen. Daher ist das Auslesen der Informationsframe-ID ebenfalls wichtig. Unabhängig davon, ob der Frame maskiert ist, wird die ID des empfangenen Informationsframes in MSGIDnH und MSGIDnL gesetzt, die ID der empfangenden Mailbox bleibt jedoch unverändert [5]. Das Programmablaufdiagramm ist in Abbildung 3 dargestellt. Das experimentelle Programm verwendet Mailbox 2 zum Empfangen und Mailbox 3 zum Senden. Die Kommunikationssoftware kann im Polling- oder Interrupt-Modus arbeiten und umfasst im Wesentlichen das CAN-Controller-Initialisierungsprogramm, die Einstellungen für Sende- und Empfangsmailboxen sowie das Sende- und Empfangsprogramm. Das Sendeprogramm muss lediglich die entsprechenden Bits im Sendesteuerregister setzen; das Empfangsprogramm muss das Format der Empfangsmailbox-Kennung, die Empfangskennung, die Länge der empfangenen Daten und den Wert der empfangenen Daten auslesen. Der Host-Computer ist über einen Adapter mit dem CAN-Bus verbunden. Die Überwachungssoftware ist in VC6.0 geschrieben und definiert den Host-Computer als LAN-Operationsserver, über den die Benutzer die einzelnen Servoeinheiten steuern können. Zusammenfassend lässt sich sagen, dass der CAN-Bus hervorragende Netzwerkkommunikationsfähigkeiten, hohe Zuverlässigkeit und starke Störfestigkeit bietet und zudem wirtschaftlich und praktisch ist. Dies macht ihn zu einer vielversprechenden Feldbustechnologie. Seine Anwendung bietet eine neue Lösung für die verteilte Bewegungssteuerung und wird zunehmend an Bedeutung gewinnen. Die Vernetzung der nächsten Generation intelligenter digitaler Servosysteme mit offenen CNC-Systemen über den CAN-Bus ist eine wichtige Entwicklungsrichtung im Bereich der Bewegungssteuerung.