Une nouvelle platine d’expérimentation pour PIC

Cette nouvelle platine d’expérimentation est un outil (ludique !) indispensable pour quiconque souhaite se perfectionner dans la mise en œuvre des micro-contrôleurs PIC. Elle permet d’utiliser un clavier numérique (comme on en trouve sur les téléphones) et un afficheur LCD (tout aussi numérique) –composant désormais incontournable au labo d’électronique pour effectuer toutes les mesures et tous les contrôles voulus.



Tout d’abord un rappel : notre programmateur de PIC, en mesure de programmer les microcontrôleurs PIC 12F675, 16F628, 16F876 et 16F877, se compose du programmateur EN1580 proprement dit, du bus EN1581 et de l’alimentation EN1203. S’y ajoutent les platines d’expérimentation EN1582 (c’est la première proposée, elle fait partie intégrante du programmateur), EN1583 (platine à quatre relais), EN1584 (platine à quatre TRIAC et un darlington)… et voici aujourd’hui la toute dernière : la platine à clavier et afficheur LCD EN1585.
Le clavier est à douze touches et l’afficheur est un LCD alphanumérique.
Nous avons choisi cette fois de vous proposer une platine d’expérimentation à clavier et afficheur parce que c’est le mode de communication le plus utilisé entre l’homme et les appareils électroniques. Il est en effet devenu habituel de se servir d’un LCD pour visualiser les données résultant d’une mesure (nous pensons par exemple aux instruments de mesure ou aux appareils électromédicaux –comme le générateur d’ultrasons– ou aux convertisseurs de signaux ou aux exciteurs FM ou à tant d’autres instruments encore, proposés par votre revue et que vous avez peut-être construits).
Mais il est vrai que nous pensons surtout aux dispositifs dont l’utilisation ne requiert aucune préparation professionnelle de la part de l’usager : les téléphones fixes ou mobiles, les guichets DAB, ou les machines à boisson, ainsi qu’une foule innombrable d’autres appareils privés ou publics ayant envahi notre quotidien, sont dotés de claviers et d’afficheurs. Il est donc important, pour qui veut se former en électronique –et c’est le cas de nos lecteurs, même les plus chevronnés– d’apprendre à conjuguer les microcontrôleurs et leurs programmes résidents avec ces claviers et afficheurs LCD. Ceci dit, nous pouvons maintenant passer au schéma électrique.

Le schéma électrique

L’afficheur LCD
Nous avons choisi un afficheur LCD modèle CMC116L01 de la marque CCT : nous le connaissons bien et vous le retrouvez dans plusieurs de nos montages, comme ce fut le cas avec le Fréquencemètre 2,2 GHz EN1572.
Cet afficheur a un rapport qualité/prix optimal. Parmi les composants externes nécessaires à son fonctionnement, vous avez le condensateur polyester C1 inséré dans la ligne d’alimentation (entre les broches 2-16 et la masse) qui sert de filtre en acheminant à la masse d’éventuelles perturbations (voir figure 1, le schéma électrique); le trimmer R1 dont le curseur est relié à la broche 3 permettant de régler le contraste du LCD afin d’améliorer l’affichage ; enfin R2 et R3 (15 ohms 1/2 W chacune) reliées à la broche 15 et servant à limiter le courant arrivant à la barre de LED qui fournit le rétro-éclairage.
Sur les huit broches concernant les données à envoyer au LCD (DB0 à DB7, figure 2), nous n’en utilisons que quatre : les quatre autres ne sont pas connectées. Cette configuration nous permet d’économiser quatre lignes d’E / S du PIC.
Le mode à quatre bits est indiqué par tous les manuels, bien que ceuxci oublient de préciser que, pour ce modèle en tout cas, les quatre broches restantes ne doivent pas être reliées à la masse mais demeurer non connectées.
Ce choix est presque obligatoire quand on monte un PIC à peu de broches et nous avons souhaité vous montrer comment mettre en oeuvre cette solution (permettant, répétons-le, de “gagner” des lignes d’E / S)

