Contrôleur de modules Comtech

par F1BFZ

 

Présentation :
Cette description permet de piloter quatre modules Comtech pour les bandes 23cm et 13cm en réception et émission.
Cet ensemble est constitué de deux modules:
• le contrôleur ATV qui sera installé au plus près des modules Comtech.


Contrôleur ATV boitier ouvert, on aperçoit les platines des modules Comtech.

• l'interface de conduite qui pourra soit être intégrée à votre équipement ou soit être déportée; elle est équipée d'un afficheur graphique de 128 x 64 pixels. Dans la solution déportée, la communication entre les deux modules est en RS485 à une vitesse de 19200 Bauds. La distance entre le contrôleur et l'interface peut être de plusieurs dizaines de mètre.


Interface de conduite, en version déportée.


Présentation du contrôleur ATV :
Ce contrôleur est constitué d'un PIC 16F876A, et il permet :
• la communication avec les quatre modules Comtech via quatre liaisons I2C indépendantes,
• La mesure de la CAG avec lecture directe en dbm des deux modules de réception,
• la mesure de la température ambiante ou température sur un dissipateur,
• la gestion des commutations des alimentations des modules d'émission Comtech,
• la commande des alimentations des amplificateurs PA qui suivent les modules TX, ou la commande de ces amplificateurs via un séquenceur relais HF que j'ai décrit dans la revue Hyper N°141, et qui depuis à été amélioré, par la commande d'un relais supplémentaire pour la commutation de l'ampli QRO.

Présentation de l'interface de conduite (IHM) et des fonctions :
Cette interface utilise également un PIC 16F876A et un afficheur graphique de 128 x 64 pixels.
A partir d'un encodeur rotatif et de 7 boutons poussoirs, il est possible :
• de sélectionner la bande et :
• de piloter en fréquence le RX ou TX suivant la bande, au pas de 1, 10 ou 100Mhz,
• de lire en dbm le niveau reçu (-100dBm à -30dBm) des deux RX,
• de lire/ et d'écrire 5 mémoires par bande (QRG RX et TX)
• de balayer une ou les deux bandes, en définissant la QRG de départ et de fin au pas de 1Mhz,
• de balayer les mémoires d'une ou des deux bandes,
• d'appeler un ''analyseur de spectre'' suivant la bande sélectionnée, avec une couverture de 100Mhz au pas de 1Mhz, sur une échelle de – 100dBm à – 30dBm. Un curseur permet de se déplacer, et affiche la fréquence et le niveau à cet endroit. La fréquence de départ est ajustable entre 1200 à 1400 Mhz pour la bande 23 cm et de 2200 à 2400 Mhz pour la bande 13 cm au pas de 1 Mhz.
• de commuter en mode TX QRP (module TX alimenté) / TX QRO (module TX alimenté+Cde amplificateur PA).

Deux boutons poussoirs supplémentaires :
le BP « exit » qui réinitialise la bande sélectionnée en réception,
le BP « bas ?/haut ?» qui donne deux fonctions à certains BP.

Photo 1 : Vue générale, bande 23 sélectionnée, en réception sur 1255 Mhz, niveau -110 dBm, le caractère # indique le PLL verrouillé, QRG TX 1290 Mhz, Pas de 1 Mhz sélectionné, température ambiante. La flèche indique l'état « bas »du Bouton Poussoir Bas/haut.
La partie droite présente les infos pour la bande 13cm. La dernière ligne est réservée pour les messages d'erreurs de communication.


Photo2 : Analyseur, avec curseur sur 2409 Mhz et niveau à cette QRG -82 dBm. (géné HP8614)


Photo3 : Mode balayage 23 cm en cours.


Photo 4 : Sélection de la mémoire N°3 bande 13 cm, balayage bande 23 cm.


Photo 5 : Menu Aide, les boutons poussoirs sont situés de part et d'autre de l'afficheur.


Photo 6 : Emission en 13 cm QRP (seul le Comtech est alimenté) à la QRG de 2410 Mhz.

