Electrónica Analógica · Tema 09

Acondicionamiento

Del sensor crudo al ADC contento: llevar la señal al rango, centrarla, quitarle lo que el muestreo no debe ver y protegerla de accidentes. Cinco eslabones, en el orden que no falla. Abre el bloque 2 del curso.

≈ 55 minutos Sin materiales: solo el navegador Incluye 2 simuladores y Python

01 · Punto de partida

El sensor solo no alcanza

En el bloque anterior aprendiste a describir, generar y medir señales. Desde acá, el curso trata de prepararlas: tomar lo que entrega un sensor y llevarlo, sano, hasta el lugar donde alguien va a decidir algo, normalmente la entrada de un conversor analógico-digital (ADC).

Una escena típica. Armás el divisor con la NTC del curso anterior y conectás su salida directo al pin analógico de tu placa. En el multímetro, el nodo marca 2,50 V estables. Pero en el programa, la lectura salta entre 505 y 520 cuentas, el valor sube y baja con un ritmo regular, y cuando se enchufa un motor en la misma mesa aparece un valor de 1023. No hay nada roto: el multímetro promedia en medio segundo, y el ADC mira cada instante. Entre el sensor y el pin faltan cosas.

Para un programador es la capa de middleware entre un origen de datos hostil y un servicio que espera datos limpios: normalizar el formato, descartar lo que no corresponde, validar rangos y proteger al sistema ante entradas inesperadas. La electrónica hace lo mismo, con voltajes.

  • ¿Cuáles son los eslabones de la cadena y en qué orden se aplican?
  • ¿Cómo llevo un sensor cualquiera al rango del ADC, y cuánta resolución gano o pierdo?
  • ¿Qué filtro necesita el muestreo, y por qué un RC «a fs/2» no alcanza?
  • ¿Cómo protejo la entrada del micro y cómo verifico que todo está bien?

02 · La cadena

Los cinco eslabones, con un ejemplo

Seguimos una NTC de 10 kΩ en un divisor con un resistor fijo de 10 kΩ y 5 V, para medir de 0 a 50 °C. A 25 °C la salida es de 2,5 V (Tema 1); a 0 °C sube a 3,85 V y a 50 °C baja a 1,32 V.

  1. 1
    Escala.

    ¿La señal entra en el rango del ADC? De 1,32 a 3,85 V entra en 0–5 V: no hace falta atenuar ni amplificar. Si fuera un micrófono de milivoltios, habría que amplificar; si fuera una señal industrial de 10 V, atenuar.

  2. 2
    Nivel.

    ¿Está centrada donde el ADC la necesita? Un ADC unipolar de 0–5 V no lee tensiones negativas: una señal de ±1 V hay que montarla sobre 2,5 V de offset. La NTC ya es positiva y no necesita nada.

  3. 3
    Filtro anti-alias.

    Antes del muestreo, hay que quitar todo lo que supere la mitad de la frecuencia de muestreo, porque después del ADC ya no se puede separar (Tema 2). Para una temperatura que cambia en minutos, un RC pasa-bajos de pocos hertz limpia el zumbido de la red.

  4. 4
    Protección.

    Un resistor en serie y un limitador (clamp) a los rieles de alimentación hacen que una sobretensión «muera» en la entrada y no dentro del microcontrolador.

  5. 5
    Verificación.

    Se mide en el nodo del ADC con multímetro y osciloscopio, con estímulos reales (calentar, enfriar), antes de escribir una línea de código. Y se comparan las cuentas esperadas contra las que lee el programa.

Sensor→escala→nivel→filtro→protección→ADC

03 · Escala y nivel

Escala y nivel: llevar la señal al rango

Escalar y centrar se resumen en una recta. Si el sensor entrega una tensión Vs entre s_min y s_max, y el ADC acepta de 0 a Vref, lo que hace el acondicionador es:

VADC = G × Vs + VoconG = ganancia (escala)yVo = offset (nivel)

Para ocupar casi todo el rango dejando un colchón del 5 % en cada extremo (un margen para que el ruido o una pequeña deriva no saturen), se eligen:

