[demande de conseils] Lecture de signal analogique -5V +5V

Bonjour à tous,

Je suis étudiant en neuroscience, et je fais beaucoup de physiologie. J'utilise des capteurs divers qui sortent un signal en +5V et -5V (connectique BNC) certains vont mêmes sortir des signaux en +10V -10V.

Dans le monde de la recherche, la demande étant assez faible, le prix de certains modules de conversion analogique numérique frôles le ridicule...

J'aimerais pouvoir convertir mes signaux en courbes et pourquoi pas en fichier excel (par exemple un point de mesure toutes les 100 ms)

J'aimerai également pouvoir "calibrer" cad, quand le signal analogique est de 3v alors j'ai une température de tant, et quand il est de -3v j'ai une température de tant.

J'ai vu que des "shield" avec connectique BNC étaient disponible (pour des sondes pH métriques je crois) mais si j'ai bien compris la lecture du signal est de 0 à +5v.

Ma question est donc la suivante, si j'achète 8 shield bnc, que je les stacks sur un arduino, est ce que je vais être capable de créer une interface (quand je parle d'interface, juste un graph qui défile avec une timeline) et serais je capable d'enregistrer ces données sous forme de fichier csv par exemple ?

D'avance merci, j'espère ne pas poser une question redondante et j'espère que quelqu'un pourra me répondre

Bonne journée

Ben

benlatafff: Bonjour à tous,

Je suis étudiant en neuroscience, et je fais beaucoup de physiologie. J'utilise des capteurs divers qui sortent un signal en +5V et -5V (connectique BNC) certains vont mêmes sortir des signaux en +10V -10V.

bonjour step by step :grin:

en fait tu souhaite avoir une interface qui translate un signal symetrique evoluant entre -5 +5V (ou -10 +10V) vers un signal asymetrique evoluant entre 0 5V ?

Bonjour Artouste,

effectivement cela doit être quelque chose du genre.

J'ai eu ce matériel en test pendant une semaine, et cela convient à mon utilisation, mais le prix est exorbitant (3000€ HT). Mon budget recherche ne me permet pas de dépenser autant . http://www.iworx.com/products/data-recorders/iworx-400-series-recorders/

Je ne sais pas si la fréquence d'acquisition a besoin d'être aussi élevée, car usuellement, je moyenne mes signaux pour avoir une data par 500ms.

Si tu as d'autre question qui peuvent t'aider à répondre aux miennes, je reste assis devant mon écran a scruter le nombre de fois que ce post est lu XD

En complément à ce que t'a déjà dit Artouste il faudrait que tu nous donne des liens vers les datasheets de tes capteurs. La connaissance de la topologie de leur circuits de sortie sera bien utile.

bonjour 68tjs, malheureusement les capteurs étant hors d'âge, pas de datasheet dispo, ce que j'ai trouvé, http://access.stoeltingco.com/stoelting/stores/stoelting/products/docs/1677___50110_&_50115_Blood_Pressure_Instrument.pdf

il est de cette marque mais ne comporte qu'une seule unité d'acquisition (cad le modèle présenté mais coupé en deux ^^)

mais, c'est la même chose, les capteurs se branche sur cette unité (qui doit sans doute amplifié et nettoyé le signal) avec le même branchement à 7 connecteur (le schéma du branchement ressemble aux branchements que j'utilise).

Depuis des années cet ensemble capteur + acquisition fonctionne bien, mais on avait l'habitude de brancher nos acquisition sur ce genre de carte http://sine.ni.com/nips/cds/view/p/lang/fr/nid/1108

un adaptateur nous permettait de connecter les bnc et on effectué l'acquisition des données avec leur logiciel propriétaire LabView

benlatafff: ...

un adaptateur nous permettait de connecter les bnc et on effectué l'acquisition des données avec leur logiciel propriétaire LabView

ok petite remarque sur ton projet, l' equipement de test à 3K€ que tu a utilisé "pour voir" travaille en 16 bits pour son ADC , c'est a rapprocher du 10 bits de l'ADC arduino. t'es tu posé la question de savoir si une resolution de 10 bits ( 1024 points de resolution) est suffisante pour ton projet ? a comparer à une resolution de 16 bits (65536 points) ?

Artouste: ok petite remarque sur ton projet, l' equipement de test à 3K€ que tu a utilisé "pour voir" travaille en 16 bits pour son ADC , c'est a rapprocher du 10 bits de l'ADC arduino. t'es tu posé la question de savoir si une resolution de 10 bits ( 1024 points de resolution) est suffisante pour ton projet ? a comparer à une resolution de 16 bits (65536 points) ?

