Pour agir sur le montage,
j'ai utilisé un clavier de récupération mais
tout clavier matriciel 12 touches peut être adapté.
En
plus de la fonction de comptage de distance, il m'a semblé
interressant de rajouter une fonction d'horloge, comme ça,
au quotidient, ce montage me sert de pendule de bord. Pour cela,
j'ai utilisé un circuit horloge temps réel précis,
fiable et facile à mettre en oeuvre de chez Dallas technologie
: DS1340C.
Si
le schéma électronique est peu complexe et assez
classique, la mise au point du programme a été plus
délicate car l'acquisition des impulsions provenant de
la sonde m'a posé quelques soucis de fiabilité.
En effet, je suis parti de la capture de l'impulsion qui déclenchait
une interruption dans le programme. Mais je me suis rendu compte
que si à basse vitesse la méthode était bonne,
dès que la vitesse devenait importante des impulsions était
perdues... Pour une raison que je n'ai pas trouvé, sur
le PIC, un vecteur d'interruption est bizarement asservi à
la vitesse de traitement du programme principal...
J'ai
donc remis l'ouvrage sur le métier, et je suis parti sur
une autre voie, si le logiciel est trop lent alors je vais compter
les impulsions matériellement... J'ai donc modifié
le montage et le programme pour ne plus attaquer une pin d'un
comparateur mais une pin d'un timer du PIC. Et quand le programme
a le temps (!), il va lire la valeur du timer (qui est incrémenté
à chaque impulsion) Et là miracle, la capture des
impulsions est juste jusqu'à environ 15 Khz... soit pour
une roue de 4x4 (235/85 R 16) du 12,6 Km/s ou encore Mach 37 !!!
Pour
l'interfaçage de l'afficheur voir dans la rubrique suivante
ICI
Le
module horloge "discute" avec le PIC via le bus I2C,
la sonde via le Timer 1 et le clavier est adressé lignes
et colonnes sur le port B et une partie du port C. J'ai aussi
rajouté une entrée sur le Timer 0 de la sortie 512
Hz du module horloge pour avoir une interruption toutes les 2
secondes exactement qui est utilisée dans le calcul de
la vitesse instantanée.
Comme
l'afficheur n'accepte qu'une tension de fonctionnement inférieure
à 3,3 V et pour ne pas utiliser un circuit annexe de conversion
de tension, j'ai alimenté tout le montage en 3,3 V. si
cela ne pose aucun problème pour le chip horloge, il a
fallu choisir non pas un PIC18F2620 mais un modèle LF qui
accepte de fonctionner jusqu'à environ 2 V.
|