Situation-problème : Remplacer un circuit spécialisé onéreux par un
Transcription
Situation-problème : Remplacer un circuit spécialisé onéreux par un
Expression du besoin Support utilisé (Intérêt de l’activité) A qui rend-il service ? Sur quoi agit-il ? Aux élèves des Sciences de l’Ingénieur de Première Sur les connaissances des structures et des principes de fonctionnement d’un système à base de microcontrôleur Ouvre Portail FACC avec Digicode Activité de formation Consigne CI10-I2-A1-DA Lorsque vous rencontrez , énoncez au professeur vos résultats. Vous devez être capable d’en faire une rapide description et de justifier vos choix. Dans quel but ? Permettre aux élèves d’identifier les différents constituants matériels de la chaîne d’information et les fonctions techniques réalisées, lister et caractériser les entrées et les sorties, de relever les contraintes de compatibilités des signaux échangés entre la carte µC et les périphériques. ACQUERIR les informations du Digicode TRAITER Circuit spécialisé COMMUNIQUER Chaîne d’information Décodage de la transmission codée "DECODER" Transmission de l’information codée au système centralisé Code de 4 chiffres Validation du code "FAAC METAL DIGIKEY" Situation-problème : Remplacer un circuit spécialisé onéreux par un Pictogramme microcontrôleur d’usage général. Réponse à la situation-problème Déroulement de l’activité Identification des différents constituants matériels de la chaîne d’information et des fonctions techniques utilisées par le Digicode. Recensement des entrées et des sorties de la fonction TRAITER. Caractérisation des entrées et des sorties de la fonction TRAITER. Analyse de l’organisation fonctionnelle de la fonction TRAITER réalisée par un microcontrôleur. Analyse des contraintes de compatibilité des signaux échangés entre la fonction TRAITER et les périphériques externes. Pictogrammes Observer Rechercher Internet Décrire Expliquer Travail demandé A. Identification des différents constituants matériels et des fonctions techniques associés à la chaine d’information du DIGICODE 1. Description Le FAAC METAL DIGIKEY est un clavier matricé de 12 touches à code programmable qui offre une solution moderne et fonctionnelle aux problèmes de commande de systèmes automatiques d’ouverture. Le code désiré se compose simplement en mettant les micro-interrupteurs de l’unité de décodage DECODER sur la position choisie. L’inviolabilité absolue est garantie par le fait que le clavier n’envoie pas l’impulsion d’ouverture, mais un signal codé devant être lu et reconnu par l’unité de décodage DECODER. Grâce à ce type de fonctionnement, même si les fils de raccordement sont court-circuités, il est absolument impossible de commander l’ouverture de la porte ou du système électrique relié. 2. Fonctionnement Pour composer les quatre chiffres du code sur le clavier, il faut suivre le même ordre que pour la formation sur les douze micro-interrupteurs du module DECODER. Avant de composer une combinaison quelconque, il faut toujours appuyer sur le bouton RESET ( ). La LED rouge, située à l’avant du METAL DIGIKEY, fonctionne de la façon suivante : - Elle est normalement allumée lorsque le METAL DIGIKEY est alimenté (elle permet ainsi de repérer facilement le METAL DIGIKEY en cas de faible luminosité). Elle s’éteint lorsqu’on presse une touche du clavier (pour confirmer que le code a bien été introduit). Si le code envoyé ne correspond pas au code composé sur la carte DECODER, la LED s’éteint 2 secondes et le clavier est bloqué jusqu’à ce qu’on appuie sur la touche RESET. Si le code envoyé correspond au code composé sur la carte DECODER, la LED clignote et le BUZZER émet quelques notes de musique pour confirmer que le code a bien été reconnu. A partir des informations contenues dans la description du FAAC METAL DIGIKEY, identifier les périphériques en relation avec la fonction TRAITER. B. Recensement et caractérisation des entrées et des sorties de la fonction TRAITER Le recensement des entrées et des sorties ainsi que leur caractérisation (analogique/logique/numérique et leurs caractéristiques électriques) est la première étape vers le choix du microcontrôleur. Expliquer le principe d’un clavier matricé. En déduire le nombre de broches nécessaires à un microcontrôleur pour assurer la reconnaissance des touches appuyées. S’agit-il d’entrées ou de sorties ? Doivent-elles gérer une information analogique, numérique ou logique ? Compléter le recensement des entrées ou/et des sorties de la fonction TRAITER ainsi que leur nature (analogique/logique). Rechercher dans la documentation constructeur d’un microcontrôleur (on prendra comme exemple le PIC 12F675 MICROCHIP) les caractéristiques électriques des différentes broches et cela en fonction de leur nature définie aux questions précédentes. C. Analyse de l’organisation fonctionnelle de la fonction TRAITER Solution avec microcontrôleur Cette organisation fonctionnelle est donnée par le constructeur du microcontrôleur. Mémoire "Programme" de type Flash Mémoire RAM Bus d’adresse Port Bidirectionnel Exemple du microcontrôleur PIC 12F675 Bus de données Compteurs programmables Convertisseur Analogique Numérique Mémoire EEPROM La même broche peut avoir plusieurs fonctionnalités comme l’atteste les informations suivantes : L’objectif de cette partie est de prouver qu’à certaines conditions les fonctionnalités et le brochage d’un microcontrôleur PIC 12F675 permettent la substitution du circuit spécialisé du module FAAC METAL DIGIKEY. Le PIC 12F675 constitue donc notre support de recherche, il est représentatif des possibilités offertes par les structures actuelles pour un coût de moins d’un euro. Les documents de référence seront constitués pour l’essentiel du "Data Sheet" du circuit PIC 12F675 mais également d’un document qui fait autorité dans le monde des PIC : "La Programmation des PIC" par Bigonoff. 1. Les spécificités et les capacités des mémoires a. La mémoire PROGRAMME Le "Compteur Programme" [PC] contient l’adresse de la prochaine instruction à exécuter. Il possède un format de 13 bits. Au démarrage du microcontrôleur, le contenu du "Compteur Programme" est initialisé à une adresse contenue à l’adresse 0000h de la mémoire programme. Cet emplacement mémoire qui contient l’adresse de départ du programme ou firmware est ce que l’on appelle le Vecteur RESET. Quelle est la taille maximale de la zone "Mémoire Programme" que peut adresser le "Compteur Programme" ? Quelle est en réalité la taille de la zone "Mémoire Programme" du PIC 12F675 ? Donner l’adresse de départ et l’adresse de fin en code hexadécimal. Quels seront alors les éléments binaires du "Compteur Programme" qui ne seront pas affectés ? A chaque adresse, il correspond un mot de 14 bits, justifier l’information donnée par le constructeur d’un espace mémoire de 1K x 14. Cet espace mémoire est doté d’une technologie flash (C’est un type E2PROM que nous verrons plus tard). C’est une mémoire à semi-conducteurs, non volatile et réinscriptible. Ces trois particularités lui confèrent : Rapidité, durabilité et faible consommation, La pérennité des informations mémorisées lors de la mise hors tension, La possibilité d’être réutilisable par une autre opération d’écriture. Justifier l’emploi d’une technologie flash pour la "Mémoire Programme" dans le cadre de notre utilisation. Quelle est la capacité d’endurance en écriture de ce type de mémoire ? Pendant combien de temps prévoit-on une parfaite rétention des informations enregistrées ? b. La mémoire DONNÉES (Données volatiles) Elle porte l’acronyme R.A.M. pour Random Access Memory (mémoire à accès direct) et se caractérise par un accès rapide et une volatilité des informations lorsque la mémoire n’est plus alimentée. Cet espace est donc réservé à la mémorisation des données temporaires. Quelle est l’organisation de cet espace mémoire ? Vous expliquerez notamment le concept de bank, le volume mémoire de chaque bank ainsi que l’organisation de leur contenu. Quelle est la capacité totale de cette zone mémoire ? Quelle capacité mémoire peut-on utiliser pour sauvegarder des données temporaires ? Quel pourrait être l’intérêt de ce type de mémoire dans le cadre de l’utilisation du FAAC METAL DIGIKEY ? c. La mémoire DONNÉES (Données non volatiles) Elle porte l’acronyme E.E.P.R.O.M. ou E2PROM pour Electrically-Erasable Programmable ReadOnly Memory (mémoire morte effaçable électriquement et programmable). Elle permet l’enregistrement d’informations qui doivent rester valide même lorsque l’énergie disparait. Quelle est la capacité totale de cette zone mémoire ? Décrire son organisation. Quelle est son adresse de début et son adresse de fin ? Vérifier que l’écart entre ces deux adresses correspond à la capacité de la mémoire. Quel pourrait être l’intérêt de ce type de mémoire dans le cadre de l’utilisation du FAAC METAL DIGIKEY ? 2. Les périphériques internes Des fonctionnalités offertes par cette unité de traitement dépendront la souplesse d’utilisation de ce microcontrôleur. Les technologies actuelles permettent de proposer des microcontrôleurs avec un grand nombre de périphériques internes dédiés à la communication UART, I2C, SSI... y compris l’interface USB. Le constructeur propose également de plus en plus souvent un module d’hibernation pour réduire la consommation en énergie lors des phases de non utilisation, des procédures de réveil synchronisées sur évènements... Dédiés auparavant à des opérations simples et relativement lentes, les microcontrôleurs acquièrent maintenant une véritable puissance de calcul. Dénombrer les principaux périphériques du microcontrôleur PIC 12F675. Décrire rapidement leur rôle. Quels sont ceux qui sont en adéquation avec les fonctionnalités recherchées dans le cadre de l’utilisation du FAAC METAL DIGIKEY ? D. Analyse de certaines contraintes de compatibilité des signaux échangés entre le microcontrôleur et les périphériques externes 1. Fonction Technique "Acquérir les informations du clavier numérique" A partir des travaux menés sur le recensement des entrées et des sorties de la fonction TRAITER, les possibilités en terme de connexions du circuit PIC 12F675 vous paraissent-elles suffisantes ? Un article permet peut-être de résoudre le problème précédent. En voici le contenu.... By carefully selecting the resistor values, each button generates a unique voltage. This voltage is measured by the A/D to determine which button is pressed. Higher precision resistors should be used to maximize voltage uniqueness. The A/D will read near 0 when no buttons are pressed. A/D : Analog to Digital converter Vcc PIC 12F675 GP0 Expliquer en quelques phrases le principe de cette solution (il ne s’agit pas de faire la traduction du texte précédent). En déduire la nature (analogique, numérique ou logique) de l’entrée GP0. Le nombre de connexions disponibles du circuit PIC 12F675 est-il alors satisfaisant ? Cette solution n’est pas nécessairement "élégante" en effet elle nécessite l’utilisation de 8 composants supplémentaires (8 résistances). Nous allons montrer qu’elles doivent être choisies avec soin (tolérance et coefficient de température). a. Eléments de la théorie des réseaux On admettra le résultat suivant : Ra i=0 Tout réseau constitué de deux résistances Ra et Rb alimenté par une force électromotrice Vcc et ne fournissant aucun courant délivre un potentiel Vs avec (formule du Pont Diviseur) Vcc Rb Vs b. Clavier à 4 touches (1x4) Cette première étude va permettre de mettre en évidence l’importance de la tolérance des résistances pour obtenir le bon fonctionnement du système. Elle justifiera en effet la nécessité de choisir des résistances de précision. Vcc Rc1 RL1 RL2 PIC 12F675 RL3 RL4 GP0 R A partir de la formule du pont diviseur, établir une relation entre VGP0 et RC1, RL1, R, Vcc. Pour établir cette expression, on considère que la touche "1" est appuyée, les autres touches étant relâchées. Cette situation particulière de VGP0 sera nommée V1. Procéder de la même façon pour les situations où la touche "4", seule, est appuyée soit V4, puis la touche "7" soit V7 et enfin la touche " " soit V . VGP0 Ces 4 différences de potentiel seront équitablement réparties sur une échelle de 0V à 5V. Proposer des valeurs numériques pour V1, V4, V7 et V . On choisit VCC = +5V Rc1 = 1,2 K RL1 = 68 K RL2 = 15 K RL3 = 4,7 K RL4 = 220 R = 10 K Valeur normalisée, tolérance 10% Valeur normalisée, tolérance 10% Valeur normalisée, tolérance 10% Valeur normalisée, tolérance 10% Valeur normalisée, tolérance 10% Valeur normalisée, tolérance 10% Sur un axe gradué [0 , 5], reporter les valeurs de V1, V4, V7 et V correspondant aux résistances normalisées. c. Tolérance de fabrication Aucun constructeur ne peut assurer que la valeur qu’il indique sur le corps de la résistance à l’aide d’un code couleur est exactement égale à sa valeur réelle (valeur nominale). La tolérance de fabrication permettra d’indiquer une fourchette (valeur minimale et maximale) dans laquelle le composant aura sa valeur effective. Ainsi un lot de résistances avec une tolérance de 10% dont la valeur nominale est de 1000 couvrira un champ de valeurs allant de 900 à 1100 . 900 1000 1000 – 10% de 1000 soit 1000 – 100 = 900 1100 1000 + 10% de 1000 soit 1000 + 100 = 1100 d. Calcul de l’erreur relative des différentes tensions V1, V4, V7 et V L’erreur relative comme son nom l’indique donne la marge d’erreur par rapport à la valeur en question. Exemple : R = 1 K +/- 10%. L’erreur relative s’exprime par où R représente l’erreur absolue c'est-à-dire l’erreur exprimée dans les mêmes unités que la valeur en question R. Reprenons l’exemple de la résistance de 1 K . La fourchette de valeurs possibles est de Rmaxi - Rmini = 1100 – 900 = 200 L’erreur absolue sera donc de 100 . Calculons l’erreur relative soit +/- 100 . : Prenons l’exemple d’une différence de potentiel issue d’un calcul dont la valeur dépend de 4 variables soit Vs = (R1, R2, R3, V) : Chaque composante de l’expression possède une erreur absolue, quelle sera la répercussion de ces erreurs sur la variable Vs ? Une expression mathématique permet de répondre à cette interrogation... Elle indique simplement que l’erreur absolue de Vs dépendra de toutes les valeurs absolues des composantes de l’équation avec toutefois des coefficients qu’il faut déterminer. Les coefficients... exprime la dérivée (partielle) de Vs par rapport à V. Par conséquent, cela revient à considérer V comme la variable. D’où On se limitera au calcul de l’erreur absolue de V1 (VGP0 lorsque la touche "1" est appuyée) A partir de l’équation de V1, exprimer analytiquement l’erreur absolue V1. V1 dépendant de RC1, RL1, R, Vcc , on trouvera les termes : . Démontrer que : Démontrer que : On donne : Calculer V1 et en déduire l’erreur relative exprimée en %. Rechercher dans le tableur "Calcul Erreur Relative" le calcul de et confirmer vos résultats numériques. Consulter les autres résultats numériques. La solution d’utiliser la structure ci-contre est-elle validée ? La deuxième partie du tableau "Calcul Erreur Relative" permet de valider ou non la structure complète du clavier. Que pensez-vous des résultats présentés ? E. Réponse à la situation-problème Vous êtes maintenant en mesure de justifier la possibilité ou non de remplacer l’actuel circuit spécialisé par un microcontrôleur PIC 12F675. La structure étudiée pour utiliser un clavier matricé à faible impact sur le nombre d’entrées/sorties du microcontrôleur est-elle ou peut-elle être validée ?