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 cur 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 cur 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.
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