Description de l'affichage et des commandes à partir de l'interface IHM.
Voir photo N°1
L'écran est divisé en deux parties sur sa partie verticale, la partie gauche est affectée aux modules Comtech 23 cm et la partie droite aux modules Comtech 13 cm. Seul le mode Analyseur de Spectre et l'affichage de l'aide dérogent à cette règle.
• Première ligne indique la bande sélectionnée, en indiquant Bande 23 ou 13 sur la partie correspondante (droite ou gauche).
• Deuxième ligne indique les fréquences de réception précédées du caractère > si en mode réception.
• Troisième ligne affiche le niveau du signal reçu, précédé du caractère # pour indiquer le verrouillage du PLL du module Comtech.
• Quatrième ligne affiche la fréquence d'émission précédée du caractère > si en mode émission.
En mode Balayage, cette ligne affiche les états spécifiques à ce mode.
• Cinquième ligne, affiche en émission le mode, soit QRP et uniquement dans ce mode vous pouvez régler au moyen de l'encodeur rotatif la fréquence, soit QRO. Le mode QRP alimente le module d'émission Comtech, le mode QRO alimente en plus la sortie amplificateur PA. Le caractère # indique le verrouillage du PLL si vous ne le modulez pas, c'est à dire sans signal vidéo en entrée.
• Sixième ligne, visualise le pas en cours suivant la bande, ou le numéro de mémoire dans le mode mémoire.
• Septième ligne, non utilisée pour l'instant.
• Huitième et dernière ligne, la partie gauche donne la température suivi de la flèche de l'état bas/haut. La partie droite est réservée aux erreurs de communications.

Six boutons poussoirs permettent d'accéder aux différentes fonctions. En appuyant avant sur le BP flèche bas/haut, une deuxième fonction est disponible sous certains BP. Par défaut cette fonction est dans l'état flèche bas ?. Ce BP est placé sous l'afficheur LCD, à droite, et l'indication de l'état bas ? /haut ? est visualisé sur la dernière ligne du LCD, à la suite de l'indication de température.
Le BP Exit sert à sortir des modes mémoires, balayages, analyseur de spectre, émission QRP ou QRO avec alimentation PA. Il est placé à gauche sous l'afficheur LCD.
Fonction et disposition des BP.
Colonne gauche.
• Premier BP en haut : appel des mémoires suivant la bande concernée, avec un appui sur le BP bas/haut avant d'appuyer sur ce BP, les fréquences RX et TX affichées seront placées en EEPROM du PIC à l'emplacement de la mémoire sélectionnée. L'incrémentation ou la décrémentation du numéro de la mémoire est réalisée avec l'encodeur; de 1 à 5. Un appui sur le BP Exit sort de ce mode.
• Deuxième BP : appel en mode balayage de la bande sélectionnée. Le principe du balayage est le suivant: la fréquence de départ est toujours inférieure à celle de fin, le balayage se fait en incrémentant la fréquence au pas de 1 Mhz. La configuration de ce mode est le suivant: un premier appui vous invite à entrer la fréquence de départ, un second appui vous invite à régler la fréquence de fin de balayage, uniquement l'incrémentation de fréquence est actif, le troisième appui provoque la mise en mode balayage avec les fréquences prédéfinies. Le BP exit permet de sortir de ce mode et/ou en cours de configuration des fréquences de départ et/ou de fin. L'appui sur le BP bas/haut avant l'appui sur le BP balayage, rappelle le précédent balayage configuré qui reste sauvegardé en EEPROM.
Un appui sur ce BP après avoir sélectionné le mode mémoire, balaie les cinq mémoires.
• Troisième BP : appel de l'aide, visualise les commandes associées aux BP. L'appui sur le BP bas/haut avant l'appui sur ce BP, passe le contrôleur en mode de configuration des tables d'équivalence entre la sortie de conversion du convertisseur A/N et la lecture en dBm. Voir à la fin du paragraphe, la configuration des tables niveaux.
Colonne droite.
• Premier BP à droite : changement de bande, chaque appui sélectionne l'autre bande.
• Deuxième BP : appel de ''l'analyseur de spectre'' de la bande sélectionnée, avec pour départ la fréquence RX affichée. L'encodeur rotatif permet de se déplacer sur la partie visualisée, la première ligne affiche la fréquence du curseur et le niveau reçu. Un appui sur le BP Exit sort de ce mode à la fréquence indiquée par le curseur.
• Troisième BP : passage du mode RX en mode TX, un appui sur le BP bas/haut fait passer le contrôleur en mode QRO, si vous étiez déjà en mode TX. L'appui sur le BP exit remet le contrôleur en mode RX.