Le clavier
Sur la platine nous avons en outre monté un clavier à matrice relié au PIC au moyen du connecteur CONNA. Le réseau résistif R4, relié entre le 5 V et les broches A0 à A4 du microcontrôleur PIC16F628, constitue la résistance de tirage (“pull-up” = maintien du niveau logique haut). Si vous consultez la table des caractéristiques (“datasheet”) de ce PIC, vous verrez que les broches du port A n’ont pas de résistance de tirage interne ; il faut donc en prévoir une externe (une par broche, d’où le réseau R4 figure 1) et on peut ainsi utiliser ces broches comme entrées “tirées”.
Note : comme le montre la figure 1, une des résistances du réseau, celle aboutissant à la sortie 2, n’est pas utilisée.
Le cavalier J1, relié entre le 5 V et les broches 2-16 du LCD, est normalement fermé (sur CB). Si on souhaite n’utiliser que le clavier, il faut le laisser ouvert (positionné sur AB) afin de couper l’alimentation de l’afficheur.

Figure 1 : Schéma électrique de la platine d’expérimentation à clavier et afficheur LCD pour PIC EN1585. Avec le trimmer R1 relié à la broche 3 du LCD, on peut régler le contraste de façon à optimiser l’affichage pour faciliter la lecture. Le réseau de résistances R4 constitue les résistances de tirage des broches du port A du PIC (A0 à A4).

Liste des composants
R1 .............. 10 k trimmer
R2 .............. 15 1/2 W
R3 .............. 15 1/2 W
R4 .............. réseau résistif 6 x 1 k
C1 .............. 100 nF polyester
AF .............. LCD CMC116L01
CLV ............. clavier 12 touches
CONNA ........... connecteur 40 pôles mâle
CONN AF ......... connecteur 16 pôles femelle
CONN CLV ........ connecteur 8 pôles femelle
J1 .............. cavalier 3 pôles

Divers :
2 connecteurs barrettes à 4 pôles
6 entretoises plastiques
Sauf spécification contraire, toutes les résistances sont des 1/4 W à 5 %.


Figure 2 : Brochage et schéma synoptique de l’afficheur LCD CMC116L01. Avec le programme SIM.asm contenu dans le CDR1585 en dotation, on visualise le jeu complet de caractères DDRAM et CGRAM du pilote visible dans le tableau.

Figure 3 : Afin de satisfaire votre légitime curiosité, nous avons ouvert le boîtier du clavier à matrice (comme le montre la figure 4, chaque poussoir ou touche est relié à deux des broches du clavier).

Figure 4 : Chaque poussoir (touche) du clavier à matrice est relié à deux broches.
Quand une touche est pressée, seules deux des broches du clavier se portent au niveau logique bas (voir tableau ci-contre) et, en fonction de la combinaison binaire ainsi déterminée, le PIC détecte quelles broches sont à la masse et par conséquent quelle touche a été pressée ; il peut alors commander l’affichage sur le LCD du symbole correspondant.


Figure 5a : Schéma d’implantation des composants de la platine d’expérimentation à clavier et afficheur LCD pour PIC EN1585.
Seul composant à orienter correctement : le réseau de résistances R4 (point repère-détrompeur en bas à gauche vers J1). Dès que vous avez soudé le cavalier J1, mettez son jumper sur CB.


Figure 5b-1 : Dessin, à l’échelle 1, du circuit imprimé double face à trous métallisés de la platine d’expérimentation à clavier et afficheur LCD pour PIC EN1585, côté soudures.

Figure 5b-2 : Dessin, à l’échelle 1, du circuit imprimé double face à trous métallisés de la platine d’expérimentation à clavier et afficheur LCD pour PIC EN1585, côté composants.

Figure 6 : Photo d’un des prototypes de la platine d’expérimentation à clavier et afficheur LCD pour PIC EN1585.

