Afficheur LCD sur port série

 

Avec l’évolution permanente des performances des PC, vous êtes de plus en plus nombreux à utiliser de « vieilles » machines pour des applications telles que les automatismes, les acquisitions de données ou bien encore les mesures de tout poil. De telles applications n’ont que rarement besoin du moniteur TV lorsqu’elles affichent seulement quelques données numériques ou quelques lignes de texte. Je vous propose de vous en passer en connectant sur un des ports séries de votre PC cette interface, équipée d’un afficheur alphanumérique LCD classique d’une ou deux lignes de seize ou vingt caractères.
Ce montage utilise un afficheur LCD à logique intégrée que l’on trouve aujourd’hui très facilement sur le marché. Comme il ne fait aucune interprétation des codes de commande des afficheurs, il est compatible de tous les modèles existants, d’une ou deux lignes de seize ou vingt caractères.



Il peut être relié au port série standard de tout compatible PC et se trouve muni d’un connecteur normalisé à 9 points permettant l’usage de tout câble droit classique du commerce.
Compte tenu de la faible consommation du circuit contrôleur utilisé, il prélève son alimentation sur le port série du PC. Enfin, le circuit imprimé que j'ai dessiné est de la même largeur que les afficheurs à une ou deux lignes de seize caractères standards, au dos desquels ils se monte et se connecte directement.

Le MIC 702 de Mictronics






Pour transformer un afficheur LCD standard à interface parallèle en modèle à interface série, il faut utiliser un microcontrôleur ou un circuit spécialisé tel le MIC 702 de Mictronics. C'est un circuit spécialement conçu pour transformer l’interface parallèle d’un afficheur LCD à logique intégrée en interface série asynchrone normalisée. Sa mise en œuvre est très simple comme le montre le schéma ci-dessous.

Le schéma

Le MIC 702 est relié directement à l’afficheur avec lequel il est parfaitement compatible. Remarquez la liaison avec les seuls 4 bits de données de poids forts puisque le MIC 702 exploite l’afficheur dans le mode deux fois 4 bits.
Côté PC, la liaison avec la sortie série du PC ne fait appel à aucun convertisseur de niveau de RS 232 en TTL ; ce rôle étant joué par la seule résistance R1 de 22 kohms dont la présence est indispensable.
 
La patte BAUD permet de choisir la vitesse de fonctionnement du circuit parmi deux vitesses : 9600 bauds avec S1 en place ou 2400 bauds avec S2 en place. La patte POL permet au circuit d’interpréter les données séries sous forme directe ou inversée. Comme on est en liaison RS 232 directe on doit relier cette patte à la masse pour signaler au MIC 702 qu’il reçoit des données inversées. Une liaison au + 5 volts lui permettrait de recevoir des données directes comme ce serait le cas si l’on voulait utiliser ce circuit avec un Basic Stamp par exemple.

Sous réserve d’utiliser un afficheur non rétro-éclairé, la consommation totale du montage est suffisamment faible pour qu’il puisse prélever son alimentation directement à partir des sorties des signaux de contrôle de l’interface RS 232. C’est le rôle des diodes D2 et D3 associées à IC1, qui est un régulateur à faible chute de tension et à faible consommation.

Si vous tenez à utiliser un afficheur rétro-éclairé, il se peut que la consommation de son seul rétro-éclairage excède les possibilités du port série du PC. Vous pouvez alors utiliser une alimentation externe via la diode D1. Une tension de 9 volts sous un débit d’une centaine de mA convient.

Réalisation de l'afficheur LCD sur port série

Le circuit imprimé

 

Composants :
L’approvisionnement des composants ne doit pas poser de problème. Le MIC 702 est disponible chez Selectronic tandis que le LM 2936 Z5 est au moins disponible chez Farnell.

Semi-conducteurs
IC1 : LM 2936 Z5 (ne pas remplacer par un 78L05)
IC2 : MIC 702 de Mictronics (Selectronic)
AFF1 : Afficheur LCD standard 1 ou 2 lignes de 16 ou 20 caractères
D1 : 1N 4004 (uniquement si afficheur rétro-éclairé, voir texte)
D2, D3 : 1N 914 ou 1N 4148

Résistances ¼ de watt 5 % sauf indication contraire
R1 : 22 kohms (rouge, rouge, orange)

Condensateurs
C1 : 47 µF 25 V chimique radial
C2 : 10 µF 25 V chimique radial
C3 : 10 nF céramique

Divers
P1 : Potentiomètre ajustable horizontal de 10 kohms
Qz : Quartz 20 MHz en boîtier HC 18/U ou HC 49/U
J1 : Connecteur DB 9 femelle pour CI, coudé à 90 °
Support de CI : 1 x 18 pattes
S1, S2 : 2 x 2 picots mâles au pas de 2,54 mm et cavalier de court-circuit
Contacts tulipes en bande femelles à souder : 14 contacts
Picots en bande mâles – mâles : 14 contacts


 
L’implantation des composants est à effectuer en suivant les indications de la figure ci-dessus. Par mesure de sécurité, le MIC 702 sera monté sur support. Si vous utilisez un afficheur non rétro éclairé, le montage de la diode D1 est inutile puisque l’alimentation à partir de la liaison RS 232 suffit.
Si vous envisagez d’utiliser ce montage avec un microcontrôleur, un Basic Stamp de Parallax ou un Pic Basic de Comfile, D1, D2, D3, IC1, C2 et R1 sont inutiles puisque le montage s’alimente alors directement à partir du + 5 volts du microcontrôleur associé. Par ailleurs, la liaison avec l’entrée RCV du MIC 702 peut être réalisée directement dans ce cas puisque l’on est alors en présence de niveau TTL ou CMOS.