G = 0,9 × Vref / (smax − smin)yVo = 0,05 × Vref − G × smin
Cuatro sensores típicos y el acondicionamiento que piden para un ADC de 0–5 V, 10 bits. Valores calculados con el bloque de Python de la sección 08.
Sensor entregaDirecto usaGananciaOffsetSolución típica
NTC 0–50 °C: 1,32 a 3,85 V51 % (9,0 bits)1,78−2,10 VDirecto (suficiente); para ganar, puente y ganancia (Temas 13 y 26)
Micrófono ±10 mV0,4 % (2 bits)225+2,5 VAmplificar ×225 y centrar en 2,5 V (Temas 11, 17 y 19)
Industrial 0–10 V200 % (satura)0,45+0,25 VDivisor 22 kΩ / 18 kΩ y protección
Señal ±1 V40 % (8,7 bits)2,25+2,5 VAmplificar ×2,25 y sumar 2,5 V (Tema 19)

La columna «bits» mide cuánto de la resolución del ADC se usa realmente: log₂(rango usado / escalón). Un ADC de 10 bits tiene un escalón de 4,88 mV con 5 V; si el sensor ocupa el 51 % del rango, quedan 518 escalones, es decir, 9,0 bits efectivos. El micrófono directo ocupa 4 escalones: 2 bits. La ganancia 225 lo lleva a 9,8 bits. Amplificar antes de digitalizar es la manera de comprar resolución (Tema 1).

Resolución en unidades del sensor

Los escalones del ADC se traducen a la magnitud física. En el ejemplo de la NTC, entre 0 y 50 °C la tensión varía 2,53 V: cada escalón de 4,88 mV equivale, en promedio, a unos 0,1 °C. Con la ganancia 1,78 bajaría a 0,054 °C. Pero la relación no es lineal: a temperaturas altas, la curva de una NTC se aplana y el mismo escalón significa más grados. Más adelante (Temas 13 y 26) mejoramos esto con un puente y amplificación.

Un ejemplo de atenuación: el sensor industrial

Un sensor de 0 a 10 V no entra a un ADC de 5 V. Un divisor con relación 0,45 lleva 10 V a 4,5 V. Con 22 kΩ arriba y 18 kΩ abajo (valores de la serie E12): 10 V × 18/(22+18) = 4,5 V. Dos propiedades del divisor importan: consume 10 V / 40 kΩ = 0,25 mA de la fuente (casi nada) y su resistencia de salida es 22k ∥ 18k = 9,9 kΩ, justo en el límite de lo que un ADC tolera; con una fuente de más impedancia habría que bajar los valores o agregar un seguidor (Tema 10).

04 · Filtro anti-alias

Filtro anti-alias: lo que el muestreo no debe ver

Del Tema 2 sabés que si una señal contiene frecuencias superiores a la mitad de la frecuencia de muestreo (fs/2), el ADC las ve como frecuencias bajas que no existen (aliasing), y no hay manera de separarlas después. Por eso el filtro es analógico y previo al ADC: elimina las frecuencias que el muestreo no puede representar.

La solución más simple es un filtro RC pasa-bajos: un resistor en serie con la señal y un capacitor a masa. Su frecuencia de corte es fc = 1/(2π·R·C) y la amplitud que deja pasar a una frecuencia f es:

|H(f)| = 1 / √(1 + (f / fc)²)→cae 20 dB por década

Por qué «fc = fs/2» no alcanza

Es la regla que suele circular: «poné el corte en la mitad del muestreo». Pero con un RC de un solo polo, en fs/2 la señal apenas se atenuó 3 dB (el 70,7 %). Todo lo que esté un poco por encima de ese punto pasa casi intacto y se pliega hacia abajo. Un ejemplo con números (fs = 100 Hz, interferencia de 1 Vpp, ADC de 10 bits):

Efecto de un RC de un polo sobre tres interferencias, con fs = 100 Hz. El escalón del ADC es 4,88 mV.
FiltroInterferenciaAtenuaciónQuedaAparece en el ADC como
fc = 48 Hz («fs/2»)50 Hz−3,2 dB693 mV (142 escalones)50 Hz
fc = 48 Hz1 kHz−26 dB48 mV (10 escalones)0 Hz (¡continua!)
fc = 5 Hz50 Hz−20 dB99 mV (20 escalones)50 Hz
fc = 5 Hz1 kHz−46 dB5 mV (1 escalón)0 Hz

