Lea el estado de un interruptor iluminado de 12v desde un Arduino Uno

0

Tengo un Arduino Uno, y quiero que pueda leer el estado de un "Interruptor Iluminado" de 12v de manera que permita que el interruptor se ilumine correctamente. Tengo una fuente de alimentación externa de 12v, 1.5A que puedo usar para encender el interruptor. El interruptor aparece como SPST, pero tiene tres conectores, debido al LED y la resistencia incorporados. Las tres conexiones son POWER, ACC y GND, y las dos primeras se cortan cuando se cierra el interruptor.

El Arduino tiene un modo de entrada digital llamado INPUT_PULLUP que habilita una resistencia pullup incorporada de 20k en una digital línea de entrada. Un interruptor típico que no se ilumina simplemente cortará el pin a tierra, y el software puede leer ALTO para abrir y BAJO para cerrar.

Esta es mi idea para leer el interruptor de 12v usando un transistor NPN, pero no soy un EE y no estoy seguro de a dónde van las resistencias o qué fuerza deberían tener. El transistor NPN que tengo a mano es un 2N222A (Vceo 40, Ic 600, disapación de potencia 625 mW), pero estoy abierto a intercambiar eso con otra cosa. Los resistores de los que estoy menos seguro. Creo que debería haber R1 entre ACC y la base, porque hay 12 V fluyendo cuando el interruptor está cerrado. Y también creo que necesito una resistencia de extracción R2 en la base. ¿Estoy en el camino correcto y, si es así, qué resistencia deberían tener R1 y R2?

El interruptor iluminado es un Radio Shack 275-0010, si necesita más detalles al respecto. Estoy buscando una respuesta que muestre una manera confiable y mínima de leer el estado de este interruptor en particular en el Arduino, incluidos los valores correctos para cualquier resistencia necesaria en el circuito. Gracias!

    
pregunta emackey

3 respuestas

1

Estás bastante en la pista, el valor de la resistencia no es realmente crítico aquí, puedes usar 10K para ambas resistencias, eso funcionará bien.

simular este circuito : esquema creado usando CircuitLab

Usted puede hacer un circuito equivalente a thevenin para las situaciones de interruptor abierto y cerrado, para el interruptor cerrado:

simular este circuito

Cuando presiona el interruptor, conducirá la base con alrededor de 1 mA, lo que debería hacer que el transistor conduzca el levantamiento de 20 K bajo muy cómodamente (en este caso, el transistor debería poder conducir hfe * ib a través del colector, que será de al menos cien mA)

Cuando sueltes el interruptor:

simular este circuito

Usted conecta la base a tierra a través de 10Kohm, asegurándose de que apaga el transistor. Bastante simple y eficaz.

    
respondido por el payala
1

Puedes usar este circuito aislado ópticamente:

Cuando recibe 12V en el lado izquierdo, el LED se ilumina y envía un ALTO al arduino GPIO. Cuando 12V no está allí, el LED está apagado y obtiene un BAJO en arduino GPIO.

Si la fuente de 12V tiene una GND separada, es mejor usarla en el lado izquierdo. Use GND común solo si ya existe una GND común entre arduino y esa fuente de 12V, para empezar.

El circuito R-C en el lado derecho se encargará de realizar el desalojo para que no tenga que hacerlo en su código. Si se siente cómodo con el código, puede deshacerse del condensador. También puede cambiar la resistencia de 390K a 10K.

    
respondido por el Whiskeyjack
1

Usted podría conectar directamente la GND del Switch (que es el extremo de tierra / cátodo del led) al transistor NPN que desee. Opcionalmente, si ve que la entrada está flotando o cambiando a menudo, agregue R (Opt), un menú desplegable para forzar el apagado del transistor, cuando el led / interruptor está apagado. La conexión a tierra del suministro de 12 V y la conexión a tierra del Arduino deben estar conectadas en algún punto. Si está alimentando el Arduino desde el suministro de 12 V, entonces ya lo están.

simular este circuito : esquema creado usando CircuitLab

Esto funciona, suponiendo que la corriente del LED sea un típico de 20 mA o menos.

¡Y el interruptor basculante utiliza un LED y no un incandescente en miniatura u otra bombilla!

Verá poca o ninguna reducción en el brillo del led. Una caída de 0.7V es apenas visible a 20 mA.

La fórmula para polarizar el transistor y polarizar un led es esencialmente la misma. Voltaje de la fuente menos el voltaje directo, dividido por la corriente directa (o resistencia)

  

(V Fuente - V F ) / I F

Con dos diodos, el diodo base y el led, agregue estos voltajes directos y, asumiendo una corriente directa de 20 mA, solo conecte los números. Si es rojo / naranja, suponga 2.1V, de lo contrario, 3.2V para azul / blanco / verde / etc.

  

(12V - (0.7V + ~ 2.1V)) / 0.02A = (12 - 2.8) / 0.02 = 9.2 / 0.02 = 460Ω
  (12V - (0.7V + ~ 3.2V)) / 0.02A = (12 - 3.9) / 0.02 = 8.1 / 0.02 = 405Ω

    
respondido por el Passerby

Lea otras preguntas en las etiquetas