Electrónica Analógica · Tema 19

Sumador y restador

Mezclar señales con un operacional: cada entrada aporta su corriente al nodo de la tierra virtual y la salida es la suma ponderada. Con el mismo chip y cuatro resistores se resta, pero ahí la tolerancia de los resistores decide cuánto ruido de modo común se cuela.

≈ 75 minutos Cuentas con LM358 de 5 V y con ±9 V Incluye 2 simuladores y Python

01 · Punto de partida

Combinar señales

Hasta acá cada circuito recibía una señal y devolvía otra. Pero muchas veces hay que combinar: mezclar dos micrófonos, sumarle a un sensor un nivel de continua para centrarlo, promediar varios sensores, o restar dos señales para quedarse con su diferencia. Con el inversor del Tema 18 ya tenés todo lo necesario: lo único que cambia es cuántas resistencias llegan al mismo nodo.

Una escena típica. Un puente de sensor (Tema 10) entrega dos tensiones, VA y VB, ambas cerca de 2,5 V. La información está en la diferencia, unos pocos milivoltios, montada sobre un nivel común enorme. Si le pasás cada rama a un ADC por separado, perdés casi toda la resolución en medir el 2,5 V que no te interesa. Hay que restar antes de convertir, y hacerlo bien: si el restador no es perfecto, parte de esos 2,5 V comunes se filtra a la salida y se confunde con la señal.

Para un programador, el sumador es un sum(w[i] * x[i] for i in ...) y el restador, un g * (b - a). Lo que tiene de especial el hardware es que esas dos líneas de código salen de unas pocas resistencias, sin ciclos ni memoria. Y lo que no perdona el hardware es que cada resistor real se aparta de su valor nominal.

  • ¿Por qué un nodo con varias resistencias suma corrientes sin que las fuentes se molesten entre sí?
  • ¿Cómo se eligen los pesos de cada canal, y cómo se obtiene un promedio?
  • ¿Cómo se suma con una sola alimentación de 5 V?
  • ¿Qué hace falta para restar bien, y qué pasa si los resistores no son iguales?

02 · Sumador

El sumador inversor

Es el inversor del Tema 18 con varias entradas: cada una llega al nodo inversor por su propio resistor Ri. El lazo mantiene ese nodo en 0 V virtuales (o en la tensión de la pata +), así que cada entrada empuja una corriente que no depende de lo que hagan las demás:

V1 → R1, V2 → R2, V3 → R3 →nodo − (tierra virtual) suma I1 + I2 + I3 →Rf → Vout
  1. 1
    Cada entrada genera su corriente.

    Ii = Vi / Ri, porque el otro extremo de Ri está en 0 V virtual. No importa cuántas entradas más haya: el nodo no se mueve.

  2. 2
    Las corrientes se suman en el nodo.

    El operacional no toma corriente (Tema 14), así que Itotal = I1 + I2 + I3 (ley de Kirchhoff, Tema 5).

  3. 3
    Toda esa corriente cruza Rf.

    Vout = 0 − Itotal × Rf.

La clave de todo es que la tierra virtual aísla los canales. Una fuente conectada a R1 no «ve» a R2 ni a R3: ve solamente a R1 contra 0 V. Por eso podés agregar, quitar o poner en cero un canal sin tocar la ganancia de los otros. Es la propiedad que hace del sumador inversor el mezclador de audio clásico.

03 · Pesos y promedio

Pesos, promedio y mezclador

Cada canal tiene su propio peso, −Rf/Ri: se regula cambiando Ri. Con todos los Ri iguales a R, la salida es −(Rf/R)·ΣVi, y según Rf se obtienen tres comportamientos:

Tres sumadores con N entradas de R = 10 kΩ y distintos Rf.
RfPeso de cada canalQué haceEjemplo con 1 V, 2 V
10 kΩ (= R)−1Suma pura (invertida)−3,0 V
5 kΩ (= R/2)−0,5Promedio de 2 canales (invertido)−1,5 V
3,3 kΩ (≈ R/3)−0,33Promedio de 3 canales (invertido)Con 3 entradas de 1, 2 y 3 V: −1,98 V

El promedio de N canales pide Rf = R/N, porque cada uno debe contribuir con peso 1/N. Con valores distintos de Ri aparece una suma ponderada, que es exactamente lo que hace un mezclador: un canal con Ri = 10 kΩ pesa −1; con 20 kΩ, −0,5; con 100 kΩ, −0,1. Un potenciómetro en lugar de Ri es un control de volumen por canal.