Con el corte «ingenuo», una interferencia de 1 kHz (diez veces el muestreo) se cuela con 48 mV y aparece como un error constante en la lectura, porque 1 kHz es un múltiplo exacto de 100 Hz y se pliega justo sobre 0 Hz. Eso no se ve en el osciloscopio de la entrada ni se corrige después: la lectura simplemente está corrida.

Tres maneras de hacerlo bien

1. Cortar mucho más abajo de fs/2
Para quedar por debajo de un escalón, hace falta atenuar la interferencia a menos de 1/204 de su amplitud con 1 Vpp (−46 dB), lo que con un polo exige que f/fc ≈ 200. Sirve para señales muy lentas (una temperatura, un nivel), donde fc de unos pocos hertz no molesta.
2. Sobremuestrear
Muestrear mucho más rápido de lo que la señal útil necesita (por ejemplo, 10 a 100 veces) y promediar en software (Tema 6). Así el filtro analógico solo tiene que ser razonable y el filtrado fino ocurre en el código. Es lo más barato.
3. Más polos
Un filtro de varios polos (RC en cascada o un filtro activo, Tema 24) cae 40, 60 o 80 dB por década. Es lo que hay que usar en audio, donde la señal útil llega a pocos kHz y no se puede cortar muy bajo.

05 · Protección

Protección de la entrada: serie y clamp

El mundo real manda picos, descargas estáticas, cables mal conectados y tensiones que no esperabas. Un pin de microcontrolador soporta, por lo general, entre −0,3 V y la alimentación más 0,3 V; fuera de eso, conducen diodos internos de protección diseñados para corrientes mínimas (del orden de 1 mA, según la hoja de datos). Protegerlo es poner dos barreras antes del pin.

Resistor en serie
Limita la corriente de falla. Un valor de 1 kΩ en serie con la entrada convierte una falla de 12 V en (12 − 5,3)/1k ≈ 6,7 mA: más que lo que aguantan los diodos internos, pero muy poco para un diodo externo.
Clamp a los rieles
Dos diodos externos (de preferencia Schottky, que conducen antes) desde la entrada hacia 5 V y hacia GND. Cualquier tensión que pase 5,3 V o baje de −0,3 V se desvía a los rieles. Para un solo sentido (una señal siempre positiva) se puede usar un Zener de 5,1 V a masa.
Qué consigue el conjunto
El pin nunca ve más de unos 5,3 V, y la corriente de falla (6,7 mA con 12 V; 18,7 mA con 24 V) pasa por los diodos externos y no por el micro. Sin diodos externos, la serie tendría que ser de 6,7 kΩ (12 V) o 18,7 kΩ (24 V) para respetar el 1 mA de los internos, a costa de la precisión y la velocidad.
Costo
La serie suma impedancia de fuente (Tema 10) y forma, con el capacitor del filtro, un RC. Con 1 kΩ y 1 µF el corte es de 159 Hz: se puede aprovechar como parte del filtro anti-alias.
Corriente de falla según la tensión aplicada, con serie de 1 kΩ y clamp externo a 5,3 V.
FallaCorriente por la serieDónde va
5 V (normal)0No conduce nada
12 V6,7 mADiodo externo hacia 5 V
24 V18,7 mADiodo externo (comprobar que lo tolera)
−5 V≈ 4,7 mADiodo externo hacia GND

06 · Verificación

Verificación: medir antes de programar

Con la cadena armada, falta comprobar que hace lo que dice el diseño. Es el quinto eslabón y el que más se saltea. Se hace en tres pasos sencillos:

  1. 1
    Predecir.

    Calcular las cuentas esperadas del ADC en los extremos y en el centro. Para la NTC con 10 bits: 789 cuentas a 0 °C, 512 a 25 °C y 270 a 50 °C. Sin predicción, cualquier número parece razonable.

  2. 2
    Medir con estímulo.

    Con el multímetro en el nodo del ADC, aplicar el estímulo real: apoyar un dedo en la NTC (sube la temperatura, baja la tensión), tapar una LDR, mover un potenciómetro de un extremo al otro. La respuesta tiene que ser monótona y llegar a los valores previstos.

  3. 3
    Mirar el ruido.

    Con el osciloscopio (acoplo AC, Tema 8) en el mismo nodo, mirar cuánto rizado y qué interferencias hay. Ahí se ven el zumbido de 50 Hz, los picos de un motor o la conmutación digital que el multímetro promedió.

