Componentes Electrónicos · Tema 28

Llaves a fondo

Corrientes que aguantan, rebotes que engañan y vida útil que se calcula: elegir la llave como un profesional.

01 · Punto de partida

El componente más subestimado

“Una llave es una llave” hasta que el táctil de 50 mA quiere conmutar un motor, el botón cuenta triple en el micro o la palanca barata muere al año. Contactos tienen corriente nominal, vida en ciclos y rebote: tres números que deciden cuál comprar.

Este tema completa lo iniciado en el curso 1 (Tema 19): ahora con ratings, rebotes y selección fina.

  • ¿Qué tipos existen y para qué?
  • ¿Qué significan los amperios impresos?
  • ¿Qué son los rebotes y a quién molestan?
  • ¿Cuántos años dura un botón?

02 · Tipos

Palancas, botones y fines de carrera

Familia de contactos mecánicos.
TipoRating típicoVidaUso
Palanca / slide3–10 A10–50k ciclosLlave general, potencia leve
Pulsador protoboard50–100 mA100k ciclosEventos, avance manual
Táctil SMD50 mA100–500k ciclosTeclados, paneles
DIP switch25–100 mA1–2k ciclosConfiguración (casi no se toca)
Final de carrera1–5 A1M+ ciclosLímites mecánicos (curso 8/12)

Regla de oro: nunca conmutar más del 50 % del rating en continua con carga inductiva. El arco en DC no se apaga solo (a diferencia de AC).

03 · Rebotes

Un clic, muchos contactos

Al cerrar, el contacto vibra 1–20 ms abriendo y cerrando: a ojo es un clic, para un micro a MHz son decenas de pulsaciones. Soluciones: software (ignorar 20–50 ms tras el flanco, curso 5/7), RC (10k + 100 nF ≈ 1 ms + Schmitt, curso 4) o lógica (flip-flop SR con conmutador, curso 6).

Software 20 ms+RC 10k/100nF+SR con inversor

Al LED no le importa

Ojo lento

20 ms de repiques son invisibles: el LED parece encender una vez. En este curso, ignorar es válido.

Al micro sí

Cuenta de más

Cada rebote es una interrupción: el contador suma 5–20 por clic. Debounce obligatorio (cursos 5 y 7).

04 · Selección

Árbol en 4 preguntas

  1. 1
    ¿Qué corriente conmuta?

    Por debajo del 50 % del rating en DC. Táctil de 50 mA jamás con relés o motores directos.

  2. 2
    ¿Mantiene o momentáneo?

    Estado → interruptor; evento → pulsador NA (NC para parada segura). No intercambiar roles.

  3. 3
    ¿Cuántos ciclos vivirá?

    Ciclos/día × 365 × años vs. nominal con margen ×2. Botón de uso diario pide 100k+.

  4. 4
    ¿Ambiente y tacto?

    Polvo/humedad (IP), fuerza de actuación y viaje: lo ergonómico también se especifica.

Corriente→rol→vida→ambiente

05 · Vida y debounce en código

Años de botón y filtro RC

Convertir ciclos nominales a años de uso real, y dimensionar el RC anti-rebote:

Python en tu navegador. Calculá la vida de tus botones y tu filtro.

def vida_util(ciclos_nominales, usos_por_dia):
    dias = ciclos_nominales / usos_por_dia
    print(f"{ciclos_nominales} ciclos a {usos_por_dia}/día -> {dias/365:.1f} años")
    return dias / 365


def debounce_rc(r_ohm=10000, c_uF=0.1):
    # tau como orden del filtrado (regla: 5tau > 20 ms de rebote)
    tau_ms = r_ohm * c_uF * 1e-6 * 1000
    print(f"RC {r_ohm}/{c_uF}uF: tau={tau_ms:.1f}ms, 5tau={5*tau_ms:.0f}ms",
          "OK" if 5 * tau_ms >= 20 else "CHICO: subir R o C")


vida_util(100000, 50)
debounce_rc()

Probá vida_util(10000, 20) (DIP switch como botón): ¿cuánto dura? ¿Por qué no sirve?

Comparador de candidatos

Elegir entre pulsadores por corriente y vida:

def elegir_llave(cands, i_mA, usos_dia):
    for c in cands:
        ok_i = i_mA <= c["imax_ma"] / 2
        anos = c["ciclos"] / usos_dia / 365
        print(f"{c['codigo']}: corriente {'OK' if ok_i else 'NO'} | vida {anos:.1f} años")
    ok = [c for c in cands if i_mA <= c["imax_ma"] / 2]
    print("ELEGIDO:", min(ok, key=lambda c: c["precio"])["codigo"] if ok else "NINGUNO")
    return ok


