Forschung zu Bewegungssteuerungen basierend auf einer CAN-Bus-basierten eingebetteten Struktur
2026-02-21 12:53:48··#1
Zusammenfassung: Dieser Artikel stellt den CAN-Bus und den DSP TMS320F2812 vor, präsentiert ein auf dem seriellen Bus basierendes Bewegungssteuerungssystem und erläutert dessen Hardware- und Software-Design. 1 Einleitung Der CAN-Bus (Controller Area Network) gehört zur Kategorie der Feldbustechnologien und ist ein serielles lokales Netzwerk, das verteilte oder Echtzeitsteuerung effektiv unterstützt. Er arbeitet im Halbduplex-Modus und verwendet ein datenbasiertes Übertragungsverfahren. Nachrichten können jederzeit von jedem Knoten an den Bus gesendet und von allen anderen Knoten empfangen und geprüft werden, um zu entscheiden, ob die Nachricht angewendet werden soll. Aufgrund seiner hohen Kommunikationsgeschwindigkeit, guten Offenheit, guten Echtzeitfähigkeit, starken Fehlerkorrekturfähigkeit, einfachen Steuerung, hohen Übertragungssicherheit, guten Skalierbarkeit und niedrigen Systemkosten wird er häufig in der Datenkommunikation zwischen verschiedenen Erfassungs- und Aktormechanismen in Steuerungssystemen eingesetzt und gilt heute als eine der vielversprechendsten Technologien im Bereich der Automatisierung. Die Bewegungssteuerungstechnologie ist eine Schlüsseltechnologie, die neue technologische und industrielle Revolutionen antreibt. Da digitale Signalprozessoren (DSPs) über hohe Rechenleistung verfügen und somit die Implementierung komplexer Steuerungsalgorithmen und -funktionen ermöglichen sowie Echtzeitverarbeitung mit peripheren Steuerungsfunktionen integrieren, finden sie zunehmend Anwendung in der Bewegungssteuerungstechnik. Dieser Artikel beschreibt einen Bewegungscontroller auf Basis des digitalen Signalprozessors TI TMS-320F2812, der hohe Geschwindigkeit und Präzision in CNC-Systemen ermöglicht. Durch die Integration eines Computers in den Bewegungscontroller kann dieser Servomotoren eigenständig in Echtzeit steuern. Dieses Steuerungssystem bildet die unterste Ebene eines verteilten Echtzeit-Steuerungssystems für den Einsatz in Produktionsstätten. Datenübertragung und Steuerung erfolgen über einen PC, CAN-Bus, TMS320F2812 und CPLD, wodurch der Betrieb der Servomotoren stabiler wird und eine flexiblere Anwendung in CNC-Systemen ermöglicht wird. 2. Aufbau des Bewegungssteuerungssystems: In diesem System sind zwei Knoten an den CAN-Bus angeschlossen: ein PC und ein Bewegungscontroller. Der PC ist über eine CAN-Schnittstellenkarte mit dem CAN-Bus verbunden, und PC und Bewegungscontroller tauschen Informationen über den CAN-Bus aus. 2.1 CAN-Schnittstellenschaltung des Busknotens Die Hardware-Schaltung des CAN-Bussystems besteht hauptsächlich aus Chips wie dem TMS320F2812 und dem CAN-Bus-Transceiver PCA82C250. Der TMS320F2812 ist ein integrierter Mixed-Signal-System-on-a-Chip (SoC), der analoge Komponenten für Datenerfassungs- und Steuerungssysteme sowie digitale Peripheriegeräte und Funktionseinheiten integriert. Zu diesen Funktionseinheiten gehören ein 16-Kanal-ADC, zwei SCIs, eine SPI-Schnittstelle, ein erweiterter CAN-Controller, sieben Zähler/Timer, universelle digitale I/O-Ports, zwei Ereignismanager-Module (EVA und EVB) und ein Watchdog-Timer (WDT). Dieser digitale Signalprozessor verfügt über 128 KB Flash-Programmspeicher und 18 KB RAM und erreicht eine Ausführungsgeschwindigkeit von bis zu 150 MIPS. Die JTAG-Emulationsschaltung ermöglicht eine vollständige, nicht-invasive Schaltungssimulation mit Unterstützung für Haltepunkte, Einzelschritt-Beobachtungspunkte, Start- und Stopp-Debugging-Befehle sowie Speicher- und Registerverifizierungs- und -änderungsfunktionen. Das CAN-Modul des TMS320F2812 verfügt über 32 Mailboxen mit 512 Byte RAM. Jede Mailbox besitzt ein unabhängiges Empfangsmaskenregister, das als Sende- oder Empfangsmailbox konfiguriert werden kann, und ein programmierbares Empfangsmaskenregister. Alle Protokollfunktionen der Datenübertragung und Empfangsfilterung werden vom CAN-Controller ausgeführt. Dieser kann über spezielle Funktionsregister im DSP auf empfangene Daten zugreifen und diese senden. Somit kann der TMS320F2812 alle Funktionen der Sicherungsschicht und der Anwendungsschicht des CAN-Bus-Protokolls ausführen. Abbildung 1 zeigt das Schnittstellenschaltbild des im DSP integrierten CAN-Moduls und seines Treibers. Abbildung 2 zeigt das Programmablaufdiagramm. Abbildung 3 zeigt das Kommunikationsablaufdiagramm des CAN-Moduls. Der PCA82C250 dient als Schnittstelle zwischen CAN-Controller und physischem Bus und ermöglicht die differentielle Übertragung an den Bus sowie den differentiellen Empfang an den Controller. Er ist vollständig kompatibel mit dem ISO-11898-Standard, zeichnet sich durch hohe Geschwindigkeit, Unempfindlichkeit gegenüber transienten Störungen und Busschutzfunktionen aus. Die Impulsflankensteilheit lässt sich über den Erdungswiderstand an Pin 8 steuern, um Funkstörungen zu reduzieren. Der CAN-Bus-Transceiver PCA82C250 arbeitet mit 5 V, während die I/O-Port-Spannung des TMS320-F2812 3,3 V beträgt. Daher ist eine einfache Pegelwandlungsschaltung bestehend aus den Widerständen R11, R12, R13 und der Diode D1 erforderlich, um den TMS-320F2812 mit dem PCA82C250 zu verbinden. Der Eingang RS (Pin 8) ermöglicht die Auswahl von drei verschiedenen Betriebsmodi: Standby-Modus (VRS > 0,75 VCC), Flankensteuerungsmodus (0,4 VCC) und Flankensteuerungsmodus. 2.2 Host-Computer-Kommunikationskarte Aufgrund der zunehmenden Verbreitung des CAN-Busses in der industriellen Steuerungstechnik haben viele Unternehmen Schnittstellenadapterkarten mit CAN-Bus-Unterstützung auf den Markt gebracht. Mit diesen Adapterkarten können Anwender komplexe Kommunikationsaufgaben ausführen und die digitale Kommunikation sowie das Überwachungsmanagement zwischen den einzelnen CAN-Knoten und dem Host-Computer realisieren. Die Kommunikation zwischen PC und CAN-Bus besteht im Wesentlichen aus dem Lesen (Datenempfang) und Schreiben (Datenübertragung) von Daten im PC-CAN-Speicher. Der PC selbst ist nicht am CAN-Bus-Kommunikationsprozess beteiligt; alle Kommunikationsvorgänge werden automatisch vom CAN-Bus-Controller auf der PC-CAN-Karte abgewickelt. 2.3 Schaltung zur Verarbeitung des Positions- und Drehzahlrückmeldesignals Die präzise und zuverlässige Positions- und Drehzahlerfassung ist eine der Hauptfunktionen einer Mehrachsen-Bewegungssteuerung. Daher verwenden wir einen CPLD zur Implementierung einer 4-fachen Frequenzvervielfachungs-Zählschaltung. Da die Gatterschaltungen und Flipflops im CPLD identische Eigenschaften aufweisen, bleibt die Impulsperiode des Frequenzvervielfachungssignals für jede Motorwelle bei gleicher Drehzahl konstant. Um Störsignale bei der Übertragung über große Entfernungen zu unterdrücken, werden die Impuls- und Richtungssignale für den Treiber differenziell ausgegeben. Aus demselben Grund wird das Encoder-Rückmeldesignal über einen Differenzeingang in den CPLD eingespeist. Im Vergleich zu Schaltungen mit anderen diskreten Chipdesigns verbessert dieses Verfahren die logischen und elektrischen Eigenschaften der gesamten Schaltung, erhöht ihre Störfestigkeit und steigert somit die Bearbeitungsgenauigkeit und Zuverlässigkeit des gesamten CNC-Systems. 3 Systemsoftware-Design3.1 Haupt-PC Der Haupt-PC übernimmt primär die Mensch-Maschine-Schnittstelle sowie die Planung und Verwaltung anderer Funktionsmodule. Seine gesamte Softwarestruktur basiert auf der Windows 98/2000-Plattform und verwendet leistungsstarke Programmiersprachen wie Visual C++ zur Implementierung der entsprechenden Funktionen. Dies ermöglicht eine übersichtlichere Systemstruktur und erleichtert die Funktionserweiterung und -anpassung für den Betrieb verschiedener bestehender Software. Eine PC-CAN-Bus-Adapterkarte wird in den Erweiterungssteckplatz des Haupt-PCs eingesetzt. Über diese Karte kann der PC eine Verbindung zum CAN-Bus herstellen und so die Kommunikation zwischen den verschiedenen Funktionsmodulen des CNC-Systems ermöglichen. Das Kommunikationsmodul ist in vier Module unterteilt: Initialisierungsmodul, Datenempfangs- und -sendemodul sowie Echtzeit-Alarmmodul. Die Initialisierung der CAN-Kommunikationsadapterkarte umfasst die Initialisierung der verschiedenen Register der Adapterkarte, die Einstellung notwendiger Parameter wie Interruptvektoren, Baudraten, Empfangsfiltercodes und Interruptmaskenwörter sowie die Vorbereitung der Kommunikation. Da die mit dem Host-Computer verbundene CAN-Kommunikationsadapterkarte in der Regel CAN-Treiberfunktionen bereitstellt, kann die Kommunikation mit dem CAN-Bus durch direkten Aufruf der entsprechenden Funktionen zum Lesen von Daten aus der Pufferwarteschlange oder zum Senden von Informationen über die Adapterkarte an den CAN-Bus während der Entwicklung der Host-Computer-Software realisiert werden. Im Datenempfangs- und -sendemodul empfängt und sendet der PC Daten und Steuersignale über die CAN-Kommunikationsadapterkarte. PID-Regelparameter können auf dem PC eingestellt und an den DSP übertragen werden, der sie anschließend an den CPLD weiterleitet. Der PC empfängt und analysiert die vom DSP zurückgemeldeten aktuellen Informationen der einzelnen Achsenmotoren (z. B. Position, Geschwindigkeit, Beschleunigung und Fehlerinformationen). Basierend auf den vorgegebenen Bedingungen analysiert das System den Fehler in Echtzeit und führt die Online-Selbstjustierung der PID-Parameter durch. Im Echtzeit-Alarmmodul werden Warnungen für Fehler ausgegeben, die während der Systemkommunikation auftreten, und das entsprechende Verarbeitungsprogramm wird aufgerufen. Das zugehörige Programmablaufdiagramm ist in Abbildung 2 dargestellt. Das Hauptfenster des Systems ermöglicht das Verbinden und Trennen der Kommunikation, die Online-Anpassung und Übertragung von Positions- und Regelparametern usw. Der Host-Computer ruft kontinuierlich die CAN-Treiberfunktion auf, um den DSP anzusteuern und Steuerbefehle oder Parametereinstellungsbefehle an das Servomotor-Steuermodul zu senden, wodurch der Servomotor gestartet und gestoppt wird. Gleichzeitig empfängt der DSP verschiedene Daten und Statusinformationen vom Servosteuerchip, wie z. B. Drehzahl, Phase und Drehrichtung des Servomotors, analysiert und verarbeitet diese und sendet anschließend entsprechende Befehle an den Servosteuerchip, um den Servomotor entsprechend den tatsächlichen Steuerungsanforderungen des Systems anzusteuern und so eine Regelung des Servomotorsystems zu realisieren. 3.2 Kommunikationsprogramm des eingebetteten DSP-CAN-Moduls Das dem CAN-Knoten zugeordnete DSP-Bewegungssteuerungssystem führt alle Echtzeitaufgaben aus: Grafikdarstellung, Interpolationsberechnung, Servosteuerung usw. Dank der hohen Rechenleistung des DSP können Hochgeschwindigkeits-Interpolations- und Positionsregelungsalgorithmen zur Ansteuerung des Servomotors eingesetzt werden, wodurch eine hochpräzise und schnelle Bewegungssteuerung erreicht wird. Der DSP-Bewegungscontroller ist über das eingebettete CAN-Modul mit dem CAN-Bus verbunden, um die Datenkommunikation mit dem PC zu ermöglichen. Während der Kommunikation empfängt der DSP-Controller im Interrupt-Modus Steuerinformationen und vom PC übertragene Daten und sendet den Betriebszustand des Servomotors in Echtzeit zurück, um eine Echtzeitsteuerung und -anpassung des Systems zu gewährleisten. Das Kommunikationsflussdiagramm des eingebetteten CAN-Moduls TMS320 F2812 ist in Abbildung 3 dargestellt. 4. Fazit Aus den Eigenschaften des CAN-Busses geht hervor, dass er im Vergleich zur herkömmlichen seriellen Kommunikation den Verdrahtungsaufwand in der Hardware reduziert, die Systemerweiterung oder -modifikation erleichtert und eine flexiblere Kommunikation, eine bessere Echtzeitleistung und stärkere Fehlerkorrekturfunktionen in der Software bietet. Das in diesem Beitrag beschriebene System ermöglicht die Implementierung informationsbasierter Fertigungstechnologie von kleinen Produktionslinien und Werkstätten bis hin zu großen Fabriken. Dies unterstreicht die Eignung des CAN-Busses als idealen Bus für hochzuverlässige, verteilte Echtzeit-Steuerungssysteme, was sich in der Praxis bestätigt hat. CAN-Bus-basierte Bewegungssteuerungssysteme bieten ein breites Anwendungsspektrum. Der Einsatz des DSP TMS320 F281 und des CPLD als Kern des AC-Servo-Systemcontrollers vereinfacht die Systemsteuerungsstruktur erheblich, verbessert die Systemstabilität, erleichtert die Fehlersuche und ermöglicht die einfache Implementierung komplexer Bewegungstrajektorien. Serielle CNC-Bussysteme bieten zahlreiche Vorteile: weniger Leitungen, einfachere Verbindungen und geringere Kosten. Dies zeigt sich besonders bei großen und sehr großen Werkzeugmaschinen oder bei vielen Messpunkten und Steuerachsen. Die einfache Trennung zwischen Systemen und Einheiten gewährleistet eine hohe Systemzuverlässigkeit. Daher ist zu erwarten, dass serielle CNC-Bussysteme parallele CNC-Bussysteme schrittweise ablösen und somit eine neue Entwicklungsrichtung für CNC-Systeme darstellen werden.