Sumador inversor (este tema)

Canales independientes

Cada entrada ve su Ri contra la tierra virtual. Los pesos se fijan uno por uno y no interactúan. Zin de cada canal = su Ri.

Sumador no inversor

Canales que se influyen

Los resistores van a la pata +, que no es una tierra virtual: la tensión del nodo es un promedio y cada fuente carga a las otras. Para dos entradas iguales, Vout = (1 + Rf/Rg)·(V1 + V2)/2. Cambiar un peso mueve a los demás; se usa poco.

Un detalle práctico: el offset del operacional (Tema 21) se amplifica por la ganancia de ruido, 1 + Rf/(R1∥R2∥…). Con muchos canales, esa resistencia paralela baja y la ganancia de ruido sube: un sumador de diez entradas de 10 kΩ con Rf = 10 kΩ tiene ganancia de ruido 11, como un inversor de −10. Y el ancho de banda es GBW dividido por ese número.

04 · Alimentación simple

Con 5 V simples: sumar respecto de 2,5 V

Con la alimentación partida de ±9 V, todo lo anterior vale tal cual. Con 5 V simples (un LM358 cuya salida llega de 0,05 a 3,5 V), la salida no puede ser negativa, y hay que hacer lo mismo que en el inversor: la pata + va a una referencia de 2,5 V (el segundo operacional del chip como seguidor). Entonces el nodo inversor queda en 2,5 V y las cuentas se hacen sobre las diferencias respecto de esa referencia:

Dos consecuencias muy útiles:

  • Un canal conectado a Vref queda «silenciado»: no aporta corriente (Vi − Vref = 0). Una señal de audio acoplada con un capacitor y polarizada a 2,5 V entra exactamente así: su continua no cuenta y solo suma la parte alterna.
  • Un canal conectado a una tensión fija sirve como control de nivel (offset). Con Ri = 100 kΩ, Rf = 10 kΩ y esa entrada en 0 V, aporta +0,25 V a la salida (−10k/100k × (0 − 2,5 V)); conectada a 5 V, aporta −0,25 V. Con un potenciómetro entre 0 y 5 V se regula el centro de la señal en ±0,25 V.

Con las señales a sumar centradas en 2,5 V, la ventana de la salida (2,5 V ± 1,0 V) manda: si tres canales aportan hasta ±0,4 V cada uno con peso −1, la suma llega a ±1,2 V y se recorta. Hay que repartir esa ventana entre los canales a la hora de elegir los pesos.

05 · Pesos binarios

Un caso estrella: convertir números en tensión con resistores

Si los pesos son potencias de dos, el sumador convierte un número binario en una tensión: es un DAC (convertidor digital-analógico). Cada bit es una señal de 0 o 5 V (una pata de un microcontrolador) conectada al nodo por un resistor distinto: R para el bit más significativo, 2R para el siguiente, 4R, 8R… Cada bit encendido aporta una corriente mitad que el anterior.

DAC de 4 bits con R = 10 kΩ, patas de 0/5 V y Rf = 3,3 kΩ (salida invertida).
BitResistorCorriente con 5 VAporte a la salida
3 (MSB)10 kΩ500 µA−1,65 V
220 kΩ250 µA−0,825 V
140 kΩ125 µA−0,41 V
0 (LSB)80 kΩ62,5 µA−0,21 V

Un paso de código vale unos 0,206 V, y el fondo de escala (1111) es −3,09 V. La limitación llega pronto: el resistor del bit más significativo debe ser tan preciso como un medio LSB de todo el conjunto. Como regla gruesa, para n bits la tolerancia debería ser mejor que 1/2n+1: ≈ 3 % con 4 bits, 0,2 % con 8 y 0,05 % con 10. Además, un resistor de 80 kΩ junto a uno de 10 kΩ ya exige valores muy dispersos. Por eso los DAC reales usan la red R-2R (solo dos valores, fáciles de igualar dentro de un chip), pero el principio es el mismo: una suma ponderada de corrientes en un nodo virtual.

06 · Restador

El restador de cuatro resistores

Para restar hay que usar las dos entradas del operacional a la vez: V1 entra por la pata − (como en el inversor) y V2 por la pata + a través de un divisor. Se llama amplificador diferencial o restador, y necesita cuatro resistores:

