La méthode :
On doit mesurer des tours/seconde.
Il semble intéressant de compter les pales qui passent devant un
capteur pendant une seconde. Compte-tenu du nombre de pales sur le
ventilateur (5), on peut réduire ce temps dans le même
rapport. La méthode consiste à compter les pales pendant
1/5 de seconde et à afficher le résultat toutes les
1/5 de seconde.
D'autres démarches sont
possibles, mais plus complexes à mettre en oeuvre. Par exemple,
mesurer le temps entres 2 pâles (ou N pales) et en déduire
la vitesse de rotation (inversion et division nécessaires).
L'analyse nous impose de mesurer
0,2 seconde et compter les pales (55 tours/sec maximum)
Remarques:
- il apparait nécessaire de prévoir
un temps mort permettant la mémorisation, les RAZ
des compteurs,
- compte-tenu des horloges présentes
et des temps de mesure, on utilisera une horloge de fréquence 100Hz.
L'analyse:

Le signal de sortie de la
fonction FP1 aura l'allure suivante :

Le bloc FP1 est un compteur
évoluant en binaire naturel (compte-tenu du nombre à
compter, 6 bits suffisent - 0 à 63). Il est autorisé
à compter ou est remis à 0 par un signal extérieur.
Le bloc PF2 génère le signal
dessiné ci-dessus.
Le bloc FP3 fera la mémorisation
du nombre de pales N et la conversion vers l'afficheur.
Le nombre de bits de la sortie AffichUnite est 4. Pour AffichDizaine,
3 bits suffisent.
Pour simuler, il suffira
de disposer de 2 horloges (l'une à 100 Hz et l'autre
à N(tr/s)*5Hz pour le signal du capteur, soit 250Hz
pour 50 tr/s
Passage au tr/min sur 4 afficheurs :
Le passage à 4 afficheurs consiste
à mesurer sur un temps plus long (ici nous n'avons
qu'une précision de 1tour/s, soit 60 tours/min). Pour
obtenir 10 tr/min, il faut au moins multiplier le temps de
mesure par 6.
La méthode est alors la même, mais
les capacités de comptage et d'affichage sont accrues
(temps de mesure 1,2 seconde, 121 tops d'horloge, un peu
plus de 300 pales à voir passer et 14 bits pour les
afficheurs)
Conclusion :
Le dispositif fonctionne comme attendu.
Par contre, l'arrêt du ventilateur entraine un affichage
non régénéré (donc érroné
==> la valeur 0 ne peut pas s'afficher)