TP: Tramway aérien
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