Sélectionnez votre langue

Présentation

Ce projet a été élaboré suite à la demande d'un internaute, propriétaire d'une moto Suzuki Bandit (DL650), qui souhaitait disposer d'un affichage du rapport de vitesse, sur un afficheur sept segments à leds. Je ne connaissais strictement rien au sujet, aussi m'a-t-il parût interressant de m'y interresser, pour deux raisons au moins :
- en apprendre un peu plus sur ce qui se faisait dans ce domaine;
- me pousser à explorer de nouveaux composants électroniques pouvant répondre au besoin exprimé.

Evolution de l'indicateur de vitesse 001

Suite à plusieurs courriers reçus concernant la réalisation de cet indicateur, j'ai conçu l'indicateur de rapport vitesse 002 qui est plus simple à réaliser et qui convient à plusieurs types de motos. En outre ce dernier est plus facile à adapter pour de nouveaux types de moto, car conçu dès l'origine pour être extensible. La mise à jour publiée le 30/05/2010 sera la dernière pour cet indicateur vitesse 001. Je ne ferai plus de mise à jour pour l'indicateur de rapport vitesse 001, mais continuerai avec l'indicateur de rapport vitesse 002. Merci de votre compréhension.

Données connues

Il existe déjà dans le commerce des boitiers permettant l'affichage du rapport, adapté à la quasi-totalité (ou même totalité) des motos. Pour déterminer le rapport de vitesse engagé, ces boitiers effectuent une comparaison entre le nombre d'impulsions du compteur de vitesse avec le nombre d'impulsions du compte-tours, en un temps donné. Dans le cas présent, la Suzuki est déjà équipée d'un capteur de rapport de boite de vitesse engagée, dont l'information est fournie au calculateur de la centrale d'injection pour optimiser le fonctionnement du moteur. Il semblait donc possible de réaliser la fonction d'affichage assez simplement. Le schéma disponible est le suivant :

indicateur_rapport_vitesse_suzuky_001

La position du commutateur K1 dépend du rapport de vitesse engagé. Comme on peut le voir, il permet de disposer d'une tension continue dont la valeur dépend de sa position physique, au travers d'un pont diviseur résistif dont le facteur de division dépend de la résistance "horizontale" mise en circuit avec la résistance "verticale" de 1K. Exception faite pour la position N° 2 qui correspond au point mort, et pour laquelle aucune résistance "horizontale" n'est mise en circuit, ceci ayant pour effet de trouver au point Vout, une tension maximale très proche de +5 V. Sachant cela, on peut envisager au moins trois solutions pour l'affichage du rapport de vitesse :
1 - Voltmètre à base de CA3161 et 3162. Le couple CA3161 / 3162 revient à lui seul à plus de 30 euros, je trouve que ça fait un peu "luxe" pour l'application qui nous concerne. D'autant plus qu'il faudrait certainement "corriger" la tension lue Vout pour afficher une valeur correcte à chaque position.
2 - Afficheur à base de compteur et comparateur. Solution relativement économique et qui fonctionnerait très certainement fort bien, mais au prix d'une complexité plus grande du montage.
3 - Afficheur à base d'un convertisseur analogique / numérique (ADC ou CAN) et PIC 16F84. Solution la plus simple que j'entrevois pour l'heure, assez économique, mais nécessité de programmer un composant programmable. Le présent article décrit un montage de ce type.

Schéma

La complexité du montage n'est pas bien grande, surtout si on regarde la partie "active" (section inférieure) et qu'on exclue la partie régulation d'alimentation et filtrage de la tension venant du capteur de rapport de vitesse (section supérieure).

indicateur_rapport_vitesse_001

Filtrage tension d'entrée

Ce filtrage est indispensable, car on peut facilement retrouver, superposé à la tension utile prise au point central du diviseur de tension mis en circuit par le capteur / commutateur K1, des tas de parasites de tous poils. Heureusement que l'on peut se contenter d'un filtre passe-bas simple, du premier ordre, qui prend ici la forme de R1 et de C1. La diode zener D1 n'est pas obligatoire mais fortement conseillée, en vue de protéger l'entrée analogique du circuit intégré U3.

Régulation alimentation

La section d'affichage repose sur deux circuits intégrés qui doivent être alimentés sous une tension de +5 V par rapport à la masse. Cette tension de +5 V est produite par un régulateur de tension intégré de type LM7805, bien connu des électroniciens et très bon marché, à partir de la tension +12 V de la batterie de la moto. Une diode de redressement de type 1N4007 (D2) est montée en amont du régulateur de tension, afin de protéger le montage en cas d'inversion de polarité. Cette diode est facultative et vous pouvez la remplacer par un strap, mais je vous conseille vivement de la laisser en place. La chute de tension qu'elle provoque est négligeable et le régulateur aura toujours sur son entrée une tension suffisante pour travailler dans de bonnes conditions.

Conversion analogique / numérique

