Electrónica Analógica · Tema 25

Amplificador de instrumentación

Medir milivoltios de diferencia montados sobre voltios de modo común. Por qué tres operacionales hacen lo que uno solo no puede, cómo un único resistor fija la ganancia, por qué el rechazo de modo común mejora al subir la ganancia y qué cuidar para que el integrado funcione de verdad.

≈ 80 minutos AD620 / INA128 (partida) e INA333 / HX711 (simple) Incluye 2 simuladores y Python

01 · Punto de partida

12 mV sobre 2,5 V de fondo

El puente de sensor de los Temas 10 y 13 entrega 12,4 mV de diferencia útil, pero cada rama está a unos 2,5 V del suelo: la información viaja montada sobre un modo común unas 200 veces mayor. El restador de cuatro resistores del Tema 19 resta, pero deja pasar parte de ese fondo cuando los resistores no coinciden (33,9 dB con 1 % de tolerancia) y carga al puente con resistencias de kiloohmios. Sirve para señales grandes con buena fuente; no para esto.

Una escena típica. Una celda de carga de una balanza entrega 5 mV a fondo de escala, alimentada con 5 V, de modo que cada salida está a unos 2,5 V. Querés convertir esos 5 mV en un número con un ADC. Necesitás una etapa que amplifique la diferencia por 100 o más, que casi no cargue al puente, que ignore los 2,5 V comunes con un error menor que un milivoltio y que se ajuste con una sola resistencia. Ese componente existe y se llama amplificador de instrumentación (INA).

Para un programador es la diferencia entre restar dos float casi iguales y usar una función diseñada para eso: el algoritmo es el mismo, pero la implementación cuida el error de cancelación. Esa «implementación cuidadosa» es una arquitectura y un trabajo de fábrica en la igualación de resistores.

  • ¿Qué hay dentro de un INA y por qué son tres operacionales?
  • ¿Cómo se fija la ganancia y por qué el CMRR mejora al subirla?
  • ¿Qué rangos de entrada y de salida limitan su uso?
  • ¿Cómo se usa con una sola alimentación de 5 V?
  • ¿Qué errores quedan y cómo se presupuestan?

02 · Arquitectura

Tres operacionales, un resistor

La estructura clásica tiene dos etapas. La primera son dos no inversores, A1 y A2, cuyas patas − se conectan entre sí por un único resistor Rg (cada uno con su resistor de realimentación R). La señal entra por las patas + de A1 y A2, de modo que la impedancia de entrada es la de un operacional: altísima, y no depende de la ganancia ni de ningún resistor. La segunda etapa es un restador de ganancia 1 (cuatro resistores iguales).

V1, V2 a las patas + de A1 y A2 →Rg entre las patas −; salidas A1 y A2 →restador de ganancia 1 → Vout (referida al pin REF)
  1. 1
    Las patas − siguen a las +.

    Por el cortocircuito virtual (Tema 14), la pata − de A1 está en V1 y la de A2 en V2. Entre los dos extremos de Rg hay entonces V2 − V1.

  2. 2
    Circula una corriente por Rg.

    I = (V2 − V1)/Rg. Esa corriente tiene que venir de las salidas, a través de los dos resistores R de realimentación.

  3. 3
    Las salidas se alejan.

    A2 = V2 + I·R y A1 = V1 − I·R. La diferencia A2 − A1 = (V2 − V1)·(1 + 2R/Rg). Pero si V1 = V2 (modo común puro), I = 0 y A1 = A2 = Vcm: el modo común pasa con ganancia exactamente 1.

  4. 4
    El restador final.

    Resta A1 de A2 con ganancia 1: Vout = VREF + (A2 − A1). El modo común (que llega igual a las dos entradas con ganancia 1) casi se anula.

Rg para distintas ganancias (AD620, resistores internos de 24,7 kΩ; valores E96 más cercanos).
G buscadaRg idealRg E96G real
249,4 kΩ49,9 kΩ1,99
105,49 kΩ5,49 kΩ10,0
100499 Ω499 Ω100,0
50099 Ω100 Ω495
100049,4 Ω49,9 Ω991

Con Rg abierta (sin resistor) la ganancia es 1: los dos amplificadores de entrada son seguidores. Con Rg chica la ganancia sube hasta la máxima que admite el chip (unos 1000). La precisión de la ganancia depende de la tolerancia de Rg (1 % en una E96) y de su deriva térmica contra los resistores internos, que son de otro tipo: para una ganancia exacta, Rg de 0,1 % y bajo coeficiente de temperatura.

