Commande de vitre électrique

L’exercice suivant peut être réalisé à l’aide de MATLAB/Simulink/Stateflow.

Les bibliothèques suivantes sont nécessaires :

Ressources :

 

L’objectif est de modéliser par un diagramme d’état le comportement d’une commande de vitre électrique de voiture :

Entrées

  • Bouton à 5 positions :
    • \(mh\) : monter jusqu’en haut
    • \(m\) : monter
    • \(a\) : arrêt
    • \(d\) : descendre
    • \(db\): descendre jusqu’en bas
  • Capteurs de fin de course :
    • \(h\) : vitre en position haute
    • \(b\) : vitre en position basse
  • Capteur de surintensité : \(s\)

Sorties

  • Moteur :
    • \(M=1\) : montée
    • \(M=0\) : arrêt
    • \(M=−1\) : descente

 

Comportement attendu

Lorsque l’utilisateur actionne le bouton dans la première position (monter ou descendre) le moteur reste en marche (montée ou descente). Il s’arrête dès que le bouton revient dans sa position stable d’arrêt, ou bien quand la vitre a atteint sa position extrême (position haute ou position basse).

Lorsque l’utilisateur actionne le bouton dans la deuxième position (monter jusqu’en haut ou descendre jusqu’en bas) le moteur reste en marche (montée ou descente). Il ne s’arrête que quand la vitre a atteint sa position extrême (position haute ou position basse), même si l’utilisateur a relâché le bouton. Toute nouvelle action sur le bouton stoppe le mouvement.

Pour des raisons de sécurité, le capteur de surintensité signale qu’un obstacle s’oppose au mouvement de la vitre.
Dans le sens de la monté, en cas de surintensité, la vitre s’arrête puis redescend pendant 0,5 seconde.
Dans le sens de la descente, le mouvement s’arrête.
Le retour à la normal ne peut se produire que lorsque le bouton revient en position d’arrêt.

Modéliser le premier cas de fonctionnement (actions sur monter ou descendre), puis intégrer le deuxième cas (monter ou descendre jusqu’au bout), et enfin ajouter la fonctionnalité de sécurité.
  • Modèle MATLAB/Stateflow à télécharger : Vitre.slx

 

 

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *