Go Down

Topic: Micro controlleur rapide avec horloge précise ? (Read 2502 times) previous topic - next topic

ewaca

Bonjour,

j'ai dans l'idée de faire un gravimètre absolue. Pour comprendre mes besoins j'explique un peu ce que c'est.
Le principe c'est de mesurer l'accélération de pesanteur en utilisant la chute libre d'un objet.

La formule qui donne g fait intervenir la hauteur de chute, et la vitesse.

j'aimerais pouvoir arriver au moins a etre précis sur a 2 décimales (9.81 m/s2).

Pour avoir au moins ce degré de précision il faut avoir une vitesse précise.
Pour avoir une vitesse précise, il faut une mesure de distance et de temps précis.

La mesure de distance la plus précise utilise un interféromètre laser. Ca permet de mesurer des variations de distance d'1/4 de la longueur du laser, pour le rouge ça correspond a environ 150nm a chaque fois que l'on passage du rouge au noir.



Voici pour la partie théorie, maintenant la partie plus concrète.
Si on part sur une hauteur de chute de 20cm, ça fait 1.33x106 oscillation sur l'interféromètre.
Le temps de chute pour 20cm est d'environ 0.2s.

Ce qui donne 6.67x106, disons 7 millions d'oscillation. et j'ai besoin du temps pour chaque passage a 0.
Je pense faire la mesure via une photodiode et enregistrer la variation du voltage directement.Ca donnerait donc une sinusoïde. Il faut donc avoir au moins 3 points pour savoir quand on est en haut ou en bas de la sinusoïde. on arrive donc a 3x7 => 21 Millions d'enregistrement a la seconde  , soit 1 enregistrement toutes  les 50 nanoseconde
 
D'après mes recherches une lecture analogique sur un arduino prend 100µsec, donc les ATmega des arduino ne permettent pas cette précision.
De plus la précision de l'horloge peut atteindre 500 ns au mieux, donc pas assez précis.



Je cherche donc un micro contrôleur qui puisse
- lire et enregistrer a une fréquence supérieur a 20mhz
- fournir un temps précis a quelque nano secondes


Des micro controleur sont capable de fournir ça ? ou il faut basculer sur des trucs genre raspberry pi ?

merci d'avance !

Quentin92s

#1
May 06, 2016, 11:21 am Last Edit: May 06, 2016, 12:29 pm by Quentin92s
Pour te répondre en partie, la carte arduino la plus puissante actuellement est la Arduino Due, regarde si elle te suffit, sinon, je laisse quelqu'un d'autre t'éclairer :)

_pepe_

#2
May 06, 2016, 12:20 pm Last Edit: Aug 19, 2018, 04:52 pm by _pepe_
Supprimé

ewaca

Merci pour cette réponse détaillée.
Je pensais qu'en prenant le valeur de tension fourni par la photodiode, il n'y avait pas de conversion analogique/digital.
En fait je suis totalement néophyte dans le monde des microcontrôleur et circuits électroniques.

c'est pourquoi je ne visualise pas du tout comment faire autrement (que la façon décrite dans le premier poste e) en utilisant des circuits électroniques analogiques rapides.

je vais essayer de me renseigner sur ces circuits.

Christian_R

Le principe c'est de mesurer l'accélération de pesanteur en utilisant la chute libre d'un objet.
Tu as un tube à vide d'air ?
Christian

68tjs

La précision ne dépend pas du quartz seul mais de l'ensemble électronique +  quartz.

- L'électronique qui utilise un quartz doit être adaptée : en particulier le choix des condensateurs doit être chiadé.

- Il faut savoir que la précision d'un quartz dépend de la façon dont il est taillé et bien évidement la taille la plus économique n'est pas la plus précise.

- Un quartz n'est pas stable en température, les supers oscillateurs utilisent des quartz dans des enceintes thermostatés.

La fameuse RTC DS3221 est précise parce que le quartz est intégré dans le boîtier qui contient le CI, donc absolu contrôle de l'adaptation, et que le CI maintient le quartz à température constante.


_pepe_

#6
May 06, 2016, 02:05 pm Last Edit: Aug 19, 2018, 04:52 pm by _pepe_
Supprimé

ewaca

Tu as un tube à vide d'air ?
dans le principe il va falloir en fabriquer un oui. Pour le moment je regarde juste si le projet est réalisable avec de l'électronique plutot bon marché.
Le but n'est pas d'arrivé a la meme précision que les gravimètre absolus qui donne un résultat a 9.810 000 01 pret et qui utilisent des horloges atomiques, mais de voir quel précision je peux atteindre avec un gravimètre maison.

sinon j'ai fait quelque recherches, apparemment en sortie analogique de la photodiode on a des valeurs qui varient entre 0 et 1023 (pour du 10 bit)
si je récupère que ces chiffres, je reste en analogique pur ?

@_pepe_ :
je n'y connais pas grand chose encore en électronique. je pensais qu'on avait directement une tension en sortie d'une photodiode, et j'ai vu que non.
Après je sais ce que je dois avoir : a un endroit précis, un temps précis
Je connais le matériel a utiliser : interféromètre et une horloge
mais n'y connaissant pas grand chose en électronique, je découvre les limites de telle ou telle option au fur et a mesure de mes recherches.