Un dernier BP, placé vers l'encodeur permet de changer le pas, par appui successif, vous disposez d'un pas de 1 Mhz (par défaut), 10 Mhz et 100 Mhz.
En cas de perte de communication I2C, les chiffres de la fréquence du module concerné, sont remplacés par la lettre X.

Mode configuration :

Dans ce mode on accède à la configuration de la table d'équivalence suivant la bande sélectionnée. Voir photos suivantes en mode lecture de la table 23cm.


Introduction :

Les tables d'équivalence entre la conversion A/N (Convertisseur Analogique Numérique, CAN) de la tension de CAG, et l'indication en dBm sont contenues en mémoire Flash. Le principe est le suivant, la valeur de sortie de conversion est considérée par le programme comme une adresse de cet espace mémoire, et le contenu de donnée correspond à la valeur en dBm. Par ce principe, chaque valeur de conversion occupe un emplacement en mémoire, malgré la possibilité de conversion sur 10bits du PIC, seuls 8bits seront utilisés, ce qui représente 256 emplacements de mémoires Flash pour chaque table.
Une des différences entre la version 16F876 et 16F876A est l'écriture en mémoire Flash. Dans le type A, qui est utilisée, l'écriture se fait sur quatre adresses successives et qui commence avec les deux premiers bits de poids faible à 0 de l'adresse, c'est à dire que si voulez modifier une seule valeur, il vaudra faire la configuration dans les quatre adresses, par exemple vous voulez modifier la valeur à l'adresse 130 (adresse de la table = sortie du CAN), il faudra commencer à l'adresse 128 et finir à l'adresse 132 (131+1). J'ai intégré dans la partie du programme qui gère l'écriture une petite aide pour rendre plus facile cette opération.
Vous trouverez deux programmes à charger dans votre PIC, le premier (
Controle_ATV_Va6_V) sera chargé si vous envisagez de configurer ces deux tables en utilisant le mode de configuration qui est décrit ci-dessous, ou un deuxième programme (Controle_ATV_Va6_R) qui contient la configuration de ces tables déjà faite à partir de mon équipement (modules de réception Comtech, précédés par des préamplificateurs de 20 dB). Dans cette dernière version, la lecture sera décalée, et donc fausse, mais vous disposerez de la possibilité de modifier les tables ultérieurement.

Lecture d'une table :

Une fois la bande sélectionnée, un appui sur le BP aide, précédé de l'appui du BP bas/haut (flèche ?), affiche la valeur équivalente à la sortie du CAN sur la partie gauche, et à droite la valeur actuelle en sortie de la table, correspondant au niveau en dBm. En tournant l'encodeur rotatif, vous incrémentez ou décrémentez la valeur de sortie du CAN, et à droite est indiquée la valeur correspondante en table. L'appui sur le BP Exit vous sort du mode configuration.

Photo 7 Mode lecture table


Configuration d'une table:

Si vous avez chargé le premier programme il contient la table remplie de la valeur correspondante à la valeur du CAN de 0 à 255 (8bits) pour les deux bandes, c'est à dire que l'indication du niveau affiché correspond à la sortie du CAN. Avant de rentrer en configuration de la table, vous devez faire le relevé de la mesure de la CAG avec un générateur UHF, pour ça, vous vous mettez en réception et vous faites le relevé de la valeur affichée en lieu et place des dBm pour tous les niveaux et pour les deux bandes. Avant de commencer cette opération, attendez plusieurs minutes, voire des dizaines de minutes, j'ai relevé une dérive de la tension de CAG tant que les modules Comtech ne sont pas stabilisés. Comme le CAN travaille sur le plage de 0 à 5V, sans signal en entrée des Comtech, la tension de CAG est de l'ordre de 1V, c'est à dire que la valeur en sortie de la table correspond à une conversion de 51 (5000mV/256=19,53mV, 1000mV/19,53mV = 51), de ce fait toutes les valeurs inférieures à cette valeur ne nécessitent pas d'être configurées, puisque la tension de CAG ne devrait jamais être inférieure à cette tension. Maintenant que vous disposez des relevés, il faut rentrer les valeurs dans les tables. Vous entrez en mode configuration, en passant par le mode lecture ( en appuyant sur le BP flèche haute ? et puis sur le BP aide), puis un deuxième appui sur le BP aide. Voir photo ci-dessous.

Photo8 : Mode configuration.


