Programmation du PIC16F84A destinée à l'interface CAN - RS232 :
Vous
avez à disposition 2 versions du programme destinées au PIC16F84A.
La première
est destinée à une liaison
série de type NRZ
pour le port série de votre PC.
La seconde
est destinée à une liaison
série de type TTL
pour un "dialogue" entre microcontrôleurs
ou circuits
logiques.
Liaison
série NRZ destinée aux ports
COM d'un ordinateur de type PC :
Le
soft suivant est compatible avec
l'application thermomètre
sur
PC :
page
[
Application ]. Téléchargement
du soft "CANMAX.ZIP" destiné au microcontrôleur
IC1 :
1,38 ko
AVIS
: Le programme source ne sera pas diffusé.
Liaison
série TTL destinée à
un autre microcontrôleur ou
circuits logiques
:
Téléchargement
du soft "CANTTL.ZIP" destiné au microcontrôleur
IC1 :
1,36 ko
AVIS
: Le programme source ne sera pas diffusé.
Configuration du logiciel ICPROG destinée au
PIC16F84A de l'interface CAN - RS232 :
La programmation de ce microcontrôleur
est simplifiée dans la mesure où le paramétrage
de ICPROG.EXE est automatique.
Lancez le logiciel de programmation ICPROG.EXE.
Sélectionnez le microcontrôleur 16F84A dans la liste des circuits.
Ouvrez le fichier hexadécimal nommé CANMAX.HEX ou CANTTL.HEX.
Le paramétrage automatique doit être le suivant : - Le
"chien de garde" => WDT est activé, - Le
"Timer" => PWRT est activé, - La
"Protection en relecture" => CP est désactivée.
L'oscillateur de type XT
doit être validé.
Attention, si vous utilisez un
16F84A-I/P
de dernière génération,
choisissez un oscillateur
HS et
pas XT.
Tests
de la carte CAN - RS232 en utilisant l'Hyper Terminal :
L'Hyper
Terminal vous permettra d'obtenir simplement les résultats
de la conversion analogique - numérique
réalisée par la carte interface.
Dans
l'application qui va suivre, nous utilisons
un transfert série à 9600
bauds.
Rien ne vous empêche d'opter pour
un transfert à 2400 bauds.
Installation
de l'Hyper Terminal :
L'Hyper
Terminal est rarement présent par défaut lors de
l'installation du système d'exploitation Windows. Pour vous
en assurer, cliquez sur : Démarrer,
Programme,
Accessoires,
Communications
et cliquez sur Hyper Terminal
comme ci-dessous :
Si
vous ne trouvez pas l'Hyper Terminal dans votre arborescence, veuillez l'installer
en utilisant le CD-ROM original de Windows.
Configuration
de l'Hyper Terminal :
Démarrez l'Hyper
Terminal. Double - cliquez sur l'icône.
Attribuez un nom à
votre connexion série, par exemple "TEST à 9600
bauds" :
Cliquez sur OK. Sélectionnez
le port série auquel est connecté l'interface LCD
:
Cliquez sur OK. Sélectionnez
la vitesse de transmission et cliquez sur OK :
L'Hyper Terminal est
désormais configuré (9600 bauds sur le Com 2) :
Conditions
initiales :
Pour
reproduire l'exemple qui va suivre, assurerez-vous
d'avoir les entrées / sorties paramétrées
comme ci-après :
Dessus
Profil
- La
sortie interruption
INT
n'a aucune utilité
pour une application sur PC.
- Mettez
l'entrée validation ON/OFF
sous
+5V
afin d'obtenir un transfert série
perpétuel comme ci-après.
- Les entrées
de commande RB4
et
RB5
de la sortie parallèle
seront positionnées tel que
: RB4 = 1 (+5V) et RB5 = 0 (GND).
Ainsi, les sorties parallèles
RB0 à RB3 donneront les états
logiques du
quartet de poids faible D0 à
D3
de la trame série 12 bits.
Voir
[ Présentation
]
pour
en savoir plus.
Liaisons
électriques avec l'étage d'entrée
du convertisseur :
Pour
effectuer les tests, l'entrée
IN de la carte CAN est reliée à
un montage extrêmement simple permettant
d'obtenir une tension continue ajustable
de
0V à 5V.
Ce montage test pourra prendre place
sur une platine d'expérimentation
ou bien, sur une plaque d'essai.
Vous aurez besoin pour
cela : D'un
potentiomètre trimmer multi-tours
de
1 Mohms ; D'un
condensateur chimique de 10uF/16V.
Effectuez
les branchements en vous référant
au croquis suivant.
On utilise la cathode
de la diode D1 pour
récupérer l'alimentation régulée +5V
de la carte
interface.
Résultat
des tests :
Voici
une recopie d'écran de l'Hyper Terminal
durant les tests de la carte interface.
Vous pouvez constater l'évolution
du potentiel aux bornes du trimmer (IN) durant le réglage de celui ci.
Le
tableau ci-dessous regroupe la progression
de la conversion pleine échelle du
CAN 12 bits suivant les sorties utilisées
:
Sorties séries
(RS232 NRZ ou TTL).
Sorties parallèles
(n'oubliez pas que les 3
quartets de la sortie
parallèle sont sélectionnables
par RB4
et RB5).
Voir [
Présentation
] pour plus de détails.
Mesures effectuées
entre
le potentiel de l'entrée
IN et la valeur convertie en
série
|
Décimal
(RS232)
|
Binaire
(parallèle de RB0 à
RB3)
|
Hexa
|
Potentiel
d'entrée IN (volt)
|
0
|
%0000
0000 0000
|
$000
|
0,000
(MIN)
|
46
|
%0000
0010 1110
|
$02E
|
0,046
|
262
|
%0001
0000 0110
|
$106
|
0,262
|
448
|
%0001
1100 0000
|
$1C0
|
0,449
|
853
|
%0011
0101 0101
|
$355
|
0,856
|
976
|
%0011
1101 0000
|
$3D0
|
0,974
|
1044
|
%0100
0001 0100
|
$414
|
1,043
|
1930
|
%0111
1000 1010
|
$78A
|
1,926
|
2071
|
%1000
0001 0111
|
$817
|
2,068
|
3050
|
%1011
1110 1010
|
$BEA
|
3,048
|
3883
|
%1111
0010 1011
|
$F2B
|
3,880
|
4086
|
%1111
1111 0110
|
$FF6
|
4,082
|
4092
|
%1111
1111 1100
|
$FFC
|
4,089
|
4095
|
%1111
1111 1111
|
$FFF
|
4,095
(MAX)
|
Notez
la remarquable exactitude du convertisseur
MAX entre la valeur
décimale et
le potentiel appliqué
à l'entrée
IN.
Avec
un rien de soft, il devient possible d'interfacer sous
Windows bons nombres de capteurs
tel que :
température,
pression,
lumière, etc...
tant que ceux-ci disposent en sortie
d'une tension proportionnelle représentative
de la
grandeur physique mesurée.
|