03 · CMRR

Por qué el CMRR mejora con la ganancia

Esta es la propiedad que justifica la arquitectura. En la primera etapa el modo común no se amplifica (ganancia 1) y la diferencia sí (ganancia G1). La segunda etapa es un restador cuyo rechazo de modo común depende de la igualdad de sus resistores (Tema 19): con tolerancia tol, su ganancia de modo común es, en el peor caso, 2·tol. Referido a la entrada, el conjunto rechaza:

CMRR en el peor caso de un INA armado con tres operacionales y resistores de 1 % (calculado con las 256 combinaciones extremas).
G1Acm (salida)CMRR peor casoCMRR típico (aleatorio)
20,02039,9 dB≈ 51 dB
110,02054,7 dB≈ 66 dB
1010,02074,0 dB≈ 85 dB
10010,02093,9 dB≈ 105 dB

Dos hechos nuevos salen de esta tabla. Primero, la ganancia de modo común a la salida no depende de G: es siempre 2·tol (0,02 con 1 %), porque lo único que la produce es el restador final. El error de modo común a la salida es 0,02 × (Vcm − VREF) sin importar cuánto amplifiques; lo que cambia con G es la señal, que sube, de modo que el error relativo baja. Segundo, la desigualdad de los resistores de la primera etapa no importa para el CMRR (solo mueve un poco la ganancia): con R1a 1 % mayor y R1b 1 % menor, Acm sigue siendo cero. Todo el rechazo lo decide el segundo restador.

Tres operacionales sueltos

Mejor que el restador, no tanto como el integrado

Con resistores de 1 %, el error de modo común a la salida es 0,02·ΔVcm (50 mV con 2,5 V de fondo), contra ≈ 100 mV de un restador de ganancia 100 con los mismos resistores. Con 0,1 %, 5 mV. El offset de cada LM358, además, se multiplica por G1.

Integrado

Resistores ajustados por láser

Los resistores de la segunda etapa se recortan en la fábrica a mejor que 0,01 %, y el offset de los operacionales de entrada es de decenas de microvoltios. Resultado: CMRR de 90 a 130 dB según G; con 2,5 V de fondo y G = 100, el error de salida es de unos 0,25 mV.

La enseñanza de diseño es positiva: armar la estructura de tres operacionales con una primera etapa de ganancia alta ya mejora mucho el rechazo, y la precisión se concentra en cuatro resistores del restador. Pero el integrado conserva la ventaja del recorte láser, del bajo offset y de los coeficientes de temperatura acompañados.

04 · Chips y módulos

Chips y módulos

AD620, INA128 y similares
Los clásicos: Rg externa, ganancia de 1 a 1000, CMRR de ≈ 100 a 130 dB con G alta, impedancia de entrada de ≈ 10 GΩ. Piden alimentación partida o una simple de varios voltios, con rangos de entrada y salida que quedan a 1 a 2 V de los rieles. Ideales con ±9 V o ±12 V.
INA de alimentación simple (INA333, AD623 y similares)
Entrada y salida muy cerca de los rieles, consumo bajo y offset de microvoltios (de cero deriva en algunos). Funcionan con 3,3 o 5 V. Son el camino natural para un puente con un microcontrolador. Los valores exactos varían: leé la hoja del modelo.
HX711 (módulo de balanza)
Un amplificador de ganancia programable (128, 64 o 32) más un ADC de 24 bits, con salida digital serie. Con ganancia 128 y excitación de 5 V, el rango diferencial de entrada es de ±20 mV: una celda de 1 mV/V llega a 5 mV, un 25 % del rango. Cada LSB equivale a 2,3 nV de entrada, aunque el ruido real deja unos 17 a 19 bits útiles. Es el módulo que se usa en el Tema 26.
Qué sigue valiendo del Tema 21
Rieles, GBW (el ancho de banda baja con G: un INA con GBW de 1 MHz y G = 100 llega a 10 kHz), slew rate y offset (referido a la entrada y a la salida). El INA no hace magia: reparte las imperfecciones de otra manera.

05 · Rangos

Rango de entrada, rango de salida y el pin REF