Par défaut la sortie du CAN sera égale à zéro, et la sortie de la table sera également à 0. Vous trouverez sur la partie droite et sous la valeur de sortie de la table, la valeur qui sera mise en mémoire flash, cette valeur est modifiable par l'encodeur rotatif. Un fois la valeur atteinte, un nouvel appui sur le BP aide, va incrémenter la sortie du CAN, et de nouveau il faudra régler pour mettre la nouvelle bonne valeur, et ainsi de suite. Comme il a été dit en introduction, c'est une fois que les quatre adresses (sortie CAN) ont été passées que l'opération d'écrire est en réalité faite, un appui sur le BP exit avant d'avoir passé ces quatre adresses mettront en mémoire flash des valeurs quelconque. Pour vous aider, à droite de la sortie CAN, vous trouverez un chiffre (de 1 à 4), qui vous indique ou vous en êtes. Si vous souhaitez sortir du mode de configuration et sauver en mémoire les dernières valeurs rentrées, il faudra appuyer sur le BP Exit uniquement quand cette valeur sera égale à 1. Si par la suite, vous souhaitez modifier une ou plusieurs valeurs, vous entrez en mode lecture, pour rappel BP haut ?, BP aide, vous réglez avec l'encodeur rotatif l'adresse (sortie CAN) à laquelle vous voulez intervenir, et vous appuyez de nouveau sur le BP Aide, à ce moment là, soit vous êtes déjà à une adresse multiple de 4, soit ce n'est pas le cas, prenons un exemple, si c'est à l'adresse 40 que vous voulez modifier la table, vous appuyez sur le BP Aide et vous rentrez la nouvelle valeur, et vous recommencez ces opérations jusqu'à avoir atteint l'adresse 44. Si vous voulez modifier l'adresse 42, en appuyant sur le BP Aide, le programme mettra la valeur adresse à 40 (sortie CAN), et vous serez obligés de régler de nouveau ces valeurs, jusqu'à l'adresse 44.
Il reste une autre et dernière façon, c'est de rentrer les données de vos relevés directement dans le programme assembleur (disponible sur demande). Cette dernière solution vous permettra, dans le cas d'une nouvelle version de retrouver vos données après un copier-coller.
Ci-dessous le relevé d'un module Cometch 13 cm. La colonne RF est le niveau injecté en dBm, la colonne RSSI donne la tension en Volts de la CAG en fonction du niveau injecté.


Description du Contrôleur.
C'est un PIC 16F867A qui est le cœur du contrôleur, il reçoit de l'IHM les commandes et renvoie les informations. Dans la solution déportée, un MAX489 est utilisé pour transformer les signaux
TTL en RS485. Dans le cas d'une utilisation intégrée, ce circuit intégré ne sera pas mis en place.