Notes sur l’afficheur LCD
La figure 2 donne le brochage du LCD CMC116L01 et la description de la fonction de chaque broche. Les LCD comportent un circuit intégré interne servant de contrôleur et de pilote pour gérer chaque caractère : ce circuit intégré ne fait pratiquement rien d’autre que de lire les données et les commandes que le PIC lui envoie, les interpréter, sélectionner les symboles à visualiser et modifier le mode de fonctionnement de l’afficheur.
Il possède une table de référence interne (voir le Tableau des caractères) avec laquelle on détermine, en fonction de la valeur binaire envoyée, l’écriture d’un caractère à la place d’un autre. Dans cette table, 248 éléments contiennent des caractères déjà définis constituant la DDRAM (Data Display RAM) ; 8 éléments sont en revanche personnalisables et peuvent contenir des caractères produits par l’usager. Ce sont cette fois des CGRAM (Character Generator RAM). Ces codes se trouvent dans les caractéristiques de l’afficheur LCD sous forme d’une grosse matrice : la première partie du nombre binaire est en haut et les quatre autres bits restants sont reportés sur un côté de la matrice. Comme le montre le Tableau des caractères, la lettre majuscule L, par exemple, est visualisée si nous envoyons au circuit intégré la combinaison binaire 0100 1100.
Afin d’éviter toute confusion, plusieurs constructeurs s’accordent pour standardiser ce codage des afficheurs alphanumériques.
Des contrôleurs compatibles ont donc été conçus : le HD44780 de Hitachi, le KS0066 de Samsung et le MSM6222 de OKI en font partie. Les pilotes HD44780 et KS0066 (ce dernier utilisé dans le LCD CMC116) sont à peu près identiques et les petites différences entre eux ne concernent que les temporisations des signaux de contrôle et des données.
L’afficheur choisi comporte une seule ligne de 16 caractères ; mais on doit le piloter comme un afficheur à deux lignes de 8 caractères chacune (voir figure 2).
Si on observe cet afficheur à la loupe lorsqu’il est illuminé, on voit que chaque caractère est dessiné à l’intérieur d’un groupe de carreaux : chacun de ces groupes est une matrice et chaque carreau est un pixel. Les pixels, constitués d’une substance devenant sombre au passage d’un courant, sont disposés en une matrice de 5 x 8, ce qui fait 40 pixels par caractère.
Sur les 40, seuls 35 (soit 5 x 7) sont utilisés pour visualiser les caractères alphanumériques ; les 5 restants de la dernière ligne sont destinés à la gestion et à la visualisation du curseur. Regardez bien le Tableau : vous voyez qu’en effet chaque caractère est constitué exclusivement d’une matrice de 5 x 7 pixels. Si vous envoyez en même temps un nombre de caractères supérieur à seize, ils seront perdus : donc, faites bien attention à la longueur du texte, lequel ne doit pas dépasser huit caractères par secteur.



Description du clavier à matrice
Le clavier utilisé est semblable à celui d’un téléphone et sa gestion se fait par une matrice interne qui lui donne son nom de clavier à matrice. Ces claviers à matrice sont surtout utilisés en raison de la simplicité de leur construction et de leur contrôle (leur coût est de plus assez faible).
Mais pourquoi clavier à “matrice” ?
Une matrice est une table d’éléments disposés sur des lignes horizontales et des colonnes verticales. Pour nous ici la matrice comporte douze carreaux soit quatre lignes et trois colonnes ; chaque carreau est un poussoir.
Comme le montre la figure 4, chaque poussoir est relié à deux des huit broches du clavier.
Quand les poussoirs ne sont pas pressés, les niveaux logiques des broches 1 à 7 de la matrice sont au un logique sous l’effet des résistances de tirage ; seule la 8 (à laquelle sont reliés tous les poussoirs) est à la masse.
Quand, au contraire on presse un poussoir, le contact acheminant la masse se ferme sur les deux extrémités de chaque poussoir. Le PIC effectue la lecture et, en fonction de la combinaison binaire, il détecte quelles broches sont à la masse et par conséquent quel poussoir a été pressé. Un fonctionnement, somme toute, assez simple et très efficace.
Le clavier adopté est le plus élémentaire du point de vue, justement, du fonctionnement ; cela permet une grande souplesse d’adaptation à des besoins de tous types. Avec ce modèle en effet, on a en sortie une donnée différente pour chaque poussoir pressé (voir le tableau de la figure 4).