Aquí está el error más común de uso. Tres tensiones tienen que caber en la ventana del chip, cada una por su razón:

  • Las entradas V1 y V2 tienen que estar dentro del rango de modo común de entrada (en un AD620 con ±9 V, unos ±7 V; con 5 V simples hay que usar un INA pensado para ello).
  • Las salidas internas A1 y A2 son V1 − k·Vd y V2 + k·Vd, con k = R/Rg = (G1 − 1)/2. Con modo común grande y ganancia alta, uno de esos dos nodos se sale de los rieles antes que la salida final y el chip deja de funcionar bien. Por ejemplo, con Vcm = 6 V, Vd = 100 mV y G = 100, A2 = 6,05 + 4,95 = 11 V, mucho más que los 7,5 V de un chip con ±9 V.
  • La salida Vout = VREF + G·Vd tiene que estar dentro de la excursión de salida (a 1 o 1,5 V de los rieles en un AD620; a décimas de voltio en un rail-to-rail).

El pin REF fija a qué tensión descansa la salida: es el «cero» del resultado. Con alimentación partida va a masa. Con 5 V simples se lo lleva a 2,5 V (Tema 22), y la salida queda en 2,5 V + G·Vd. Ese pin entra al restador final, por lo que debe estar alimentado con baja impedancia (un seguidor): una resistencia en serie con REF desbalancea el restador y arruina el CMRR (como R4 en el Tema 19).

Ejemplo orientativo: nodos internos con distintas condiciones (INA con rieles de ±7,5 V utilizables).
GVcmVdA1 / A2VoutResultado
1000 V12,4 mV−0,61 / +0,61 V1,24 VTodo en rango
1006 V100 mV1,05 / 11,0 V10 VA2 y Vout saturan
1006 V10 mV5,5 / 6,5 V1,0 VTodo en rango, pero con el modo común cerca del límite de entrada

06 · Trampas de uso

Trampas de uso

Falta el camino para la corriente de polarización
Las entradas toman una pequeña corriente (nanoamperios en un bipolar). Un puente tiene un camino a masa a través de sus resistores, pero una fuente flotante (un termopar, una batería, un sensor aislado) no: sin un resistor de cada entrada a masa o a REF (por ejemplo, 1 a 10 MΩ), el voltaje de las entradas deriva hasta saturar. Es el error número uno con termopares.
Ganancia exacta
G depende de Rg: tolerancia del 1 % da error de ganancia del 1 %, y su deriva térmica contra los resistores internos agrega decenas de ppm/°C. Para medidas absolutas se calibra con un valor conocido (Tema 26).
Offset a la salida
El offset de entrada (≈ 50 µV en un AD620) se multiplica por G: 5 mV con G = 100. Es constante: se calibra por software. La deriva térmica no, y es la que fija la incertidumbre final.
Ruido de radiofrecuencia
Los cables largos recogen emisoras y el INA las rectifica en sus transistores de entrada, generando un corrimiento de continua. Se pone un filtro RC en cada entrada (por ejemplo, 1 kΩ y 1 nF, con un capacitor diferencial mayor) antes de las patas.
Ancho de banda y G
El producto ganancia-ancho de banda es constante: G = 100 a veces deja 10 a 100 kHz, y el CMRR cae a frecuencias altas (hay que mirar la curva en la hoja, no solo el valor en continua).

07 · Presupuesto

El presupuesto de errores

Con las ideas anteriores, el puente de 12,44 mV sobre 2,5 V de fondo y G = 100 queda así (tolerancia de 1 % en los resistores/Rg; el LM358 con 3 mV de offset en los casos discretos; el INA con 50 µV de offset y CMRR de 120 dB):

Errores a la salida para una señal útil de 1,244 V (12,44 mV × 100).
ArquitecturaModo comúnGanancia (1 %)Offset (calibrable)Total sin offset
Restador de un operacional99 mV12,4 mV303 mV111 mV (9 %)
Tres operacionales, resistores de 1 %50 mV12,4 mV300 mV62 mV (5 %)
Tres operacionales, resistores de 0,1 %5 mV1,2 mV300 mV6,2 mV (0,5 %)
INA integrado (Rg de 1 %)0,25 mV12,4 mV5 mV12,7 mV (1 %)
INA integrado (Rg de 0,1 %)0,25 mV1,2 mV5 mV1,5 mV (0,1 %)

Conclusiones. El offset de un LM358 (≈ 300 mV a la salida) domina en las versiones discretas, aunque se calibra. Una vez calibrado, el modo común decide: el INA lo reduce 200 veces respecto del restador. Y en el INA el error que queda es el de ganancia (Rg), que no depende del chip: se baja con un resistor de 0,1 % o con una calibración con una carga conocida.

08 · Simuladores

Dos experimentos: dentro del INA y el presupuesto de errores