C'est la première fois que j'utilise le convertisseur ADC0831, de type série. Ce choix résulte de deux aspects : d'une part, j'ai déjà travaillé avec des convertisseurs "série" et ai donc déjà une idée de leur fonctionnement général; d'autre part, il me fallait ici un composant de petite taille, de précision suffisante (8 bits de quantification sont suffisants), et d'un coût raisonnable (ce circuit coûte dans les 3 euros). La liaison de ce circuit avec le microcontrolleur se fait via trois fils :
- CS = Chip Select (sélection circuit) - Cette patte permet d'initialiser le processus de conversion, et d'aller lire son résultat.
- CLK = Clock (horloge) - Cette patte permet de "rythmer" les échanges de données. Elle reçoit une série d'impulsions qui permetent au convertisseur d'envoyer le résultat de la conversion, sur la patte DO.
- DO = Data Out (sortie données) - Cette patte met à disposition le résultat de la conversion, bit après bit, au rythme des impulsion d'horloge transmises sur la patte CLK.
Le fonctionnement n'est pas compliqué, il "suffit" de lire la procédure d'exploitation indiquée par le constructeur, dans son datasheet. La procédure complète de demande de conversion et de lecture de son résultat est effectuée par le microcontrolleur, en quelques lignes de code seulement (voir dans le code source, procedure ADCRead).
Important : les deux bornes d'alim du convertisseur ADC0831 n'apparaissent pas sur le schéma. La borne 4 doit être reliée à la masse, et la borne 8 doit être reliée au +5V.

Affichage

J'aurais fort bien pû utiliser un PIC16F877, qui inclue déjà des convertisseurs analogique / numérique, mais le prix de ce composant, bien supérieur à l'addition ADC0831 + 16F84, était un argument en sa défaveur. Sans compter sa taille... C'est pourquoi je me suis contenté d'un PIC 16F84 et d'un convertisseur externe (à l'époque où j'ai fait ce choix, je ne connaissais pas encore le 16F88 qui m'a servi pour la version 002). Le travail demandé au PIC est tellement minime que sa vitesse d'exécution ne réclame point un quartz de 20 MHz. Le faire travailler un 1 MHz ou à 4 MHz suffit bien amplement. Le 16F84 dispose de suffisemment de lignes d'entrée / sortie pour faire ce que l'on veut ici. Le port B de huit lignes est réservé à la connection de l'afficheur sept segments (il reste une ligne de libre que l'on pourrait mettre à contribution pour sélectionner le type d'afficheur, Anode Comune ou Cathode Commune), et le port A de cinq lignes dont trois sont utilisées pour le dialogue avec le convertisseur analogique / numérique. Une mesure de tension d'entrée (Vout) est effectuée toutes les 100 ms environ, chaque mesure demande moins de 1 ms.

Horloge du PIC

Le PIC 16F84 peut fonctionner avec un quartz ou avec un réseau RC. L'emploi d'un réseau RC pour constituer la base de temps conduit à une stabilité moindre de la fréquence d'horloge, qui varie selon la température ambiante, mais dans notre cas, cela n'a aucune importance car le timing des opérations effectuées par le programme n'a pas besoin d'être précis. Les valeurs données au couple R9 / C4 (10 KO / 100 pF) conduit à une fréquence d'oscillation de quelques 600 KHz.

Avertissement

Je n'ai pas réalisé personnellement ce montage, je l'ai juste conçu. La personne qui me l'a demandé ne m'a pas encore donné de nouvelles et je ne sais pas si elle en est satisfaite. Mais depuis la publication de cette page, une autre personne a manifesté son interêt pour ce circuit, et l'a réalisé avec succès, après quelques adaptations mineures du programme (il s'agit d'une autre moto, et les tensions délivrées ne sont pas les mêmes que celles de la Suzuky Bandit). J'ai donc décidé de modifier le programme afin de permettre une sélection parmi plusieurs "courbes", afin de rendre ce montage compatible avec plusieurs modèles de moto. Bien entendu, comme je ne m'y connais rien en moto, les valeurs de tension délivrées en fonction des rapports de vitesse doivent m'être communiquées pour que je puisse les intégrer dans le programme. La sélection se fera par appui sur un bouton poussoir raccordé à la ligne RA3 du PIC, et sera sauvegardée en EEPROM (interne au PIC) pour que les bonnes valeurs soient chargées à chaque mise sous tension.

Logiciel du PIC

Le code source inclue la totalité des fichiers utilisés : fichiers source au format Pascal et fichier binaire au format .hex. La version du 30/05/2010 est compilée pour fonctionner avec une Suzuki Bandit DL650, mais le code source inclue en commentaire les modifications à apporter pour une Suzuki SV1000S.
Indicateur rapport vitesse 001 - (30/05/2010)
Si vous souhaitez recevoir par la poste un PIC préprogrammé et prêt à utiliser, merci de consulter la page PIC - Sources.

Circuit imprimé

Non réalisé de mon côté. Mais Pierre, possesseur de la moto en question, l'a réalisé et m'a envoyé ces quelques photos. Les deux circuits imprimés (celui qui comporte les circuits intégrés et celui qui supporte l'afficheur) sont superposés.

indicateur_rapport_vitesse_001_photo_pierre_001 indicateur_rapport_vitesse_001_photo_pierre_005 indicateur_rapport_vitesse_001_photo_pierre_002
 indicateur_rapport_vitesse_001_photo_pierre_003 indicateur_rapport_vitesse_001_photo_pierre_004 indicateur_rapport_vitesse_001_photo_pierre_006