elegir_llave([
    {"codigo": "TACTIL", "imax_ma": 50, "ciclos": 200000, "precio": 8},
    {"codigo": "PULS-PB", "imax_ma": 100, "ciclos": 100000, "precio": 12},
    {"codigo": "PALANCA", "imax_ma": 3000, "ciclos": 30000, "precio": 60},
], 80, 30)

06 · Analogía programador

Eventos con debounce

  1. 1
    Rebote = evento duplicado.

    Como clicks múltiples por doble handler: se filtran por tiempo (debounce 20 ms), no por fe.

  2. 2
    Rating = SLA.

    Operar al 50 % es headroom: el contacto vive lo prometido y más.

  3. 3
    Vida = MTBF.

    Ciclos/día a años: planificar el recambio como se planifica el hardware.

07 · Exploración

Laboratorio: ¿qué llave pide el trabajo?

Elegí el trabajo: el laboratorio recomienda tipo, verifica corriente y vida, y marca la trampa de elegir mal.

SELECTOR 28

Trabajo → llave

I + uso → tipo

TipoPulsador NA protoboard
Rating / vida100 mA / 100k
DebounceOjo basta (LED)
TrampaTáctil 50 mA justo

Avance manual: pulsador NA de protoboard.

Preguntas para explorar

  1. ¿Por qué el teclado pide táctiles y no pulsadores de protoboard?
  2. ¿Qué llave usarías para 3 A y por qué no un táctil?
  3. ¿Cuándo el debounce pasa de opcional a obligatorio?
Ver respuestas sugeridas
  1. Perfil bajo, tacto definido y vida 200k+: 16 protoboard no entran ni duran igual. Forma sigue a función.
  2. Palanca de 3–10 A (al 50 % = 1,5–5 A de uso): el táctil se suelda/funde con 3 A.
  3. Cuando cuenta un micro (cursos 5/7): con LED a ojo, nunca. El lector define la exigencia.

08 · Comprensión

Confusiones frecuentes

«Todos los botones bancan lo mismo»

50 mA un táctil, 10 A una palanca: factor 200. Leer el rating impreso antes de conmutar cargas.

«Rebote es mito de firmware»

Es física de contactos (1–20 ms medibles con osciloscopio). El firmware lo sufre, no lo inventa.

«NA y NC dan igual»

NA cierra al apretar (normal), NC abre (seguridad). Intercambiarlos invierte la lógica y el fail-safe.

«DIP switch como botón diario»

1000–2000 ciclos: a 200/día muere en meses. Configuración casi fija, no interfaz de usuario.

09 · Práctica guiada

Ejercicios de llaves

Ejercicio 1: vida del avance

Con vida_util(100000, 50): ¿años? ¿Y con 200/día? ¿Alcanza para un juguete?

Ver solución razonada

5,5 años a 50/día; 1,4 a 200/día. Para juguete sobra; para equipo diario justo: pedir 500k+ o palanca.

Ejercicio 2: RC anti-rebote

Diseñá RC con 5τ ≥ 20 ms. Con debounce_rc() probá 10k/100 nF y elegí valores que cumplan. ¿Cuál?

Ver solución

10k×100 nF: τ = 1 ms, 5τ = 5 ms: chico. Con 100k: 5τ = 50 ms ✓ (o 10k + 1 µF). Regla cumplida con margen.

Ejercicio 3: mapear 4 patas

Pulsador de protoboard sin hoja: hallá los pares con continuidad y explicá por qué son 4 patas para 2 contactos.

Ver solución

Pares opuestos conducen siempre (misma chapa); adyacentes solo apretado. 4 patas = 2 pares duplicados para calzar firme, no 4 contactos.

10 · Síntesis

Ideas para recordar

  • Rating al 50 % en DC; NA evento, NC seguridad; vida en años con margen.
  • Rebote 1–20 ms: ojo con LED, debounce con micro (soft/RC/SR).
  • 4 patas = 2 pares duplicados: mapear con continuidad.
  • DIP para configurar, táctil para teclados, palanca para potencia leve.
  • vida_util() + debounce_rc() + elegir_llave() en cada botón.

Llaves con criterio total. Ahora, los que sienten: en el próximo tema, sensores, familias y salidas.