Retour
Page Précédente
Page Suivante

Construction d'un compteur de distance à base d'un microcontrôleur PIC 18F2620
et d'un afficheur graphique LCD couleur de GSM Nokia

AVERTISSEMENT : Les montages et descriptions ci-après représentent des prototypes personnels. Une bonne dose de bricolage est nécessaire pour les réaliser, ils sont présentés tel quel et ne pourrait engager l'auteur en cas de défaillance.


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.

© ACTION 2003 - Janvier 2007