V1 → R1 → nodo − ← Rf ← VoutV2 → R3 → nodo + ↓ R4 → Vref

Se obtiene con superposición: V1 actúa como en un inversor (ganancia −Rf/R1) y V2 como en un no inversor, precedido por el divisor R3–R4. Con R3 = R1 y R4 = Rf = G·R1:

  1. 1
    El divisor de la pata +.

    V+ = Vref + (V2 − Vref)·R4/(R3 + R4) = Vref + (V2 − Vref)·G/(1 + G).

  2. 2
    Esa pata +, amplificada como no inversor.

    Ganancia 1 + Rf/R1 = 1 + G: el aporte de V2 es G·(V2 − Vref).

  3. 3
    V1 como inversor.

    Su aporte es −G·(V1 − Vref).

Con una fuente partida, Vref = 0 V (masa) y queda Vout = G·(V2 − V1). Con 5 V simples, Vref = 2,5 V (de nuevo, el segundo operacional como referencia, conectada al extremo de R4): la salida es 2,5 V + G·ΔV, así que cuando las dos entradas son iguales, queda en el centro de la ventana.

07 · Modo común

Tolerancia y rechazo de modo común

Toda la utilidad del restador está en que solo amplifica la diferencia. Lo que tienen en común las dos entradas (el modo común, Vcm = (V1 + V2)/2) debería desaparecer. Pero eso solo ocurre si los dos caminos están perfectamente balanceados, es decir, si R4/R3 = Rf/R1. Si no, la ganancia de V2 y la de V1 difieren un poquito, y aparece una ganancia de modo común Acm distinta de cero:

El cociente Adif/Acm es el CMRR (common-mode rejection ratio), que se expresa en decibelios: 20·log10(Adif/Acm). Cuanto mayor, mejor. Y lo que lo fija, en un restador con resistores discretos, no es el operacional: es la tolerancia.

CMRR en el peor caso (cada resistor desviado el máximo, en el peor sentido) según la tolerancia y la ganancia.
ToleranciaG = 1G = 10
5 %19,6 dB (Acm = 0,105)34 dB (Acm = 0,20)
1 %33,9 dB (Acm = 0,020)48,6 dB (Acm = 0,037)
0,1 %54 dB (Acm = 0,002)68,8 dB (Acm = 0,0036)

El peor caso se aproxima por CMRR ≈ (1 + G)/(4·tol). Las unidades: con tol = 0,01 y G = 1, (1 + 1)/(0,04) = 50, que son 34 dB. Para una combinación al azar de resistores con 1 %, lo típico es unos 10 dB mejor (45 dB con G = 1), pero no hay que contar con la suerte.

Qué significan 34 dB. Un CMRR de 50 quiere decir que un modo común de 2 V filtra 40 mV a la salida con G = 1 (2 V × 0,02). Un puente con una señal útil de 12 mV queda con un error tres veces mayor que la propia señal. Con 0,1 % el error baja a 4 mV, y con un par de resistores ajustado con un preset llega a pocos milivoltios; el costo se paga en componentes, no en el operacional.

Hay un matiz importante: el error es Acm × (Vcm − Vref). Si el modo común de la señal coincide con la referencia del restador (por ejemplo, un puente centrado en 2,5 V con Vref = 2,5 V), el error se anula casi por completo, aunque los resistores estén desbalanceados. Eso es un truco práctico, pero un puente real cambia su modo común con la temperatura y con la tensión de alimentación, y la ventaja se pierde a medias. La solución de fondo es el amplificador de instrumentación del Tema 25.

08 · Impedancias

Impedancias, buffers y el paso al Tema 25

El restador tiene un problema que el no inversor no tenía: sus entradas piden corriente, y no piden lo mismo.

  • La entrada V2 ve R3 + R4 en serie (la pata + no toma corriente): con R = 10 kΩ y G = 1, 20 kΩ; con G = 10, 110 kΩ.
  • La entrada V1 ve R1 hacia el nodo −, que está en el mismo potencial que el +: unos 10 kΩ, y depende de la otra entrada.
  • Para una señal diferencial pura, la impedancia entre las dos entradas es 2·R1.

Si las fuentes tienen resistencia de salida, ésta se suma al resistor de su rama y rompe el balance. Para dos fuentes iguales pero con distinta impedancia, el CMRR empeora justo como si los resistores tuvieran tolerancia. Un puente de dos divisores de 10 kΩ tiene unos 5 kΩ de resistencia de salida por rama; aplicándole un restador de G = 1 con R = 10 kΩ, la ganancia efectiva baja de 1 a 0,67 y la salida de 12,4 mV (ideal) pasa a 8,3 mV: el puente se carga (Tema 10).