Description des 28 pattes:
Patte 1: MCLR c'est la remise à zéro du PIC, une résistance de 10 k est reliée entre cette patte et le +5V.
Patte 2 : ANI0 entrée analogique, cette entrée mesure la tension de CAG du module de réception Comtech 23 cm. J'ai ajouté un condensateur de 100 nF pour éliminer le bruit.
Patte 3 : ANI1 entrée analogique, cette entrée mesure la tension de CAG du module de réception Comtech 13 cm. Idem pour le condensateur.
Patte 4 : ANI2 entrée analogique, cette entrée n'est pas utilisée pour l'instant. Dans une prochaine version, cette entrée permettra de mesurer la puissance de sortie de l'amplificateur de puissance 23cm.
Patte 5 : ANI3 entrée analogique, cette entrée n'est pas utilisée pour l'instant. Dans une prochaine version, cette entrée permettra de mesurer la puissance de sortie de l'amplificateur de puissance 13cm.
Patte 6 : configurée en sortie, cette sortie pilote une led à travers une résistance de 470 Ohms. Cette led clignote à une période proche de 2 secondes et indique le bon fonctionnement du contrôleur. En mode « analyseur de spectre » la led est alimentée en permanence.
Patte 7 : ANI4 entrée analogique, cette entrée est reliée à un LM35 et donne la température ambiante de +2 à +150°C avec une précision de 0,5°C. Pour ma part, le LM35 est collé sur le radiateur du M57762, et permettra de le surveiller. Un circuit RC avec un condensateur 1 µF et une résistance de 75 Ohms permet de filtrer le signal comme c'est décrit sur la fiche technique du LM35.
Patte 8 : masse.
Patte 9 et 10 : Horloge, un quartz de 4 Mhz avec ces 2 condensateurs de 22 pF.
Patte 11 : signal SDA pour le RX23.
Patte 12 : signal SDA pour le RX13.
Patte 13 : signal SCL. L'horloge I2C est commun aux quatre modules Comtech.
Patte 14 : signal SCL pour les extensions futures.
Patte 15 : signal SDA pour les extensions futures.
Cette liaison I2C sera utilisée, dans une prochaine version, pour la communication avec une EEPROM qui contiendra les informations sur les relais ATV.
Patte 16 : cette sortie valide la transmission RS485 à travers le MAX489, ce choix permettra de mettre en réseau plusieurs abonnés sur la liaison RS485 et de pouvoir les piloter avec l'IHM.
Patte 17 : sortie émission série relié au MAX489, et ou à la patte réception RX de l'interface graphique, en version intégrée.
Patte 18 : entrée réception série relié au MAX489, et ou à la patte émission TX de l'interface graphique, en version intégrée.
Patte 19 : masse.
Patte 20 : +5 V.
Patte 21 : non utilisée
Patte 22 : sortie niveau TTL, cette sortie est à 0 quand la bande 23 cm est sélectionnée, à 1 quand c'est la bande 13 cm. Quand le contrôleur est en mode balayage sur les deux bandes, la sortie passe de 0 à 1 au rythme de 2 secondes. Cette sortie permet de commander un commutateur vidéo/audio de type TEA5114.
Patte 23 : sortie pour la commutation de amplificateur 13 cm. Le circuit imprimé permet l'implantation d'un transistor NPN et de sa résistance de base pour la commande d'un relais externe. Si vous utilisez un séquenceur compatible avec des niveaux TTL, ces composants ne seront peut-être pas nécessaires.
Patte 24 : sortie pour la commutation de amplificateur 23 cm. Même commentaire que la patte 23.
Patte 25 : sortie pour l'alimentation du module Comtech 13TX. Cette sortie est suivie d'un transistor NPN pour la commande d'un relais implanté sur le circuit imprimé.
Patte 26 : sortie pour l'alimentation du module Comtech 23TX. Idem que commande TX13.
Patte 27 : sortie SDA pour le module d'émission 13 cm.
Patte 28 : sortie SDA pour le module d'émission 23 cm.

Toutes les pattes utilisées pour les communications I2C sont reliées au +5V à travers d'une résistance de rappel de 4,7 k, résistances de tirage.



Réalisation:
Pas de problème particulier pour la réalisation et le montage des composants. Le PIC et le MAX489 sont montés sur support. Ne pas oublier le strap. Le contrôleur est monté dans un boitier en aluminium et toutes les connexions sont ramenées sur un connecteur à 25 broches. Sur le connecteur femelle sont soudés les différents câbles, le câble utilisé pour la liaison RS485 est un double paire blindé et une paire blindé pour la liaison avec le LM35.
Pour les raccordements sur les modules Comtech, et si ils sont comme les miens montés sur les platines de réception et d'émission, il faut d'abord retirer les PIC présents sur ces modules et couper les liaisons présentes entre le circuit et le module Comtech. Le signal SCL provenant de la patte 13 du 16F876A est commun et distribué/raccordé sur les quatre modules, les signaux SDA sont raccordés à la borne SDA de chaque module correspondant. Attention de ne faire toucher les signaux SCL/SDA avec la masse ou autre, 5V ou 12V, il n'y a de résistance de protection en série avec les sorties du PIC.



