5 votos

¿Es este un uso adecuado de un transistor PNP?

Estoy intentando utilizar un transistor para encender y apagar un SSR, que a su vez enciende y apaga un solenoide. Originalmente usé un transistor NPN (2N222), pero esto causó problemas cuando la MCU se reinicia, porque todos los pines de E/S están en alto. Mientras intentaba teorizar (usando mis conocimientos muy limitados en el área) sobre cómo podría usar un transistor PNP para encender/apagar los +5V que van a los transistores NPN, se me ocurrió que podría simplemente usar un PNP para conducir directamente el SSR. Esto evitaría el problema de reinicio, porque el transistor estaría "apagado" mientras la E/S se mantuviera en alto (¿verdad...?):

Salida de MCU conduciendo transistor PNP, conduciendo SSR

¿Es este un uso apropiado de un transistor PNP? ¿Es esta una solución válida (probablemente obvia para la mayoría pero ingeniosa para mí)?

Basándome en la respuesta de Russell, creo que no lo es (al menos, no como está dibujado aquí), porque la salida de la MCU es solo de 3.3V, no de 5V.

24voto

JW. Puntos 145

Si mal no recuerdo, la única complicación es que lo que has hecho invierte el 'sentido' de la entrada FEZ. Es decir, para encender el transistor, debes llevar la base del transistor PNP a GND. Más allá de eso, me parece una solución perfectamente válida.

5voto

aryeh Puntos 1594

La solución que propones es lo suficientemente buena como una solución básica siempre y cuando puedas garantizar que la salida FEZ permanezca alta en todo momento hasta que la configures en bajo. Esa es tu tarea determinar.

Agrega una resistencia de valor alto tm] de +5V al PNP-base para mantenerlo apagado cuando "FEZ" esté en circuito abierto. No hacer esto probablemente dará lugar a "sorpresas". 10k a 100k será suficiente.

Nota que como se muestra, FEZ debe subir casi a +5V para apagar el transistor. Tan solo estar 0.5V por debajo del riel (4.5V) puede llevar a encenderlo. Esto puede o no ser un problema dependiendo de la implementación del circuito del procesador / controlador. Lo que funciona aquí puede fallar en otro lugar si esto no se tiene en cuenta. Cambiar la resistencia de 10k a 100k arriba por ejemplo a 2k2 de base a emisor dividirá el voltaje de activación de manera que necesitas más voltaje negativo para que el transistor se encienda. Diseña según convenga.

El solenoide DEBE tener un diodo inverso en él si opera con CC para minimizar el pico reactivo al apagarse.

Como se muestra, tu SSR tiene una etapa de salida de TRIAC. Esto puede implicar una alimentación de CA o puede ser simplemente el símbolo que tenías disponible. Si de hecho es un solenoide accionado por CA, entonces puede que necesites o no "silenciarlo" para evitar problemas de energía reactiva, como en el caso de CC.

  • Si el optoacoplador se cambia con "cruce por cero" al encenderse y apagarse, puede que no necesites un "silenciador", aunque, con una corriente de carga altamente reactivo y el voltaje están casi a 90 grados fuera de fase y apagarse en un cruce por cero del voltaje aún resultará en un "golpeteo" inductivo.

  • Si el optoacoplador no se cambia con cruce por cero entonces necesitas un silenciador para disipar la energía reactiva. No puedes simplemente usar un diodo invertido ya que conducirá en cada segundo semiciclo (y habría "problemas!" :-) ). Un método es usar diodos zener de polaridad opuesta en serie, con voltajes zener al menos ligeramente por encima del voltaje pico del semiciclo de CA. Por ejemplo, para un accionamiento de bobina de 110 V CA, Vzener >= 110 x 1.414 >= 160 V. Digamos que zeners de 18 V. (terminal del solenoide 1 - cátodo del zener 1, ánodo del zener 1 - ánodo del zener 2, cátodo del zener 2 - terminal del solenoide 2).


Manejo del encendido

Mientras lo anterior resuelva el problema tal como se presenta, PUEDE que no resuelva el problema tal como ocurre en casos genéricos del mundo real, y posiblemente tampoco en este caso. Aquí nos hemos permitido ser "tomados como prisioneros" por lo que hace el procesador al inicio, en lugar de diseñar lo que queremos que ocurra. Si el procesador no hace exactamente lo que queremos, entonces nos vemos obligados a encontrar alguna otra solución alternativa.

Una alternativa es diseñar un circuito que esté garantizado de iniciar de manera adecuada. Esto muy probablemente no sea la solución más barata y simple y si vale la pena dependerá de la aplicación. No entraré en muchos detalles ya que hay muchas maneras en que esto puede hacerse.