La solución es poner un seguidor en cada entrada (Tema 16): las fuentes ven impedancia altísima y el restador, una fuente de baja impedancia. Con dos seguidores y el restador se llega a tres operacionales, y si además se reparte la ganancia para que el CMRR no dependa de la igualdad de cuatro resistores, se obtiene el amplificador de instrumentación (Tema 25), el circuito estándar para puentes y sensores diferenciales.

09 · Simuladores

Dos experimentos: el sumador y el restador

El primero muestra cómo cada canal aporta a la salida (con los pesos que elijas) y cuándo se satura. El segundo resta dos tensiones con resistores de tolerancia elegida, en el peor caso, y te deja mover el modo común para ver cómo se cuela a la salida.

SIMULADOR 19

Suma ponderada en un nodo

V_out = −R_f · Σ V_i / R_i

Aporte de cada canal a la salida del sumador Cascada de barras horizontales: cada canal desplaza la salida desde el punto donde terminó el anterior, y la última barra muestra el valor final dentro de la ventana de salida del operacional. APORTE DE CADA CANAL (−R_f/R_i · V_i) Y SALIDA FINAL
Pesos −Rf/Ri−1 / −1 / −1
Vout ideal−0,75 V
Vout real (con offset de 3 mV)−0,74 V
Ganancia de ruido1 + Rf/(R1∥R2∥R3)
Ancho de banda250 kHz
EstadoLineal

Recorrido guiado (8 minutos)

  1. 1
    Pestaña ①, «Suma de tres».

    Tres canales de 10 kΩ y Rf = 10 kΩ: los aportes son −1,00 V, +0,50 V y −0,25 V. La salida ideal es −0,75 V, y la real −0,74 V: el offset de 3 mV multiplicado por la ganancia de ruido (1 + 10k/3,33k = 4) suma +12 mV.

  2. 2
    Llevá V3 a cero.

    Los aportes de V1 y V2 no cambian: la barra del canal 3 desaparece y la salida pasa a −0,50 V. Eso es la independencia de canales que da la tierra virtual.

  3. 3
    Pasá a «Promedio de tres».

    Rf = 3,3 kΩ y entradas de 0,5, 1,0 y 1,5 V: la salida ideal es −0,99 V (y la real, −0,98 V), casi el promedio invertido (1,0 V). El 1 % de diferencia viene de 3,3 k contra 3,33 k.

  4. 4
    Pasá a «Mezcla con pesos».

    Con Ri = 10 k, 20 k y 100 k y las tres entradas en 1 V, los aportes son −1,0, −0,5 y −0,1 V: la salida es −1,6 V. Cada barra muestra el peso de su canal.

  5. 5
    Pasá a «Satura».

    Rf = 20 kΩ duplica todos los pesos y las entradas son grandes: la suma ideal es −9,0 V, y el operacional se pega al riel de −7,5 V. La barra final se pone roja.

  6. 6
    Pestaña ②, «Resistores perfectos».

    La salida ideal es 2,5 V + 10 mV = 2,51 V, sin importar el modo común: la recta real y la ideal coinciden. El CMRR es infinito.

  7. 7
    Pasá a «1 %, modo común bajo».

    Con modo común de 0,5 V (2 V por debajo de la referencia) y 1 % en el peor sentido, la salida se corre unos 40 mV: cuatro veces la señal de 10 mV. Subí el modo común y verás cómo el error cambia de signo al pasar por 2,5 V.

  8. 8
    Compará «0,1 %», «G = 10 con 1 %» y «5 %».

    Con 0,1 % el error baja diez veces (unos 4 mV); con G = 10, el error en mV crece, pero la señal también (10 × 10 mV = 100 mV) y el CMRR es mejor (48,6 dB contra 34 dB); con 5 % el error ya es del orden de 200 mV. Probá poner un modo común de 4 V con G = 10: la pata + sube de 3,5 V y el simulador avisa que se sale del rango de entrada del LM358.

Preguntas para pensar

  1. ¿Por qué un canal de un sumador inversor no altera los pesos de los demás, pero sí lo haría en uno no inversor?
  2. Si la tolerancia pasa de 1 % a 0,1 %, ¿cuánto mejora el CMRR en decibelios?
  3. En un restador con 5 V simples, ¿qué pasa con el error por tolerancia si el modo común de la señal es justo 2,5 V?
