ITK Engineering développe un contrôleur pour le domaine dentaire avec l’approche Model-Based Design - MATLAB & Simulink

ITK Engineering développe un contrôleur pour le domaine dentaire avec l’approche Model-Based Design

« Avec l'approche Model-Based Design et Simulink, nous avons pu réduire les coûts et les risques du projet grâce à une vérification précoce, raccourcir le délai de mise sur le marché d'un système certifié IEC 62304 et livrer en production un code de très grande qualité dès la première version. »

Challenge

Développer et implémenter un logiciel de commande vectorielle, pour les moteurs à courant continu sans balais et sans capteur, destinés à être utilisés pour les fraises dentaires

Solution

Utiliser l’approche Model-Based Design avec Simulink, Stateflow et Embedded Coder pour modéliser le contrôleur et le dispositif physique, exécuter des simulations en boucle fermée, générer du code de production et rationaliser les tests unitaires

Résultats

  • Temps de développement réduit de moitié
  • Problèmes matériels détectés tôt
  • Contrat remporté, confiance client établie
Fraises dentaires équipées du contrôle moteur sans balais sans capteur d'ITK Engineering.

Les moteurs à courant continu sans balais et sans capteur (BLDC) sont parfaitement adaptés à une utilisation dans les fraises dentaires. Ils fonctionnent avec moins d’abrasion que les moteurs à balais et sont plus fiables, plus silencieux et plus faciles à entretenir et à stériliser. Comparés aux moteurs BLDC avec capteur, les moteurs BLDC sans capteur sont moins chers et plus compacts. Cependant, les algorithmes complexes nécessaires au contrôle sans capteur nécessitent beaucoup plus d'efforts d'ingénierie pour être développés.

ITK Engineering a économisé du temps et des efforts en utilisant l’approche Model-Based Design pour développer et implémenter un contrôleur de moteur BLDC de production, conforme à la norme IEC 62304 pour les logiciels de dispositifs médicaux.

« L’approche Model-Based Design avec Simulink nous a permis de concevoir et d'optimiser le contrôleur avant même que le hardware du moteur ne soit disponible pour les tests, puis de générer le code de production pour le contrôleur une fois que nous avions le moteur », explique le Dr Michael Schwarz, ingénieur senior pour les systèmes de contrôle médical chez ITK. « Il aurait été impossible de terminer ce projet dans les délais si nous avions écrit le code à la main. »

Challenge

Les moteurs de fraises dentaires fonctionnent à des vitesses allant jusqu'à 40 000 tr/min. L'algorithme de commande vectorielle pour de tels moteurs nécessite des informations précises sur la position du rotor sur une large plage de vitesse. Dans un moteur sans capteur, la position du rotor doit être déduite des variations de courant dans le stator provoquées par l'induction électromagnétique de l'aimant du rotor. Les ingénieurs d'ITK devaient concevoir et optimiser un estimateur de position du rotor, ainsi qu'un contrôle en cascade sophistiqué pour le moteur de la fraise dentaire, qui serait conforme à la norme IEC 62304 pour les logiciels de dispositifs médicaux.

Lorsque le projet a débuté, aucun prototype de moteur n’était disponible. Pour respecter le délai du projet de son client, ITK a dû développer le logiciel du contrôleur en parallèle avec le hardware du moteur. Les ingénieurs d’ITK devaient créer un modèle précis du moteur et développer un contrôleur fonctionnant avec ce modèle. Une fois le moteur disponible, ils ont dû rapidement implémenter et tester leur logiciel de contrôle sur un processeur embarqué.

Solution

Les ingénieurs d'ITK ont conçu, optimisé, implémenté et testé le contrôleur de moteur BLDC sans capteur avec l’approche Model-Based Design.

À partir de fiches techniques de moteurs existants et d'informations fournies par leur client, les ingénieurs ont modélisé le moteur BLDC, y compris ses composants électriques et mécaniques, dans Simulink®.

Ils ont développé un modèle de contrôleur dans Simulink et ont utilisé Stateflow® pour modéliser les modes de démarrage, d'arrêt et d'erreur, ainsi que les modes de fonctionnement sélectionnables par l'utilisateur.

L’équipe a effectué des simulations en boucle fermée, du modèle physique et du modèle de contrôleur initial, qui s’appuyaient sur un signal de position du rotor fourni par le modèle physique.

Pour développer l’estimateur de position du rotor, l’équipe a utilisé Symbolic Math Toolbox™ afin de résoudre des équations algébriques, puis a affiné l’estimateur jusqu’à ce que ses résultats correspondent au signal de position réel du rotor du modèle physique.

En utilisant les fonctionnalités de mise à l'échelle automatique et de remplacement du type de données de Fixed-Point Designer™, les ingénieurs ont converti leur design de contrôleur à virgule flottante en virgule fixe. Ils ont relancé les simulations pour vérifier le modèle à virgule fixe.

L'équipe a développé des scripts MATLAB® qui effectuaient des tests unitaires par lots, des composants individuels du modèle. Ils ont produit des rapports de couverture de modèle pour ces tests en utilisant Simulink Coverage™.

L'équipe a généré plus de 5000 lignes de code C à partir de leur modèle de contrôleur avec Embedded Coder®. Ils ont compilé le code pour un processeur ARM® Cortex®-M3 avec un compilateur Keil.

Les ingénieurs ont testé le contrôleur sur une carte prototype et un moteur, en affinant le modèle et en régénérant le code plusieurs fois pour optimiser la performance.

ITK a livré à son client des modèles Simulink du contrôleur et du dispositif physique, ainsi que le code de production généré. Le contrôleur et le moteur BLDC sans capteur sont actuellement produits en série dans les fraises dentaires.

Résultats

  • Temps de développement réduit de moitié. « Nous avons terminé le développement du contrôleur en quatre mois environ », explique Schwarz. « Sans l’approche Model-Based Design, cela aurait pris au moins deux fois plus de temps, car nous aurions dû attendre le hardware, écrire le code à la main et tester davantage de prototypes. »

  • Problèmes matériels détectés tôt. « Notre modèle physique reflétait avec précision le comportement du moteur, ce qui nous a permis de vérifier notre contrôleur et le hardware dès le début du développement », explique Alexander Reiss, ingénieur système chez ITK. « Nous avons rapidement identifié la cause profonde d’une erreur sur le premier prototype hardware : les résultats mesurés sur le hardware ne correspondaient pas aux résultats produits par notre modèle Simulink vérifié. »

  • Contrat remporté, confiance client établie. « Notre client souhaitait commencer les travaux immédiatement. L’approche Model-Based Design nous a aidé à obtenir le contrat car elle nous a permis de débuter le développement avant que le hardware ne soit disponible », explique Reiss. « L’approche Model-Based Design a également renforcé la confiance de notre client dans notre travail ; nous avons partagé nos modèles et nos simulations Simulink, qu'ils utilisent désormais pour apporter leurs propres améliorations. »