Programme du contrôleur ATV:
Comme mes précédentes réalisations, l'écriture est en assembleur. Je reste attaché à ce choix devant le peu d'instructions nécessaires pour mettre en œuvre les PIC 12/16F, et on maitrise pleinement le programme et son déroulement. Le programme du contrôleur représente plus de 5K de code. J'ai utilisé le logiciel de développement MPLAB et le bootloader pour le chargement du programme qui sont disponibles sur le site de Microchip.
Principe:
Je n'ai pas fait appel aux interruptions, et le cœur du programme est une boucle en attente d'un caractère ASCII provenant de l'interface, ou de la fin de le temporisation de l'ordre de 2 secondes. Dès réception d'un caractère, le programme exécute le code associé à cette fonction et finit en envoyant à l'IHM la mise à jour de l'affichage, et retourne dans la boucle, si c'est la fin de temporisation, le programme vérifie si un ou les deux balayages fréquence et/ou mémoire sont activés, si c'est le cas la fréquence ou le numéro de mémoire est incrémenté et pour finir, envoie la mise à jour de l'affichage (fréquence(s), niveaux de réception, température,..). Toutes les informations affichées sur l'interface graphique proviennent du contrôleur, de ce fait l'IHM est passif, cette solution permettra d'utiliser d'autres applications en liaison avec l'IHM, en gestation un contrôleur du rotor KR400, VFO à DDS, etc...
Le résultat des conversions analogique/numérique des CAG des deux modules Comtech, disponible sous 10 bits, est tronqué à 8 bits et passe à travers de deux tables programmables de façon à restituer l'équivalent en dBm suivant le résultat de la conversion.
Il est impératif d'utiliser un PIC 16F876 A, le mode de programmation de la mémoire Flash qui contient les tables d'équivalence tension de CAG/dbm correspond à ce modèle.

Description de l'interface graphique.
C'est de nouveau un PIC16F876A qui gère l'afficheur graphique, l'encodeur rotatif et les BP. Comme ce type de PIC ne dispose pas assez d'entrée/sortie, un PCF8574, qui communique en I2C est dédié à la lecture des BP, hormis le BP Exit qui est raccordé directement au PIC. Un MAX488 permet la communication RS485 avec le contrôleur dans la configuration déportée.
Patte 1 : MCLR c'est la remise à zéro du PIC, une résistance de 10 k est reliée entre cette patte et le +5V.
Patte 2 et 3 : raccordement de l'encodeur rotatif, des résistances de rappel de 100 ket des condensateurs de 100 nF font office d'anti-rebond.
Patte 4 : raccordement au BP Exit avec résistance de rappel et condensateur anti-rebond.
Patte 5 : liaison avec la patte INT du PCF8574, le niveau passe à 0 quand un BP est enfoncé.
Patte 6 : raccordement à l'afficheur graphique R/W.
Patte 7 : raccordement à l'afficheur graphique Enable_LCD.
Patte 8 : masse
Patte 9 et 10 : Horloge, un quartz de 20 Mhz avec ces 2 condensateurs de 15 pF sont utilisés.
Patte 11 : raccordement à l'afficheur graphique CS1.
Patte 12 : raccordement à l'afficheur graphique CS2.
Patte 13 : raccordement au haut parleur miniature à travers une résistance de 33 Ohms.
Patte 14 : horloge de la liaison I2C (SCL). Une résistance de 4,7 kest relié au 5V.
Patte 15 : transfert de donnée I2C (SDA). Une résistance de 4,7k est relié au 5V.
Patte 16 : raccordement à l'afficheur graphique RS.
Patte 17 : émission série, raccordé au MAX488.
Patte 18 : réception série, raccordé au MAX488.
Patte 19 : masse.
Patte 20 : +5V.
Patte 21 à 28 : raccordement à l'afficheur graphique D0 à D7.



Réalisation:
Tout comme le contrôleur ATV le PIC et le PCF 8574 sont montés sur support. J'ai utilisé des connecteurs avec fils pour le raccordement à l'afficheur, ce choix permet la possibilité d'utiliser l'afficheur 128 x 64 dans les versions A ou B, puisqu'ils n'ont pas la même connectique. Les BP devront être de bonne qualité pour éviter les rebonds, sur le circuit imprimé est prévu l'implantation de condensateurs de 100 nF pour limiter ces rebonds, sur les deux maquettes réalisées je n'ai pas eu besoin d'implanter ces condensateurs. Le régulateur de tension peut être un 78L05, si vous n'utilisez pas le rétro éclairage de l'afficheur LCD ou un 7805 avec dissipateur dans le cas contraire, le circuit imprimé est prévu pour câbler l'un ou l'autre. Il faudra également mettre deux straps pour la continuation des liaisons entre le PIC et le MAX488. Le potentiomètre de contraste de l'afficheur, ainsi que la résistance de 10 k de tirage connectée entre la pin reset et le 5 V sont soudés directement sur le connecteur du LCD.