Ver respuestas sugeridas
  1. Porque el nodo inversor está en un potencial fijo (la tierra virtual): cada fuente ve solo su resistor contra ese potencial. En el no inversor, los resistores se conectan a un nodo que sí se mueve y cada fuente carga a las demás.
  2. El error se reduce diez veces: 20 dB. El CMRR del peor caso pasa de 33,9 a 54 dB con G = 1.
  3. El error es Acm × (Vcm − Vref) y la diferencia es cero: el error de modo común desaparece casi por completo, aunque los resistores estén desbalanceados. Si el modo común se mueve, el error vuelve.

10 · En código

Sumar y restar en Python

Cinco herramientas: el sumador general (con referencia), el DAC de resistores ponderados, el restador con tolerancias, el CMRR en el peor caso y el restador conectado a un puente.

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: el sumador

def sumador(entradas, rs_k, rf_k, vref=0.0):
    # Inversor con varias entradas: Vout = Vref - Rf * sum((Vi - Vref) / Ri)
    corrientes = [(v - vref) / (r * 1e3) for v, r in zip(entradas, rs_k)]
    vout = vref - rf_k * 1e3 * sum(corrientes)
    pesos = [-rf_k / r for r in rs_k]
    print(f"entradas {entradas} con Ri = {rs_k} k y Rf = {rf_k} k -> Vout = {vout:+.3f} V (pesos {[round(p, 3) for p in pesos]})")
    return vout


sumador([1.0, 2.0], [10, 10], 10)                 # suma invertida
sumador([1.0, 2.0], [10, 10], 5)                  # promedio invertido
sumador([1.0, -0.5, 0.25], [10, 10, 10], 10)      # tres entradas
sumador([0.3, 0.1], [10, 100], 10)                # pesos distintos: 1 y 0,1
sumador([2.7, 2.5], [10, 10], 10, vref=2.5)       # con referencia de 2,5 V: señal + nivel

Las tres primeras líneas dan −3,0 V, −1,5 V y −0,75 V. En la cuarta, el canal de 100 kΩ pesa diez veces menos. En la última, el canal en 2,5 V (igual a Vref) no aporta nada y la salida es 2,3 V: solo cuenta el +0,2 V del primero.

Paso 2: un DAC con resistores ponderados

import random


def dac(codigo, bits=4, v_logico=5.0, r_msb=10e3, rf=3.3e3, tol=0.0, semilla=1):
    random.seed(semilla)
    r_bit = [r_msb * 2 ** k * (1 + random.uniform(-tol, tol)) for k in range(bits)]   # MSB = R, luego 2R, 4R, 8R
    rf_real = rf * (1 + random.uniform(-tol, tol))
    corriente = sum(v_logico / r for k, r in enumerate(r_bit) if (codigo >> (bits - 1 - k)) & 1)
    return -rf_real * corriente


lsb = -dac(1)
print(f"Escalón ideal (1 LSB): {lsb:.4f} V; fondo de escala (15): {-dac(15):.3f} V")
for tol in (0.0, 0.01, 0.05):
    errores = [(-dac(n, tol=tol) - n * lsb) / lsb for n in range(16)]
    peor = max(abs(e) for e in errores)
    print(f"Tolerancia {tol * 100:g} %: error máximo {peor:.2f} LSB;  código 7 -> 8 da un salto de {(-dac(8, tol=tol) + dac(7, tol=tol)) / lsb:.2f} LSB")
print("Código 5 (0101):", f"{-dac(5):.3f} V")
print("Código 12 (1100):", f"{-dac(12):.3f} V")

Cada código vale 0,206 V (ideal). Con 5 % de tolerancia el error llega a 0,3 LSB y el salto de 7 a 8 (el más crítico, donde cambian todos los bits) a 1,46 LSB. Con 8 bits el problema empeora: probá bits=8 con 5 % y vas a ver códigos cuya salida baja en vez de subir (la curva deja de ser monótona).

Paso 3: el restador con tolerancias