Un caso típico de hallazgo: el multímetro marca 2,50 V pero la lectura del programa promedia 2,43 V. La diferencia de 70 mV (14 escalones) casi siempre es de impedancia de fuente demasiado alta (Tema 10) o de un filtro mal calculado, no del programa.

07 · Simuladores

Dos experimentos: escalar la señal y filtrar el alias

El primero ajusta la ganancia y el offset de un acondicionador y muestra qué parte del ADC se aprovecha. El segundo muestra cómo responde un filtro RC a una interferencia y dónde se pliega en el ADC.

SIMULADOR 09

Escala y nivel

V_ADC = G × V_sensor + V_offset

Recta de acondicionamiento del sensor al ADC Gráfico de la tensión que llega al ADC en función de la tensión del sensor, con la zona válida del conversor y el rango del sensor marcado. V_ADC EN FUNCIÓN DE V_SENSOR
Llega al ADC1,32 a 3,85 V
Aprovechamiento del ADC51 %
Bits efectivos (de 10)9,0
1 escalón del ADC equivale a4,9 mV en el sensor
EstadoDentro de rango

Recorrido guiado (8 minutos)

  1. 1
    Pestaña ①, «NTC 0–50 °C», sin acondicionar (G = 1, V_o = 0).

    La recta es la diagonal y el tramo del sensor (1,32 a 3,85 V) cae dentro de la zona del ADC. Usa el 51 % del rango y 9,0 bits.

  2. 2
    Tocá «Diseñar».

    Aparecen G = 1,78 y V_o = −2,10 V: ocupa del 5 al 95 % del ADC y sube a 9,8 bits. Ganás resolución, pero necesitás un amplificador con offset negativo (Temas 13 y 17).

  3. 3
    Pasá a «Industrial 0–10 V» sin acondicionar.

    La parte del sensor sobre 5 V sale en rojo: satura. «Diseñar» da G = 0,45 (el divisor 22k/18k) y un pequeño offset.

  4. 4
    Pasá a «Micrófono ±10 mV» sin acondicionar y después «Diseñar».

    Sin acondicionar, la mitad negativa de la señal ni siquiera entra al ADC (se pone en rojo) y la positiva ocupa apenas 2 escalones. Con G = 225 y V_o = 2,5 V ocupa casi todo. Cambiá la referencia a 3,3 V y mirá cómo se corrigen ganancia y offset.

  5. 5
    Con el micrófono, subí la ganancia unos puntos más allá del diseño.

    La parte superior sale de la zona y se pone roja: el ADC satura. Un 100 % «aprovechado» deja de ser seguro apenas aparece ruido.

  6. 6
    Pestaña ②, caso «ingenuo» (fs = 100 Hz, fc = 48 Hz, 50 Hz).

    La interferencia de la red apenas se atenúa 3,2 dB: quedan 693 mV, casi 142 escalones. Muy mala.

  7. 7
    Pasá a «fc mucho menor» (fc = 5 Hz) y a 1 kHz.

    Atenúa 46 dB: queda 1 escalón. Pero fijate en el campo «Aparece como»: la interferencia no desapareció, aparece en 0 Hz, como un offset. Lo único que la salva es la atenuación, porque después del ADC ya no se distingue.

  8. 8
    Probá «Audio (fs = 8 kHz)» con una interferencia de 10 kHz.

    Un RC de un polo en 4 kHz atenúa apenas −8,6 dB a 10 kHz, y se pliega a 2 kHz, dentro de la banda útil. El audio pide más polos o sobremuestreo (Tema 24).

Preguntas para pensar

  1. ¿Por qué un 90 % de aprovechamiento puede ser mejor que un 100 %?
  2. Una interferencia que cae justo en un múltiplo de fs, ¿cómo se ve en la lectura del ADC?
  3. ¿Qué cambia si en lugar de bajar fc subís la frecuencia de muestreo y promediás?
Ver respuestas sugeridas
  1. Porque el 10 % de colchón absorbe el ruido, la deriva y las tolerancias de las piezas sin saturar. Un ADC saturado pierde los picos y no se entera.
  2. Como una componente continua (0 Hz): un offset constante que no se puede promediar ni filtrar digitalmente, porque a efectos del programa es una lectura estable pero corrida.
  3. El corte analógico puede ser más alto y menos exigente (la señal útil queda intacta), y la reducción de ruido se hace promediando N muestras: mejora como √N (Tema 6). Cuesta tiempo de CPU, no componentes.