El primero muestra los cinco nodos importantes (las dos entradas, las dos salidas de la primera etapa y la salida) contra la ventana del chip: permite ver cuándo se satura cada uno. El segundo compara el restador, la versión de tres operacionales y el integrado para la misma medida.

SIMULADOR 25

Dentro del amplificador

V_out = V_REF + G·(V2 − V1)

Tensiones de los nodos del amplificador de instrumentación Cinco filas con la tensión de cada nodo (V1, V2, A1, A2 y la salida) sobre la banda de tensiones permitidas; un punto rojo indica un nodo fuera de rango. TENSIÓN DE CADA NODO FRENTE A LA VENTANA DEL CHIP · ROJO = FUERA DE RANGO
Rg (AD620: 49,4 kΩ/(G − 1))499 Ω
A1 / A2 (salidas de la 1.ª etapa)2,50 / 2,50 V
Ventana de nodos y salida0,10–4,90 V
Vout ideal3,74 V
Error por modo común (CMRR del chip)0,12 mV
EstadoEn rango

Recorrido guiado (8 minutos)

  1. 1
    Pestaña ①, «Puente ×100, 5 V simple».

    Vcm = 2,5 V y Vd = 12 mV con G = 100 (Rg = 499 Ω). Las salidas A1 y A2 quedan en 2,50 V ± 0,6 V, la salida final en 2,5 + 1,2 = 3,7 V: todo dentro de la ventana de 0,1 a 4,9 V. El modo común (2,5 V) coincide con REF, así que el simulador no cuenta error de modo común; moviendo el deslizador aparece (unos 0,1 mV por voltio de apartamiento).

  2. 2
    Pasá a «Puente ×100, ±9 V».

    Con REF = 0 V, la salida es 1,2 V y los nodos internos ±0,6 V: holgura enorme. Es la comodidad de la alimentación partida, a cambio de un convertidor o de una segunda fuente.

  3. 3
    Pasá a «Fondo grande satura A2».

    Con Vcm = 6 V y Vd = 100 mV, la primera etapa necesita A2 = 6,05 + 4,95 = 11 V: se sale de los ±7,5 V y el punto se pone en rojo, antes que la salida final. El chip ya no mide.

  4. 4
    Pasá a «Fondo cerca del límite».

    Con 10 mV de diferencia y 6 V de modo común, todos los nodos están dentro de la ventana, aunque ya cerca del borde. La holgura depende de G y de Vd, no solo de Vcm.

  5. 5
    Pasá a «×1000, 5 V simple».

    Con G = 1000 la misma diferencia de 12 mV pide 14,5 V a la salida (2,5 + 12) y además A1 y A2 se salen de la ventana. Con ganancias grandes hay que reducir la señal máxima o la ganancia.

  6. 6
    Pestaña ②, «Restador 1 %».

    Con 2,5 V de modo común y 12,4 mV de señal, el restador de ganancia 100 deja entrar 99 mV de error de modo común: 8 % de los 1,24 V de la señal. El offset (303 mV) es mayor aún, pero se calibra.

  7. 7
    Pasá a «Tres operacionales, 1 %» y «Tres operacionales, 0,1 %».

    El error de modo común baja a la mitad (50 mV) con 1 % y a 5 mV con 0,1 %: solo importa la segunda etapa. El offset sigue en 300 mV porque cada LM358 aporta 3 mV × G.

  8. 8
    Pasá a «INA integrado» y «Fondo en el centro».

    El INA reduce el error de modo común a 0,25 mV y el offset a 5 mV; queda el error de ganancia (12,4 mV con Rg de 1 %). Con el modo común en 0 V respecto de la referencia, el restador y los discretos también dejan de tener error de modo común, pero eso es difícil de lograr en un puente real.

Preguntas para pensar

  1. Si doblás G de 100 a 200, ¿cómo cambia el error de modo común a la salida de un INA armado con tres operacionales?
  2. ¿Por qué un INA no puede medir 10 mV sobre 6 V de modo común con G = 1000 con ±9 V?
  3. Un termopar está aislado de masa. ¿Qué hay que agregar para que el INA funcione?
