01 · Punto de partida
El sensor solo no alcanza
Tu NTC da 1,15–3,68 V: entra directo a un ADC 0–5 V... pero con ruido de red, sin protección y desperdiciando rango. El acondicionamiento es la cadena de 5 eslabones entre el transductor y el conversor: escala, nivel, filtrado, protección y verificación. Cada eslabón es simple; juntos hacen robusto.
Este tema recorre la cadena con un ejemplo completo y deja el checklist para todos tus sensores.
- ¿Cuáles son los eslabones y en qué orden?
- ¿Cómo llevo mi sensor al rango 0–5 V?
- ¿Qué filtro previo necesita el muestreo?
- ¿Cómo protejo la entrada del micro?
02 · Cadena
Los 5 eslabones con ejemplo NTC
- 1Escala: entrar en rango.
NTC 1,15–3,68 V ya cabe en 0–5 V: sin atenuar. Un mic de 10 mVpp necesitaría ×500 (Tema 17).
- 2Nivel: centrar si hace falta.
Señal ±1 V se monta sobre 2,5 V de offset para ADC unipolar (cómo, en Tema 11 con acoplo).
- 3Filtro anti-alias.
RC con fc bajo la mitad del muestreo: muestreo 100 Hz → fc ≈ 48 Hz (3,3k + 1 µF).
- 4Protección.
Serie 1k + clamp a 5 V/GND (diodos o Zener 5,1 V): sobretensiones mueren acá, no en el micro.
- 5Verificación.
Multímetro en el nodo ADC: rango, rizado y respuesta al estímulo antes de programar.
03 · Escala y nivel
Llevar al rango 0–5 V
| Sensor da | ADC quiere | Solución |
|---|---|---|
| NTC 1,15–3,68 V | 0–5 V | Directo + filtro (ya entra) |
| Mic 10 mVpp | 0–5 V | Amplificar ×500 (Tema 17) |
| Industrial 0–10 V | 0–5 V | Divisor /2 + protección |
| Señal ±1 V | 0–5 V | Offset +2,5 V y escala (Tema 11) |
Regla de aprovechamiento: usar el máximo rango posible sin saturar. 1,15–3,68 V usa la mitad del ADC (9 bits efectivos de 10): aceptable; si necesitás más, amplificar y centrar (Temas 16–17).
04 · Filtro y protección
Anti-alias + clamp calculados
- Filtro RC previo
- fc = 1/(2πRC) bajo fs/2: con muestreo 100 Hz, fc ≈ 48 Hz (3,3k + 1 µF). Atenúa lo que el ADC no debe ver.
- Serie limitadora
- 1k en serie a la entrada: con clamp limita la corriente de falla a mA. Barata y obligatoria.
- Clamp a rieles
- Dos diodos (o Schottky) a 5 V y GND, o Zener 5,1 V a GND: recortan sobretensiones antes del pin.
- Verificación con estímulo
- Mano tibia en NTC, tapar LDR: la cadena responde punta a punta. Sin estímulo no hay test.
05 · Cadena en código
Diseñador de acondicionamiento
Entra rango del sensor y ADC: sale escala, filtro, protección y aprovechamiento:
Python en tu navegador. Diseñá tu cadena y ejecutá el veredicto.
import math
def acondicionar(vmin_sen, vmax_sen, adc_max=5.0, fs_hz=100.0):
usa = vmax_sen - vmin_sen
print(f"Sensor {vmin_sen}-{vmax_sen}V: usa {usa/adc_max*100:.0f}% del ADC")
if vmax_sen <= adc_max and vmin_sen >= 0:
print("Escala: DIRECTO (entra en rango)")
else:
print("Escala: ATENUAR/AMPLIFICAR (Temas 16-17)")
fc = fs_hz / 2
r, c_uF = 3300, 1 / (2 * math.pi * 3300 * fc) * 1e6
print(f"Filtro: fc={fc:.0f}Hz -> R=3,3k C={c_uF:.2f}uF (E12: 1uF)")
print("Protección: serie 1k + clamp a 5V/GND")
return usa / adc_max
acondicionar(1.15, 3.68)
acondicionar(0.01, 0.02, fs_hz=8000)
El mic (10–20 mV) usa 0 % del ADC: ¿qué ganancia pedirías? ¿Con qué etapa (Tema 17)?
Comparador de filtros
Elegir R y C para cada frecuencia de muestreo:
def filtro_para(fs_hz, c_uF=1.0):
fc = fs_hz / 2
r = 1 / (2 * math.pi * fc * c_uF * 1e-6)
print(f"fs={fs_hz}Hz fc={fc:.0f}Hz: R={r:.0f} con C={c_uF}uF")
return r
for fs in [10, 100, 1000, 8000]:
filtro_para(fs)
06 · Analogía programador
Middleware de validación
- 1Escala = normalizar.
Llevar input al rango esperado [0,5], como normalizar features antes del modelo.
- 2Filtro = rate limit.
Dejar pasar lo útil, atenuar lo rápido dañino: throttling frecuencial.
- 3Protección = validación.
Clampear y limitar antes de procesar: sanear input hostil del mundo físico.
07 · Exploración
Laboratorio: diseñar la cadena
Elegí el sensor: el laboratorio propone escala, filtro, protección y aprovechamiento del ADC.
Sensor → cadena
5 eslabones
NTC: directo, filtro 48 Hz, 51 % del ADC.
Preguntas para explorar
- ¿Por qué el mic pide amplificar y el NTC no?
- ¿Qué pasa si el industrial entra directo al ADC?
- ¿Qué eslabón falta si medís bien pero el micro lee basura?
Ver respuestas sugeridas
- Órdenes de magnitud: mV frente a voltios. El NTC ya vive en voltios; el mic necesita ×500.
- 10 V en un pin de 5 V: daño. Divisor /2 + clamp, siempre antes de conectar.
- Filtrado/aliasing o protección con fugas: lo medido analógico no llega igual al muestreo.
08 · Comprensión
Confusiones frecuentes
«Al ADC directo siempre»
Directo solo si entra en rango, es lento y está protegido. Lo demás pide escala, filtro o clamp: directo por defecto es pereza.
«Filtro después de digitalizar»
El aliasing entra antes y no sale con software: el anti-alias es analógico y previo, siempre (Tema 4).
«Protección una vez y listo»
Cada entrada con mundo real lleva la suya: copiar el bloque serie+clamp por canal, no “una general”.
«Aprovechar 100 % sí o sí»
51 % honesto supera a 100 % recortado: mejor usar mitad con margen que saturar picos. Rango con headroom.
09 · Práctica guiada
Ejercicios de cadena
Ejercicio 1: NTC completo
Con acondicionar(1.15, 3.68): ¿aprovechamiento? ¿Filtro para fs 100 Hz? Montá divisor + RC + serie y medí con estímulo.
Ver solución razonada
51 % del ADC, directo. Filtro 3,3k + 1 µF (fc 48 Hz) + serie 1k + clamp. Medir: calentar y ver subir 1,15 → 3,68.
Ejercicio 2: mic imposible directo
Con acondicionar(0.01, 0.02, fs_hz=8000): ¿usa cuánto? ¿Qué ganancia pide? ¿Qué filtro previo?
Ver solución
Usa 0,2 %: pide ×500 (Tema 17) y anti-alias fc < 4 kHz. Directo es tirar 99,8 % del ADC.
Ejercicio 3: industrial seguro
0–10 V a ADC 5 V con fs 1 kHz. Diseñá escala + filtro + protección con código y tablas. ¿R del divisor para no cargar la fuente?
Ver solución
Divisor /2 (20k/20k: carga 0,25 mA), fc < 500 Hz (ej. 3,3k + 100 nF ≈ 480 Hz), serie 1k + clamp. Fuente de 10 V ni se entera.
10 · Síntesis
Ideas para recordar
- Escala → nivel → filtro (< fs/2) → protección → verificación.
- Aprovechar rango con margen; directo solo si entra y es lento.
- Anti-alias analógico previo, siempre.
- Protección por canal: serie + clamp.
acondicionar()+filtro_para()en cada sensor.
Cadena completa hasta el ADC. Ahora, el elefante: en el próximo tema, impedancias y por qué el divisor solo no alcanza.