Un ejemplo solamente. Se usa un controlador NPN. La base del transistor está conectada a un capacitor electrolítico a través de un diodo (posiblemente un diodo Schottky). El capacitor también está cargado a través de una resistencia desde Vcc. Al encender, el capacitor está en 0 V, por lo que la base del transistor se mantiene baja por el capacitor y el transistor no puede encenderse. El capacitor se carga a un nivel alto por la resistencia de Vcc y después de un período probablemente < 1 constante de tiempo Vcapacitor > 0.6V (ignorando el efecto del diodo) y el capacitor no tiene más efecto en la operación. Lo que ocurre al apagarse la energía necesita ser determinado.

Se pueden imaginar varias opciones. Por ejemplo, el capacitor podría ser controlado por un "pin adicional" y un número de controladores controlados juntos de esta manera. Esto podría ser usado como una "desactivación masiva" en cualquier momento a un costo adicional de un diodo Schottky por controlador.

Si esto u otro esquema vale la pena se debe determinar en cada caso.

Otra alternativa es cambiar la fuente que se usa para controlar los periféricos (como el SSR en este caso). Esto también se puede hacer con control de pin o mediante un retraso de RC. Muchas oportunidades para pensar y jugar.


Alimentación de 3.3V y otros problemas del mundo real

El optoacoplador MOC3010 requiere un voltaje directo máximo de 1.5V, por lo que la alimentación de 3.3V está bien.

Conecta el emisor PNP a 3V3 (si está disponible) y conduce como se comentó anteriormente.

Si hay interferencias aleatorias en la línea de entrada antes de que las cosas se estabilicen, entonces se requiere una de mis ideas de encendido o algo similar si se quieren evitar operaciones falsas.

Si el tiempo de respuesta no es un problema, o si un retraso de aproximadamente 0.5s es aceptable, entonces agregar un "capacitor de tamaño adecuado" a la base del transistor (ya sea PNP o NPN) retrasará la operación. Esto también ralentiza el tiempo de liberación, por lo que debes estar al tanto de los efectos generales.

Incluso si la operación sin un silenciador parece funcionar correctamente, recomendaría MUY ENÉRGICAMENTE que se utilice un silenciador, ya que "cosas suceden" y tarde o temprano es probable que alcances el voltaje pico de la red eléctrica 'justo así' y experimentarás un pico inductivo de considerable magnitud. En ausencia de un silenciador, el TRIAC en sí puede decidir activar y disipar la energía. Si lo hace de manera destructiva o simplemente se enciende para otro semiciclo está por determinarse. Esto no es el tipo de decisiones que quieres que tomen tus componentes en tu nombre. Un diseño confiable es un diseño que está (al menos) diseñado. Si pueden ocurrir cosas para las cuales no has diseñado, entonces puedes esperar que lo inesperado ocurra.

1voto

RelaXNow Puntos 1164

Sí, tu circuito está bien.

Aunque hay un pero: para mayor claridad, suele ser una buena idea dibujar esquemas con voltajes de alimentación de positivo a negativo de arriba hacia abajo. En otras palabras, tu circuito está correcto, pero me gustaría ver el transistor colocado verticalmente. El emisor en la parte superior conectado al suministro de +5V, el colector hacia abajo conduciendo el SSR y la base a la izquierda como lo tienes. Mi primera reacción fue que tu circuito estaba dañado hasta que noté los 5V en la parte inferior.

1voto

lillq Puntos 4161

Si te entiendo correctamente, el emisor del transistor está conectado a +5V, pero el microcontrolador es de 3.3V.

En general, no puedes hacer eso. Al hacer que la salida sea alta, seguirá pasando corriente a través de la base: (5V - 0.7V - 3.3V)/2200\$\Omega\$ = 450\$\mu\$A, lo cual sería suficiente para encender el SSR. Una solución sería cambiar el pin de E/S a entrada en lugar de hacerlo una salida alta, pero la mayoría de los controladores de 3.3V no son tolerantes a 5V.

Podrías reducir unos voltios desde la base colocando un par de diodos en serie, pero estos necesitan corriente para crear la caída de voltaje, lo que significaría que necesitas una resistencia a tierra, y luego tendrías tu problema original de nuevo: al iniciarse, la ruta transistor-diodos-resistencia a tierra conducirá, encendiendo el SSR.

Mi sugerencia sería volver a la solución NPN y asegurarse de que cualquier pull-up interno esté deshabilitado.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X