Ver respuestas sugeridas
  1. No cambia: es siempre 2·tol × (Vcm − VREF) (por ejemplo, 50 mV con 1 % y 2,5 V). Lo que cambia es la señal, que se duplica, y por eso el error relativo baja a la mitad (el CMRR referido a la entrada sube 6 dB).
  2. Con G = 1000, k = 499,5: A2 = 6 + 499,5 × 0,01 = 11 V, fuera de los ±7,5 V. El primer amplificador satura antes que la salida. Hay que bajar G (a unos 100) o el modo común.
  3. Un camino de continua para las corrientes de polarización: un resistor de unos 1 a 10 MΩ desde cada entrada a masa (o a REF), o un punto del termopar conectado a masa. Sin él, las entradas derivan y el INA satura.

09 · En código

El amplificador de instrumentación en Python

Cuatro herramientas: la arquitectura completa de tres operacionales con tolerancias, la comprobación de que el rechazo lo decide solo la segunda etapa, la elección de Rg con valores E96 y el presupuesto de errores.

Python en tu navegador. Los bloques son editables: cambiá los valores y presioná «Ejecutar Python». La primera vez tarda unos segundos en cargar. Ejecutalos en orden.

Paso 1: la arquitectura

import math
import random
from itertools import product


def ina3(v1, v2, rg, r1a=25e3, r1b=25e3, r2=10e3, r3=10e3, r4=10e3, r5=10e3, ref=0.0):
    # 1.ª etapa: dos no inversores con Rg entre sus patas -; 2.ª etapa: restador de ganancia 1
    corriente = (v2 - v1) / rg                         # el cortocircuito virtual pone V2 - V1 sobre Rg
    a2 = v2 + corriente * r1b
    a1 = v1 - corriente * r1a
    vmas = (a2 * r5 + ref * r3) / (r3 + r5)
    return vmas * (1 + r4 / r2) - a1 * (r4 / r2)


for rg in (50e3, 5e3, 500, 50):
    g1 = 1 + 2 * 25e3 / rg
    print(f"Rg = {rg:7.0f} ohm: G1 teórica {g1:7.1f}, simulada {(ina3(0, 1e-3, rg) - ina3(0, 0, rg)) / 1e-3:7.1f}")
print("Modo común puro (V1 = V2 = 2,5 V), sin REF:", round(ina3(2.5, 2.5, 500), 6), "V  (ganancia de modo común 1 en la 1.ª etapa, restada en la 2.ª)")
print("Puente: V1 = 2,5000 V, V2 = 2,5124 V, Rg = 500 ohm ->", round(ina3(2.5, 2.5124, 500), 4), "V (G = 101)")

La ganancia simulada coincide con 1 + 2R/Rg (2, 11, 101, 1001). El modo común puro da 0 V, y el puente de 12,4 mV da 1,2525 V con G = 101.

Paso 2: ¿quién decide el rechazo?

def acm(rg, **kw):
    f = lambda v1, v2: ina3(v1, v2, rg, **kw)
    return f(1.0, 1.0) - f(0.0, 0.0)                    # ganancia de modo común


print("Solo la 1.ª etapa desbalanceada (1 %):  Acm =", round(acm(500, r1a=25e3 * 1.01, r1b=25e3 * 0.99), 6))
print("Solo la 2.ª etapa desbalanceada (1 %):  Acm =", round(acm(500, r2=10e3 * 1.01, r3=10e3 * 0.99), 5))

print("Peor caso con 1 % en los seis resistores:")
for rg in (50e3, 5e3, 500, 50):
    g1 = 1 + 2 * 25e3 / rg
    peor = 0
    for s in product((-1, 1), repeat=6):
        kw = dict(r1a=25e3 * (1 + 0.01 * s[0]), r1b=25e3 * (1 + 0.01 * s[1]), r2=10e3 * (1 + 0.01 * s[2]),
                  r3=10e3 * (1 + 0.01 * s[3]), r4=10e3 * (1 + 0.01 * s[4]), r5=10e3 * (1 + 0.01 * s[5]))
        peor = max(peor, abs(acm(rg, **kw)))
    print(f"  G1 = {g1:7.1f}: Acm = {peor:.4f} (= 2*tol), CMRR = {20 * math.log10(g1 / peor):5.1f} dB, error con 2,5 V de modo común: {peor * 2500:.0f} mV")

Desbalancear la primera etapa no mueve Acm (0,000000); la segunda sí (0,00995). Con 1 %, Acm = 0,0202 en todos los casos y el CMRR crece 20 dB por cada década de ganancia (39,9 → 54,7 → 74,0 → 93,9 dB).

Paso 3: elegir Rg

