Go Down

Topic: lire la frequence d'un signal sinusoidal avec freqcount (Read 707 times) previous topic - next topic

ahmed555

Salut , je vais lire la fréquence de sortie d'un oscillateur avec arduino uno , mon oscillateur fournit un signal sinusoïdal avec une fréquence variable entre 150 MHz et 50 MHz , que arduino ne peut pas la tolérer , pour cela je vais utiliser un diviseur de fréquence /64  de type MB504 qui à une sortie 1.6 V peak to peak , je vais utiliser la librairie freqcount ( https://www.pjrc.com/teensy/td_libs_FreqCount.html ) , le probleme ce que je dois convertir mon signal en signal digital pour le lire avec freqcount , dans la même page https://www.pjrc.com/teensy/td_libs_FreqCount.html j'ai trouvé que je dois utiliser un amp si l'entrée est un signal sinusoïdal ou un AC .
l'approche c'est de lier la sortie de l'oscillateur au diviseur de fréquence ensuite à l'amplificateur , enfin à l'entrée digital de la carte arduino Uno .
Quelqu'un peut confirmer cette approche ? est-ce qu'il me manque d'autres choses pour lire mon fréquence ??
ci dessous deux images présentant la sortie sinusoidale de mon oscillateur , le datasheet du diviseur , et le montage oscillateur que j'ai trouvé dans le lien ( https://www.pjrc.com/teensy/td_libs_FreqCount.html )

hazerty565

#1
Apr 18, 2017, 05:55 pm Last Edit: Apr 18, 2017, 06:08 pm by hazerty565
tu as une autre maniere, c'est d'utiliser pulsein,
par contre avec cette maniere il faut transformer le signal sinus en signal carré, mais avec un simple trigguer de schmitt c'est possible, avec un AOP ou un HC14 par exemple

dureeH=pulseIn(8,HIGH);      //met la durée de l'impulsion de niveau HAUT dans la variable dureeH
dureeL=pulseIn(8,LOW);        //met la durée de l'impulsion de niveau bas dans la variable dureeL
dureeT= dureeH+dureeL;
f = 1000000/dureeT; //determine la frequence avec t en micro seconde



pourquoi s'embeter..?
plus d'infos ici:
http://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.PulseIn

ahmed555

pourquoi utiliser pulseIn quand j'ai des librairies dédiés ?
http://www.pjrc.com/teensy/td_libs_FreqCount.html
http://www.pjrc.com/teensy/td_libs_FreqMeasure.html

68tjs

Je viens de recevoir une demande d'aide en message privé.


C'est interdit sur ce forum qui est un forum de PARTAGE

Déjà qu'un message compact, sans retour à la ligne ni paragraphe, est illisible et fait fuir,  je ne pense pas que cette demande va me mettre dans de bonnes dispositions pour faire des efforts.


ahmed555

dsl pour le message , je veux lire la fréquence mon signal avec freqcounter , mon signal est sinusoïdal
 

68tjs


ahmed555

je sais pas que les SMS sont interdis , je suis un nouveau membre ...

68tjs

Un nouveau membre SE DOIT de lire les règles d'un forum qu'il utilise pour la première fois.
Cela s'appelle respecter les règles élémentaires de politesse au cas où tu ne le saurais pas.

Liste des messages épinglés en tête de section principale :
Bienvenue sur le forum de la communauté francophone
Faire un nouveau sujet avec les balises
Bien éditer son post pour les nuls

ahmed555

D'accord s'est compris :) concernant la lecture de fréquence pouvez vous m'aider ?

68tjs


ahmed555

mon signal sera de l'ordre de MHz c pour cela je pense d'utiliser freqcount librairie

hazerty565

#11
Apr 19, 2017, 06:51 pm Last Edit: Apr 19, 2017, 06:56 pm by hazerty565
tu peux utiliser freqcount sans aucun probleme... tu as meme l'exemple que tu m'as donner qui est tres complet

Mais dans tous les cas l'arduino ne peux pas recevoir un signal sinusoidale sur ses pin...

dans tous les cas il te faut le transformer en signal carré ( comme dans ton exemple ceci dis...)

Je ne vois pas ce que tu veux comme aide, car tu as toutes les cartes en main...


si tu veux savoir comment faire un trigguer de schmitt  avec un AOP ( google te le dira)

Go Up