Experience Embedded

Professionelle Schulungen, Beratung und Projektunterstützung

Funktionsorientierte Entwicklung mit Rapid Control Prototyping

Autor: Moritz Olbrich, Dr. Fritz Faulhaber GmbH & Co. KG

Beitrag - Embedded Software Engineering Kongress 2017

 

Das Implementieren und Testen neu zu entwickelnder Funktionen (z.B. Antriebsregler) für Antriebssteuerungen können fehlerhaft und zeitintensiv sein. Durch den Einsatz einer Rapid Control Prototyping (RCP) Umgebung soll das Entwickeln von neuen Funktionen effizienter werden. Mit dieser Umgebung lassen sich direkt angeschlossene Antriebe auf Modellebene betreiben. Durch bessere Analysemöglichkeiten und dem zuvor direkten Abgleichen mit der Antriebssteuerung lassen sich Aussagen zur Funktionalität der Erweiterung zu einem frühen Zeitpunkt treffen.

Funktionsentwicklung für Antriebssteuerungen

Soll die Antriebssteuerung um eine weitere Funktion ergänzt oder verändert werden (z.B. Anfrage eines Kunden oder Erweiterung der Funktionalität), wird diese oft zuerst mit Hilfe einer Offline-Simulation überprüft. Diese Simulationsergebnisse können in Abhängigkeit der Qualität des gewählten Modells mehr oder weniger belastbar sein. Für eine qualifiziertere Aussage muss die Funktion in Maschinensprache umgesetzt und in eine vorhandene Prototypen-Antriebssteuerung implementiert werden. Dieser Prozess kann durchaus zeitaufwändig und fehlerträchtig sein, da auf viele Dinge (Variablendefinitionen, Skalierungen, Bedienen von Schnittstellen …) zusätzlich geachtet werden muss. Zudem ist die Analysemöglichkeit (z.B. Vergleich mit der Simulation) eingeschränkt, da nicht alle Signale der Antriebssteuerung zum Betrachten zu Verfügung stehen (siehe auch Abbildung 1, PDF).

Funktionsentwicklung mit der Rapid Control Prototyping-Umgebung

Durch die Verwendung einer Rapid Control Prototyping (RCP) Umgebung zur Funktionsentwicklung lässt sich funktionsorientierter entwickeln. Rapid Control Prototyping wird in vielen verschiedenen Gebieten zur Funktionsentwicklung verwendet [1]. Die entwickelten Simulationsmodelle, welche nur die Antriebsregelung beinhalten, werden direkt übersetzt und auf das RCP-Board geladen. Auf diesem RCP-Board können die Funktionen in Echtzeit direkt mit dem Motor getestet und analysiert werden. Erst nach dem Testen mit der RCP-Umgebung wird die neue Funktion in die Antriebssteuerung implementiert (siehe auch Abbildung 2, PDF).

Mit der RCP-Umgebung stehen viele Signale zum Betrachten zu Verfügung, welche analysiert und abgespeichert werden können. Mögliche Implementierungsfehler lassen sich dadurch besser und schneller beheben. Die blockorientierte Darstellungsweise der Funktionen in der Simulation dient dem anschaulichen Verständnis. Zudem stehen alle Größen im Modell dem Regler zur Verfügung.

Die Parameter der Modellumgebung (Abtastzeit, Datentypen der Variablen, Auflösung der Messgrößen) werden so angepasst bzw. herunterskaliert, dass diese den gegebenen Umgebungsbedingungen der Antriebssteuerung entsprechen. Unterschiede im Betriebsverhalten lassen sich ausmachen und beheben. Das macht den expliziten Vergleich bzw. Abgleich zwischen Antriebssteuerung und RCP-Umgebung möglich. Aussagen über die Funktionalität in der Antriebssteuerung können aufgrund von Messungen mit der RCP-Umgebung gemacht werden. Die Messergebnisse können zudem zur Verbesserung der Modelle in der Offline-Simulation hergenommen werden. Es gibt durchaus mehrere Ansätze zur Realisierung der Funktionen. Diese werden mit den gegeben Bedingungen getestet und miteinander verglichen. So kann früher und besser die Performance verschiedener Lösungsansätze bewertet werden. Durch die frühen Tests mit angeschlossenem Motor lassen sich die Ergebnisse der Offline-Simulation präzisieren.

