Interface série pour PC et/ou HP48
Mise à jour le 7 septembre 2007
http://matthieu.weber.free.fr
Contexte :
Voici quelques exemples d'application : Programmation d'un robot, d'un automatisme (sans capteurs), d'un tir de feux d'artifices, chenillard programmable pour animations de soirées, simulateur de présence 8 voies... programmateur (utilisation du timer de l'ordinateur, de la calculatrice (HP...) + mise en veille et réveil grâce aux fonction "OFF" et déclenchement d'une alarme)...
Il est possible de multiplexer ces 8 voies pour en avoir 256. La liaison entre l'interface et l'hôte (PC...) est opto-isolée.
Caractéristiques :
Schéma de principe et fonctionnement :
Schéma du montage : uniquement de la logique "classique"
Alimentation :
Il n'y pas de régulateur de tension prévu sur le montage, pour une meilleur stabilité, il est recommandé d'ajouter un 7805 en aval de votre alimentation.
Interfaçage avec l'hôte :
Un opto coupleur de type CNX 35 isole les signaux TX provenant de l'hôte de ceux de l'interface, afin d'éviter tout problèmes d'interférences ou d'isolation. Le signal sortant de l'opto coupleur est ensuite remis en forme par le transistor Q1.
Conversion des signaux :
Le CD 4013, 4011 et 4017 se chargent d'éliminer les bits de start et de stop de la trame de donnée reçue. Le 74HCT164 est un registre à décalage qui se remplie des huit bits de données issue de l'interface. Ainsi avons nous donc sur ses huit sortie, l'image des huit bits d'une trame série standard. Le 74HCT373 se charge quand à lui d'autoriser ou non la sortie des données vers son interface. La commande de sortie se fait via l'interrupteur pilotant directement son entrée "enable" (validation sortie).
Branchements :
- Dans le cas d'un interfaçage avec une calculatrice HP : L'interface se connecte à la HPxx par l'intermédiaire du câble fourni avec la calculatrice. Il faudra utiliser un connecteur DB 9 femelle qui ce branchera sur ce dernier :
Broche 5 du câble HP : A connecter à la masse (GND) du montage.
Broche 2 du câble HP : A connecter à l'entrée "RX" du montage.
Le + 6 volts régulé est à brancher sur l'entrée "PLUS 6V"
La masse de l'alim est a relier sur l'entrée "MOINS"
- Dans le cas d'un interfaçage avec un PC : Il faut utiliser un câble standard série RS232, et ajouter à la carte un connecteur DB 9 femelle :
Broche 3 du connecteur : A connecter à l'entrée "RX" du montage.
Broche 5 du connecteur : A connecter à la masse (GND) du montage.Le + 6 volts régulé est à brancher sur l'entrée "PLUS 6V"
La masse de l'alim est a relier sur l'entrée "MOINS"
En cas de problèmes de connection entre le PC et l'interface, essayez de vous brancher sur la broche 3 et non la broche 2 du connecteur DB9. Une inversion entre les signaux RX et TX est très, très facile ! Mais sans risque de casse !
Réglages :
Un seul réglage est nécessaire. Il s'agit de caler la fréquence d'horloge de l'interface sur celle du port série de l'hôte, soit 9600 Hz.
Si vous avez un fréquencemètre, réglez l'ajustable multi tour pour obtenir 9600Hz sur la broche 14 du CD4017. C'est tout !
Si vous n'avez pas de fréquencemètre, le plus simple est de lancer un programme tel que l'un de ceux décrits ci dessous (pour la HP), ou d'ouvrir l'hyper terminal en envoyant des caractères ascii qui apparaîtront sous forme binaire sur la rampe de LEDs. (Un caractère ascii = 1 octet = 8 bits = ce que représente la rangée des 8 LEDs (attention, en logique inverse (1 => 0 et 0 => 1).
Tout en faisant cela, il faut régler l'ajustable multi tours jusqu'à ce que l'on obtienne un affichage cohérent... NB : Le mieux est de commencer par le chenillard, et de peaufiner le réglage avec le compteur binaire. Si ça ne marche pas, il y a peu être une erreur de câblage, ou la HP n'est pas configurée correctement : ( réglages par défaut des paramètres I/O ).
Exemples de programmes pour calculatrice HP :
Le meilleur moyen d'utiliser l'interface est de se servir de la commande XMIT .
( se trouvant grâce à : [ "SHIFT violet" ] [ 1 ] [ NXT ] [ A ] [ A ] ).
XMIT prends en argument une chaîne de caractères (on commencera par un seul caractère, sinon on n'a pas le temps de voir quoi que ce soit ! !). Elle revoie "1" si la transmission à réussie et "0" si y a eut un problème. -> DROP supprime ce chiffre.
Chaque caractère est associé à un nombre ( de 0 à 255 ) qui correspond à son emplacement dans le tableau des caractères ASCII de la HP appelé "CHARS" ( disponible grâce à [ "SHIFT vert" ] [ CHARS ] ).
Attention! Ce nombre correspond en binaire à l'état INVERSE des 8 sorties.
EXEMPLE 1 : pour allumer toutes les sorties :
Cela fait : 1 1 1 1 1 1 1 1 ( Toutes les leds allumées ).
le nombre : #11111111 b, en inverse, donne : #00000000 b (1 --> 0 ; 0 --> 1)
Cela nous donne 0 d (décimal) ce qui correspond au caractère zéro, "NULL" ( Un carré noir ).
Il suffit alors de faire :
0 (zéro)
CHR (REMARQUE : "Affiche le caractère, ici "NULL" correspondant au nombre (zéro) donné dans la pile")
XMIT
EXEMPLE 2: pour allumer toutes les sorties impaires :
Cela fait : 1 0 1 0 1 0 1 0
le nombre : #10101010 b, en inverse, donne : #01010101 b
Cela nous donne 85 d (décimal) ce qui correspond au caractère "U".
Il suffit alors de faire :
85
CHR
XMIT
OU ENCORE :
"U"
XMIT
EXEMPLE 3: Un chenillard :
Réalisation d'un chenillard va et vient type K 2000...
Progr : CHENILLARD
<< 127 191 223 239 247 251 253 254 253
251 247 239 223 191 127 1 15 FOR A CHR XMIT
DROP NEXT CHENILLARD >>
EXEMPLE 4: Un clignoteur :
Cela fait clignoter toutes les leds en même temps...
Progr : CLIGNOTEUR
<< 255 CHR XMIT DROP .1 WAIT 0 CHR
XMIT DROP .1 WAIT CLIGNOTEUR >>
Circuit imprimé et implantation des composants :
Le circuit imprimé (7,86 X 4,90 cm)
L'implantation des composants
NE PAS OUBLIER LES 6 FILS (EN BLANC) A CÂBLER SUR LE CIRCUIT, AINSI QUE LES 6 STRAPS ! !
( Attention : les straps apparaissent aussi en blanc ! )
Photos :
L'interface en ordre de marche
RETOUR A L'ACCUEIL - TÉLÉCHARGER L'ARTICLE
http://matthieu.weber.free.fr