Hackeo seguro de botón pulsador

1

Aquí hay un botón de empuje de objeto que necesita ser hackeado:

simular este circuito : esquema creado usando CircuitLab

No se puede acceder al circuito de objetos pirateados.

Desde el multímetro:

    El botón
  • se levanta con una resistencia de 10k (resistencia medida entre la alimentación de 5 V y la entrada del botón)

Quiero hackearlo con un MCU externo de 3.3V, tolerante a 5V en sus entradas. Mi objetivo es mantener el comportamiento real y:

  • leer el estado actual del botón
  • botón de control desde CPU externa

simular este circuito

La corriente máxima de sumidero / fuente en D0 es 12mA.

  • en D0 - GPIO como entrada - se lee el estado del botón
  • en D0: control de botón realizado configurándolo como salida con un nivel lógico bajo.

Aquí hay un sumidero / fuente de corriente:

----------------------------------------------------------------
|                         |        PB1 state
----------------------------------------------------------------
|DO Configuration  |Level |   OPEN           |   CLOSED
----------------------------------------------------------------
|     OUTPUT -     |HIGH  |   170µA          |   short circuit! 
|     OUTPUT -     |LOW   |   500µA          |   0
|INPUT PULLUP-     |HIGH  | 1,7/(10k+RPullUp)|   NA                 
|INPUT PULLUP-     |LOW   |   NA             |   3.3/RPullUp
----------------------------------------------------------------

Para evitar que el cortocircuito agregue una resistencia antes de que D0 sea seguro, pero con esa resistencia, en la entrada del circuito del objeto pirateado ahora hay un divisor de voltaje cuando D0 es bajo (y PB1 abierto). Agregar una resistencia de 680ohm mantiene a D0 lejos de la limitación de la corriente y ahora, cuando D0 es bajo y PB1 está abierto, el circuito de objetos pirateados tiene un nivel de 0.31. Cuando D0 está configurado como entrada, debo estar seguro de que D0 pullup resisor > > 680ohm

  • Entonces, ¿es seguro conectar este circuito solo con una resistencia? Arriba, supuse que la impedancia del circuito del objeto pirateado era fija (entrada de alta impedancia con resistencia de resistencia de 10k) ...
  • ¿Puede proporcionar y detallar algunos ejemplos de casos peligrosos?

saludos

    
pregunta rem

2 respuestas

1

Establezca D0 en '0' y nunca cámbielo. En su lugar, cambie la habilitación de salida (por ejemplo, PB1DIR o modo de pin (D0, SALIDA) cuando desee cerrar el interruptor.

Está limitado por la cantidad de resistencia que puede poner en serie y aún así obtener un valor lógico válido. Si se asegura de que sea inequívocamente un '0' y use 0.8V como umbral, entonces necesita que la resistencia sea inferior a 1k. Según su límite actual de 12 mA, tal vez una resistencia de 330 ohmios sería suficiente para ofrecer cierta protección y, al mismo tiempo, proporcionar un voltaje de salida razonable.

No creo que la resistencia sea necesaria para un funcionamiento correcto.

    
respondido por el W5VO
0

Para una configuración menos complicada, use dos pines y un transistor npn u optoacoplador.

D0 como entrada de alto Z. Usted podría agregar una resistencia limitadora de corriente en serie si quiere t, pero innecesaria. No se necesita Pull-up ya que el objetivo ya lo levanta.

D1 con una resistencia de 1k - 10k a la base NPN. El colector a la entrada de botón, y el emisor a tierra. Así que a través del botón, en paralelo.

Estado de lectura desde D0. Cambiar el estado de D1. No hay problema con el hundimiento de una corriente desconocida, no hay problema con el divisor de voltaje.

    
respondido por el Passerby

Lea otras preguntas en las etiquetas