TP: tramway aérien


ce symbole indique qu'il faut compléter le Doc réponse


Compléter le document "liste des fonctions Arduino" au fur et à mesure que vous rencontrez une fonction




Présentation


Mise en situation:

Nous allons simuler le comportement de l'automate de gestion d'un tramway aérien.



Comportement:

Voici le diagramme d'état SysML décrivant le comportement attendu du système.




Aspect matériel:


Le système comporte:



Tramway

Maquette didactique de simulation

Remarques

sorties

moteur d'entraînement

servomoteur

Moteur d'entraînement du tramway pouvant fonctionner dans les 2 sens de rotation


sonnerie

led



electro-aimant

led

ouverture des portes

La fermeture se fait toute seule par ressort.






entrées

Capteur de fin de course Station_1

Bouton-poussoir

est à 1 lorsque la cabine est en station 1

Capteur de fin de course Station_2

Bouton-poussoir

est à 1 lorsque la cabine est en station 2

Capteur de porte fermée

Bouton-poussoir

est à 1 lorsque la porte est fermée

Capteur de porte ouverte

Bouton-poussoir

est à 1 lorsque la porte est ouverte

Anémomètre

Potentiomètre

Capteur analogique qui permet de mesurer la vitesse du vent.





1) Utilisation de la librairie servo


Consulter le mini cours sur les servomoteurs.



La librairie servo permet de contrôler des moteur pas à pas: Ouvrir le fichier exemple Servo->Knob


Compléter votre document "liste des fonctions Arduino" avec les fonctions:


attach(pin)


write(valeur)




Les servomoteurs que nous possédons se pilotent-ils en position ou en vitesse?

compléter le document réponse




2) Codage de la machine à état



Consulter le mini cours sur les machines à états.



D'après la présentation du tramway aérien, combien y a t-il d'états?

D'après la présentation du tramway aérien, combien y a t-il de transitions?

Choisir les Entrées/sorties à utiliser


Appeler le professeur pour vérifier.




Ouvrir et compléter le fichier de départ machine_etat_depart.ino


Tester votre programme.


Appeler le professeur pour vérifier.





3) Gestion de la vitesse de déplacement


La vitesse de déplacement de la cabine doit être ralentie en cas de vent trop important.


Ne pas confondre la vitesse du vent et celle du déplacement de la cabine
















Le système comporte donc un anémomètre qui permet de mesurer la vitesse du vent. Celui-ci génère une tension proportionnelle à la vitesse du vent:

lorsque le vent = 50m/s la tension sera de 5V.













Compléter le tableau du Doc réponse sur les vitesses de vent.


modifier le programme pour adapter la vitesse de déplacement de la cabine

remarques d'aide:

- Ne pas recréer une nouvelle machine à états mais adapter simplement la valeur: servomoteur.write(valeur)

- Vitesse de rotation maximum du servomoteur correspondant à un déplacement de 5m/s de la cabine

                       



Appeler le professeur pour vérifier.




4) Gestion d'une interruption


Consulter le mini cours sur les interruptions.



Certains événements peuvent mettre en danger l'installation. Par exemple:

-Défaillance de l'alimentation électrique

-Défaillance de la motorisation principale

-Défaillance du frein de service

-Niveau de vent >32m/s



Pour simuler une défaillance, nous utiliserons un bouton poussoir: il sera passant en cas de défaut (1 logique sur l'entrée)



Consulter le cours sur les entrées/sorties de l'Arduino.

Quelles entrées peuvent être utilisée en interruption?




Compléter votre document "liste des fonctions Arduino" avec les fonctions ci-dessous.



attachInterrupt()


noInterruption()


Interruption()




modifier le programme pour qu'un événement sur l'interruption arrête le moteur et allume la led de la sonnerie.

Le programme devra rester dans cet état tant que l’événement n'est pas repassé à 0.




Appeler le professeur pour vérifier.



















Créé avec HelpNDoc Personal Edition: Générateur de documentation complet