E96 = [100, 102, 105, 107, 110, 113, 115, 118, 121, 124, 127, 130, 133, 137, 140, 143, 147, 150, 154, 158, 162, 165, 169, 174,
       178, 182, 187, 191, 196, 200, 205, 210, 215, 221, 226, 232, 237, 243, 249, 255, 261, 267, 274, 280, 287, 294, 301, 309,
       316, 324, 332, 340, 348, 357, 365, 374, 383, 392, 402, 412, 422, 432, 442, 453, 464, 475, 487, 499, 511, 523, 536, 549,
       562, 576, 590, 604, 619, 634, 649, 665, 681, 698, 715, 732, 750, 768, 787, 806, 825, 845, 866, 887, 909, 931, 953, 976]


def elegir_rg(g):
    ideal = 49.4e3 / (g - 1)                                          # AD620
    candidatos = [v * 10 ** d / 100 for d in range(0, 6) for v in E96]
    rg = min(candidatos, key=lambda x: abs(math.log(x / ideal)))
    g_real = 1 + 49.4e3 / rg
    print(f"G = {g:5}: Rg ideal {ideal:9.1f} ohm -> E96 {rg:8.1f} ohm, G real {g_real:7.2f} ({(g_real / g - 1) * 100:+.2f} %)")
    return rg


for g in (2, 5, 10, 50, 100, 200, 500, 1000):
    elegir_rg(g)
print("Con Rg de 1 %, la ganancia puede variar otro", "±1 %: para precisión absoluta, Rg de 0,1 % o calibración.")

La tabla de la sección 02: G = 100 pide 499 Ω (exacto en E96); G = 500 pide 99 Ω y queda en 100 Ω (G = 495, −1 %). Cuanto más alta la ganancia, más pesa la resistencia de los contactos y los cables (para 49,4 Ω, un ohmio es un 2 %).

Paso 4: el presupuesto de errores

def presupuesto(vd, vcm, g, arq, tol=0.01):
    # errores a la salida (V); vcm es el modo común respecto de la referencia
    if arq == "restador":
        cm, vos = 4 * tol * g / (1 + g) * vcm, 3e-3 * (1 + g)
    elif arq == "3 op-amps":
        cm, vos = 2 * tol * vcm, 3e-3 * g
    else:                                                          # INA integrado: CMRR típico 90 dB + 20 log G, tope 120 dB
        cmrr = min(120, 90 + 20 * math.log10(g))
        cm, vos = g * vcm / 10 ** (cmrr / 20), 50e-6 * g
    senal = g * vd
    gan = tol * senal
    sin_offset = cm + gan
    print(f"{arq:10s} G = {g:4d}: señal {senal * 1e3:7.1f} mV | modo común {cm * 1e3:7.2f} | ganancia {gan * 1e3:6.2f} | offset {vos * 1e3:7.2f} (calibrable) | total sin offset {sin_offset * 1e3:6.1f} mV = {sin_offset / senal * 100:4.1f} %")


for tol in (0.01, 0.001):
    print(f"-- tolerancia {tol * 100:g} %, puente de 12,44 mV sobre 2,5 V --")
    for arq in ("restador", "3 op-amps", "INA"):
        presupuesto(12.44e-3, 2.5, 100, arq, tol)
print("-- HX711: ganancia 128, Vref = 5 V --")
rango = 5 / 128
print(f"rango diferencial ±{rango / 2 * 1e3:.1f} mV, 1 LSB de 24 bits = {rango / 2 ** 24 * 1e9:.1f} nV; una celda de 5 mV usa el {5e-3 / (rango / 2) * 100:.0f} % del rango")

Con 1 %: restador 111 mV (9 %), tres operacionales 62 mV (5 %), INA 12,7 mV (1 %). Con 0,1 %: 11 mV, 6 mV y 1,5 mV. El HX711 tiene un rango de ±19,5 mV y 2,3 nV por LSB: una celda de 5 mV usa el 26 % del rango.

10 · Analogía de programador

Audio balanceado, estabilidad numérica y una API bien diseñada

El mismo oficio, en dos mundos.
En softwareEn el INA
Restar dos float casi iguales pierde cifras significativas (cancelación catastrófica)Restar dos tensiones de 2,5 V para obtener 12 mV: el error del modo común
Una función de librería diseñada para ser numéricamente estable (math.hypot, log1p)El INA: la misma operación con una arquitectura que cuida el error
Un único parámetro gain en lugar de cuatro constantes acopladasRg: una sola resistencia fija G, sin tocar el balance del restador
Una entrada balanceada (XLR) que cancela el zumbido del cableLas dos entradas diferenciales con CMRR alto
Normalizar antes de operar: restar la media para no perder precisiónLa primera etapa: amplifica la diferencia y deja pasar el modo común con ganancia 1, para restarlo después
Un valor por omisión (offset=0) que hay que fijar en cada llamadaEl pin REF: a dónde descansa la salida
Un tipo con un rango válido (uint8): fuera de él, desbordaEl rango de entrada, de los nodos internos y de salida: fuera de él, satura
Una precondición que el llamador debe cumplir (un puntero válido)El camino para la corriente de polarización de las entradas flotantes