Entwicklung der Hardware- und Softwarekomponenten

Die Entwicklungsumgebung besteht aus zwei Hauptkomponenten, der Simulationssoftware und dem RCP-Board. Mit der Simulationssoftware (hier MATLAB/SIMULINK von Mathworks) werden die nötigen Modelle erstellt und übersetzt. Diese werden dann auf das RCP-Board (hier DS1005 mit ACMC Modul [2] von dSPACE) geladen und mit der dazugehörigen Software (hier ControlDesk [3] von dSPACE)  betrieben. Das hier eingesetzte RCP-Board stellt verschiedene Ein- und Ausgänge bereit, unter anderem unterschiedliche Encoder-Schnittstellen und eine PWM-Einheit zur Block- und Sinuskommutierung. Mit der dazugehörigen Software lassen sich alle möglichen Signale im Modell anzeigen und abspeichern sowie Parameter des Modells verändern (siehe auch Abbildung 3, PDF).

Eine Vielzahl an Motoren aus dem Produktportfolio der Firma Faulhaber [4] lassen sich für Tests mit der RCP-Umgebung betreiben. Dazu gehören bürstenbehaftete, bürstenlose DC-Motoren sowie auch bürstenlose lineare DC- Servomotoren in unterschiedlichen Baugrößen und Spannungsvarianten. Inkremental- und Absolutencoder sowie analoge oder auch digitale Hall-Sensoren sind mögliche Geber, welche mit den Motoren kombiniert werden.   

Folgende zusätzlich entwickelte Treiber-Hardware ist für den Betrieb dieser Motorvarianz nötig: Die Motoren und Geber werden an das Carrier-Board angeschlossen und bei einer Betriebsspannung mit bis zu 24 V betrieben. Auf dem Carrier-Board werden zudem die Phasenströme und Phasenspannungen der Motoren gemessen. Die Endstufen und die Signalverarbeitung für die Geber werden als Module aufgesteckt. Verschiedene Doppel-N Kanal- aber auch PN-Kanal Endstufen-Module können für den Betrieb verwendet werden. Das zusätzliche Connector-Board stellt das Bindeglied zwischen RCP-Board und Carrier-Board dar. Durch Umsteckmöglichkeiten auf dem Connector–Board und Umschaltmöglichkeiten im Simulationsmodell lassen sich die Ein- und Ausgänge auf verschiedene Weise nutzen und schnell für einen anderen Motor umkonfigurieren.

Variantenhandling

Durch die verschiedene Motortechnologien, sehr vielen Motorvarianten mit unterschiedlichen Gebertechnologien und den schier grenzenlosen Lastfällen ergibt sich eine Vielzahl an Kombinationsmöglichkeiten, welche abgedeckt werden müssen. Zusätzlich entwickelte MATLAB-Skripte erleichtern und beschleunigen das Umkonfigurieren des Modells. So kann über eine Bedienoberfläche das vorliegende System konfiguriert werden. Die Parameter für Regler- und Simulations-Initialisierung der ausgewählten Systemkonfiguration werden mit Motorparameter aus einer Datenbank erstellt. Mit der Bedienoberfläche können Parameter-Files abgespeichert werden, um das Simulations-Modell direkt auf dem RCP-Board nach einer Hardwareänderung umparametrieren zu können (siehe auch Abbildung 4, PDF).

Das Auswählen der unterschiedlich vorhandenen Modelle, welche sich in der Funktion unterscheiden, wird auch über die Bedienoberfläche organisiert. Ebenso wird das Erstellen der RCP-Modelle (Build-Prozess) für die RCP-Plattform über die Bedienoberfläche gestartet, was das Ändern und Wiederverwenden der Modelle beschleunigt.

