traitement programmÉ - stiddsin.free.frstiddsin.free.fr/explorer/cours-td-tp/07a-distributeur-de...
TRANSCRIPT
TP N°6 : TRAITEMENT PROGRAMMÉ - STRUCTURE À BASE DE MICROCONTRÔLEUR ETC 3.1.4
ETC 3.1.4 TRAITEMENT DE L’INFORMATION page 1 / 4
Centres d'intérêt abordés Information
Niveau d’analyse Comportemental
Objectifs pédagogiques 3.1.4 Traitement de l’information
Connaissances Traitement programmé : structure à base de
microcontrôleur
Activités (3 H) Analyser et mettre en œuvre la gestion d’entrées-
sorties
Ressources documentaires Cours : Traitement programmé
Ressources matérielles Ordinateur avec logiciel FLOWCODE
Ce TP met en œuvre le traitement programmé avec le logiciel FLOWCODE. Il a pour objectifs de
contrôler les capteurs et actionneurs d’un distributeur de boissons chaudes et de réaliser l’interface
homme-machine de ce distributeur. La machine « distributeur de boisson chaude » virtuelle est
représentée en annexe page 4.
1. DISTRIBUTEUR DE BOISSONS CHAUDES
1.1. FONCTIONNEMENT
Le distributeur étudié permet d’obtenir des cafés courts de 40ml ainsi que des cafés longs et des
chocolats chauds de 110ml.
La machine vérifie la production d’eau chaude. Lorsque l’utilisateur demande une boisson, elle vérifie
la disponibilité des produits lyophilisés et distribue la boisson avec le volume désiré.
1.2. DESCRIPTION DES ENTRÉES - SORTIES DU MICROCONTRÔLEUR
ENTRÉES
– EAUCH (D0) est commandé par un capteur de température. D0 = '1' quand la température de
l’eau est supérieure ou égale 90°C ;
– CHOIX (D1, D2, D3) est un mot binaire commandé par des boutons poussoirs qui
correspondent au choix de l’utilisateur. D1 = '1' quand l’utilisateur sélectionne un café court ;
D2 = '1' quand l’utilisateur sélectionne un café long ; D3 = '1' quand l’utilisateur sélectionne un
chocolat chaud ;
– PRODUITS (D4, D5) est un mot binaire commandé par des capteurs de présence de chocolat et
de café lyophilisés. D4 = '1' lorsqu’il y a du chocolat lyophilisé ; D5 = '1' lorsqu’il y a du café
lyophilisé;
– DEBIT (D6) est commandé par un débitmètre. Le débitmètre génère une impulsion tous les
centilitres de boisson distribuée.
SORTIES
– CHAUF (B0) commande la résistance de chauffe de l’eau lorsque B0 = 1 ;
– POMPE (B1) commande la pompe de distribution d’eau chaude quand B1 = ‘1’.
– VANNE (B2) commande une vanne multivoies. L’eau chaude s’écoule sur du café lyophilisé si
B2 = ‘0’ et elle s’écoule sur du chocolat lyophilisé si B2 = 1.
– LCD Display (PORTA) affiche les messages à destination de l’utilisateur.
1.3. PRÉSENTATION DE L’ALGORITHME
L’algorithme qui gère le distributeur de boisson chaude est constitué de trois étapes qui s’exécutent en
boucle : Production d’eau chaude, gestion des défauts et Distribution des boissons.
Le fichier qu’il faudra compléter s’appelle boissons.fcf
1.4. PRODUCTION D’EAU CHAUDE
L’algorithme ci-contre représente la macro ProductionEauChaude qui
permet d’activer la résistance chauffante lorsque l’eau est froide. Elle
doit désactiver la résistance lorsque l’eau est chaude.
Tester le programme en mode pas à pas détaillés (touche F8 ou
icône ) en cliquant sur la chaudière pour faire changer la température
de l’eau.
Commenter le déroulement de la macro ProductionEauChaude en
précisant pourquoi elle ne fonctionne pas correctement :
On lit l’état de la température de l’eau, tant que l’eau n’est pas chaude,
on active la résistance chauffante. Dès que l’eau devient chaude, on
devrait ressortir de la boucle tant que pour éteindre la résistance mais
cela ne se produit pas. En effet, dans la boucle tant que, on ne relit pas
l’état de l’eau pour savoir si elle est devenue chaude. Il faut donc
rajouter un pictogramme Entrée pour lire l’état D0 (EAUCH)
Corriger la macro et tester son fonctionnement. Ajouter l’affichage suivant :
FAIRE VÉRIFIER LA SIMULATION PAR LE PROFESSEUR
TP N°6 : TRAITEMENT PROGRAMMÉ - STRUCTURE À BASE DE MICROCONTRÔLEUR ETC 3.1.4
ETC 3.1.4 TRAITEMENT DE L’INFORMATION page 2 / 4
1.5. GESTION DES DÉFAUTS
La macro GestionDefauts permet de vérifier la présence des produits lyophilisés et d’en informer
l’utilisateur. La présence ou non des produits est mémorisée dans une variable PRODUITS.
On souhaite obtenir l’affichage suivant. On rappelle, ci-dessous, les noms des bits du PORTD :
Compléter et tester en mode pas à pas la macro GestionDefauts en utilisant le modèle ci-dessous.
Ajouter les cas nécessaires au pictogramme Multi-Décision.
Est-il vraiment nécessaire de traiter les 4 cas avec le
pictogramme Multi-Décision ?
Trois cas suffisent : Machine Vide, Plus de Chocolat et
Plus de Café car l’afficheur a déjà été effacé dans la
macro ProductionEauChaude
Quelles sont les valeurs de test utilisées dans la
Multi-Décision ?
Machine Vide -> valeur 0
Plus de Café -> valeur 16
et Plus de Chocolat -> valeur 32
Sortie par Défaut non utilisée
FAIRE VÉRIFIER LA SIMULATION PAR LE PROFESSEUR
1.6. DISTRIBUTION DES BOISSONS
La macro Distribution permet d’actionner la vanne multivoies et de mettre en marche la pompe de
distribution d’eau chaude en fonction du choix de l’utilisateur et des éventuels défauts. Elle informe
également l’utilisateur de l’opération en cours.
Dans un premier temps, les volumes de boissons seront contrôlés par des durées d’activation de la
pompe :
- 5 secondes d’activation pour un volume de 40 ml,
- 14 secondes d’activation pour un volume de 110 ml.
La présence ou non des produits a été mémorisée précédemment dans la variable PRODUITS lors de
l’exécution de la macro GestionDefauts. Le choix de l’utilisateur sera mémorisé dans la variable
CHOIX.
1.6.1. DISTRIBUTION SANS GESTION DU DÉBITMÊTRE
La séquence d’affichage à obtenir dans la macro Distribution est illustrée dans le diagramme d’état ci-
dessous.
Compléter les transitions du diagramme comme indiquées en exemple. On rappelle les noms des
bits du PORTD :
D5 D4 D3 D2 D1
Présence Café
Présence Chocolat
Demande Chocolat
Demande Café Long
Demande Café Court
D5 D4
Présence Café
Présence Chocolat
After(5s)
After(5s)
After(14s)
After(14s) After(14s)
After(14s)
TP N°6 : TRAITEMENT PROGRAMMÉ - STRUCTURE À BASE DE MICROCONTRÔLEUR ETC 3.1.4
ETC 3.1.4 TRAITEMENT DE L’INFORMATION page 3 / 4
L’algorithme ci-dessous est une solution inachevée de la macro Distribution. Elle ne gère que
l’affichage et ne traite pas tous les cas de figure.
Reproduire la macro Distribution comme indiqué ci-dessus.
Tester votre programme pas à pas. Pour allez
directement à la macro Distribution, il est possible de
mettre un point d’arrêt en faisant un click droit sur
cette dernière dans la macro Principal :
Lancer ensuite la simulation, elle se met
automatiquement en pause à l’endroit du point d’arrêt.
Poursuivre en appuyant sur la touche F8 (pas à pas
détaillé).
Justifier les valeurs 16 et 32 pour la variable PRODUITS et 8, 2, 4 pour la variable CHOIX :
Pour la variable PRODUITS, 16 correspond à D5 = 0 et D4 = 1 donc il n’y a plus de café mais il reste
du chocolat
32 correspond à D5 = 1 et D4 = 0 il n’y a plus de chocolat mais il reste du café
Pour la variable CHOIX, 8 correspond à D3 = 1, D2 = 0 et D1 = 0 donc l’utilisateur à sélectionné du
chocolat
2 correspond à D3 = 0, D2 = 0 et D1 = 1 donc l’utilisateur à sélectionné du café court
4 correspond à D3 = 0, D2 = 1 et D1 = 0 donc l’utilisateur à sélectionné du café long
Commenter le déroulement de cette macro Distribution
Lorsqu’il n’y a plus de café, la machine fait du chocolat si l’utilisateur à sélectionné la valeur 8.
Lorsqu’il n’y a plus de chocolat, la machine fait du café court si l’utilisateur à sélectionné la valeur 2
ou du café long si l’utilisateur à sélectionné la valeur 4
Sinon il ne se passe rien
En quoi est-elle incomplète ?
Il manque le cas où la machine ne manque ni de café et ni de chocolat. De plus, la vanne et la pompe ne
sont pas commandées.
Compléter la macro Distribution afin qu’elle traite tout les cas de figure (le copier-coller fonctionne
bien dans Flowcode) et afin qu’elle agisse sur les actionneurs (vanne et pompe). Ne pas oublier
d’arrêter la pompe après la distribution. Tester tous les cas de figure. Observer la position de la
vanne et la mise en marche de la pompe sur le panneau de Flowcode.
FAIRE VÉRIFIER LA SIMULATION PAR LE PROFESSEUR.
1.6.2. DISTRIBUTION AVEC GESTION DU DÉBITMÊTRE
Le débitmètre sera simulé par un bouton poussoir. On rappelle que le débitmètre génère une impulsion
tous les centilitres de boisson distribuée.
Sur le panneau, placer un bouton de type poussoir et de fonctionnement momentané. Ajuster ses
paramètres de connexion pour qu’il soit relié à D6.
Remplacer les temporisations de 14s et 5s par les macros ml110 et ml40. Tester et observer le
fonctionnement de ces macros.
TP N°6 : TRAITEMENT PROGRAMMÉ - STRUCTURE À BASE DE MICROCONTRÔLEUR ETC 3.1.4
ETC 3.1.4 TRAITEMENT DE L’INFORMATION page 4 / 4
Commenter le déroulement de la macro ml110
On initialise une variable n à 0 pour compter les impulsions du débitmètre
Tant que n < 11 soit que le débit est inférieur à 110ml,
On lit l’entrée D6 (débitmètre)
Si DEBIT est à 0 on ne fait rien car on attend une impulsion au niveau
haut
Une fois que DEBIT est à 1
On relit l’entrée D6 (débitmètre) tant que DEBIT est à 1 car on attend
qu’elle repasse à 0
Puis on incrémente la variable n (11 fois pour 110ml)
Remarque : il faut attendre que l’entrée D6 repasse à ‘0’ avant
d’incrémenter n car, le microcontrôleur étant extrêmement rapide, n
atteindrait la valeur 11 au moment même où D6 passe à
‘1’
1.7. AMÉLIORATION DE L’AFFICHAGE (FACULTATIF)
Les afficheurs LCD sont des périphériques très lents. Pour éviter les effets de scintillement, une astuce
consiste à ne jamais effacer l’afficheur mais à réécrire sur les textes déjà affichés.
Supprimer la macro composant effacer de la macro ProductionEauChaude, ajouter un cas = 0 dans
la Multi-Décision PRODUITS de la macro Distribution où on ne fera rien et mettre du texte dans le
cas par défaut de cette même macro (ex : « bonjour en service »). Tester en mode pas à pas,
débugger et optimiser la position des textes à afficher.
Recenser les bugs ?
- Si les bacs à produit son pleins avant que l’eau soit chaude alors l’affichage n’est pas actualisé lorsque
l’eau devient chaude : il faut ajouter un texte (ex : « bonjour en service ») dans la branche défaut dans
l’autre Multi-Décision PRODUITS de la macro Distribution
- Divers textes non recouverts par les textes qui suivent donc il vaut mieux commencer à la colonne
x=0 de l’afficheur et mettre des textes de 16 caractères avec des espaces
FAIRE VÉRIFIER LA SIMULATION PAR LE PROFESSEUR.
2. ANNEXE : MACHINE VIRTUELLE
Résistance Chauffante
Chaudière à Eau
Réserve de Chocolat Lyophilisé
Bouton Café Court
Écran LCD
Pompe à Eau Chaude
Réserve de Café
Lyophilisé
Vanne Multivoies
Débitmètre
Bouton Café Long
Bouton Chocolat