La primera fila es la más reveladora: restar dos números casi iguales en punto flotante pierde bits significativos, y restar dos tensiones casi iguales pierde la señal en el error de modo común. En ambos casos, la solución es una implementación diseñada para esa operación y no la resta ingenua.

11 · Comprensión

Confusiones frecuentes

«Tres operacionales sueltos no sirven para nada»

La estructura ya aporta mucho: el rechazo crece con G1, y el error queda concentrado en cuatro resistores. Con 0,1 % se llega a 5 mV de error de modo común a 2,5 V de fondo. Lo que el integrado agrega es el ajuste láser, el bajo offset y la estabilidad térmica.

«Subir la ganancia aumenta el error de modo común»

A la salida, el error de modo común es independiente de G; lo que sube es la señal. Referido a la entrada, el rechazo mejora con G (en un integrado, de ≈ 90 dB con G = 1 a ≈ 120 dB con G = 100).

«Rg = 0 da ganancia infinita»

Con Rg = 0 la ganancia de la primera etapa queda limitada por el chip (≈ 1000 con 49,4 Ω), y un corto no es un valor válido: la hoja da la Rg mínima.

«El CMRR es el de la portada de la hoja»

Es un valor a una G y a una frecuencia dadas; cae con la frecuencia y con el desbalance de impedancia de las fuentes. Hay que mirar la curva y las condiciones de la tabla.

«El puente alcanza por sí solo el camino de las polarizaciones»

Un puente sí, porque sus resistores van a masa. Un termopar o una fuente aislada no: hay que agregar un resistor de cada entrada a masa o a REF. Sin él, el chip satura.

«Un INA sirve con cualquier alimentación»

Muchos necesitan alimentación partida o de varios voltios y tienen rangos que quedan a 1 a 2 V de los rieles. Con 5 V simples hay que usar uno diseñado para eso y llevar REF a la mitad.

12 · Práctica guiada

Ejercicios de precisión

Ejercicio 1: el puente a 1,24 V

Un puente de 5 V entrega VB = 2,5000 V y VA = 2,5124 V. Elegí Rg para G = 100 con un AD620 y calculá la salida con REF = 0 V (±9 V) y con REF = 2,5 V. ¿Cuánto error de modo común deja con CMRR de 120 dB?

Ver solución razonada

Rg = 49,4 kΩ / 99 = 499 Ω (E96 exacto). Vout = REF + 100 × 12,4 mV = 1,24 V con REF = 0 V y 3,74 V con REF = 2,5 V. Error de modo común: 100 × 2,5 V / 106 = 0,25 mV (0,02 % de la señal).

Ejercicio 2: la balanza con HX711

Una celda de carga de 1 mV/V se excita con 5 V (5 mV a fondo de escala). El HX711 usa ganancia 128 y un rango diferencial de ±19,5 mV con 24 bits. ¿Qué porcentaje del rango se usa? ¿Cuánto vale un LSB a la entrada? Si la celda mide 0 a 5 kg, ¿cuántos gramos equivale un LSB y qué se puede esperar con el ruido real?

Ver solución razonada

5 mV de 19,5 mV: 26 % del rango (≈ 2,1 millones de cuentas). Un LSB = 39,06 mV / 224 ≈ 2,3 nV, es decir 5 kg / 2,2·106 ≈ 2 mg por LSB. El ruido del HX711 (≈ 50 nV rms) hace que solo se puedan contar de forma estable unos 17 a 19 bits: una resolución práctica de 10 a 40 mg, después de promediar. Es más que suficiente para gramos, pero la deriva térmica de la celda ya manda.

Ejercicio 3: ¿restador, tres operacionales o INA?

Hay que medir (a) 1 V de diferencia sobre un modo común de 1 V, y (b) 10 mV sobre un modo común de 5 V (con VREF = 0 V). ¿Qué alcanza en cada caso con resistores de 1 %?

Ver solución razonada

