Modellbasierte Entwicklung mechatronischer Systeme mit automatischer Codegenerierung für Cortex-Mx-Controller Bastian Schindler, Christian Bartl, Jens Baumbach, Veit Zöppig drivexpert GmbH
Kurzvorstellung drivexpert GmbH Ilmenau
Unternehmensgegenstand Folie 3 Forschungs- und Entwicklungsdienstleister: Mechatronische Antriebstechnik Motor-Messtechnik Steuer- und Regelungselektronik Elektronische Integrationstechnik Serienüberführung und überwachung 11 Vollzeitingenieure, 3 Werkstudenten Innovationsunterstützung: Aus- und Weiterbildung Kooperationsnetzwerke Technologietransfer in Kooperation mit TU Ilmenau
Kompetenzen Folie 4 Mechatronische Systemkompetenz Modellbasierter Entwurf/Simulation Kooperationsnetzwerke für Lösungsfindung und Realisierung Magnetische Antriebstechnik anwendungsspezifische Optimierung Technologietransfer in Kooperation mit TU Ilmenau Elektronik Abdeckung von eingebetteten Systemen bis zum PC klare Plattformstrategie Musterbau schnelle Realisierung testfähiger Muster
Softwareausstattung (Auszug) Folie 5 Mechatronische Systemdesign MATLAB/Simulink PLECS Magnetische Antriebstechnik Maxwell 2D/3D, Transient, rmxprt Elektronik Altium Designer Software/Test Werkzeugketten für Controller (Melexis, TI, Freescale, ST, Infineon) Softwaretest: Hitex TESSY, QAC (MISRA-Check, Code-Metriken) CAD SolidWorks
Arbeitsgebiet bürstenlose Motoren Folie 6 Entwicklung von Steuergeräten für EC-Motoren auf der Basis von Melexis MLX812xx, Freescale MC56F8xxx, MPC560xP, S12Z und Texas Instruments TMS320C2000 Controllern, STMicroelectronics STM32F4 Entwicklung neuer Algorithmen zur Ansteuerung Grundlagenentwicklungen SR-Motoren Prototypenbau mit regionalen Partnern Prüfstandsentwicklung branchenübergreifend: Automotiv, Weiße Ware, Medizintechnik, Automatisierungstechnik Beispiel: Wasserpumpe mit SR-Motor
Hauptaktivität: bedarfsgesteuerte Kfz- Nebenaggregate Folie 7 Systemstecker Elektronik Bürstenloser Motor Aggregat (Pumpe) Integration
Modellbasierte Entwicklung mechatronischer Systeme mit automatischer Codegenerierung für Cortex-Mx-Controller drivexpert GmbH
Bedarfsgesteuerte Kfz-Nebenaggregate als mechatronisches System nach VDI 2206 Folie 9 Hydraulics Motor Electronics
Mechatronikdesign und Marktaspekte Folie 10 V-Modell nach VDI 2206 (links), angepasstes Modell mit Marktbetrachtung (rechts)
Modellbasierte Softwareentwicklung Folie 11 Modellbasierte Softwareentwicklung: Beschreibung der Software (weitestgehend) auf Modellebene Automatisierte Erzeugung lauffähiger Software MATLAB als Werkzeug zur modellbasierten Softwareentwicklung Software zur numerischen Berechnung und zur grafischen Darstellung Mehr als nur MATLAB, sehr mächtiges Werkzeug durch verschiedene Erweiterungen Automatische Codegenerierung Integriertes Testen Zeitersparnis Eingesetzt in Industrie und Forschung Automobilbau Luft- und Raumfahrt Medizin Maschinenbau
MATLAB Folie 12 [The MathWorks, Inc. 2015]
Simulink Folie 13 Interaktive Modellierung, Simulation und Analyse von dynamischen Systemen lineare, nicht-lineare und diskrete Systeme Modellierung durch Signalflusspläne / Blockdiagramme Signale können zu jedem Zeitpunkt abgegriffen werden Voll integriert in MATLAB Erweiterbarkeit durch Toolboxen Codegenerierung
Simulink Folie 14
Zustandsautomaten Folie 15 Stateflow Modellierung endlicher Zustandsautomaten Im Gegensatz zu Simulink eventgesteuert (Modellierung ereignisdiskreter Systeme) Generierung von Simulink S-Functions Voll integriert in Simulink Simulink Coder Erweiterung zur automatischen Codegenerierung aus Simulink- Modellen (inkl. Stateflow)
Zustandsautomat in Stateflow Folie 16
Plattformen Folie 17 Aktuelle Plattformen für Motor Control-Anwendungen Texas Instruments (C2000, C5000, C6000) Freescale Kinetis (K-, V-Serie) STMicroelectronics STM32 (STM32F4) Infineon XMC (XMC4xxx) Trend zu ARM Cortex-Mx-Controllern STM32F407xx 32-bit ARM Cortex-M4 core, bis zu 168 MHz Bis zu 1 Mbyte Flash 3 12-bit ADC (bis zu 24 Kanäle) Bis zu 17 Timer (16-bit, 32-bit, inkl. Encoder-Eingang) Bis zu 140 I/O ports Bis zu 15 Kommunikationsinterfaces (USART, SPI, I²C, CAN, LIN) USB 2.0 full speed interface Unterstützung: C-Codegenerierung aus MATLAB/Simulink STM32F4DISCOVERY [Digi-Key Electronics 2015]
Modellbasierte Entwicklung Folie 18 Feldorientierte Regelung eines Pedelec-Motors
Modellbasierte Entwicklung Folie 19 Feldorientierte Regelung einer PMSM β q d 1 b φ el N a S α 2 c Transformation von stator- in rotorfeste Größen: 3x Wechselgrößen a, b, c (statorfest) 1 2 Clarke 3x Wechselgrößen α, β (statorfest) Park 2 x Gleichgrößen d, q (rotorfest)
Modellbasierte Entwicklung Folie 20 Feldorientierte Regelung einer PMSM * * ω mech I q G R, - - I d * - G R, i q G R, i d U q U d d,q α,β U α U β SVM invert er φ el PWM a,b,c I d d,q I α α,β I a I b I c I q α,β I β a,b,c Stand der Technik Modellbasierter Regelungsansatz Kaskadierte Reglerstruktur: Unterlagerter Stromregelkreis (im d/q-system) Überlagerter Drehzahlregelkreis ω mech φ mech PMSM
Modellbasierte Entwicklung Folie 21 Simulation des Gesamtsystems mit MATLAB / Simulink / PLECS Feldorientierte Regelung PMSM + Leistungselektronik 21
Modellbasierte Entwicklung Folie 22 Simulation der PMSM und der Leistungselektronik mit der PLECS-Toolbox 22
Modellbasierte Entwicklung Folie 23 Simulation der feldorientierten Regelung mit Simulink [Mouser Electronics, Inc. 2015] Problem: Umsetzung der Feldorientierten Regelung auf dem Zielsystem? * * ω mech I q G R, - - I d * - G R, i q G R, i d U q U d d,q α,β U α U β SVM invert er φ el PWM a,b,c I d d,q I α α,β I a I b I c I q α,β I β a,b,c ω mech φ mech PMSM
Modellbasierte Entwicklung Folie 24 Simulationsmodell zur automatischen Codegenerierung 24 Feldorientierte Regelung
Modellbasierte Entwicklung Folie 25 Simulationsmodell zur automatischen Codegenerierung [Mouser Electronics, Inc. 2015] Prozessorspezifisches Blockset Simulink- Modell MATLAB Coder Simulink Coder Embedded Coder Keil MDK/ GNU Compiler ST-Link Utility Prozessor (STM32F4) 25 Bestehender C-Code
Modellbasierte Entwicklung Folie 26 Entwicklungsprozess: Feldorientierte Regelung eines Pedelec-Motors mit automatischer Codegenerierung Simulation mit MATLAB / Simulink + PLECS Codegenerierung aus Simulink-Modell Testen am realen System 26
Modellbasierte Entwicklung Folie 27 Aufbau des Labormusters STM32F4 Discovery Melexis Board MLX83213 Pedelec-Motor [Melexis 2014] [STMicroelectronics 2015]
Modellbasierte Entwicklung Folie 28 Aufbau des Labormusters 25.06.2015
Modellbasierte Entwicklung Folie 29 Zusammenfassung: Codegenerierung aus MATLAB / Simulink High-Level-Modelling mit Simulink Konfigurationsmöglichkeiten von Low-Level-Funktionalitäten (hardwarenahe Funktionalitäten) speziell Synchronisation von Hardware-Komponenten (ADC-Messung an definiertem Zeitpunkt innerhalb PWM-Periode) Ausblick: Hybride Programmierung Mix aus grafischer Programmierung (Simulink) und textueller Programmierung (IDE) High-Level-Modelling mit Simulink Low-Level-Schicht: Eigene Umsetzung bzw. Nutzung spezieller Codegenerierungs-Tools der Hersteller zur Erstellung des Codes und Verwaltung von Low-Level-Funktionalitäten z.b.: Infineon DAVE, STMicroelectronics STM32CubeMX
Kontaktaufnahme erbeten: Folie 30 M.Sc. Bastian Schindler E-Mail: bsc@drivexpert.de www.drivexpert.de drivexpert GmbH Ehrenbergstr. 11 D-98693 Ilsmenau Tel.: ++49 3677 6675232 Fax: ++49 3677 7996691