voici l'image du principe d'un gravimetre absolu

_pepe_

#8
May 06, 2016, 03:19 pm Last Edit: Aug 19, 2018, 04:52 pm by _pepe_
Supprimé

ewaca

pour le moment je n'ai pas de référence, j'en suis juste a regarde si le projet est réalisable.

le coup de la valeur de 0 à 1023 j'ai cru que c'était de l'analogique parce que la fonction qui permet de lire ça est "analogRead" ...  :smiley-confuse:

Après que la photodiode me fournisse des volt, des ampères ... je me fiche un peu de l'unité a vrai dire, je veux juste avoir la variation.

Est ce que l'on peut rester dans le domaine de l'analogique pur en enregistrant les variations fournies par la photodiode ?

68tjs

Quote
Après que la photodiode me fournisse des volt, des ampères ... je me fiche un peu de l'unité a vrai dire, je veux juste avoir la variation.
Pas completement faux mais surement pas juste.
C'est quand on ne cherche pas à comprendre les phénomèmes mis en jeu que l'on est incapable de comprendre pourquoi ce qui devrait marcher les doigts dans le nez ne marche pas.
Il est vrai qu'il suffit de demander sur un forum a ce moment là :smiley-evil:

Comprendre le phénomène mis en jeu évite d'écrire des âneries comme :

Quote
Je pensais qu'en prenant le valeur de tension fourni par la photodiode, il n'y avait pas de conversion analogique/digital.
Quote
le coup de la valeur de 0 à 1023 j'ai cru que c'était de l'analogique parce que la fonction qui permet de lire ça est "analogRead"
Ces deux citations veulent dire exactement le contraire.
Laquelle est la bonne ?


Une photo diode c'est une DIODE.
Une diode se commande en COURANT pas en volt.
Une photodiode donne du COURANT.

Il faut donc convertir le courant en tension. Cela peut se faire rudimentairement avec une résistance (Loi d'Ohm) ou beaucoup plus compliqué avec des ampli transimpédance en passant par la solution intermédiaire de l'amplification simple.

Donc tant que tu ne sera pas plus clair sur la façon dont tu utilise la photodiode autant "uriner dans un Stradivarius".

Rigolo

Je ne pense pas que tu puisse détecter quoi que ce soit, les variations de gravités sur la terre sont infinitésimales, et surtout, largement perturbées par la lune et le soleil (marées).

ewaca

je pense avoir écrit pas mal de fois que j'y connaissait encore pas grand chose dans tout ce qui est électronique...
Comme j'y connait pas grand chose, je fais des recherches ... et suivant les sites sur lesquels on tombe, c'est plus ou moins claire la différence entre analogique et numérique.
Ca va du plus simple :
- analogique = infinité de valeurs
- numérique = 0 ou 1

au plus complet qui rentrent plus dans les détails et disent qu'une valeur numérique est une valeur analogique ne pouvant prendre que 2 valeurs ... si on veut BIEN mettre la confusion dans l'esprit d'un néophyte y a pas mieux ...

Si je comprend bien ce que vous me dites, si on veut être le plus rapide, il faut rester un maximum dans l'analogique, donc mesurer une intensité en Ampère
Et si j'ai toujours bien compris la description de la fonction analogRead(), il transforme une tension (Volt) en entier allant de 0 a 1024 pour une résolution de 10 bits.

En gros tout ce qu'on veut pas.

Dans mon projet, la priorité c'est la rapidité de mesure. Si je passe par des conversion Analogique/numérique, ça sera difficile de l'avoir d'après ce que j'ai compris.
Du coup pour etre rapide, j'aimerais sortir les variations de courant mesurées par la photodiode.

Mais je me demande si on peut mesurer directement une intensité sans passer par une conversion Analogique/digitale sur un arduino

@Rigolo :
L'électronique c'est pas trop mon truc, mais mon boulot consister à chercher des vides en mesurant la variation d'intensité du champ de pesanteur local.
En gravimétrie, l'unité de mesure c'est le gal.
9.81 m/s-2 = 981 gals.
Lors des plus fortes marrées (alignement soleil/lune/terre) on est sur des variation de d'une centaine de µgals
Je ne prétend pas vouloir etre aussi précis, j'aimerais arrivé à être plus précis que gal, le rêve serait au d'atteindre le milligal avec une répétitive d'une 10aine de milligal. mais j'y suis pas, j'en suis encore a essaye de comprendre le B-A BA de l'électronique

Rigolo

J'oubliais que les variations de pressions et températures de l'air influent sur la vitesse de chute, autre paramètre à prendre en compte sauf à faire plusieurs mesures dans un intervalle de temps limité au même endroit.
Ceci dit, je ne veux pas jouer les rabats joie, ta démarche de réflexion est intéressante.

Artouste

bonsoir
Les gravimetres absolus actuels utilisent une horloge au rubidium.
Je ne sais pas quel est ton projet exactement, mais ce n'est pas une réalisation à la portée de tout le monde.
Les phénomènes en jeu necessitent un environnement extrement controlé pour obtenir des resultats utiles sortis du bruit de fond.
Le ticket d'entrée sur du gravimetre absolu doit tourner aux alentours de  200.000 US$

Go Up