salut , j'ai une sonde capacitive qui mesure l'humidité du sol en utilisant des électrodes . les électrodes font partie de la chaîne de réaction d'un oscillateur LC serie . lors de l'injection des électrodes dans le sol la capacité se change ce qui fait varier la fréquence de l'oscillateur , ensuite la fréquence va être transmettre vers arduino ( lecture de fréquence et traitement ) ensuite arduino envoie le traitement vers une carte SD12 via bluetooth . je suis débutant en programmation avec arduino .. est ce que je peux lire une fréquence de 150 MHz ou je dois utiliser un diviseur de fréquence sachant que la sortie de l'oscillateur est sinusoïdal . ci dessous le schéma de l'oscillateur avec sa sortie sinusoidale
un arduino commun fonctionne à 16MH... peut-il mesurer une fréquence 9 fois supérieure et vous faire des affichages d'information... hum....
donc il me faut un diviseur de fréquence , quel est le diviseur le mieux adapté avec mon fréquence ?
vous pouvez jeter un oeil ici pour des idées
merci , je vois bien que je dois utiliser Frequency Counter Library qui accept jusqu'à 8 MHz alors un diviseur de 24 convient , mais j'ai lu que l'entrée doit être carré or mon signal est sinusoïdal , donc il me faut aussi une conversion du signal .. honnêtement c ma première utilisation d'arduino , je sais pas comment faire tous ça !
Sur un arduino 5V une pin numérique va lire HIGH tant que la tension sera supérieur à 3V donc d'une certaine manière la pin digitale va transformer votre sinusoïde en signal carré. si la tension est au dessus de 3V il dira HIGH et en dessous LOW
heureusement mon oscillateur est alimenté par 3.3 v et à une sortie de 2.7 à 2.8 V donc on dira HIGH et en dessous low . concetnant le diviseur de fréquence , un diviseur par 16 convient bien
Pour qu'un circuit numérique CMOS puisse lire un signal sinusoïdal il faut :
- centrer ce signal autour de Vcc/2 : couplage capacitif suivi d'un pont constitué de 2 résistances égales.
- Que le (pseudo) temps de montée du signal sinusoïdal soit suffisant --> voir la datasheet des produits
Il n'y a pas souvent de limitations mais ce n'est pas exclu, autant le savoir.
AMHA le plus simple est de commencer par rendre le signal carré à l'aide d'un comparateur.
Il existe des technos Cmos qui dépassent les 200 MHz, mais c'est sûr qu'il faudra un peu chercher.
Il existe aussi la techno bipolaire ECL (ex fairchild et ex Motorola, maintenant ? ? ?) qui atteint allègrement le giga hertz mais elle est moins évidente à mettre en œuvre (-> amplitude des signaux entre 0,5V et 1 V crête/crête, utilisation plus aisée avec la masse au plus). Comme elle est d'un usage peu courant en amateur le prix ne sera pas attractif.
Pour les diviseurs le 328p piloté à 16Mhz ne pourra pas mesurer des fréquences supérieures à 16 MHz/2 (théorème de Shanon). Viser plutôt 1 ou 4 MHz.
Toujours AMHA commencer par diviser par un faible rapport 2 ou 4 avec des CI rapides, terminer avec des CI courants qui coûterons des clopinettes.
n'existe pas des circuits intégrés qui font la conversion et la division au même temps ?
Faut-il vraiment un signal sinusoïdal à 150 MHz pour mesurer l'humidité du sol ??
oui pour minimiser l'effet de la conductivité ( rapport conductivité / fréquence ) du sol sur la mesure , mais ce n'est pas le problème , mon problème c'est comment puisse je lire cette fréquence sur arduino avec un diviseur de fréquence ?
Ce qu'on sait faire "facilement" sur une carte Arduino c'est déterminer la fréquence (et le duty cycle) d'un signal type PWM, dans une gamme de fréquences bien plus basses. Par exemple jusqu'à 1 à 1.5 MHz sur une carte DUE en utilisant un timer pour capturer la largeur des fronts.
Pour un signal sinusoïdal, c'est possible aussi d'identifier la fréquence en plaçant judicieusement des bornes, toujours avec une carte DUE et avec les mêmes restrictions en terme de fréquences.
Bonjour,
Tu as réellement réalisé cet oscillateur ou c'est juste un exercice de style sur simulateur?
Ce doit être difficile de réaliser réellement quelque chose de fiable et de stable.
donc pour lire une fréquence avec arduino quelle est la fréquence qu'il peut tolérer et comment faire si la fréquence est variable ?
@kamill pas encore , je suis en phase de conception , ensuite je passe à la réalisation
Bonjour,
J'utilise des composants qui vont bien pour diviser: MC12093DG
Je m'en sert jusqu'à 1GHz environ et on peut sérialiser. désolé, pas de code car j'ai fait ça avec un PIC !
Pour présenter son signal de sortie à l'entrée d'un Arduino 5V, il est nécessaire de l'amplifier.
Probablement compte tenu de l'hystérésis des entrées du microcontrôleur.
Note --> Il existe des circuits intégrés pour faire la transition de niveau ECL vers Cmos.
Pour utiliser un circuit ECL avec la masse au moins il faut le câbler en "PECL", la lettre P signifiant "positif".
Il faut aussi savoir que chaque sortie ECL doit être chargée extérieurement au CI. Le courant dans la charge doit être de 10 à 15 mA si on veut obtenir la bande passante annoncée, ce n'est pas rien.
Le chaînage de CI ECL utilise des liaisons différentielles (les entrées sont différentielle et les sorties donnent Q et Qbarre) . Ce qui revient à doubler les niveaux disponibles.
A ce sujet l'utilisation du comparateur des microcontrôleurs Atmel sera très intéressante pour éviter un CI de conversion de niveaux ECL vers CMOS..
Par ailleurs, il faut veiller à ce que la fréquence d'entrée soit supérieure à 100 MHz.
Non ce n'est pas une norme.
Il existe des CI qui fonctionnent sans problème à des fréquences plus basses
Le point bloquant avec la technologie ECL c'est le DV/DT minimum qui dépend du constructeur et de la complexité du CI.
Avec les circuits que j'avais utilisés (vers 1980) la limite basse était de quelques MHz (sinusoïdaux) pour une fréquence max de 600 MHz.
Mais c'est exact que ce point est important et qu'il faut systématiquement le vérifier CI par CI.
Note : ECL veut dire "Emitter Coupled Logic".
La techno ECL est basée sur des paires différentielles de transistors bipolaires ( peut-être en existe-t-il avec des Xfet mais je n'en connais pas).
Niveaux statiques ECL (l'amplitude dynamique est plus faible) :
- ECL
Niveau haut = - 0,7 V
Niveau bas = - 1,4 V - PECL
Niveau haut = Vcc - 0,7V
Niveau bas = Vcc - 1,4 V
Bel exemple que la masse est un point arbitraire qui peut être l'alim plus ou l'alim moins.
Mes remarques étaient surtout pour éclairer ceux qui ne connaissent pas la logique ECL qui est très particulière.
Pour l'application présente il doit être possible de trouver une bascule D rapide en techno CMOS qui permettrait de ramener la fréquence max à 75 MHz.
A partir de là ce ne sont pas les candidats qui manquent.
En lien, un document, pas de la toute dernière fraîcheur, mais bien construit sur la mesure de l'humidité dans le sol.
L'oscillateur fonctionne autour de 38 Mhz.
Cordialement.
Pierre
Bonjour,
Peux-tu nous expliquer le fonctionnement de ton capteur stp?
Merci.