08 · En código

La cadena de acondicionamiento en Python

Cuatro herramientas que automatizan las cuentas del tema: diseñar escala y offset, revisar el filtro anti-alias, dimensionar la protección y predecir las cuentas del ADC para la verificación.

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: algunos usan funciones del primero.

Paso 1: escala y nivel

import math


def ntc_volts(temp_c, vcc=5.0, r_fija=10e3, r25=10e3, beta=3950.0):
    # Divisor con la NTC abajo: V = Vcc * Rntc / (Rfija + Rntc)
    r_ntc = r25 * math.exp(beta * (1 / (temp_c + 273.15) - 1 / 298.15))
    return vcc * r_ntc / (r_fija + r_ntc)


def escala_nivel(s_min, s_max, vref=5.0, bits=10, margen=0.05, unidad="V"):
    span = s_max - s_min
    ganancia = (1 - 2 * margen) * vref / span             # que ocupe del 5 % al 95 % del rango
    offset = margen * vref - ganancia * s_min
    lsb = vref / 2 ** bits
    usa = abs(ganancia) * span / vref
    bits_ef = math.log2(abs(ganancia) * span / lsb)
    print(f"Sensor {s_min:.2f} a {s_max:.2f} {unidad}: directo usa {span / vref * 100:.0f} % del ADC "
          f"({math.log2(span / lsb):.1f} bits efectivos)")
    print(f"  diseño: ganancia {ganancia:.2f}, offset {offset:+.2f} V -> usa {usa * 100:.0f} %, {bits_ef:.1f} bits efectivos")
    return ganancia, offset


v0, v50 = ntc_volts(0), ntc_volts(50)
print(f"NTC 10k (B=3950) con 10k fija: 0 C -> {v0:.2f} V, 25 C -> {ntc_volts(25):.2f} V, 50 C -> {v50:.2f} V")
escala_nivel(v50, v0)
escala_nivel(-0.010, 0.010)       # micrófono de +-10 mV
escala_nivel(0, 10)               # industrial 0-10 V
escala_nivel(-1, 1)               # señal de +-1 V
print(f"NTC: un escalón de 10 bits = {5000 / 1024:.2f} mV = {(5.0 / 1024) / ((v0 - v50) / 50):.3f} C por escalón (promedio)")

Compará con la tabla de la sección 03. La NTC directa usa el 51 % (9,0 bits) y diseñada, el 90 % (9,8 bits). Probá con un ADC de 3,3 V (vref=3.3) y un rango de 5 a 40 °C.

Paso 2: el filtro anti-alias, revisado

def atenuacion(f_hz, fc_hz):
    return 1 / math.sqrt(1 + (f_hz / fc_hz) ** 2)     # RC de un polo


def frecuencia_alias(f_hz, fs_hz):
    return abs(f_hz - fs_hz * round(f_hz / fs_hz))


def revisar(fs_hz, fc_hz, interferencias=(50, 150, 1000), amplitud_v=1.0, vref=5.0, bits=10):
    lsb = vref / 2 ** bits
    print(f"fs = {fs_hz} Hz, fc = {fc_hz} Hz (LSB = {lsb * 1000:.2f} mV, interferencia de {amplitud_v} Vpp)")
    for f in interferencias:
        a = atenuacion(f, fc_hz)
        resto = amplitud_v * a
        print(f"  {f:>5} Hz: atenúa {20 * math.log10(a):6.1f} dB, queda {resto * 1000:7.2f} mV "
              f"({resto / lsb:6.1f} escalones), aparece como {frecuencia_alias(f, fs_hz):.0f} Hz")


revisar(100, 48)       # fc = fs/2: la regla "ingenua"
revisar(100, 5)        # fc mucho menor que fs/2
revisar(10, 1)         # NTC lenta: el zumbido de 50 Hz cae justo en DC

El último caso es el más traicionero: con fs = 10 Hz, el zumbido de 50 Hz y todos sus armónicos se pliegan a 0 Hz. Probá revisar(13, 1): con una fs que no es divisor de 50, el zumbido cae en una frecuencia distinta de cero, donde el promedio sí lo elimina.

Paso 3: protección y paso 4: cuentas esperadas

