Salut à tous
je suis toujours sur mon histoire d'automatisation d'une moto, ce qui implique un compte tour.
première grosse nouvelle: mon compte tour simple fonctionne plutôt pas mal. en simulation on est bon, (une ou 2 instabilité à certaines fréquences du moteur ceci dit mais peut être du à la simulation? je vois pas trop d'autre explication)
et en vrai, sur la moto... bah... ça tourne, le régime moteur s'affiche globalement bien mais le problème c'est que ça "vibre" à une vitesse assez phénoménale. comprenez par là qu'il y a pas mal de "bruit". en gros mon compte tour affiche des valeurs qui varient de + ou - 200 tr/min entre chaque mesure (et il effectue une mesure à chaque impulsion venant du moteur, sachant qu'à 1000 tr/min, celui ci envoie du 33Hz, à 2000 du 66Hz, etc...)
cette variation n'est pas acceptable pour mon projet et je suis tiraillé par le compromis entre précision/stabilité/vitesse de mesure.
en effet j'ai pensé aux solutions suivantes:
faire une mesure sur un temps fixe et au lieu de mesurer les périodes, mesurer le nombre d'impulsions donc la fréquence. mais si je prends une période trop courte, j'ai de grosses variations de fréquences (en fonction de quand tombent les ticks)
si je prend une période plus longue... je perds fortement en vitesse de mesure, or je peux pas me permettre d'afficher un régime moteur une heure après qu'il ait été atteints..
j'ai donc pensé à une autre solution: compter 5 périodes (donc le temps entre 5 impulsions) puis faire la moyenne -> même principe qu'actuellement mais permettant d'avoir plus de tolérance au bruit. à 1000tr/min, ça fait un rafraîchissement de la mesure de 6.6Hz, c'est un peu limite mais passe encore je pense... et puis 1000 tr/min... la moto n'y est jamais. on est au mini à 2000 au ralenti, 4000 en utilisation normale tranquille. donc 13Hz en utilisation lente, ça va encore j'imagine... à tester quand même
enfin reste la solution de convertir la fréquence en tension, ce qui implique du hardware à coté, méthode utilisée par le compte tours à aiguille déjà installé sur la moto (de 1987). soit une conversion en tension, elle même convertie en courant qui alimente un galvanomètre.
une fois la fréquence convertie en tension, utiliser les convertisseur A/D du 16F877 pour traiter l'info.
devant toutes ces solutions, j'aurais besoin d'un petit coup de main pour déterminer la plus efficace/robuste/précise, en fonction de votre expérience... voire m'en indiquer une autre qui surclasse ces 3 là
pour infos:
le signal a traiter est un signal carré de 0 à 10V, de ratio 66% (fixe), de fréquence variable correspondant à 33Hz/1000rpm.
je dispose d'un 16f877 et d'un quartz de 4MHz ou d'un autre de 20MHz
merci à vous,
François
-----