Hardware in the Loop Test für Motor Control Software
Motor-Control Software Entwicklung Vereinfacht
Der miniHIL schließt beim Testen von Motor-Control-Software die Lücke zwischen Model- oder Software-in-the-Loop Tests und dem Laboraufbau mit der echten Hardware. Er ermöglicht den zuverlässigen Test von Motor-Control-Software im Zusammenspiel mit Treiber-Software und Mikrocontroller-Peripherie.
Unabhängig vom Motortyp, der gewählten Art der Regelung und der Art und Weise, wie Motor Control Software entwickelt wird, ist es sinnvoll, regelmäßige Tests in den Entwicklungsprozess zu integrieren.
So läuft ein Test normalerweise:
Im Regelfall beginnt die Entwicklung der Reglersoftware bevor die dazugehörige Hardware verfügbar ist. Während dieser ersten Phase können nur Software- oder Model-in-the-Loop Tests durchgeführt werden.
Die Integration der Motor-Control-Software mit low-level Treibern und der Peripherie des Controllers kann bei reinen Software-in-the-Loop Tests allerdings nicht oder nur unzureichend getestet werden. Die Integration wird deshalb häufig erst dann getestet, wenn die reale Hardware verfügbar ist.
Integrationstests für Motor-Control-Software sind häufig aufwendig, da sowohl der Motor als auch die dazugehörige Leistungselektronik aufgebaut werden müssen. Je nach Einsatzgebiet ist zusätzliche Hardware nötig, um einen realistischen Testaufbau zu erhalten. Sollen Fehlerfälle im Testaufbau nachgestellt werden können, steigt der Aufwand weiter.
Durch den Aufwand und die damit verbundenen Kosten kommen Integrationstests für Motor-Control-Software häufig erst spät im Entwicklungsprozess zum Einsatz. Oft vergehen Tage oder Wochen bevor Softwareänderungen auf dem Teststand getestet werden können.
Motor Control Software mit dem miniHIL testen
So läuft ein Test mit miniHIL
Ein Ziel des miniHIL ist es die Integration des Reglers und die Funktion des Gesamtsystems zu testen, ohne dabei auf die Zielhardware angewiesen zu sein. In einem Testaufbau mit dem miniHIL wird die zu testende Software auf einem Evaluationsboard oder einer speziellen Adapterplatine ausgeführt. Auf diesem Board arbeitet der Controller, der auch im finalen Produkt eingesetzt wird. Dieses Board mit der zu testenden Software nennen wir Device unter Test (DUT). Die miniHIL Umgebung bietet die Möglichkeit, den Motor und, für sensorgesteuerte Regelungen, die dazugehörige Sensorik, in Echtzeit zu simulieren. Dabei werden die vom Regler bereitgestellten Signale (in der Regel PWMs) auf Logikebene gemessen, ein Simulationsmodell berechnet und die vom Regler benötigten Signale generiert (analog und digital). Sämtlicher Informationsaustausch zwischen Testumgebung und DUT findet also über die Hardwareschnittstellen des Controllers statt, welche auch im finalen Produkt verwendet werden.
Um die Entwicklung und den Test von Motor Control Software zu unterstützen, bietet der miniHIL spezielle Features
miniHIL Features
- Simulation des zu regelnden Motors und aller dazugehörigen Sensoren ⇒Integration existierender Modelle (Matlab, Simulink, …), für die C-Code generiert werden kann
- Bereitstellung der vom Regler benötigten Signale auf Logikebene
- Simulation der Umgebung des Steuergerätes (Restbussimulation)
- Durchführung von Integrationstests direkt am Entwicklerarbeitsplatz
- BLDC und DC Motorregelung
- Universal Motorregelung
- Sensorlose Motorregelung: Single Shunt / Dual Shunt
- Motorregelung mit Sensoren: HALL / Winkelsensoren
Wie verhält sich das System im Fehlerfall?
Fehlerinjektion
Kommt beim Test ein echter Motor zum Einsatz, ist es nur mit großem Aufwand möglich, Fehlerfälle zu testen. Im besten Fall ist die Reproduzierbarkeit des Fehlers schwierig. Im ungünstigsten Fall muss Hardware gezielt manipuliert oder beschädigt werden, um eine bestimmte Fehlerreaktion auszulösen.
Dadurch, dass beim Einsatz des MiniHILs die Regelstrecke simuliert wird und kein echter Motor eingesetzt werden muss, können viele Fehlerfälle einfach getestet werden. Zusätzlich hat der Testcase Zugriff auf den Zustand der kompletten Simulationsumgebung. Mit diesem Wissen kann in Echtzeit überprüft werden, ob Fehlererkennungs- und Mitigationsmechanismen im DUT zuverlässig funktionieren. Eine häufige Fragestellung ist z.B., ob ein Fehler nach einer bestimmten Zeitspanne erkannt und auf einem anderen Kommunikationsbus protokolliert wird.
Ein weiterer Vorteil der Simulation ist, dass Fehler gezielt in verschiedenen Betriebszuständen des Reglers ausgelöst werden können. Auch ist eine Überlagerung mehrere Fehlerzustände möglich.
Typische Szenarien für Fehlerinjektion sind:
- Fehler in der Motor Hardware ◦Überstrom, Laststeigerung, Lastverminderung, Kurzschlüsse, Ausfall von Sensoren, Spannungsabfälle, …
- Fehler auf einem Kommunikationsbus, Ausfall von Kommunikationspartnern, …
Restbussimulation
Mit dem miniHIL können zusätzlich zur Motorsimulation auch Bussysteme wie z.B. CAN, XCP, LIN, Uart, I2C simuliert werden. Damit lassen sich parallel zum Test der Motor-Control-Software auch andere Funktionen des Steuergerätes testen.
Viele weitere Funktionen in den Steuergeräten betreffen zwar nicht direkt die Motorsteuerung, dennoch ist ein Test des Komplettsystems sinnvoll, um Fehler, die nur im Zusammenspiel der Komponenten auftreten, frühzeitig zu finden.
Motortypen und Reglungen
Häufig eingesetzte Motor- und Regelungstypen, die sich mit dem miniHIL testen lassen, sind:
- BLDC Motoren mit feldorientierter Regelung
- Dual Shunt
- Single Shunt
- BLDC Motoren mit blockkommutierter Regelung
- Hall-Sensoren
- Winkelsensoren
- Andere DC Motoren mit
- Hall-Sensoren
- Winkelsensoren (z.B. für Servoantriebe)
- Universalmotoren (Triac Ansteuerung) mit
- Hall-Sensoren
Testautomatisierung und Traceability
Die miniHIL Toolchain bietet alle Features, die Sie benötigen, um Tests voll automatisiert durchzuführen (mehr…).
Zum Beispiel ist es einfach möglich, den miniHIL mit Ihrer Continuous Integration Lösung zusammen zu verwenden. Alle Änderungen an der Software werden so direkt im Gesamtsystem getestet. Fehler werden auf diese Weise schneller gefunden und können behoben werden (mehr…).
Wenn Sie Feature oder Requirements Traceability benötigen, bietet der miniHIL Ihnen mehrere Möglichkeiten:
- Unsere eigene Traceability Lösung (HTML, XML Reports)
- Die Integration mit YAKINDU Traceability
- Fragen Sie uns zur Integration in Ihr Traceability Tool