def serie_minima(v_falla, i_max_a=0.001, v_clamp=5.3):
    return (v_falla - v_clamp) / i_max_a


for v_falla in (12, 24):
    print(f"Falla de {v_falla} V: serie mínima {serie_minima(v_falla) / 1e3:.1f} kΩ si solo hubiera diodos internos (1 mA); "
          f"con serie de 1 kΩ y clamp externo la corriente es {(v_falla - 5.3):.1f} mA")


def cuentas(v, vref=5.0, bits=10):
    return min(2 ** bits - 1, max(0, round(v / vref * 2 ** bits)))


print("Lecturas esperadas del ADC de 10 bits:")
for temp in (0, 25, 50):
    v = ntc_volts(temp)
    print(f"  NTC a {temp:2d} C: {v:.3f} V -> {cuentas(v)} cuentas")
for v in (0.0, 2.5, 5.0, 5.3):
    print(f"  {v:.1f} V en el pin -> {cuentas(v)} cuentas")

La NTC debe leer 789, 512 y 270 cuentas a 0, 25 y 50 °C. Si tu placa lee otra cosa a 25 °C, ya tenés la pista de qué eslabón revisar. Fijate que 5,3 V da 1023: el ADC satura, no se «rompe».

09 · Analogía de programador

Middleware de validación

El mismo oficio, en dos mundos.
En softwareEn el acondicionamiento
Normalizar los datos al rango que espera el modeloEscala y nivel: VADC = G·Vs + Vo
Dejar un margen en los límites de un tipo (no usar justo el máximo)El margen del 5 % en cada extremo del ADC
Un filtro pasa-bajos o una media móvil antes de muestrearEl RC anti-alias, previo al ADC
Sobremuestrear y promediar en lugar de filtrar finoMuestrear rápido y promediar N lecturas
Validación y sanitización de la entrada del usuarioSerie más clamp: el pin nunca ve lo que no debe
Pruebas con valores límite y casos esperadosVerificar con estímulos en los extremos y predecir las cuentas
Un rate limit en el borde del servicioEl filtro: deja pasar lo útil y atenúa lo rápido

Y la regla de oro es la misma: las defensas van en el borde, antes de que el dato entre. Corregir un valor corrido o un alias en el programa es como intentar arreglar con código lo que debió validarse en la puerta: a veces se puede, casi siempre sale caro.

10 · Comprensión

Confusiones frecuentes

«Conecto el sensor directo al ADC y listo»

Directo solo si entra en rango, es lento, la fuente tiene baja impedancia y no puede sufrir sobretensiones. Lo demás pide escala, filtro, buffer o protección: «directo» como valor por defecto es pereza.

«El filtro lo hago en software, después de digitalizar»

El aliasing entra antes y no sale con software: una vez muestreada, una frecuencia alta es indistinguible de una baja. El anti-alias es analógico y previo. En software se puede hacer el filtrado fino (promediar), no evitar el alias.

«Pongo fc = fs/2 y estoy cubierto»

Con un RC de un polo, en fs/2 apenas se atenuó 3 dB. Para atenuar de verdad hay que cortar mucho más bajo, sobremuestrear o usar más polos.

«Aprovechar el 100 % del ADC es lo ideal»

Un 90 % limpio supera a un 100 % recortado. Dejá colchón para ruido, deriva y tolerancias: lo que se satura se pierde sin aviso.

«Un clamp general alcanza para todas las entradas»

Cada entrada que toca el mundo exterior lleva su propia serie y su propio clamp. Un cable largo es una antena de picos; una protección «compartida» deja pasar los de cualquier otra.

«Si el multímetro marca bien, la cadena está bien»

El multímetro promedia y no ve ruido, zumbido ni picos. Hay que mirar el nodo con el osciloscopio y comparar las cuentas del ADC con las previstas.

11 · Práctica guiada

Ejercicios de cadena

Ejercicio 1: la NTC completa

Con escala_nivel(v50, v0): ¿cuánto del ADC usa la NTC directa? ¿Cuántos °C vale un escalón? ¿Qué cuentas lee a 37 °C (temperatura corporal)?

Ver solución razonada

Usa el 51 % del ADC (9,0 bits) y un escalón vale, en promedio, 0,1 °C. A 37 °C, ntc_volts(37) da 1,873 V, que son cuentas(1.873) = 384 cuentas. El valor está entre las 270 (50 °C) y las 789 (0 °C) esperadas.

