TP ANALYSE FONCTIONNELLE ET COMPORTEMENTALE DU DRONE

B.3.1 : Analyse comportementale du servomoteur de bridage -
            Activités des modélisateurs

Mise en situation et objectifs

    Dans l'étude du contexte général, vous avez élaboré un diagramme d'état permettant de piloter la consigne d'angle du servomoteur en fonction de la position de l'interrupteur.

    Mais en réalité, le contrôleur de la chaîne d’information ne récupère pas directement un numéro de position. En effet, l'interrupteur à trois positions est relié à deux entrées de l'automate.
    Ces entrées sont de nature binaire, et le signal fourni à l'automate peut prendre deux valeurs : 0 ou 1. En fonction de la position de l'interrupteur, les valeurs fournies au contrôleur varient.

    L'état des entrées est appelé borne_1 et borne_2. Afin d'implanter dans le micro-contrôleur Arduino un programme compatible avec sa chaîne d'information, il vous faudra donc modifier votre graphe d'état sous Matlab pour intégrer l'état des deux variables logiques précédentes.

  Préparation du nouveau diagramme d'état
 
Documents ressources pour cette partie: 
Diagrammes d'état (stm)

Prise en main de Simulink (Matlab)
Prise en main de Stateflow 
 
    Vous avez élaboré dans la partie précédente le diagramme d'état de commande du servo-bloqueur. Vous travaillerez maintenant avec un autre diagramme ébauché dans lequel il va falloir recopier votre travail précédent.

       
 Question 1
    Télécharger et ouvrir le nouveau diagramme Simulation_servo_tangage_2.slx

    Dans ce diagramme, ouvrir le diagramme "Commande servomoteur" et compléter ses transitions et ses actions (ou copiez-collez le à partir de votre simulation précédente).
    Faire une capture d'écran de ce diagramme au format pdf pour l'inclure dans le compte-rendu.

   

  Diagramme d'état "Position interrupteur"
 
    Le micro-contrôleur reçoit donc deux informations logiques borne_1 et borne_2.

    Le diagramme d'état "Position interrupteur" a pour but d'élaborer une variable "position" à partir de ces entrées, qui doit avoir pour valeur :
        * position=1 si l'interrupteur est en position "tangage libre"
        * 
position=2 si l'interrupteur est en position "tangage limité"
        *
position=3 si l'interrupteur est en position "tangage bloqué"

 Question 2
    Demander aux expérimentateurs la table de vérité permettant de définir la valeur de la variable "position" en fonction des entrées "borne_1" et "borne_2".

    Dans le modèle "Simulation_servo_tangage_2.slx", ouvrir le diagramme "Position interrupteur".
    La transition pour accéder à l'état "tangage_libre" est déjà renseignée. Elle précise que la variable "position" doit être égale à 1 si borne_1=1 et borne_2=0.
   
    Compléter ce diagramme d'état en renseignant les autres objets (transitions et actions).

    Faire une capture d'écran de ce diagramme au format pdf pour l'inclure dans le compte-rendu.

    Enregistrer votre travail.
 

  Validation par simulation
 
    Le but est ici de vérifier que vos graphes d'état sont cohérents avec le comportement attendu.


 Question 3
    Lancer une simulation et vérifier que l'angle affiché du servo-bloqueur est bien en cohérence avec la position des switchs.

FIN DE CETTE PARTIE
     
    Haut de page