La réalisation pratique
Pour réaliser ce programmateur, il vous faut le circuit imprimé EN1585 : c’est un double face à trous métallisés dont la figure 5b-1 et 2 donne les dessins à l’échelle 1. Le cuivre du côté composants se limitant aux pastilles du connecteur CONNA, si vous réalisez le circuit imprimé vous-même, vous pouvez ne graver qu’un simple face (et ne pas souder, faute de pastilles, les broches de CONNA côté composants, mais seulement du côté soudures).
Quoi qu’il en soit, quand vous avez le circuit imprimé devant vous, montez d’abord (côté soudures) le grand connecteur CONNA puis (toujours côté soudures) les deux barrettes à 4 broches (elles n’ont qu’un rôle mécanique, ne servant qu’à positionner cette platine sur le bus).
Le grand CONNA à 40 broches est destiné, comme le montre la photo de la première page, à insérer cette platine d’expérimentation dans la platine bus EN1581.
Ensuite, côté composants, montez les CONN AF et CONN CLV et le cavalier J1 (à trois broches).
Si vous observez bien les figures 5a et 6 et la liste des composants, vous n’aurez aucune difficulté à monter cette platine.
Accordez beaucoup d’attention aux soudures de ces différents connecteurs (ni court-circuit entre pistes ou pastilles ni soudure froide collée).
Soudez alors le réseau de résistances (point repère-détrompeur en bas à gauche vers J1), les deux résistances, le trimmer et le condensateur polyester (pas de polarité). Mettez tout de suite le jumper de J1 sur CB (afin de ne pas oublier). Fixez sur cette platine les six entretoises plastiques.
Placez maintenant le clavier (à l’aide du connecteur Mâle/Femelle à 8 pôles et des deux entretoises métalliques).
Prenez le petit circuit imprimé de l’afficheur et soudez (côté opposé au LCD) le connecteur double mâle/mâle à 16 broches ; vous pouvez alors placer cet afficheur sur la platine à l’aide du connecteur Mâle/Femelle à 16 pôles et des 4 entretoises métalliques.
Seul et unique réglage : après avoir monté et alimenté la platine, réglez le contraste du LCD avec un petit tournevis en agissant sur le curseur du trimmer de luminosité R1.

Les programmes en Assembleur pour PIC
Les trois nouveaux programmes que nous vous proposons pour cette platine sont le LCD.ASM, le SIM.ASM et le TST.ASM.
Au cours de l’installation vous les sauvegarderez dans le répertoire :
C:\IC-PROG\PRG DEMO.

Le programme LCD.ASM visualise sur le LCD :
***ElectroniqueLM Cours de PIC Microchip***

Le programme SIM.ASM visualise, lui, en séquence, les sept caractères DDRAM et CGRAM contenus dans le pilote de l’afficheur.
Avec ce programme, les sept caractères ASCII et quelques symboles de l’alphabet chinois s’affichent.
Le programme TST.ASM quant à lui est un simple exemple d’utilisation du clavier : à la pression de chaque touche correspond sur l’afficheur LCD la visualisation du chiffre ou du symbole choisi.

Le contenu du CDR1585
Un CDROM contenant les programmes MPLAB IDE version 7.20, IC-PROG version 1.05D et le tout nouveau Proton DS Lite version 1.036 est disponible.
En outre, dans le fichier d’installation de IC-PROG, vous trouverez une série de programmes d’exemples pour l’essai et l’utilisation de nos platines d’expérimentation dont celle faisant l’objet du présent article.
Quand vous installez IC-PROG, deux répertoires se créent automatiquement :
- le répertoire PRG DEMO de IC-PROG contient des programmes d’exemple en Assembleur pour PIC aux formats .asm et .hex.
- le répertoire PRG DEMO BASIC de ICPROG contient les exemples Assembleur récrits en Proton Basic.

Note : pour le mode et les notes d’installation de ces programmes, lisez le fichier INDEX.HTML présent sur le CDR1585 et consultable avec un navigateur normal (Internet Explorer par exemple).

Aucun commentaire:

Enregistrer un commentaire