def restador(v1, v2, g=1.0, r=10e3, vref=2.5, tol=0.0, semilla=1, rs1=0.0, rs2=0.0):
    random.seed(semilla)
    d = [1 + random.uniform(-tol, tol) for _ in range(4)]
    r1 = r * d[0] + rs1                       # de V1 a la entrada inversora (más la resistencia de la fuente)
    rf = g * r * d[1]                         # realimentación
    r3 = r * d[2] + rs2                       # de V2 a la entrada no inversora
    r4 = g * r * d[3]                         # de la no inversora a la referencia
    a = r4 / (r3 + r4)
    return vref + a * (1 + rf / r1) * (v2 - vref) - (rf / r1) * (v1 - vref)


print("Restador de G = 1 con V1 = 2,50 V y V2 = 2,51 V (diferencia de 10 mV), referencia de 2,5 V:")
for tol in (0.0, 0.001, 0.01):
    print(f"  tolerancia {tol * 100:g} %: Vout = {restador(2.50, 2.51, tol=tol) * 1000:8.2f} mV")
print("Mismo restador con modo común de 0 V y de 5 V (diferencia fija de 10 mV), tolerancia 1 %:")
for vcm in (0.0, 2.5, 5.0):
    print(f"  modo común {vcm} V: Vout - Vref = {(restador(vcm, vcm + 0.01, tol=0.01) - 2.5) * 1000:8.2f} mV")

Con modo común de 2,5 V (igual a Vref) el restador entrega 10,02 mV aunque tenga 1 % de tolerancia. Con 0 V da 40,8 mV de salida para los mismos 10 mV de diferencia, y con 5 V da −20,7 mV: el error de modo común es proporcional a Vcm − Vref y cambia de signo. (Con otra semilla los valores cambian: es una combinación al azar de resistores.)

Paso 4: el CMRR en el peor caso

import math
from itertools import product


def ganancias(r1, rf, r3, r4):
    a2 = r4 / (r3 + r4) * (1 + rf / r1)
    a1 = rf / r1
    return a2 - a1, (a2 + a1) / 2          # ganancia de modo común, ganancia diferencial


print("CMRR del restador en el peor caso (16 combinaciones extremas de los cuatro resistores):")
for g in (1, 10):
    for tol in (0.05, 0.01, 0.001):
        peor = max(abs(ganancias(10e3 * (1 + s[0] * tol), g * 10e3 * (1 + s[1] * tol), 10e3 * (1 + s[2] * tol), g * 10e3 * (1 + s[3] * tol))[0])
                   for s in product((-1, 1), repeat=4))
        cmrr = 20 * math.log10(g / peor)
        aprox = 20 * math.log10((1 + g) / (4 * tol))
        print(f"  G = {g:>2}, tolerancia {tol * 100:>4g} %: Acm = {peor:.4f}, CMRR = {cmrr:5.1f} dB (fórmula (1+G)/(4 tol): {aprox:5.1f} dB), error con 2 V de modo común: {peor * 2000:6.1f} mV")

La fórmula aproximada acierta al decibelio con tolerancias chicas (54,0 contra 54,0 dB con 0,1 % y G = 1). Con 1 % y G = 1, un modo común de 2 V da 40 mV de error: el equivalente a mirar la diferencia con una incertidumbre cuatro veces mayor que 10 mV.

Paso 5: el restador conectado a un puente

print("Restador conectado a un puente (Rs = 5 kΩ por rama) con R = 10 kΩ, sin buffers (puente 10,1k / 10k):")
va, vb = 5 * 10.1 / 20.1, 2.5
ideal = restador(vb, va, tol=0.0)
conectado = restador(vb, va, tol=0.0, rs1=5e3, rs2=5e3)       # la resistencia de salida del puente suma a R1 y R3
print(f"  salida ideal {(ideal - 2.5) * 1000:+.2f} mV; con la resistencia de salida del puente {(conectado - 2.5) * 1000:+.2f} mV (el puente se carga: Tema 10)")

La diferencia ideal del puente es +12,44 mV. Conectado sin buffers, el restador solo entrega +8,29 mV: la ganancia efectiva es 0,67. Un seguidor en cada entrada elimina el problema.

11 · Analogía de programador

Reducir, mezclar y restar