Ejercicio 2: el micrófono

Un micrófono entrega ±10 mV de pico. ¿Qué ganancia y qué offset necesitás para un ADC de 5 V? ¿Y para uno de 3,3 V?

Ver solución razonada

Para 5 V: G = 0,9 × 5/0,02 = 225, offset +2,5 V. Para 3,3 V: G = 0,9 × 3,3/0,02 ≈ 148,5, offset +1,65 V. En ambos casos el micrófono pasa de ocupar el 0,4 % del rango a ocupar el 90 %.

Ejercicio 3: el sensor industrial

Un sensor entrega 0–10 V y el ADC es de 5 V. Elegí un divisor con valores E12, calculá la tensión máxima en el ADC, la corriente que consume y su resistencia de salida.

Ver solución razonada

22 kΩ arriba y 18 kΩ abajo: 4,5 V máximo. Consume 10 V/40 kΩ = 0,25 mA. Resistencia de salida: 22k ∥ 18k = 9,9 kΩ, en el límite de lo que tolera un ADC (Tema 10). Más serie 1 kΩ y clamp para sobretensiones.

Ejercicio 4: el RC no alcanza

Con fs = 1 kHz hay una interferencia de 1,3 kHz y 1 Vpp. Con fc = 100 Hz, ¿cuánto queda y a qué frecuencia aparece? ¿Qué fc haría falta para dejarla por debajo de un escalón (4,88 mV)? ¿Qué problema trae?

Ver solución razonada

Atenuación: 1/√(1 + 13²) = 0,0767 (−22 dB), queda 77 mV (≈ 16 escalones), y aparece en |1300 − 1000| = 300 Hz. Para 4,88 mV hace falta f/fc ≈ 205: fc ≈ 6,3 Hz, que recorta toda señal útil sobre esa frecuencia. Con un RC de un polo, o la señal útil es muy lenta, o hay que sobremuestrear o usar un filtro de más polos (Tema 24).

Ejercicio 5: la protección

Una entrada puede recibir hasta 24 V por error. Con clamp externo a 5,3 V y una serie de 4,7 kΩ, ¿cuánta corriente circula por el diodo externo? ¿Qué serie haría falta sin diodos externos, si los internos toleran 1 mA?

Ver solución razonada

Con serie de 4,7 kΩ y clamp: (24 − 5,3)/4,7k ≈ 4,0 mA por el diodo externo. Sin diodos externos: (24 − 5,3)/1 mA = 18,7 kΩ, que sumaría error y lentitud al ADC (Tema 10). El clamp externo permite una serie chica.

12 · Síntesis

Ideas para recordar

  • Cadena: escala → nivel → filtro anti-alias → protección → verificación; y, por detrás, la impedancia (Tema 10).
  • Escala y nivel son una recta: VADC = G·Vs + Vo. Para ocupar del 5 al 95 %: G = 0,9·Vref/(smax − smin).
  • Amplificar antes de digitalizar compra resolución: la NTC directa usa 9,0 bits efectivos; el micrófono, 2 bits; con ganancia, 9,8 bits.
  • El anti-alias es analógico y previo. Un RC de un polo en fs/2 atenúa solo 3 dB: cortá más abajo, sobremuestreá o usá más polos.
  • Cuidado con el zumbido de la red: si fs es submúltiplo de 50 Hz, se pliega a 0 Hz y queda como offset.
  • Protección por entrada: resistor en serie más clamp a los rieles; Rserie ≥ (Vfalla − 5,3 V)/Imax.
  • Verificar antes de programar: predecir cuentas, medir con estímulo y mirar el ruido en el nodo del ADC.

¿Listo para el Tema 10?

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

  • Nombrar los cinco eslabones y para qué sirve cada uno.
  • Calcular la ganancia y el offset para llevar un rango cualquiera al ADC.
  • Decir por qué un RC con fc = fs/2 no es un buen anti-alias.
  • Explicar cómo un zumbido de 50 Hz puede aparecer como un offset.
  • Dimensionar la serie de una protección para una falla dada.
  • Predecir las cuentas del ADC en los extremos de un sensor.

Cadena completa hasta el ADC. Ahora, el elefante que quedó en el aire: en el próximo tema, impedancias, y por qué el divisor solo no alcanza.