Table des matières

Amplificateur différentiel pour arduino

1. Introduction

Les convertisseurs analogique-numérique (ADC) convertissent des tensions comprises en 0 (la masse) et la tension de référence, en général la tension d'alimentation du microcontrôleur, soit environ 5 V pour un arduino UNO ou MEGA.

Pour un convertisseur 10 bits, la résolution est d'environ 5 mV. Lorsque le capteur délivre des signaux de très faible amplitude, il est nécessaire de procéder à une amplification avant la numérisation.

D'autre part un seul ADC ne peut convertir une tension négative par rapport à la masse. Pour convertir une tension alternative, il faut tout d'abord ajouter un décalage de 2,5 V. La tension zéro se voit alors attribuer le nombre 2048 (pour un ADC 10 bits). Sur l'arduino MEGA, on peut aussi utiliser deux entrées en mode différentiel.

Cette page décrit un amplificateur différentiel, qui permet d'amplifier une tension u entre deux points et de lui appliquer un décalage qui amène le zéro à la moitié de la tension d'alimentation :

Vout=Gu+v0(1)

2. Amplificateur différentiel simple

Le montage suivant réalise un amplificateur différentiel pour l'entrée A0 de l'arduino :

ampliDiffSimple.svgFigure pleine page

Si les deux résistances R1 d'une part, et R2 d'autre part sont parfaitement égales, on a :

Vout=R2R1(V2-V1)+Vref(2)

La tension médiane Vref=v0 est fournie par un pont diviseur et un suiveur, et ajustée avec le potentiomètre, en principe à une valeur proche de 2,5 V.

L'amplificateur utilisé (TLV2372) est de type rail to rail, c'est-à-dire capable de fournir une sortie qui s'étend entre les deux tensions d'alimentation V- et V+.

Si les deux résistances R1 ou R2 ne sont pas tout à fait égales, comme c'est le cas en pratique, il y a un gain de mode commun, qui amplifie la valeur moyenne de V1 et V2. Pour des résistances de précision 1 pour cent, le gain de mode commun peut aller jusqu'à 0,04 ([1]).

Si la tension différentielle n'est pas très petite par rapport à la tension commune, on peut sans problème utiliser ce circuit.

La résistance d'entrée est de l'ordre de R1. Cette résistance devra donc être assez grande. Pour une utilisation en instrumentation, ou une impédance d'entrée très grande est souvent nécessaire, il est préférable d'utiliser le circuit suivant.

3. Amplificateur différentiel d'instrumentation

Si l'on a besoin d'entrées de très haute impédance, ou d'un gain élevé (avec un gain de mode commun très faible), voici un montage qui utilise l'amplificateur d'instrumentation AD620 :

ampliDifferentiel.svgFigure pleine page

Les bornes 1 et 3 sont les deux entrées. La résistance placée entre ses bornes 1 et 8 permet de choisir le gain. Le commutateur permet de sélectionner les gains G=2 (sans résistance), G=10, G=100 et G=1000. La borne 5 (REF) permet d'ajuster la tension de sortie médiane, c'est-à-dire la tension v0. Celle-ci est fournie par un pont diviseur et un suiveur. Le potentiomètre permet de régler très précisément la valeur médiane qui correspond à une tension différentielle nulle.

Si (V-,V+) sont les tensions d'alimentation, on a :

v0=V-+V+2(3)

Lorsqu'on utilise cet amplificateur avec un arduino, on branche V- sur la masse de la carte (qui est la masse de l'USB et de l'ordinateur) et V+ sur la borne +5 V. On obtient ainsi v0=2.5 V par rapport à la masse. Cette valeur, convertie en 2048, correspond à une tension différentielle d'entrée nulle.

On peut bien sûr utiliser cet amplificateur avec une carte de conversion analogique-numérique qui fonctionne avec des tensions bipolaires par rapport à la masse (comme la carte SysamSP5). Dans ce cas, on utilise une alimentation double et la tension v0 par rapport à la masse est nulle.

Si les tensions d'alimentation sont 0 et 5 V, la sortie de l'amplificateur AD620 a une excursion allant de 1,1 à 5-1,2 volts. C'est un inconvénient de cet amplificateur, car la gamme de valeurs pour un convertisseur 10 bits s'étend de 225 à 778, soit une plage de 778-225=553, qui ramène la résolution effective à environ 9 bits.

4. Applications

4.a. Mesure de courant

Pour mesurer un courant dans une branche d'un circuit, on place une résistance qui doit être très faible par rapport à l'impédance de la branche. La tension aux bornes de la résistance est alors très faible, et doit être amplifiée avec ce type d'amplificateur.

courant.svgFigure pleine page

Par exemple, pour mesurer le courant circulant dans un moteur, on doit utiliser une résistance R faible par rapport à la résistance des bobinages du moteur. Pour cette application, une résistance de puissance de 0,1 Ω convient bien. Plus la résistance est faible, moins elle dissipe d'énergie et moins elle perturbe la branche concernée, mais plus le gain de l'amplificateur doit être grand. Lorsque la résistance est aussi faible, les fils reliés à l'entrée différentielle doivent être connectés au plus proche de la résistance, pour ne pas avoir de chute de tension additionnelle.

4.b. Mesure d'une force électromotrice inductive

Pour faire une mesure différentielle de la tension aux bornes d'une bobine soumise à un flux magnétique variable, il faut prévoir un chemin de passage du courant entre les entrées de l'amplificateur et la borne REF. Cela peut se faire avec une grande résistance reliant chacune de ces entrées à la borne REF, ou mieux, avec une bobine à trois points :

bobine.svgFigure pleine page
Références
[1]  A.P. Malvino, D.J. Bates,  Electronic Principles,  (McGraw-Hill, 2016)
Creative Commons LicenseTextes et figures sont mis à disposition sous contrat Creative Commons.