El mismo oficio, en dos mundos.
En softwareEn el sumador y el restador
sum(w[i] * x[i]): suma ponderadaVout = −Rf·Σ Vi/Ri
Pesos w distintos por canalUn Ri distinto por entrada
sum(x) / n: promedioRf = R/N
Un acumulador que no deja que un término toque a los otrosLa tierra virtual: la corriente de cada canal es independiente
Un int que desborda si la suma es grandeEl recorte en los rieles del operacional
El peso 2k de cada bit al convertir un número binarioR, 2R, 4R, 8R: el DAC de resistores ponderados
g * (b - a): diferencia con gananciaVout = Vref + G·(V2 − V1)
Restar dos números casi iguales y perder precisión por el redondeo de cada unoEl modo común: la fracción Acm de lo que tienen en común se filtra a la salida
Un test que falla por 1.0000001 != 1.0: igualdad que debería ser exacta y no lo esR4/R3 ≠ Rf/R1 por la tolerancia de los resistores

La octava fila es la que más se parece a un problema real de cálculo numérico: restar dos cantidades enormes y casi iguales (los 2,5 V de cada rama del puente) para obtener una pequeña (los milivoltios de diferencia) amplifica cualquier error relativo en las enormes. En hardware, esa amplificación se mide con el CMRR.

12 · Comprensión

Confusiones frecuentes

«El sumador da V1 + V2»

Da −(V1 + V2), con Rf = R. Es un inversor: el signo negativo viene con el circuito. Se lo compensa con un segundo inversor o en el software.

«Para promediar basta con Rf = R»

Con Rf = R se suma. El promedio de N canales pide Rf = R/N, así cada peso es 1/N.

«Los canales del sumador se molestan entre sí»

No en el inversor: cada fuente ve su Ri contra la tierra virtual. Sí lo hacen en el sumador no inversor, y por eso casi no se usa.

«Cualquier cuatro resistores sirven en el restador»

Deben cumplir R4/R3 = Rf/R1. Y no alcanza con que los valores nominales coincidan: con 1 % de tolerancia el CMRR cae a 34 dB en el peor caso (G = 1). Si necesitás más, comprá 0,1 %, ajustá con un preset o usá un amplificador de instrumentación.

«El restador tiene la alta impedancia de un amplificador de instrumentación»

No: sus entradas son resistores (R1 en una, R3 + R4 en la otra), distintas entre sí. Una fuente con resistencia de salida las desbalancea y hace perder rechazo de modo común. Hay que poner seguidores.

«Si resto bien en el papel, el ADC va a ver solo la diferencia»

Solo si el CMRR es suficiente. Con un puente centrado en 2,5 V y un restador de 1 %, el modo común se filtra: en el peor caso 0,02 × (Vcm − Vref) con G = 1.

13 · Práctica guiada

Ejercicios de sumador y restador

Ejercicio 1: mezclador de dos micrófonos

Con ±9 V y rieles de ±7,5 V, se mezclan dos señales de hasta ±0,5 V. El canal 2 debe pesar la mitad que el 1 y la salida, con ambos al máximo, no debe pasar de ±1 V. Elegí Rf, R1 y R2 de la serie E12.

Ver solución razonada

Con R1 = 10 kΩ (peso −Rf/R1) y R2 = 20 kΩ (la mitad): con Rf = 10 kΩ, los pesos son −1 y −0,5 y la salida máxima, 0,5 × (1 + 0,5) = 0,75 V. Se puede subir Rf hasta 12 kΩ (E12): pesos −1,2 y −0,6 y 0,9 V de salida máxima, cerca del límite sin pasarse. Con Rf = 15 kΩ llegaría a 1,125 V, por encima de lo pedido.

Ejercicio 2: promedio de cuatro sensores

Cuatro sensores de temperatura (salidas de baja impedancia, 0 a 1 V cada uno) se promedian con Ri = 10 kΩ. ¿Qué Rf ideal necesitás? ¿Qué valor de la serie E12 usarías y qué error cometés? ¿Cómo queda el signo?

Ver solución razonada

Rf = R/N = 10k/4 = 2,5 kΩ. La E12 tiene 2,2 kΩ (−12 %) y 2,7 kΩ (+8 %); más cerca está 2,7 kΩ con 8 % de error. Con 2,2 kΩ + 330 Ω en serie se obtiene 2,53 kΩ (+1 %), o un preset de 5 kΩ en serie con un fijo. La salida es el promedio invertido: entre 0 y −1 V; se invierte con otro inversor de −1 o en el software.

Ejercicio 3: un DAC de 4 bits

Con el DAC de la sección 05 (10 kΩ, 20 kΩ, 40 kΩ, 80 kΩ y patas de 0/5 V), calculá la salida con Rf = 3,3 kΩ para el código 0110. ¿Qué Rf da exactamente −3 V para el código 1111?