Raccordement entre le contrôleur ATV et l'interface graphique:
Dans un montage intégré ou le contrôleur ATV est situé à côté de l'interface graphique les circuits intégrés MAX 488 et 489 ne seront pas montés. Il faudra raccorder les pattes émission (tx) aux pattes réception (rx) avec un câble de préférence blindé. Avec une version déportée, il faudra raccorder les pattes T+ au R+ et les pattes T- au R-, le câble utilisé sera un deux paires blindées. J'utilise actuellement cette description avec un câble de 5 mètre, en théorie, la distance maximale est de 1200mètres si l'on respecte les caractéristiques (type de câble et résistance de charge) du RS485.

Programme de l'interface graphique:
Toujours en assembleur, et toujours sans interruption, le programme principal est aussi une boucle qui attend, soit la réception d'un message du contrôleur, ou soit un BP appuyé sur le PCF8574 ou le BP Exit. L'exécution du programme est le suivant pour les deux possibilités:
• A la réception d'un message, le contenu du message est sauvé en RAM et attend la fin de réception pour l'afficher sur l'afficheur graphique. Une fois, le message affiché, le PIC envoie un caractère pour informer le contrôleur de sa disponibilité et retourne dans la boucle.
• Un appui sur un BP, provoque la mise à 0 de la patte INT du PCF8574 qui averti le PIC, à partir de ce moment le PIC lit l'octet du PCF via la liaison I2C et suivant le BP envoie le caractère ascii associé, si c'est le BP bas/haut, le prochain appui correspondra au caractère ascii de la deuxième fonction et remettra l'état bas/haut à 0, soit flèche bas, pour certains BP comme l'écriture en mémoire et le rappel du balayage.

Une grande partie de l'occupation de la mémoire Flash gère les caractères ASCII, l'afficheur graphique n'ayant pas de générateur de caractères interne.

Le fichier hex.

Liste de composants Contrôleur ATV Liste de composants Interface de Conduite IHM
C1 = 100nF
C2 = 100nF
C3 = 100nF
C4 = 100nF
C5 = 100nF
C6 = 100nF
C7 = 1µF
C8 = 22µF
C9 = 22pF
C10 = 22pF
C11 = 10µF
C12 = 100nF
C13 = 100nF

D1 = 1N4148
D2 = 1N4148

LED1 = led rouge Diamètre 3mm

Q1 = 4 MHz

R1 = 10K
R2 = 4,7K
R3 = 4,7K
R4 = 10K
R5 = 10K
R6 = 10K
R7 = 75 ohm
R8 = 1K
R9 = 10K
R10 = 4,7K
R11 = 4,7K
R12 = 4,7K
R13 = 150 ohm

Rel1 = Relais 2 RT Finder type 30.22S 12Vcc, G5V-2 Omron ou équivalent
Rel2 = Relais 2 RT Finder type 30.22S 12Vcc, G5V-2 Omron ou équivalent

T1 = BC337
T2 = BC337
T3 = BC337
T4 = BC337

U = 16F876A
U = MAX489

VR1 = 78L05
C1 = 100nF
C2 = 100nF
C3 = 100nF
C4 = 100nF
C5 = 15pF
C6 = 100nF
C7 = 10µF
C8 = 100nF
C9 = 100nF
C10 = 47µF
C11 = 15pF
C12 = 100nF

HP = Haut-parleur miniature 8 ohm

Q1 = 20 MHz

R1 = 10k
R2 = 4,7k
R3 = 100k
R4 = 100k
R5 = 100k
R6 = 150 ohm
R7 = 330 ohm
R8 = 100k
R9 = 100k
R10 = 100k
R11 = 100k
R12 = 100k
R13 = 100k
R14 = 100k
R15 = 100k
R16 = 4,7k
R17 = 4,7k

U = 16F876A
U = MAX488
U = PCF8574

VR1 = 7805 ou 78L05

encodeur rotatif : RE16 Alpha

LCD graphique : graphique 126x64 pixels avec processeurs KS0108B&KS0107B

Boutons Poussoirs : Bouton-poussoir momentané à 1 contact travail.



Conclusions.
Les circuits imprimés sont imprimables avec le viewer de Sprint-Layout, disponible à cette adresse:
http://www.abacom-online.de/uk/html/sprint-layout.html
Pour les OM qui souhaitent me joindre, mes coordonnées sont dans la nomenclature du REF. Je me tiens aussi à la disposition, dans la mesure du possible pour modifier et/ou programmer les PIC.
Bonne réalisation. Guy Gounel F1BFZ

 

Retour au menu QSP

© 1999-2011 F1BFZ-F5AD