Bonjour à tous,
Je souhaite partager avec vous la recherche et le développement d'un petit circuit éléctrique qui semblera sans doute simple à certains, mais qui reste douteux à mes yeux.
Le sujet: utiliser un Raspberry Pi pour "lire" les RPM d'un moteur. (À partir de là j'ai déjà perdu une partie de l'auditoire "anti-raspberry" ;-) )
Concrètement, j'ai un moteur, équipé d'un "trigger coil" (c'est une pièce de l'alternateur qui donne une impulsion à chaque tour moteur, par effet Hall), je souahite "lire" le signal émit par cette pièce afin de connaitre le RPM du moteur. Les courbes caractéristiques des impulsions sont les suivantes:
Ces courbes sont ce qu'elles sont et le but est de les traiter afin de les rendre lisible par un Raspberry. Le nombre de RPM maxi est de 8000RPM, ainsi un port GPIO du Raspberry fera parfaitement l'affaire en terme de rapidité. Le premier problème auquel je suis confronté c'est bien entendu la tension... un port GPIO de Raspberry accèpte 3.3V
Je mets donc immédiatement de côté la solution "100 ohms" qui donne des tensions à l'impulsion autour de 80V à 6000RPM. Le circuit devra donc avoir une impédance de 100 Kohms.
J'ai donc créé ce circuit dont je vais expliquer mes choix:
La courbe "6000RPM à 100 Kohms" indique une tension "peak" d'environ 12V, la loi d'ohms me permet de connaitre l'intensité qui en résulte: U = R x I; U / R = I ; 12 / 100^3 = ce qui donne 12uA
On peut alors calculer la "puissance" de l'impulsion: P = U x I; P = 12 x 12â»â¶; P = 144uW
Pour ma part j'ai choisi de commencer par une résistance de 10 Kohms, ainsi le courant parcourant R16 est de: P = R x I²; √(P / R) = I; √(144â»â¶ / 10³) = 120uA
La tension au borne de R16 sera alors de U = R x I; U = 10³ x 120â»â¶ = 1.2V (j'ai l'impression qu'il y a une incohérence ici... où est mon erreur ?)
La diode D6 permet de supprimer la composante négative du signal source, je me demande si 1.2V ne serait pas une valeur trop faible... R16 est peut-être superflue ? Qu'en pensez-vous ?
Continuons tout de même... nous arrivons à R17 et D7 qui permet de limiter la tension à 3.3V afin d'être sûr de ne jamais excéder la tension maxi du port GPIO du raspberry. Cependant notre précédent calcul nous donnait 1.2V... raison deplus pour douter de l'utilité de R16. Aussi la diode D6 ayant un "Forward voltage" de 0.6V, la tension traversant R17 est de 1.2V - 0.6V = 0.6V (suis-je correct ?)
Afin que le port GPIO du Raspberry "détecte" les peak il va me falloir amplifier ce 0.6V afin d'obtenir 3.3V. Le problème avec tous ça c'est que ce calcul (si il est juste) est valable uniquement quand le moteur tourne ) 6000RPM. mais lorsque le moteur tourne à 500RPM tous les calculs vont changer... ça devient un petit casse-tête pour moi !
Que pensez-vous de ma méthode de calcul ? est-telle correcte ? totalement fausse ? suis-je parti dans la mauvaise direction ? Que me conseillez-vous ?
Bien cordialement,
Clément