Exemples d’utilisation des lignes d’entrée

Posté le 26 avril 2000

Les lignes d’entrée peuvent être utilisées pour lire l’état de contacts, boutons, détecteurs d’occupation de voie, etc.

Lecture directe d’entrées permanentes

Ce schéma représente des interrupteurs, ou des contacts de relais, mais il pourrait aussi bien inclure des sorties TTL (0/5V) de dispositifs électroniques. Dans ce dernier cas, les « pull-ups » de 10k seraient inutiles.
On a utilisé quatre lignes non inverseuses, ce qui fait qu’on lit un bit à 0 lorsque le contact est fermé, et inversement.

Ce schéma représente des interrupteurs, ou des contacts de relais

L’instruction INP lit ces entrées 4 par 4. La seule difficulté consiste à extraire les bits intéressants.

Exemple de programmation en BASIC

Lecture d’un grand nombre d’entrées permanentes

Voici une façon simple de lire 5×8=40 entrées à niveaux TTL (0/5V) avec des sélecteurs 74HCT251.
Le numéro de l’entrée à lire est donné par les bits D0 à D5, et l’état de l’entrée est lu sur la ligne I3.

Les bits D0 à D2 sont décodés par les 251, et les bits D3 à D5 par le 138 en tête.

Ce montage est extensible à 64 points simplement en rajoutant trois autres 74HCT251. On a été limité ici par la taille du dessin.

On peut également étendre la capacité du montage en utilisant les lignes de lecture I4, I5 et I6 et -I7. Il suffit pour cela de rajouter des 74HCT251 commandés par le même 74HCT138. La capacité maximum est alors portée à 320 points.

Schéma

L’instruction INP lit ces entrées 4 par 4. La seule difficulté consiste à extraire les bits intéressants.

Exemple de programmation en BASIC

Lecture d’entrées fugitives

(boutons poussoirs)

 

Lorsqu’on a besoin de lire des entrées fugitives (en pratique des boutons poussoirs, qui ne restent enfoncés que que pendant un temps assez court), il est possible de faire d’importantes économies de composants en « matriçant » ces contacts, c’est-à-dire en les connectant en lignes et en colonnes. Nous utilisons ce montage pour gérer des pupitres de commande de gare.

Voici une façon simple de lire l’état de 64 boutons avec seulement 2 circuits intégrés et 8 diodes.
Au repos, les sorties du 74HCT138 sont à « 1 » ainsi que les entrées du 74HCT251.
Lorsque le PC exécute une opération de lecture, le numéro du bouton à lire est affiché sur les bits D0 à D5.
Le 138 met alors une de ses sorties à « 0 » (celle correspondant aux bits D3 à D5), et le 251 sélecte l’état d’une de ses entrée (celle correspondant aux bits D0 à D1).
Si le bouton câblé entre cette sortie et cette entrée est enfoncé, la sortie du 251 passe à « 0 » et peut être lue dur la ligne -D7.

Schéma

Ce montage est extensible à un plus grand nombre de contacts en rajoutant des diodes en sortie du 138, et d’autres 251 connectés aux lignes I4 à I6. La capacité est alors portée à 320 contacts avec seulement 6 circuits intégrés.

Important : les diodes doivent impérativement être du type Schottky.

Pour plus de clarté, voici le détail de la connexion des 64 boutons.
Les fils U0 à U7 représentent les unités, et les fils H0 à H7 les huitaines.
Mais en pratique, pour exécuter simplement le câblage, on n’a pas à se soucier du numéro réel des boutons: on procède ainsi :

  • les boutons sont d’abord numérotés au hasard, mais en n’utilisant que les numéros ci-contre
  • ensuite on tire le fil U0 vers tous les boutons ayant comme numéro d’unité: 0
  • on fait de même pour les autres fils d’unité, puis on passe aux dizaines
Schéma

Quand le câblage est terminé, on fait tourner dans le PC un programme qui affiche le numéro des boutons enfoncés. On appuie alors à tour de rôle sur tous les boutons, on relève leur numéro sur l’écran et on le reporte sur le plan du pupitre.

Cette méthode fait gagner beaucoup de temps parce qu’elle évite d’avoir à câbler en suivant un plan pré-établi (inutile donc de rédiger ce plan) et qu’elle supprime radicalement les erreurs.

Remarque : avec un tel montage, il y a une limitation relative au nombre de boutons enfoncés simultanément.
Cette situation se présente couramment avec les pupitres de commande « géographiques », où l’opérateur doit appuyer simultanément sur les boutons « origine » et « destination » des itinéraires pour les réaliser.
En pratique, le matriçage permet de détecter correctement l’enfoncement simultané de trois boutons quelconques, ce qui est tout à fait suffisant pour l’application considérée, ou plus de boutons, à condition qu’ils ne soient pas disposés « en rectangle », ce qui permet de traiter plusieurs postes de commande en une seule matrice.

Notons enfin que ce type de montage convient parfaitement aux PICs et aux micro-contrôleurs. Certains incluent même des ports de sortie en collecteur ouvert et des résistances pull-up sur les entrées, ce qui permet d’y connecter nos boutons sans aucun composant additionnel.

Recherche dans les Tutoriels

0 commentaires

Soumettre un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Dans la même catégorie