Ver solución razonada

El código 0110 enciende los bits de 20 kΩ y 40 kΩ: I = 5/20k + 5/40k = 250 + 125 = 375 µA, y Vout = −375 µA × 3,3k = −1,24 V (igual a 6 × 0,206 V). Para 1111: I = 5 × (1/10k + 1/20k + 1/40k + 1/80k) = 937,5 µA; Rf = 3 V / 937,5 µA = 3,2 kΩ.

Ejercicio 4: restar el puente

Un puente de 5 V entrega VB = 2,5000 V y VA = 2,5124 V. Se lo resta con un restador de G = 10 (R = 10 kΩ, Rf = R4 = 100 kΩ) con 5 V simples y Vref = 2,5 V. (a) ¿Cuánto vale la salida con resistores perfectos? (b) Si la alimentación fuera partida (Vref = 0 V), con resistores de 1 % en el peor caso, ¿cuánto error de modo común aparece?

Ver solución razonada

(a) Vout = 2,5 + 10 × 12,4 mV = 2,624 V (suponiendo fuentes de baja impedancia: con el puente sin buffers cambia todo, como en el Paso 5). (b) Con Vref = 0 V, el modo común de 2,5 V no coincide con la referencia: error = Acm × 2,5 V = 0,037 × 2,5 V ≈ 93 mV, contra una señal útil de 124 mV. En la versión de 5 V simples con Vref = 2,5 V el modo común coincide con la referencia y el error de modo común se anula.

Ejercicio 5: diagnosticar fallas

Un restador de G = 1 (R = 10 kΩ) con 5 V simples y Vref = 2,5 V tiene V1 = V2 = 3 V (salida normal: 2,5 V). ¿Qué sale si (a) R4 se abre; (b) Rf se abre; (c) R4 se conecta a masa en vez de a 2,5 V?

Ver solución razonada

(a) Sin R4 el divisor desaparece: V+ = V2 = 3 V y el aporte de V2 se duplica: Vout = 2,5 + 2 × 0,5 − 1 × 0,5 = 3,0 V. (b) Sin Rf se pierde el lazo: el nodo − queda en 3 V (V1) y el + en 2,75 V; con V+ < V− la salida cae al piso (≈ 0,05 V). (c) La referencia pasa de 2,5 V a 0 V: V+ = 1,5 V, y Vout = 1,5 × 2 − 3 = 0 V, también pegado al piso: la salida pierde su centro de 2,5 V.

14 · Síntesis

Ideas para recordar

  • Sumador inversor: Vout = −Rf·Σ Vi/Ri; el nodo de la tierra virtual suma las corrientes y aísla los canales.
  • Pesos −Rf/Ri; promedio de N canales con Rf = R/N; pesos binarios arman un DAC.
  • Con 5 V simples: Vout = Vref − Rf·Σ (Vi − Vref)/Ri; un canal en Vref no aporta, uno en una tensión fija corre el centro.
  • La ganancia de ruido del sumador es 1 + Rf/(R1∥R2∥…): más canales, más offset y menos ancho de banda.
  • Restador: Vout = Vref + G·(V2 − V1) con R3 = R1 y R4 = Rf = G·R1; R4 debe ir a una referencia de baja impedancia.
  • CMRR ≈ (1 + G)/(4·tol) en el peor caso: 34 dB con 1 % y G = 1; error = Acm·(Vcm − Vref).
  • Las entradas del restador cargan a la fuente (R1; R3 + R4) y la resistencia de la fuente desbalancea: seguidores primero.
  • Con milivoltios sobre un modo común grande (puentes), hay que pasar al amplificador de instrumentación (Tema 25).

¿Listo para el Tema 20?

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

  • Deducir Vout = −Rf·Σ Vi/Ri a partir de la tierra virtual.
  • Elegir Rf para promediar N canales y los Ri para pesar un mezclador.
  • Escribir la salida de un sumador con 5 V simples y referencia de 2,5 V.
  • Explicar por qué el restador necesita R4/R3 = Rf/R1 y qué es el modo común.
  • Estimar el CMRR de un restador a partir de la tolerancia de los resistores.
  • Decir cuándo hace falta un seguidor en cada entrada o un amplificador de instrumentación.

Mezclar y restar, listo. Ahora, el otro gran uso del operacional: en vez de amplificar con realimentación negativa, decidir con una referencia. En el próximo tema, el comparador con histéresis.