Lorsque l'on parle de cette résolution, s'agit il de la plage de valeur possible entre +5 -5 v ? cad la capacité à discriminer deux valeur proche ?

benlatafff: ... Lorsque l'on parle de cette résolution, s'agit il de la plage de valeur possible entre +5 -5 v ? cad la capacité à discriminer deux valeur proche ?

bonjour oui c'est ça un peu de lecture http://www.esiee.fr/~francaio/enseignement/version_pdf/VI_caract.pdf

bonjour, merci pour la doc, du coup si je veux rester dans un seuil d'erreur acceptable, je dois envisager un contrôleur avec une resolution de 16bits ? donc l'arduino n'est pas l'idéal pour mon projet? quel serait le mieux?

merci

benlatafff: bonjour, merci pour la doc, du coup si je veux rester dans un seuil d'erreur acceptable, je dois envisager un contrôleur avec une resolution de 16bits ? donc l'arduino n'est pas l'idéal pour mon projet? quel serait le mieux?

merci

plus exactement c'est l'ADC de l'arduino qui est limité pour le reste c'est toi qui sait ce que tu veux comme resolution acceptable

en 16 bit voir eventuellement ça http://www.adafruit.com/products/1085

Bonjour, merci bcp, cela ressemble fort au début de la résolution de mon problème.

En revanche en jettent un oeil a la dtasheet de TI, je pense que cela va dépasser de loin mes capacités pour la programmation...

benlatafff: Bonjour, merci bcp, cela ressemble fort au début de la résolution de mon problème.

En revanche en jettent un oeil a la dtasheet de TI, je pense que cela va dépasser de loin mes capacités pour la programmation...

Il y a une bibliotheque existante avec des exemples Mais j'attire encore une fois ton attention sur le fait que pour obtenir des resultats fiables , rien ne doit etre laissé au hasard dans la conception globale (blindage, alim de qualité, et ... plein d'autres choses 8) . )

Salut !

La plus part des réponses te propose d'acheter un ADC capable d'aquérir les données entre -5V et 5V. Il est possible de le faire avec qqe composant^^ .

Effectivement l'arduino lit une tension comprise entre 0 et 5V. Il faut enfaite transoformer ton signal -5V +5V en 0V 5V, C'est juste un changement d'echelle. Tu peux le faire avec 2 Aops. Le premier AOP consiste à ajouter un offset de 5V : DONC tu te retrouve avec un signal 0 +10V. Ensuite le 2eme AOP, tu divise la tension par 2 et tu te retrouve avec un signal entre 0 et +5V. Tu obtient alors ton signal de base centré sur 2,5V^^

Apres comme cela à été évoqué, tout dépend de la résolution que tu souhaite avoir... L' ADC de l'arduino à une resolution de 1024 (10bit) sur 0 +5V soit 0,0048mV. Avec la transformation du signal avec les AOP ca renvient a dire que la resolution du signal de base sera de 512 soit 0,0097mV.

A toi de voir ce qu'il te convient.

Jimbow:

Effectivement l’arduino lit une tension comprise entre 0 et 5V. Il faut enfaite transoformer ton signal -5V +5V en 0V 5V, C’est juste un changement d’echelle. Tu peux le faire avec 2 Aops.

bonsoir

La translation/reduction d’un signal -/+ (5 10) vers un + (0 /5) ne necessite pas fondamentalement l’utilisation d’AOP :grin:

meme si c’est une solution evidemment tres “confortable” 8)

Bonjour à tous,

merci de vos conseils.

Donc ce que je retiens de tout cela :

-je peux avoir une résolution de 16 bits, mais je perds en résolution en ramenant le signal entre 0 et 5v. quelle solution utiliser pour ramener ce signal entre ces valeurs ? Amp Op apriori --> Ok.

Donc en fait c'est faisable ? :) le seul problème viendra du fait que si mes connections ne sont pas assez "blindées" (?) j'aurai du parasite ?

Je peux lancer la commande ?

Jimbow: ...Tu peux le faire avec 2 Aops. Le premier AOP consiste à ajouter un offset de 5V : DONC tu te retrouve avec un signal 0 +10V. Ensuite le 2eme AOP, tu divise la tension par 2 et tu te retrouve avec un signal entre 0 et +5V. Tu obtient alors ton signal de base centré sur 2,5V^^ ....

