Anular la salida digital con un botón

2

Tengo un pin de salida digital Arduino conectado a una resistencia de 1k, luego conecté la base de un transitor 2N3904. De hecho, esa misma salida digital está conectada a varias resistencias - > base-de-2n3904. Cada transistor, a su vez, conduce un mosfet de canal p.

Me gustaría agregar un botón para anular la salida digital. Con eso, quiero decir que la salida digital está desactivada la mayor parte del tiempo, pero a veces está ENCENDIDA por un breve momento. Presionar el botón pulsador tendrá el mismo efecto que encender la salida digital.

No creo que pueda agregar simplemente un botón momentáneo entre la salida digital y + 5V, ¿puedo? Esto probablemente alimentará 5V directamente en el pin de salida. ¿Debería tal vez agregar una resistencia en serie con el botón? ¿Me arriesgo a freír el alfiler agregando el botón pulsador de esta forma?

simular este circuito : esquema creado usando CircuitLab

    
pregunta Etienne D.

5 respuestas

4

Podrías cambiar esto y hacer que la salida del Arduino sea de drenaje abierto, atada a +5 a través de una resistencia de 10K (R4). Deshágase de los tres transistores y conduzca las puertas de los MOSFET directamente desde el pin de salida. (Por cierto, no estoy seguro de por qué tiene tres transistores en paralelo; parece que podría ejecutar la salida de un transistor a todos sus MOSFET).

Ahora, establecer el pin de salida a tierra será lo mismo que encender los transistores en su circuito anterior (colectores conectados a tierra). La configuración del pin alto (triple estado para salidas de drenaje abierto) dejará las salidas en +5 debido a R4. Mientras tanto, si el interruptor ahora está conectado a tierra y está conectado directamente a las salidas (no R5), al presionar el interruptor también se reducirá la salida sin interferir con el pin de salida del Arduino, ya sea que se encuentre en un problema o en tierra. .

Sideseautilizarsucircuitoexistente,haciendolosmenoscambiosposibles,deberíapoderaislarelinterruptorylasalidadeArduinoutilizandosoloundiodo1N4148yagregandounaresistenciaatierra.(Sequitalaresistenciaenserieconelinterruptor).

    
respondido por el tcrosley
3

Esto es lo que estaba pensando en voz alta en los comentarios.

simular este circuito : esquema creado usando CircuitLab

El botón pulsador puede estar en paralelo al BJT sin problemas.

    
respondido por el jippie
2

La salida digital presumiblemente se activa de forma activa tanto en la dirección alta como en la baja. 10 kΩ a cualquier voltaje de 0-5 voltios no tendrá ningún efecto en él.

Hay una manera de hacer esto. Conecte la parte inferior de R5 directamente a la base de Q1, que significa en el lado derecho o R1. También haría R1 más alto. La carga del colector es de solo 10 kΩ, por lo que 10 kΩ en la base es lo suficientemente baja. R5 de 10 kΩ como lo tienes ahora debería funcionar.

Recuerde que la salida digital impulsará activamente el lado izquierdo de R1 durante la anulación del botón pulsador. Con R1 y R5 iguales, la mayor parte de la corriente a través de R5 irá a encender la resistencia ya que la base estará a aproximadamente 700 mV. Si R1 fuera mucho más bajo que R5, como lo tiene ahora, entonces la mayoría de los actuales a través de R5 durante la anulación pasarán a través de R1 y en la entrada digital en lugar de a la base de Q1.

Sin embargo, una mejor manera de hacer esto en general es conectar el botón a otra entrada del procesador y luego realizar la acción de anulación en el firmware. De esa manera, el firmware sabe que está sucediendo, el conmutador será rechazado y no tendrá que preocuparse por el uso compartido actual. El único inconveniente real es que toma otro pin de entrada. Siempre que tenga uno disponible, esta es realmente la mejor manera de resolver el problema.

    
respondido por el Olin Lathrop
1

No estoy seguro de si Jippie tenía algo como esto en mente, pero puedes usar un transistor "maestro" que controlará el resto de los transistores.

El transistor que he usado está en una configuración de seguidor de emisor (para evitar la inversión). Cuando la salida del AVR es alta, entonces el emisor emitirá aproximadamente 4.3v y activará los transistores de salida. Si se presiona el botón durante ese estado, solo alimentará los transistores de salida con 5v, lo que no hará una diferencia en la forma en que se usan (como interruptores).

Cuando la salida del AVR es baja, entonces el transistor estará apagado, pero el botón podrá anular y alimentar los transistores de salida con 5v.

simular este circuito : esquema creado usando CircuitLab

    
respondido por el alexan_e
1

Podría usar un botón momentáneo SPDT (o un botón de activación momentánea)

simular este circuito : esquema creado usando CircuitLab

Probablemente la forma más simple para un sistema existente.

O si debe utilizar un SPST momentáneo, un diodo y una resistencia adicionales lo harán realidad.

(Pero @tcrosley ya publicó la segunda solución, ¡así que mira su respuesta!).

    
respondido por el Spehro Pefhany

Lea otras preguntas en las etiquetas