Mardi 8 février 2011, se déroulait à Paris le séminaire MathWorks destiné à présenter aux ingénieurs travaillant sur les systèmes embarqués, Model-Based Design, une méthodologie servant à spécifier, concevoir, simuler et valider en temps réel les systèmes physiques et les algorithmes associés (loi de commande, gestion des défauts etc.). Retour sur cette journée.
À l’heure où la conception des équipements industriels se complexifie du fait de l’utilisation de logiciels embarqués, bon nombre d’entreprises doivent se plier à des impératifs quotidiens de réduction des coûts et des délais de développement. La méthodologie Model-Based Design permet d’y répondre en :
- facilitant les processus de développement, accélérant le cycle de développement ;
- facilitant la conception des systèmes embarqués ;
- permettant la réduction des coûts et des délais ;
- servant à implémenter des lois de commandes et des logiques de gestion des défauts.
Le développement traditionnel d’un système physique passe par plusieurs phases : une phase de conception, une phase d’implémentation, et une phase d’intégration et de test. Ce type de développement possède néanmoins certaines limites :
- des problèmes de communication entre les différents services ;
- un cloisonnement entre la phase de conception et la phase d’implémentation.
Model-Based Design permet de lever ces barrières. En détectant les erreurs très tôt dans le processus de développement grâce à une procédure de vérification continue par la simulation, MBD améliore la communication et offre ainsi plus de rapidité. Démonstration avec Laurent Vaylet, ingénieur d’application.
Développement d’une loi de commande pour un moteur à courant continu
Le système utilisé est un petit moteur électrique à courant continu, qui déplace une inertie d’un certain angle. C’est le modèle idéal de moteur électrique, car il n’y a pas de frottements. Le test est réalisé avec Simulink, un environnement graphique édité par The MathWorks qui permet de créer des prototypages.
Première partie : modélisation du système et loi de commande
Model-Based Design est l’interface qui va permettre d’optimiser le système, la partie physique et la partie contrôleur.
- Travail sur la partie physique
Modélisation par identification
La première méthode est la modélisation par identification. On commence par prendre des mesures. Pour cela, on excite le modèle par l’injection d’un bruit blanc. Il s’agit de trouver le modèle mathématique correspondant le mieux à ces données fréquentielles. Une possibilité est de demander à Matlab d’estimer 10 modèles. Une fois identifié, le modèle est ensuite inséré dans l’interface. Au lieu d’avoir une boite noire, on obtient un modèle identifié.
Modélisation physique
Il ne s’agit plus d’un système identifié, mais d’un modèle mathématique.
- Travail sur la partie contrôleur
Concernant l’optimisation de la loi de commande. Prenons l’exemple d’un contrôleur qui n’offre pas de performances optimales. On va le remplacer par un régulateur PID (ProportionneI intégral Dérivé) qui va automatiquement être réglé grâce à Simulink. La suppression des oscillations va nécessiter un filtre coupe-bande, en l’occurrence l’outil Simulink Control Design, qui va permettre le réglage du PID et le réglage de la fonction de transfert.
Deuxième partie : gestion des défauts (stateflow) et tests temps réel
Prenons l’exemple d’une défaillance d’un capteur. Pour y remédier, on passe en mode dégradé pour stabiliser le système, l’idée étant de gérer différents modes de fonctionnement. Ce qu’on appelle « stateflow » ou gestion des défauts, est destiné aux « machines à état ». Les machines à état étant des circuits de logique séquentielle servant à générer des signaux de commande. Très visuel et très intuitif, le stateflow est très utile pour gérer les bugs. Il est comparable au « cerveau de la simulation », et permet, par exemple, de gérer la boite à vitesse d’une voiture. L’idée est d’injecter des défauts pour tester le modèle. On injecte des valeurs puis on lance une simulation de 5 secondes environ. On teste le mode « fast failure », puis le mode « slow failure ».
Concernant maintenant la partie prototypage temps réel. Elle se fait via une liaison Ethernet et à l’aide de la boite à outils xpcTarget. On passe en mode externe, on choisit un temps de simulation en « infini », et on sélectionne la cible xpTarget. On remplace ensuite la partie physique par les entrées-sorties du matériel, on compile le code C et on génère un exécutable. XpcTarget permet ainsi le réglage de paramètres en temps réel, l’analyse et la visualisation de données en temps réel.
C.H.
Réagissez à cet article
Vous avez déjà un compte ? Connectez-vous et retrouvez plus tard tous vos commentaires dans votre espace personnel.
Inscrivez-vous !
Vous n'avez pas encore de compte ?
CRÉER UN COMPTE