L’afficheur est monté côté cuivre du circuit imprimé de façon à ce que ses pastilles de connexion se trouvent en face de celles prévues sur le circuit imprimé. Vous pouvez réaliser un assemblage permanent, auquel cas vous utiliserez des fils nus rigides que vous souderez pour relier toutes les pastilles qui se font face. Vous pouvez aussi réaliser un assemblage démontable. Dans ce cas, soudez sur le circuit imprimé du montage 14 contacts tulipes femelles en bande. Soudez ensuite sur les pastilles de l’afficheur 14 picots de contacts en bande de type mâle - mâle qui viendront s’enficher dans les contacts tulipes femelles du circuit imprimé. Dans les deux cas, fixez l’afficheur au circuit imprimé, au moins dans les deux angles opposés à son connecteur, afin d’assurer une bonne rigidité mécanique à l’ensemble.

Les essais

Aucun logiciel n’est nécessaire puisque le MIC 702 se charge de transmettre directement à l’afficheur les données qu’il reçoit et que ce dernier comprend le code ASCII. Vous pouvez donc utiliser n’importe quel logiciel de terminal standard fonctionnant sous DOS ou Windows. La seule précaution à prendre consiste à vérifier qu’il met au niveau haut les lignes RTS et DTR du port série utilisé puisque ce sont elles qui servent à alimenter le montage.
Pour tester votre montage raccordez-le à un port série du PC au moyen d’un cordon droit (c’est à dire d’un cordon dont la borne 3 d’un connecteur 9 points va bien à la borne 3 de l’autre !). Suite à sa mise sous tension, il effectue seul une initialisation de l’afficheur qu’il efface et dont il positionne le curseur au début de la première ligne.
Tournez le potentiomètre de réglage du contraste jusqu'à faire noircir l’afficheur et revenez légèrement en arrière de façon à tout juste éteindre les points qui composent les caractères.
Vous pouvez alors frapper au clavier n’importe quel caractère ASCII standard pour constater qu’il apparaît bien sur l’afficheur. Si des caractères incohérents sont visibles, vérifiez que vous avez bien programmé le port série à la même vitesse que celle sélectionnée par S1 ou S2 et qu’il fonctionne en mode 8 bits, pas de parité et un bit de stop. Vous pouvez alors tenter d’envoyer à l’afficheur un des nombreux codes de commande qu’il comprend.

Les codes de commande de l’afficheur

Tous les afficheurs LCD admettent des codes de commande standardisés : effacement de l’afficheur, positionnement du curseur, définition de caractères personnalisés, etc. Le tableau résume les codes les plus courants mais vous trouverez une liste plus complète dans la documentation qui a du vous être fournie avec l’afficheur.
Fonction D7 D6 D5 D4 D3 D2 D1 D0
Effacement affichage et curseur au début de la 1ère ligne 0 0 0 0 0 0 0 1
Curseur au début de la 1ère ligne sans effacement 0 0 0 0 0 0 1 X
Curseur au début de la 2ème ligne 1 1 0 0 0 0 0 0
Mode d’affichage 0 0 0 0 1 D C B
Décalage curseur/affichage 0 0 0 1 S/C R/L X X
D = 0 : Affichage en marche - D = 1 : Affichage éteint
C = 0 : Curseur non affiché - C = 1 : Curseur affiché
B = 0 : Curseur fixe - B = 1 : Curseur clignotant
S/C = 0 : Décalage du curseur - S/C = 1 : Décalage de l’affichage
R/L = 0 : Décalage à gauche - R/L = 1 : Décalage à droite
Le MIC 702 autorise l’utilisation de ces codes car il est totalement transparent à leur niveau. Par contre, il faut qu’il puisse distinguer un caractère à afficher d’un code de commande et pour cela il utilise une méthode fort simple :
  • Les caractères à afficher sont envoyés directement au montage. Leurs codes et la figure correspondante sont indiqués dans la documentation de l’afficheur. Pour les caractères alphanumériques standards, le code ASCII est utilisé sur tous les afficheurs.
  • Les caractères de commande destinés à l’afficheur doivent être précédés, un par un, de l’envoi du caractère de code hexadécimal FE ou 254 en décimal.
Par exemple, pour effacer l’afficheur et positionner le curseur au début de la première ligne, il suffit d’envoyer successivement les caractères de code hexadécimal FE, puis 01 puisque 01 est le code de cette fonction comme l’indique le tableau.
Pour afficheur « Bonjour » au début de la deuxième ligne, il suffirait d’envoyer au montage successivement : FE puis C0 puis la chaîne de caractères « Bonjour » et le tour serait joué. Comme vous pouvez le constater, l’utilisation de cette interface est donc fort simple.

Aucun commentaire:

Enregistrer un commentaire