(a) Restador con G = 1: error de modo común ≈ 0,02 × 1 V = 20 mV sobre 1 V (2 %): alcanza si 2 % es tolerable. (b) Con G = 100: error ≈ 4·tol × 5 V = 200 mV frente a una señal de 1 V (20 %), y el offset de un LM358 aporta 300 mV más: no alcanza. Tres operacionales con 1 % dejan 0,02 × 5 = 100 mV (10 %); con 0,1 %, 10 mV (1 %). Con un INA integrado, 100 × 5 V / 106 = 0,5 mV: el INA.

Ejercicio 4: el límite de la primera etapa

Un AD620 con ±9 V (nodos utilizables de ±7,5 V) mide un puente con Vcm = 4 V y una diferencia máxima de 50 mV. ¿Qué ganancia máxima admite sin que se sature la primera etapa? ¿Y la salida?

Ver solución razonada

A2 = Vcm + Vd/2 + k·Vd = 4 + 0,025 + (G − 1)/2 × 0,05 ≤ 7,5 → (G − 1) × 0,025 ≤ 3,475 → G ≤ 140. La salida es G × 50 mV = 7 V con G = 140, justo por debajo del límite de 7,5 V. Para G = 100 sobra: A2 = 6,5 V y salida de 5 V.

Ejercicio 5: diagnosticar síntomas

(a) Un INA conectado a un termopar aislado muestra la salida pegada a un riel. (b) Un INA con REF conectado a un divisor de 100 kΩ pierde CMRR. (c) Un INA con G = 1000 (REF = 2,5 V, 5 V simples) muestra la salida saturada con el puente en reposo, cuando su desequilibrio de fábrica es de 5 mV.

Ver solución razonada

(a) Falta el camino de las corrientes de polarización: las entradas flotan hasta saturar. Se agrega un resistor de 1 a 10 MΩ de cada entrada a masa (o a REF). (b) La impedancia en el pin REF desbalancea el restador final; hay que alimentarlo con un seguidor de baja impedancia. (c) El desequilibrio del puente × G: 5 mV × 1000 = 5 V sobre los 2,5 V de REF dan 7,5 V, muy por encima de los 4,9 V posibles (y A1 y A2 también se salen). No es una falla del INA: se baja G (a 100 queda 0,5 V de corrimiento), se compensa el cero del puente con un potenciómetro o se resta el cero medido por software con una G menor.

13 · Síntesis

Ideas para recordar

  • Un INA tiene una primera etapa de dos no inversores con Rg entre las patas − (alta impedancia, ganancia de modo común 1, de modo diferencial 1 + 2R/Rg) y un restador final de ganancia 1.
  • AD620: G = 1 + 49,4 kΩ/Rg (499 Ω → 100); Vout = VREF + G·(V2 − V1).
  • El modo común solo se rechaza en el restador final: el CMRR del conjunto ≈ G1/(2·tol); mejora 20 dB por década de ganancia; la igualdad de la primera etapa no afecta al CMRR.
  • A la salida, el error de modo común es 2·tol·(Vcm − VREF) en tres operacionales discretos (independiente de G); el integrado lo baja unas 200 veces (CMRR de 90–130 dB).
  • Tres tensiones deben caber: entradas, nodos A1/A2 (Vcm ± k·Vd) y salida; el pin REF fija el cero de la salida y debe tener baja impedancia.
  • Con fuentes flotantes (termopares) hay que dar un camino de continua a las entradas; contra la radiofrecuencia, un RC en cada una.
  • El presupuesto: error de modo común, de ganancia (Rg) y offset × G (calibrable); la deriva térmica fija el piso.
  • Con 5 V simples: un INA de alimentación simple (INA333, AD623) con REF en 2,5 V; o el HX711 (24 bits, ganancia 128) para celdas de carga.

¿Listo para el Tema 26?

Podés avanzar si sos capaz de responder esto sin mirar:

  • Dibujar un INA de tres operacionales y deducir G = 1 + 2R/Rg.
  • Explicar por qué el CMRR mejora con la ganancia de la primera etapa.
  • Elegir Rg para una ganancia dada y estimar el error por tolerancia.
  • Comprobar que entradas, nodos internos y salida caben en la ventana del chip.
  • Armar un presupuesto de errores y decidir entre restador, discreto e integrado.
  • Detectar la falta de camino de polarización o de baja impedancia en REF.

Con la amplificación diferencial dominada, solo falta aplicarla a sensores reales de punta a punta y calibrarlos. En el próximo tema, los sensores amplificados, con un taller.