Bonjour,

je suis tombé la dessus http://ressources.univ-lemans.fr/AccesLibre/UM/Pedago/physique/02/cours_elec/aop.pdf quel montage (s'il est présent) permet de réaliser ceci ? Je ne connais pas grand chose en electronique et ce pdf m'a emerveillé sur le nombre d'application possible d'un aop. Car après avoir lu ce pdf j'en ai retenu que la tension de sortie était toujours supérieur à la tension d'entrée (meme quand la ddp était quasi nulle)

merci :)

Yop!

alors j'ai pas rellement trouver le schema au quel je pensais mais voici un lien: http://www.abcelectronique.com/annuaire/montages/schemas/ampli-casque-630.gif

Enfaite je me suis planté j'avais dis qu'il fallait 2 AOPs mais en faite 1 seul suffit. Pour comprendre le schema du liens est en faite celui d'un ampli audio. L'analogie est simple si tu imagine que le signal généré par ton capteur est celui d'un son de musique (Forme sinusoidale) tu pourra facilement avce ce montage traiter ton signal.

Cependant le montage que je t'ai donné concerne celui d'un ampli audio donc pour qu il fonctionne dans ton cas tu à juste à supprimer qqe composants!! ;)

Alors dans le montage du liens tu supprime juste C3, Q1, Q2 et C2. Pour comprendre le schema, l'aop amplifie le signal en tension et Q1 et Q2 fournissent le courant (Donc inutile dans ton cas ;) et C2 en sortie redresse le signal sur 0 (On veut pas redresser le signal sur 0! )

Ton AOP tu l'allimente entre 0 et 15V. (Pk 15 ? pour eviter de saturer ton signal autour de l'alim tu peuxx mettre 10 au mini mais tu risque d'avoir des trucs bizzard ;)

Ensuite tu as vu qu'il y a un potentiometre (RV1) enfaite c'est simple le coefficent d'ampliffication respecte la formule R4/RV1 DONC comme tu aura un signal entre 0 et 10V, il faut le diviser et choisir un coefficent de 0,5 ;)

Pour la réalisation du montage , je te conseil de le simuler si tu a des logciels. Avant de tout brancher sur l'arduino de tester le montage en simulant ton capteur avec GBF (Générateur basse fréquence) et un oscillo en sortie pour voir si tu est dans la bonne plage de tension sinon tu grille tout!

voila bonne chance ;)

Bonjour à tous, merci beaucoup pour tous vos conseils.

Donc, première étape, centrer le signal sur 2.5V, avec le montage, aop, puis passer dans le convertisseur 16bits, puis passer sur l'arduino.

Ensuite, il faudrait que je puisse enregistrer les data et pouvoir les visualiser en temps réel dans une fenêtre "user friendly" :).

Bon pour le moment si j'arrive à me dépatouiller avec le premier montage, je reviendrai vers vous pour la suite :!

encore merci à tous!

Bonjour à tous,

quelqu’un peut il me dire si mon schéma est bon ? Avant de jouer de la soudure !

Je tiens à préciser que si il y a des erreurs grotesques, c’est que je suis totalement noob en électronique. Mon domaine est la biologie et bien souvent on doit s’éloigner de son champ d’application pour pouvoir avancer. Donc je vous remercie d’avance de me corriger et surtout de m’expliquer mes erreurs :slight_smile:

Merci d’avance

Ben

SCHEMATIC1 _ PAGE1.pdf (6.34 KB)

benlatafff: Bonjour à tous,

quelqu'un peut il me dire si mon schéma est bon ? Avant de jouer de la soudure !

Je tiens à préciser que si il y a des erreurs grotesques, c'est que je suis totalement noob en électronique. Mon domaine est la biologie et bien souvent on doit s'éloigner de son champ d'application pour pouvoir avancer. Donc je vous remercie d'avance de me corriger et surtout de m'expliquer mes erreurs :)

Merci d'avance

Ben

bonsoir je n'ai pas compris ce que tu essaie de faire avec ton AOP :grin: mais il y a une chose de certaine , c'est que ça va fumer rapidement ton +15V est directement relié à GND 8) avant de partir tete baissée , ton capteur c'est quoi exactement ? parce qu'il est peut etre beaucoup plus simple de directement l'interfacer , plutot que de passer par de l'amplification en -5 +5 (ou +10 +10) pour ensuite translater le signal avant de la passer par l'ADC