Cliquez ici pour afficher une version imprimable de cette page

Interface II - Avec afficheur hexadécimal

Introduction
1. Le principe choisi
2. Le schéma électronique
3. La liste des composants
4. Les typons
5. Les implantations des composants
6. Programmation de l'EPROM
7. Quelques photos
8. Essais et réglages
9. Utilisation
10. Applications envisageables

Introduction

Cette Interface vous donnera accès à toutes les broches du port parallèle : les 8 lignes de données, les quatre lignes de contrôle et les cinq lignes d'état. Au final, l'interface aura donc 12 sorties et 5 entrées, disponibles sur un bornier à vis. Toutes les sorties seront protégées contre les courts circuits et la mise accidentelle à +5V, et les cinq entrées seront protégées contre les tensions inférieures à 0V ou supérieures à 5V.

L'état de chaque broche sera visualisé par une diode électroluminescente; de plus, quatre afficheurs 7 segments serviront à visualiser le contenu du registre de données sous forme hexadécimale ou décimale.

Sa réalisation vous coûtera entre 50 et 250 francs, selon les composants que vous aurez à acheter. La fourchette de prix est large, car certains composants (dans l'alimentation notamment) font souvent partie des "fonds de tiroirs".

1. Le principe choisi

L'interface sera subdivisée en 5 cartes. En effet, tous les composants ne pouvaient pas tenir sur une seule carte au format 100 * 150 mm. Le montage n'en demeura pas moins compact puisque les cartes seront empilées.

De plus, ce choix vous permet de ne réaliser qu'une partie du montage selon vos besoins, et de réaliser une économie substantielle. Ainsi, si vous considérez que tout affichage est superflu, vous n'aurez que deux cartes à réaliser.

De même, la carte "afficheur hexadécimal" est indépendante des autres; vous pouvez ne réaliser que cette carte pour intégrer un afficheur autonome, polyvalent et peu coûteux dans une de vos réalisations personnelles, ou tout simplement vous en servir pour visualiser le port d'un microcontrôleur.

Voyons donc maintenant à quoi vont servir chacune de ces cartes :


La carte principale contient les borniers à vis et se chargera de protéger le port parallèle. La carte BUS n'est en fait qu'un circuit imprimé avec trois connecteurs encartables, mais elle simplifie grandement le montage en évitant notamment la soudure fastidieuse d'une cinquantaine de fils. L'alimentation est distribuée aux autres cartes par l'intermédiaire de la carte BUS.

Maintenant voyons le schéma de principe de l'interface proprement dit.

D'abord la carte principale :


Ce schéma est très simple. Chaque sortie du port alimente deux buffers, l'un sert à alimenter le bus, l'autre est relié par l'intermédiaire d'une résistance de 330 Ohms au bornier. Cette résistance protège le buffer des mauvaises manipulations (court circuit à la masse ou au +5V).

Quant aux entrées, elles sont alimentées par la sortie d'un buffer. L'entrée de celui-ci est reliée au bornier par l'intermédiaire d'un certain nombre de composants. Les deux diodes et la résistance de 330 Ohms protègent l'entrée du buffer contre des tensions négatives ou supérieures à 5V. La résistance de 10 KOhms met l'entrée du buffer à la masse au cas ou la broche du bornier est laissée en l'air. En effet, il ne faut jamais laisser l'entrée d'un circuit logique en l'air; le composant est alors dans un état incertain et risque même d'être détruit.

Le port parallèle est au final bien protégé, car il est relié au bornier par l'intermédiaire de buffers qui sont eux-mêmes protégés par des composants passifs judicieusement placés.

Ensuite la carte DEL :


Rien de compliqué ici ! Notez que j'ai placé les DELs avec leur résistance de limitation sur une carte à part, car il n'y avait plus de place sur la carte principale.

Et enfin, la carte afficheur hexadécimal :


Ce schéma de principe nécessite quelques explications. Commençons par quelques mots sur les afficheurs 7 segments. Dans mon montage j'ai employé deux boîtiers contenant chacun deux afficheurs 7 segments. Voyons leur brochage :


Comme on le voit, chaque afficheur 7 segments est constitué de diodes dont les anodes sont reliées entre elles.

L'affichage est de type multiplexé; c'est à dire que les afficheurs sont alimentés successivement, un seul afficheur à la fois. Pour ce faire, les quatre afficheurs sont montés en parallèle (toutes les broches "a" sont reliées entres elles, toutes les broches "b" sont reliées entre elles et ainsi de suite). Plus précisément, la séquence d'affichage se déroule comme suit :

- Le CD4017 reçoit une impulsion d'horloge. Sa logique interne met à 1 sa sortie Q0 et à 0 les autres.
L'afficheur n°1 (celui de gauche) est alors activé. l'EPROM, en fonction des signaux qui sont présents sur ses lignes d'adresses, va commander l'allumage des segments de l'afficheur n°1.

- Le CD4017 reçoit une autre impulsion d'horloge. Sa logique interne met à 1 sa sortie Q1 et à 0 les autres.
L'afficheur n°2 est alors activé et ses segments commandés par l'EPROM.

- Le CD4017 reçoit une autre impulsion d'horloge. Sa logique interne met à 1 sa sortie Q2 et à 0 les autres.
L'afficheur n°3 est alors activé et ses segments commandés par l'EPROM.

- Le CD4017 reçoit une autre impulsion d'horloge. Sa logique interne met à 1 sa sortie Q3 et à 0 les autres.
L'afficheur n°4 (celui de droite) est alors activé et ses segments commandés par l'EPROM.

- Le CD4017 reçoit une autre impulsion d'horloge. Sa logique interne met à 1 sa sortie Q4 et à 0 les autres. Mais la sortie Q4 est reliée à la broche RAZ du 4017. Le circuit est alors aussitôt réinitialisé, ce qui signifie que sa sortie Q0 est mise à 1 et toutes les autres à 0.

Il en résulte un enchaînement Q0, Q1, Q2, Q3, Q0, Q1, ... Et la fréquence de l'horloge est suffisamment élevée pour que notre oeil ne puisse se rendre compte de la supercherie, grâce à la persistance rétinienne. Nous avons donc l'impression que les quatre afficheurs sont allumés en même temps.

C'est l'EPROM qui est au coeur du montage. Les signaux présents sur les lignes d'adresse (A0...A11) de l'EPROM déterminent l'état des sorties D0...D7.

Les lignes A0...A7 sont reliées aux lignes du BUS correspondant aux lignes de données du port parallèle, les lignes A10 et A11 sont connectées à des interrupteurs qui déterminent quel type d'affichage (hexadécimal, décimal, ...) doit être utilisé.

Type d'affichage A11 A10
Hexadécimal 0 0
Binaire 0 1
Décimal 1 0
Décimal +/- 1 1

Enfin les lignes A8 et A9 sont reliées à la sortie du codeur, ce qui permet à l'EPROM de savoir lequel des 4 afficheurs est activé. Le tableau ci-dessous précise la table de vérité du codeur :

Q3 Q2 Q1 Q0 Afficheur n° A9 A8
1 0 0 0 4 0 0
0 1 0 0 3 0 1
0 0 1 0 2 1 0
0 0 0 1 1 1 1


La carte alimentation sera construite de manière classique autour d'un 7805.

2. Le schéma électronique

Carte principale :


Les circuits 74HC365 comportent chacun six buffers. Pour les 12 sorties on utilisera 4 circuits, et pour les 5 entrées 2 circuits. Les 2 buffers inutilisés auront leur entrées reliées à la masse (0v).


Ces circuits sont en réalité des buffers trois états; comme nous pouvons le voir dans leur brochage ci-dessus, ils comportent deux broches /OE1 et /OE2 qui permettent de faire passer leurs sorties en haute impédance. Nous n'utilisons pas cette fonctionnalité donc ces deux broches seront reliées à la masse.

Enfin, notez que deux condensateurs de 100 nf reliés entre la masse et le +5V figureront sur la carte pour stabiliser l'alimentation des circuits logiques.

Carte DEL :


Notez que les résistances de limitation de courant sont plus faibles (220 Ohms au lieu de 330) pour les diodes vertes.

Carte affichage hexadécimal :


Le codeur présenté dans le schéma de principe est réalisé simplement avec quatre diodes et deux résistances. Utiliser des portes logiques ici aurait été inutilement coûteux et encombrant.

Les sorties du CD4017 ne peuvent être reliées directement à l'anode commune des afficheurs. En effet, chacun de ceux-ci peut consommer jusque 220 mA quand tous les segments sont allumés. Chaque anode est donc commandée par un transistor monté en émetteur commun. Mais un transistor monté en émetteur commun se comporte comme un inverseur logique ; il faut donc inverser le signal une deuxième fois pour que tout rentre dans l'ordre. Cette deuxième inversion est effectuée par les buffers inverseurs numérotés de 3 à 6. De toute façon ces inverseurs sont "gratuits" puisqu'ils sont disponibles dans le circuit CD40106 dont les deux premiers buffers sont utilisés pour créer le signal d'horloge.

Enfin, les deux interrupteurs permettent à l'utilisateur de choisir un des quatre types d'affichage possible (hexadécimal, binaire, décimal, décimal signé).

Le fichier à graver dans l'eprom vous sera proposé en téléchargement dans la partie "6.Programmation de l'EPROM". Dans mon site vous trouverez aussi tous le plans pour réaliser un programmateur d'EPROM, et dans la rubrique Infos Pratiques un dossier consacré aux EPROMs ou je dévoile tout sur ces composants biens pratiques.

Notez que cette carte est indépendante des autres; vous pouvez ne réaliser que cette carte pour intégrer un afficheur autonome, polyvalent et peu coûteux* dans une de vos réalisations personnelles, ou tout simplement vous en servir pour visualiser le port d'un microcontrôleur.

* Si vous devez tout acheter, cette carte vous coûtera environ 100 Francs, plaque epoxy comprise (prix indicatif pour une commande chez Selectronic; c'est plus cher ailleurs !).

Carte alimentation :

Les deux condensateurs de 100 nf seront soudés assez prés (moins de 3cm de connexion avec les pistes) du régulateur.


Dans le pire des cas (toutes les diodes allumées et tous les segments de l'afficheur allumés) le montage consommera 500 mA. Tenez-en compte lors du choix du transformateur ou du bloc secteur.

3. La liste des composants

CARTE PRINCIPALE

17 Résistances de 330 Ohms - 1/4 Watt
5 Résistances de 10 KOhms - 1/4 Watt

2 Condensateurs "drapeau" 100 nf - 400 Votls

10 Diodes 1N4148

6 circuits 74HC365

Eventuellement 6 supports DIL 16 broches pour C.I.

17 vis M3 longueure sous tête 10 mmm
17 écrous M3

CARTE DEL

9 Résistances de 330 Ohms - 1/4 Watt
8 Résistances de 220 Ohms - 1/4 Watt

4 D.E.L. Jaunes - If = 10mA - Diam. 3mm
5 D.E.L. Rouges - If = 10mA - Diam. 3mm
5 D.E.L. Vertes - If = 10mA - Diam. 3mm

CARTE AFFICHEUR HEXADECIMAL

8 Résistances de 150 Ohms - 1/4 Watt
6 Résistances de 2,2 KOhms - 1/4 Watt
3 Résistances de 10 KOhms - 1/4 Watt

3 Condensateurs "drapeau" 100 nf - 400 Votls

4 Diodes 1N4148
2 Blocs de deux afficheurs 7 segments anode commune

4 Transistors PNP BC253 ou équivalent

1 Circuit CD40106
1 Circuit CD4017
1 Circuit ULN2803
1 Eprom vierge ou éffacée 27c256

1 Support 28 broches pour l'EPROM

Deux inverseurs simples ou doubles (interrupteurs)

CARTE ALIMENTATION

2 Condensateurs "drapeau" 100 nf - 400 Votls
1 Condensateur chimique radial 1000 µf - 25 Votls

1 Pont de diodes 50V 2A

1 Régulateur 7805
1 Radiateur aluminium pour le 7805

1 Douille banane femelle 4mm

CARTE BUS

2 connecteurs encartables à souder 38 broches
1 connecteur encartable à souder 26 broches

Procurez-vous les composants avant de réaliser les circuits imprimés ! Vous aurez peut être à modifier le tracé des typons.

4. Les typons

Cliquez ici pour télécharger les typons de l'interface, pour le logiciel Quickroute 3.6 lite, disponible dans les disquettes et CD-rom accompagnant la revue Electronique Pratique.

Les parties en violet sont à évider avec une petite lime ou la mini-perceuse munie d’une petite meule.

La carte principale :


La carte D.E.L. :


La carte afficheur hexadécimal :


La carte alimentation :


La carte bus :


Remarque: vous constaterez que les typons et les schémas d'implantation ne sont pas inversés; donc, il faudra placer le typon face non-imprimée contre la vitre de l'insoleuse (si cela n'est pas clair dans votre esprit, je vous invite à consulter le paragraphe sur l'insolation de la page sur la fabrication de CIs).

5. Les implantations des composants

La carte principale :


Pour relier cette carte au port parallèle, vous pouvez utilisez un câble muni d’un connecteur DB25 qui se branchera directement derrière le P.C. ou bien utiliser une embase Centronics; l'interface se connectera au P.C. avec un banal câble pour imprimante.

Voici le brochage du connecteur DB25 :


Et celui du connecteur Centronics :


Les numéros des broches étant sérigraphiés sur ces connecteurs, aucune confusion n’est possible.

Sur cette carte principale se trouve le bornier, qui est à réaliser par vos soins : il suffit de percer le centre des grosses parties carrées avec un foret de 3mm, puis d’y souder des écrous M3. Ne vous inquiétez pas, cela est bien plus facile qu’il n’y paraît. Soudez les écrous de préférence avant tous les autres composants.

Percez d’abord comme je viens de le dire le centre des grosses pastilles. Ensuite, regardez le schéma ci-dessous qui explique comment souder les écrous :


La carte D.E.L. :


La carte afficheur hexadécimal :


La carte alimentation :


Il faudra relier une douille banane femelle de 4mm de diamètre au 0V de l'alimentation. En effet, si le bornier permet de relier les entrées et les sorties de l'interface à un montage, il faut bien que la masse lui soit reliée aussi.

La carte bus :


ASSEMBLAGE DES CARTES :

A. Assemblage de la carte alimentation et de la carte bus :

Sur les schémas d’implantation des cartes alimentation et bus, quatre pastilles sont peintes en violet. Ces pastilles marquent l’endroit où il faut percer des trous de 3mm de diamètre. Comme ces trous serviront à assembler les deux cartes, ils doivent tomber bien en face (en fait l’endroit précis où ils seront percés importe peu). Ainsi, les pastilles 0V et VCC de chaque carte vont tomber en vis à vis.

Pour réaliser ces huit perçages, une fois les deux circuits imprimés de ces deux cartes gravées, superposez-les et calez-les en enfichant un petit morceau de fil dénudé dans les pastilles 0V et un autre dans les pastilles VCC, comme indiqué sur le schéma ci-dessous (les morceaux de fils sont en orange, les endroits à percer en violet) :


Vous pouvez alors percer les deux cartes ensembles aux quatre endroits indiqués.

Ensuite il faut commencer l’assemblage des cartes proprement dit. Munissez-vous de quatre entretoises (rondelles très épaisses) identiques - ou au moins de même hauteur :


Vous pouvez maintenant assembler les deux cartes comme le montre le prochain schéma.


Une fois les vis serrées, vous aurez à souder deux morceaux de fils pour relier respectivement le 0V et le VCC de la carte alimentation au 0V et au VCC de la carte bus.

B. Assemblage des autres cartes :


Remarquez que les DELs de la carte DELs ont étés recourbées.

Les cartes principale, afficheur hexadécimal et del ont leur côté gauche maintenu par les supports encartables. La fixation du côté droit est à réaliser par vos soins, selon le coffret dont vous équiperez l’interface. Fixez les cartes au coffret de manière à ce qu'il soit impossible de désenficher une carte d'un support encartable. Pour les premiers essais, intercalez des blocs de polystyrène entre la carte principale et la carte del et aussi entre la carte del et la carte afficheur hexadécimal.

6. Programmation de l'eprom

Cliquez ici pour télécharger le fichier (313 octets !) à graver dans l'EPROM de l'afficheur hexadécimal. Décompressez le ZIP et vous obtiendrez un fichier (4 ko) au format binaire.
Ce fichier est donc à graver directement dans l'EPROM.

Dans mon site vous trouverez aussi tous le plans pour réaliser un programmateur d'EPROM, et dans la rubrique Infos Pratiques un dossier consacré aux EPROMs ou je dévoile tout sur ces composants biens pratiques.

7. Quelques photos

L'interface et son coffret :



















L'interface en fonctionnement :









8. Essais et réglages

Avant de faire les tests qui vont suivre, inspectez soigneusement chaque carte pour vérifier qu'il n'y a aucun court circuit entre deux pistes, et qu'aucune piste n'est coupée. Vérifiez aussi que vous avez soudé les composants au bon endroit et dans le bon sens.

Reliez alors l’entrée de la carte alimentation au secondaire d’un transfo 9 ou 12V ou bien à un bloc secteur 9V. La source de tension utilisée (bloc ou transfo) doit pouvoir débiter 500 mA.

Comme il n’y a pas de résistances de tirages sur les entrées des buffers, les sorties de l’interface seront dans un état incertain, et les diodes électroluminescentes correspondantes pourront être allumées, éteintes ou encore à moitiés allumées. Les diodes correspondant aux 5 entrées doivent par contre restées éteintes.

Aucun composant ne doit s’échauffer, à part le régulateur 7805. Ci ce dernier est brûlant, le radiateur est trop petit; une plaque en aluminium de dimensions 4cm * 4cm * 2mm doit convenir.

Pour véritablement tester notre interface, il faut l’utiliser. Pour la première utilisation, utilisez un vieux P.C. (genre 286). Le logiciel que j’ai écrit existe en version DOS et en version Windows; la version DOS se contente d’un 286 avec 256 ko de RAM et un affichage monochrome en mode texte.

9. Utilisation

Pour commander l’interface, ou plus généralement un port parallèle, j’ai mis au point un logiciel que j’ai créé en deux versions, l’une pour DOS et l’autre pour Windows.

Pour utiliser l’interface, procédez comme suit :

- Démarrez le logiciel (quelque soit la version)
- Réglez le numéros du port utilisé (Utilisez la liste déroulant dans la version Windows ou les touches “ ALT + P ” dans la version DOS)
- Raccordez l’interface au port parallèle en question
- Allumez l’interface
- Amusez-vous :-)
- Quittez le logiciel
- Eteignez l’interface et débranchez-la du port parallèle.

Voici un petit tableau comparatif entre ces deux versions :

Version DOS Version Windows
Compatible avec MS-DOS
Windows 3.11/95/98
Windows 3.11/95/98
Minimum requis MS-DOS 3.0

286
256 ko RAM
Windows 3.11

386
4 Mo RAM
Option horloge
(clignotement)
NON OUI
Aperçu Copie d'écran Copie d'écran
Téléchargement Ici ! Ici !
N'oubliez pas
le pack de dll

Mais si vous voulez écrire vos propres applications pour des montages utilisant le port parallèle, ou plus modestement écrire quelques lignes de programmes pour tester un montage, j’ai écrit un “programme cadre” qui va vous simplifier grandement la vie.

Ce programme cadre est un code source en c++ ou le travail est pré-mâché; tout un ensemble de procédures et de fonctions vous permettent de commander simplement l’interface, sans avoir à recourir à des instructions complexes. De plus ce programme cadre contient un exemple, et des explications détaillées figurent à sa fin.
Cliquez ici pour télécharger ce programme cadre compressé en ZIP.

Ce programme a été écrit avec le compilateur BORLAND Turbo C++ 1.01 U.S. qui est téléchargeable gratuitement sur le site www.borland.fr/download/compilateurs/ (tout en bas de la page).

Pour lire ce fichier, utilisez Turbo C++ 1.01 US ou bien la commande EDIT de MS-DOS. N’utilisez pas NotePad, car certains caractères seront mal affichés (Windows n’utilises pas les mêmes codes ASCII que MS-DOS).

10.Applications envisageables

La première application qui vient à l’esprit est le test de circuits logiques. Avec 12 sorties et 5 entrées facilement contrôlables avec mon logiciel sous DOS ou Windows, l’interface vous aidera à tester vos montages.

Comme l’interface utilise toutes les broches du port parallèle et qu’elle protège efficacement ce dernier, vous pouvez vous servir de l’interface comme protecteur de port parallèle pour tester tous vos montages qui sont destinés à être connectés à ce port. Gagnez en efficacité et utilisez mon programme cadre pour écrire rapidement vos logiciels en c++.

Une application particulière (décrite dans une autre page de mon site) consiste à utiliser l’interface pour tester un afficheur à cristaux liquides (2 lignes de 16 caractères). L'utilisation du programme cadre a quelque peu simplifié l’écriture du logiciel de test.

Aussi, comme je l’ai suggéré plus haut, vous pouvez ne réaliser que la carte afficheur hexadécimal, qui constituera un dispositif d’affichage autonome, polyvalent et peut coûteux.