Université de Nantes - IUT de Saint-Nazaire Département Mesures Physiques Devoir surveillé d informatique d instrumentation Semestre 2, 2013/2014. Durée : 1 heure 45. Les quatre exercices sont indépendants. Si vous joignez cet énoncé à votre copie, indiquez ci-dessous votre nom, prénom et groupe. nom, prénom groupe 1. (5 points) Le circuit de la figure 1 est utilisé pour produire à partir d une variable logique e deux variables logiques s h et s l qui vont commander la fermeture de deux interrupteurs. Ces deux interrupteurs sont connectés en série entre la masse et une tension continue et ne doivent donc jamais être fermés en même temps, pour ne pas produire de court-circuit. La variable logique e est un signal périodique de période T et de rapport cyclique égal à 50 %. On tiendra compte du retard de propagation des circuits logiques, que l on notera d, car c est ce retard de propagation qui est la clé du fonctionnement de ce circuit. (a) Quelles sont les expressions de s 1, s 2, s 3 et s 4 en fonction de e? (b) Quelles sont les expressions de s h et s l en fonction de e? (c) En complétant la figure 2, faire un chronogramme représentant l évolution de e, s 1, s 2, s 3, s 4, s h, s l en fonction du temps. On représentera d par 1 mm (une graduation élémentaire) et T par 6 cm (six carreaux). 2. (5 points) La figure 1 3 montre la structure d un circuit qui, lorsque E est au niveau logique haut lors d un front montant du signal d horloge H, produit sur la sortie S un niveau logique haut pendant exactement une période de H, qui est un signal logique périodique de période T et de rapport cyclique égal à 50 %. On rappelle qu à chaque front montant présent sur son entrée d activation H, l entrée D d une bascule D est transmis à sa sortie Q. Ce circuit comprend des composants de logique combinatoire qui, à partir de Q 0, Q 1 et E, calculent D 1 = Q 1 Q 0 + Q 1 E et D 0 = E Q 1 Q 0. (a) Ce circuit est-il combinatoire ou séquentiel? Est-il synchrone ou asynchrone? Justifiez vos réponses. (b) Faire un tableau de vérité de D 1 et D 0 en fonction de E, Q 1 et Q 0, en complétant la figure 4. (c) En complétant la figure 5, faire un chronogramme représentant l évolution de Q 1, Q 0, D 1 et D 0 en fonction du temps. On considèrera qu à l instant initial, les sorties des deux bascules sont au niveau logique bas. On représentera le retard de propagation de tous les circuits logiques par un décalage de 1 mm. Figure 1: Circuit étudié dans l exercice 1.
Figure 2: Papier millimétré utilisé dans l exercice 1. Figure 3: Circuit étudié dans l exercice 2. E Q 1 Q 0 D 1 D 0 Figure 4: Tableau de vérité utilisé dans l exercice 2.
H E Q 1 Q 0 D 1 D 0 Figure 5: Chronogramme à compléter dans l exercice 2. 3. (5 points) L objectif de cet exercice est de concevoir un programme qui permet de réaliser un chenillard à l aide d un microcontrôleur ARDUINO. On supposera que les broches 2 à 13 du port d entrées-sorties sont reliées à des diodes électroluminescentes. Toutes ces broches doivent être mises au niveau logique haut les unes après les autres (une seule à la fois), de la broche 2 à la broche 13, puis une nouvelle séquence redémarre en mettant la broche 2 de nouveau au niveau logique 1. (a) Écrire la fonction setup() pour que le microcontrôleur puisse allumer et éteindre les diodes. (b) Écrire une première version de la boucle principale loop() du programme, dans laquelle chaque broche reliée à une diode électroluminescente restera au niveau logique haut pendant 100 ms. (c) Écrire ensuite une seconde version dans laquelle la durée d allumage des diodes électroluminescentes diminue de 100 ms à 1 ms par pas de 1 ms, puis revient à 100 ms et recommence un nouveau cycle. 4. (5 points) La surveillance d une installation industrielle conduit à comparer la mesure d une grandeur physique à deux seuils hauts et bas, qui délimitent l intervalle dans lequel la grandeur évolue lorsque l installation fonctionne normalement. Si la mesure sort de cet intervalle, les opérateurs chargés de veiller au bon déroulement de cette installation doivent agir en conséquence. Compléter la fonction Surveillance() du programme ci-dessous afin de comparer la valeur mesurée, fournie par la fonction Acquisition() et stockée dans la variable Mesure de type unsigned int, aux deux seuils SeuilHaut et SeuilBas. Si la mesure est comprise entre les deux seuils, on allumera une diode electro-luminescente reliée à la broche 13 du port d entrée-sortie pendant 200 ms, et on l éteindra pendant 1.8 s. Si la mesure est en dessous de SeuilBas, on allumera la diode pendant 1 s, et on l éteindra pendant 1 s. Si la mesure est au dessus de SeuilHaut, on allumera la diode pendant 1.8 s, et on l éteindra pendant 200 ms. On complètera également la fonction setup() pour que le microcontrôleur puisse allumer et éteindre la diode. 1 // surveillance d une installation industrielle 2 // F. Auger, IUT de Saint-Nazaire (Universite de Nantes, France), mai 2014 3 4 const int LedPin=13, AnalogInPin=0, SeuilBas=450, SeuilHaut=550; 5 6 unsigned int Mesure ; 7 8 // Acquisition ********************************************* 9 10 void Acquisition() 11 {Mesure=analogRead(AnalogInPin);} 12 13 // Surveillance ******************************************** 14 15 void Surveillance() // a completer 16 {
17 } 18 19 // setup *************************************************** 20 21 void setup() // a completer 22 { 23 } 24 25 // loop **************************************************** 26 27 void loop() 28 { 29 Acquisition(); // acquisition de la mesure 30 Surveillance(); // exploitation de la mesure 31 } Notes 1 Concours du groupe Ensea, épreuve d électricité-électronique, 2013, question 11. Ce circuit permet entre autres de dtecter le passage à 1 d un capteur logique.