¿Entrada de interruptor de baja potencia con MCU interrupción de apagado / apagado?

0

Estoy intentando leer el borde descendente de la entrada lógica digital para activar un microcontrolador. A continuación se muestra el circuito que he utilizado. Hay un filtro RC para proporcionar un tiempo de rebote de ~ 5 ms, y una recuperación de 100K para que el circuito no use mucha energía mientras el interruptor está en estado de encendido. El interruptor puede estar en estado activo durante aproximadamente el 10% del tiempo de operación del circuito.

simular este circuito : esquema creado usando CircuitLab

El problema con mi circuito puede parecer obvio para algunos, pero parece que lo he pasado por alto; La entrada se baja rápidamente (se descarga) exactamente como la quería, pero se baja (se carga) muy muy lentamente debido a la recuperación de 100K.

No quiero que el circuito tarde mucho en cargarse (idealmente < 20ms), pero tampoco quiero que consuma mucha corriente cuando el interruptor está en estado de encendido. ¿Hay algún truco de ingeniería que pueda emplear para lograr estas dos cosas juntos? Supongo que es un problema clásico, pero no puedo encontrar ninguna solución.

    
pregunta Joe

3 respuestas

2

¿Por qué usas el flanco descendente para la interrupción? Por pequeño que sea, todavía tiene algo de corriente que fluye permanentemente a través del pull-up, lo que anula el propósito del modo de suspensión. Además, el pull-up hace que tu filtro RC esté ladeado.

De todos modos, tienes varias opciones. Primero, puede usar el interruptor SPDT que garantizará la misma sincronización para la carga y la descarga. Vea los primeros esquemas a continuación (BTW, funciona para cualquier borde).

Si desea seguir utilizando el flanco ascendente y el interruptor SPST, puede

  • use dos resistencias idénticas, pero desvíe una de ellas con diodo, lo que resultará en casi los mismos tiempos de subida y bajada (ajuste una de las resistencias para contrarrestar la caída de voltaje en un diodo, si lo desea), y
  • vuelva a calcular su RC para una alta resistencia y una capacitancia mucho más pequeña, para mantener constante la corriente de reposo durante el mismo tiempo, por ejemplo. Resistencias de 50k y capacitor de 0.1 µF.

    
respondido por el Maple
1

Por ejemplo, puede insertar una resistencia en paralelo con R1 solo durante el proceso de carga. Esto reduciría el tiempo de carga. Vea mi idea simple esbozada en la figura de abajo. En la operación normal, cuando el interruptor está abierto, el MOSFET del canal P se corta. Cuando el interruptor está cerrado y el voltaje en el condensador alcanza un valor bajo, el voltaje \ $ Vgs \ $ será negativo y si se vuelve más pequeño que \ $ Vgs_ {TH} \ $, hará que el mosfet conduzca e inserte La resistencia adicional en paralelo con R1. Los dejo con el dimensionamiento adecuado de las partes y la adición de cualquier otra.

EDIT:

Despuésderesponder:"... De hecho, podría ser un interruptor lateral alto ...", sugiero la siguiente modificación considerando la aplicación de baja potencia y el procesador debe activarse en caso de interrumpe Las ventajas:

  1. La resistencia superior no consumirá energía cuando el interruptor está abierto (por lo tanto, puede usar un valor más bajo como 10k, por ejemplo).
  2. El uso de un diodo Schottky (con un voltaje de avance más bajo) traerá un voltaje más alto al pin de interrupción de la MCU, algo bueno cuando la batería se agota o la tensión de alimentación es de 3 V, por ejemplo.

Advertencia: El divisor resistivo debe calcularse teniendo en cuenta los niveles de histéresis del pin GPIO para el MCU específico (para evitar falsas interrupciones o perder uno). Además, deshabilite la resistencia de pull-up interna.

    
respondido por el Dirceu Rodrigues Jr
0
  

Hay un filtro RC para proporcionar un tiempo de rebote de ~ 5ms

Deshazte de él. El MCU puede rebotar en el software.

Esto te permite bajar C1 a algo como 100nF , lo que produce un tiempo de carga mucho más corto.

Otra optimización podría ser las resistencias internas Pullup / pulldown dentro de la MCU, que se pueden apagar y volver a encender después de algún tiempo. Si bien esto retrasaría un evento de "botón arriba" (porque solo se puede detectar cuando el pullup está activado), no habría flujo de corriente en el estado pullup OFF (pulldown on).

    
respondido por el Turbo J

Lea otras preguntas en las etiquetas