Lea la señal de -110V con Arduino

0

Necesito un Arduino para reconocer un flanco descendente del pulso de +10 a -110 V. ¿Cuál es la mejor forma de hacerlo?

Mi mejor idea por ahora es usar un transistor NPN y hacer algo como esto:

simular este circuito : esquema creado usando href="https://www.circuitlab.com/"> CircuitLab

De esta manera, cuando tengo un + 10V en la entrada, el pin arduino está ALTO. Luego viene el pulso de -110V, el transistor se cierra y el pin se tira al suelo. Los valores de los resistores son arbitrarios. por ahora. Mis preguntas a los gurús de la electrónica son: 1) ¿Funcionará esto? 2) ¿hay una mejor manera de lograr lo que necesito?

Gracias!

    
pregunta Andrey Dyachenko

2 respuestas

2

Me temo que a su transistor no le gustará particularmente -110V en su base. Tampoco su transistor sigue siendo un dispositivo de conmutación, es mejor no tener una resistencia de emisor si desea una respuesta aguda y rápida, ya que querrá ser un seguidor de emisores en lugar de un conmutador.

Debes hacer algunas pequeñas adaptaciones, aunque tu pensamiento inicial es razonable.

Primero, querrá proteger el transistor para que no note gran parte del voltaje negativo, si es que agrega algo, agregando un diodo a la ruta de entrada:

simular este circuito : esquema creado usando CircuitLab

Si es + 10V, la resistencia R2 y D1 conducirán la corriente a la base de R1 y Q1, este será el caso hasta que la señal caiga por debajo de un valor aproximado de + 2V. Alrededor de 0 V de entrada, el diodo D1 comenzará a bloquearse, y hasta -110 V seguirá bloqueando, siempre que su ruptura sea más que la más negativa. El esquema muestra 150V + para indicar que 150V sería un buen mínimo para establecer un margen de seguridad.

La fuga inversa del diodo será manejada principalmente por R1, por lo que se puede suponer que la base está en o muy cerca del suelo, 0V.

Ahora, puede volver a colocar la resistencia en la ruta del emisor para mantener la señal positiva, pero el seguidor del emisor hará que sus opciones de resistencia en la entrada sean mucho más sensibles, por lo que es mucho más fácil usarlo como conmutador:

simular este circuito

De esta manera, hará un flanco muy agradable y agudo en o alrededor de una entrada de 2V, por lo que también tendrá un pequeño margen de ruido en la entrada, en caso de que lo necesite.

Por supuesto, su salida ahora está invertida, cuando la entrada es alta, la salida será baja, pero en la unidad de cambio también puede buscar un flanco hacia arriba, en lugar de hacia abajo. En Atmels, cualquier pin que puedas usar para buscar un flanco hacia abajo, también puede buscar un flanco hacia arriba con una configuración ligeramente diferente, cómo hacerlo con Arduino tendrás que mirar esas interfaces, no sé Arduino específicamente. Pero todos los Arduinos usan un chip Atmel.

Si usted mismo lo hace en el software mediante la comparación de valores, simplemente puede cambiar su reacción.

Si aún desea una respuesta 1: 1, puede agregar otro transistor:

simular este circuito

Cuando Q1 se enciende, tira de la base del PNP, Q2, baja y ese transistor se enciende, conduciendo hacia el R5, haciendo que la salida pase a la tensión de alimentación. Si Q1 está desactivado, la base de Q2 será elevada por R4 y se desactivará, lo que permitirá que R5 vuelva a bajar la salida.

    
respondido por el Asmyldof
0

Si de hecho está utilizando un 2N3904 con el circuito mostrado, probablemente apagará el transistor. El transistor puede manejar 6V de voltaje en la base del emisor, cuando tiene una señal de -110V, su voltaje EB será mucho más que eso. Sin embargo, si tuviera un transistor que pudiera manejar estos voltajes, entonces el circuito debería funcionar como usted quiere.

Sin embargo, no recomendaría usar este circuito, sin embargo. -110V es bastante alto (¿es esto de la red eléctrica?), Y si algo sale mal, podría dañar o destruir fácilmente su arduino. Considere usar un optoacoplador para aislar la línea de alto voltaje del arduino, puede hacerse en un circuito que no sea muy diferente al que ya tiene.

    
respondido por el justinrjy

Lea otras preguntas en las etiquetas