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.

So funktioniert es

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.

miniHIL mit angeschlossenen MCU

Diese Abbildung zeigt den miniHIL. Auf der rechten Seite ist beispielhaft ein STM32 Nuclino Eval Board aufgesteckt, auf dem die Motor-Control-Software läuft. Das DUT wird über flexible Verbindungen mit dem Simulations- und Testsystem auf der linken Seite verbunden.

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

Mit dem Senden stimmen Sie unserer Datenschutzvereinbarung zu.