ADS1015

Bonjour, J'ai commandé un ADS1015 sur le site Adafruit : http://www.adafruit.com/blog/2012/10/26/new-product-ads1015-12-bit-adc-4-channel-with-progrmmable-gain-amplifier/ et certaines informations du datasheet me semblent contradictoires ; j'ai un problème de compréhension soit en anglais, soit en électronique, ou alors les deux :)

Although the ADS1013/4/5 can read bipolar differential signals, they cannot accept negative voltages on either input. It may be helpful to think of the ADS1013/4/5 positive voltage input as noninverting, and of the negative input as inverting.

Ce qu'il me semble avoir compris : - En mode single-ended (unipolaire ?) l'ADC n'accepte pas de tensions négatives par rapport à la masse. - En mode differential, l'ADC accepte des tensions bipolaires comme le montre l'exemple fourni :

Serial.println("Getting differential reading from AIN0 (P) and AIN1 (N)");
Serial.println("ADC Range: +/- 6.144V (1 bit = 3mV/ADS1015, 0.1875mV/ADS1115)");

L' ADS1015 peut-il mesurer des tensions bipolaires (de -500 mV à + 500 mV dans mon cas) référencées par rapport à la masse de l'arduino, qui serait donc connectée sur l'entrée AIN1 ? Du coup est-ce qu'on ne se retrouve pas en mode single-ended, d'après le schéma du multiplexeur page 9 du datasheet ? http://adafruit.com/datasheets/ads1015.pdf

Merci d'avance si quelqu'un a une réponse, je voudrais éviter de le faire fumer dès la première utilisation !

Gide: Ce qu'il me semble avoir compris : - En mode single-ended (unipolaire ?) l'ADC n'accepte pas de tensions négatives par rapport à la masse. - En mode differential, l'ADC accepte des tensions bipolaires comme le montre l'exemple fourni :

Les signaux doivent être toujours positif par rapport à la masse quelque soit le mode (single-ended ou différentiel) En différentiel on peut avoir des résultats négatifs si le signal sur l'entrée moins est supérieur à celui sur l'entrée plus.

Gide: L' ADS1015 peut-il mesurer des tensions bipolaires (de -500 mV à + 500 mV dans mon cas) référencées par rapport à la masse de l'arduino

Non il faut envisager l'ajout d'un offset à ton signal afin qu'il soit toujours positif (avec un petit sommateur). En entrant ce même offset sur la broche moins tu auras un résultat de conversion signé.

Un circuit qui n'est alimenté qu'en une seule tension ne peut pas traiter correctement des signaux alternatifs par rapport à la masse.

Au mieux l'ADC encaisse des tensions négatives mais il les rabote à 0V donc le traitement devient faux. Au pire l'ADC passe de vie à trépas.

Merci pour vos réponses précises et rapides !
C’est donc bien ce que je craignais…je n’ai pas choisi le bon ADC. Le max1270/1271 par exemple permettrait cette mesure.

Une dernière question : en mode différentiel, on peut mesurer des tensions positives et négatives, un peu comme avec un voltmètre qui n’aurait pas de masse commune avec le circuit, comme avec une sonde différentielle
ou alors
si par exemple AIN0 (P) est à 2V par rapport à GND et AIN1 (N) à 4 V par rapport à GND, on obtiendrait alors -2V mais avec 2 tensions positives par rapport à la masse ?

Je crois que tu n'as pas compris la finalité des liaisons différentielles.

La liaison différentielle est utilisée pour : - avoir un gain de 2 en tension, c'est secondaire en logique "classique" mais en technologie ECL avec des signaux a plusieurs GigaHz sous une amplitude de 0,5 V crête à crête c'est bien utile. - apporter une immunité au bruit.

L'émetteur différentiel envoie deux signaux en opposition de phase logique et non pas électrique. Il faut considérer l'inversion comme une inversion logique, quand on envoie un 1Logique sur un fil dit "fil +" on envoie simultanément un 0Logique sur le fil dit "fil -". "Plus" et" Moins" ne sont que des mots pour imager la notion d'inversion logique.

Cela n'a rien à voir avec disposer de signaux d'amplitude positive ou négative: la norme des signaux doit être la même : Si l'un est alternatif l'autre le sera, Si l'un est toujours positif l'autre le sera aussi. Si l'un est CMOS l'autre sera obligatoirement CMOS, idem pour TTL, ECL, LVCMOS, LVTTL, etc .....

Le gros avantage c'est quand les fils reçoivent un parasite. Supposons qu'on envoie un 1L - la sortie directe envera un niveau V= 5V - la sortie inversée envera un niveau V =0 V

Arrive un parasite: il s'additionne de la même façon sur les deux fils qui forment souvant une paire torsadée où qui sont réalisés avec des lignes couplées. Les signaux deviennent : - sur la sortie directe V= 5V + Vparasite - sur la sortie inversée V =0 V + Vparasite

A la réception on fait (V+) - (V-) = ( 5V + Vparasite) - (0V + Vparasite) = 5V Le principe de la liaison différentielle à éliminé le parasite.

Après il existe des possibilités d'utilisation qui sortent de la norme, mais c'est du cas par cas.

Merci, il y a du boulot, je vais donc revoir tout ça...

Juste un truc. J'ai parcouru vite fait la datasheet de l'ADS1015 et j'ai l'impression que le "différentiel" est plus a prendre comme les entrées d'un ampli opérationnel.

Oui, il me semble aussi... je ne voyais pas le lien avec ton post précédent !

Du coup, je vais certainement mettre un offset sur la broche moins, comme l'a suggéré fdufnews.

Gide: Oui, il me semble aussi... je ne voyais pas le lien avec ton post précédent !

Du coup, je vais certainement mettre un offset sur la broche moins, comme l'a suggéré fdufnews.

L'offset doit être sur les deux entrées. Sur l'entrée plus l'offset est sommé avec le signal Sur l'entrée moins l'offset entre directement.

L'offset permet ainsi de créer une masse virtuelle qui autorise la mesure de signaux "négatifs".