Die zu Beginn explizit entwickelten RCP-Simulationsmodelle bilden das Antriebsverhalten der Antriebssteuerung ab. Diese setzen sich zusammen aus der Signalverarbeitung für Geber und diverser Anlog-Größen, der Antriebssteuerung mit den verschiedenen Kommutierungsvarianten sowie der Antriebsregelung. Die Ergebnisse des RCP-Modells müssen mit der Antriebssteuerung gründlich abgeglichen werden, um die Gleichheit beider Systeme überprüfen zu können.

Abgleich der Entwicklungsumgebung mit der Antriebssteuerung

Der Abgleich der abgespeicherten Messungen dient nicht nur zur Überprüfung der Systeme untereinander. Er wird zudem verwendet, um die Verbesserung der zusätzlichen Funktion darstellen zu können. Der Abgleich mit den Ergebnissen der Offline-Simulation kann helfen, die Modellqualität zu verbessern (siehe auch Abbildung 5, PDF).

Die aufgenommenen Messungen von RCP-Umgebung und Antriebssteuerung werden mit den jeweiligen Programmen exportiert. Der Dateiname beinhaltet die relevante System- und Messinformationen. Über die Bedienoberfläche wird das gewünschte System konfiguriert und überprüft, ob für diese Konfiguration Messungen vorhanden sind. Die ausgewählten Messungen werden importiert, skaliert und anschließend in einem Plot zusammen dargestellt. Der Abgleich der Systeme findet über das Darstellen der jeweiligen Messungen der Systeme statt.

Zusammenfassung und Ausblick

Durch den Einsatz der Entwicklungsumgebung ist das funktionsorientierte Entwickeln und Testen an der realen Hardware zu einem frühen Zeitpunkt in der Entwicklungsphase möglich. Daraus ergibt sich eine bessere Systemanalyse und im Gegenzug eine zügige Aussage über die Funktionalität. Es lassen sich verschiedene Antriebe in wenigen Schritten mit der RCP-Entwicklungsumgebung betreiben. Das Übereinanderlegen der Simulationsergebnisse mit Messungen der RCP-Umgebung bzw. Messungen der Steuerung verbessert den Vergleich und die Analyse der Systeme untereinander. Fortführend können auf dieser Basis weitere Algorithmen/Regler funktionsorientiert mit der RCP-Umgebung an verschiedenen Antrieben entwickelt und verifiziert werden. Die Programmierung der Controller wird bereits mittels UML-Programmen und Codegenerator [4] beschritten. Die Idee ist hier, dass die zusätzlichen Funktionen, welche in der Simulation entwickelt worden sind,  direkt in die Antriebssteuerung codegeneriert implementiert werden.

Literaturverzeichnis

[1]

D. Abel und A. Bollig, Rapid Control Prototyping, Heidelberg: Springer Verlag, 2006.

[2]

"ACMC Modul", [Online]. Available: https://www.dspace.com/de/gmb/home/products/hw/modular_hardware_introduction/i_o_boards/ac_motor_control_solution.cfm. [Zugriff am 27.09.2017].

[3]

"ControlDesk," [Online]. Available: https://www.dspace.com/de/gmb/home/products/sw/experimentandvisualization/controldesk.cfm. [Zugriff am 27.09.2017].

[4]

"Produktportfolio von Faulhaber", [Online]. Available: https://www.faulhaber.com/de/produkte/. [Zugriff am 27.09.2017].

[5]

A. Wagener, "OO und modellbasierte Werkzeuge - Werkstattbericht", in Emdbeded Software Engeneering Kongress, Sindelfingen, 2015.

 

Beitrag als PDF-Datei herunterladen

Architektur - MicroConsult Trainings & Coachings

Wollen Sie sich auf den aktuellen Stand der Technik bringen?

Dann informieren Sie sich hier zu Schulungen/ Seminaren/ Trainings/ Workshops und individuellen Coachings von MircoConsult zum Thema Architektur /Embedded- und Echtzeit-Softwareentwicklung.

 

Training & Coaching zu den weiteren Themen unseren Portfolios finden Sie hier.


Architektur - Fachwissen

Wertvolles Fachwissen zum Thema Architektur /Embedded- und Echtzeit-Softwareentwicklung steht hier für Sie zum kostenfreien Download bereit.

Zu den Fachinformationen

 
Fachwissen zu weiteren Themen unseren Portfolios finden Sie hier.