Ein Angebot von

Funktionsorientierte Entwicklung mit Rapid Control Prototyping

| Autor / Redakteur: Moritz Olbrich * / Sebastian Gerstl

ControlDesk ist eine mögliche Software-Variante für die durchgängige Steuergeräte-Entwicklung,mit der sich Rapid Control Prototyping (RCP) effizient betreiben lässt.
ControlDesk ist eine mögliche Software-Variante für die durchgängige Steuergeräte-Entwicklung,mit der sich Rapid Control Prototyping (RCP) effizient betreiben lässt. (Bild: dSpace)

Durch den Einsatz einer Rapid Control Prototyping (RCP) Umgebung ist das funktionsorientierte Entwickeln und Testen an realer Hardware zu einem frühen Zeitpunkt in der Entwicklungsphase möglich. Mit der RCP lassen sich direkt angeschlossene Antriebe auf Modellebene betreiben.

Das Implementieren und Testen neu zu entwickelnder Funktionen (z.B. Antriebsregler) für Antriebssteuerungen kann 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 machen.

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 (Variablen Definitionen, 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.

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. 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. Wie der Ablauf mit RCP-Umgebung modelliert betrachtet aussieht sehen Sie etwa in Bild 2.

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. runter skaliert, 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 von dSPACE) geladen und mit der dazugehörigen Software (hier ControlDesk 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 Bild 3).

Eine Vielzahl an Motoren aus dem Produktportfolio der Firma Faulhaber lassen sich für Tests mit der RCP-Umgebung betreiben. Dazu gehören bürstenbehaftete, bürstenlose DC- Motoren, wie 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 Bild 4).

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 zu ü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 (siehe Bild 5). 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.

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 beschritten. Die Idee ist hier, dass die zusätzlichen Funktionen, welche in der Simulation entwickelt worden sind, direkt in die Antriebssteuerung codegeneriert implementiert werden.

Der Autor

* Moritz Olbrich studierte Mechatronik an den Hochschulen in Esslingen (B. Eng.) und Karlsruhe (M.Sc.). Seit 2015 ist er in der Elektronik Entwicklung bei Faulhaber Antriebssysteme in Schönaich tätig. Er beschäftigt sich mit der funktionsorientierten Entwicklung durch den Einsatz von Rapid Control Prototyping Systemen.

Dieser Beitrag der Dr. Fritz Faulhaber GmbH & Co.KG stammt aus dem Kongressband des ESE Kongress 2017.

Modellierung reaktiver Systeme mit der UML-Erweiterung CIRO

Modellierung reaktiver Systeme mit der UML-Erweiterung CIRO

23.10.18 - Modellgetriebene Software-Entwicklung ist ein Ansatz mit enormem, nur teilweise ausgeschöpftem Potential. UML (Unified Modelling Language) sieht die Möglichkeit vor, die Sprache durch eigene Abstraktionen zu erweitern. Nachfolgend wird CIRO (Communicating Interacting Reactive Objects), eine auf diesem Mechanismus basierende Erweiterung vorgestellt. lesen

Modellbasiertes Vorgehen bei Echtzeitanforderungen

Modellbasiertes Vorgehen bei Echtzeitanforderungen

08.01.19 - Beim Embedded Software Engineering gehören Zeitanforderungen zu den wichtigsten nicht-funktionalen Anforderungen. Deshalb gibt es spezialisierte Werkzeuge, die das Zeitverhalten eines realisierten Embedded Software Systems analysieren und validieren können. lesen

Kommentar zu diesem Artikel abgeben

Schreiben Sie uns hier Ihre Meinung ...
(nicht registrierter User)

Zur Wahrung unserer Interessen speichern wir zusätzlich zu den o.g. Informationen die IP-Adresse. Dies dient ausschließlich dem Zweck, dass Sie als Urheber des Kommentars identifiziert werden können. Rechtliche Grundlage ist die Wahrung berechtigter Interessen gem. Art 6 Abs 1 lit. f) DSGVO.
Kommentar abschicken
copyright

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Infos finden Sie unter www.mycontentfactory.de (ID: 45675051 / Entwurf)