Mesure de fréquence avec Arduino (timers ?)

Bonjour à tous,

Je voudrais mesurer avec un module Arduino la fréquence des impulsions d’un signal TTL.
Cette fréquence correspond à la vitesse de rotation d’un moteur.
La fréquence à mesurer est < à 300 Hz.
Comment mesurer une fréquence avec Arduino ?
j’ai déjà fait un compteur de vitesse de vélo qui marchait en interruption, à chaque IT , j’incrémentais un compteur mais la fréquence était nettement plus basse.
Ici je pensais plutôt utiliser les timers du microcontrôleur si c’est possible, genre lire l’état du timer toutes les secondes.

Quelqu’un a déjà pratiqué ?
Des idées ? Des astuces? Des tuyaux?
Faites-moi savoir, merci.

Louis

300 hz c'est plus que largement faisable sans faire appel aux timers. Avec ou sans utilisation des interruptions

http://interface.khm.de/index.php/lab/experiments/frequency-measurement-library/
http://interface.khm.de/index.php/lab/experiments/arduino-frequency-counter-library/

Bonjour,

300Hz c'est rien du tout ;)

2 possibilités : 1) Utiliser un timer en mode "compteur" + un autre timer en mode "overflow" -> Le premier compte le nombre d'impulsions. Le deuxième défini une plage de temps fixe pour relever la mesure. --> Utile si tu as une fréquence vraiment élevée.

2) Utiliser une interruption + une variable + un timer en mode "overflow" -> Même principe que le 1) mais tu fait l'équivalent du compteur hardware avec l'interruption. --> Tu peut choisir le type qui va bien pour ta variable "compteur" en fonction du nombre d'interruption à compter.

Dans ton cas les deux solutions marcherons de manière identique, 300Hz c'est un jeu d'enfant à mesurer pour un cpu à 16MHz ;)

A noter que tu as des librairies toutes prêtes pour Arduino qui implémentent ces deux solutions : http://www.pjrc.com/teensy/td_libs_FreqMeasure.html#compare

Merci pour votre aide, je vais regarder tout cela !

Tu peux aussi utiliser un convertisseur fréquence tension comme le LM331, le montage est relativement simple et détaillé ici.

Bonjour, Je voudrais commander un relais de l’interface Arduino a l’aide d’un signal TTL Enclencher le relais si le signal TTL est supérieur à 37Hz, et déclencher ce même relais si le signal TTL est à inferieur a 37 Hz Bien à vous Merci

http://lmgtfy.com/?q=mesure%20de%20fr%C3%A9quence+arduino

http://forum.arduino.cc/index.php?topic=324322.0

Merci pour les liens et infos, je suis désolé pour la perturbation du tuto