Estoy trabajando con una pieza preexistente de hardware de consumo que tiene una salida GPIO de colector abierto, como se muestra a continuación:
El colector abierto puede generar hasta 100 mA.
Me gustaría cambiar un relé (un relé Sanyo tipo SRD con +, Señal y -; como este https://www.velleman.eu/products/view/?id=435570 ), con un circuito simple como este :
(Disculpas por el error de imagen, estoy usando los 5 V CC para los que está clasificado el relé como potencia)
¡Y estoy bastante sorprendido de ver que no funciona! Pensé que agregar una resistencia pull-up me permitiría cambiar el RelayInput
nodo a +5 V o 0 V al encender y apagar el GPIO. Estoy encontrando que el voltaje en ese nodo se mantiene constante (~1.8 V) independientemente de lo que haga con el GPIO. Estoy mucho más acostumbrado a trabajar con Open Drain / MOSFET y lógica digital, por lo que creo que me falta una idea crucial aquí basada en transistores y cómo la lógica será impulsada por corriente.
Intenté cambiar la resistencia pull-up a valores más bajos (1k y 4.7k) y el comportamiento es exactamente el mismo.
¿Puede alguien ayudarme a entender cuál es el problema aquí?
¡gracias!
Parece que te confundiste con la hoja de datos del relé. Tiene una bobina, que impulsa el contacto "central" del interruptor, y la corriente de la bobina es de aproximadamente 90 mA en condición "activada" (dentro de las especificaciones de su transistor). La bobina se alimenta con 5V para SRD-05VDC-SL-C, por lo que uno de los contactos de la bobina debe conectarse a la salida del colector abierto y el otro a +5V (no a +12V ) .
¿Estás seguro de que el pin GPIO es tolerante a 12V? Subirlo a +12V puede freír el transistor. De todos modos, está mal conectarse a +12V aquí de todos modos.
La bobina en sí servirá como "resistencia pull-up". Tres cosas a considerar: diodo flyback, probablemente una pequeña resistencia en serie con el relé si se necesita limitar la corriente, y disipador de calor para transistor (si es externo).
Mira este tutorial .
Luego, puede conectar cualquier cosa clasificada por la hoja de datos a los otros 3 contactos del relé (el interruptor).
Actualización: gracias por la información sobre la placa que se está utilizando (VMA406). Es una pena que no publiquen diagrama de circuito para el módulo; Puedo ver que ya contiene un diodo de retorno y un transistor de conducción con, muy probablemente, una resistencia en serie en la entrada.
Investigando para el diagrama del circuito encontré lo siguiente aquí :
Este es un diagrama de circuito incorrecto , ya que el diodo flyback está mal conectado. Aquí está el circuito correcto desde aquí :
Su problema con el colector abierto puede relacionarse con la resistencia en serie en el módulo: si elige un valor demasiado grande para la resistencia pull-up, formará un divisor de voltaje con la resistencia en serie y es posible que el transistor no funcione correctamente.
En realidad, NO necesita una salida de colector abierto para controlar el circuito de este módulo VMA406, ya contiene un circuito de colector abierto para usted. Puede conectar GPIO directamente a la entrada del módulo.
Necesita los siguientes cables al módulo desde la placa MCU de su controlador: tierra, +5 V y entrada lógica para operar el relé. Puede ver esta información en la hoja de datos del módulo en la sección "Descripción general".
Para reformularlo, usando mi salida de colector abierto, quiero poder aplicar +5V al pin de señal en la unidad de relé.
El VMA406 y sus componentes internos reciben alimentación de +5 V, no de +12 V. Levantándolo y encendiéndolo desde +12 V, puede dañar la placa de relés, o incluso el transistor de salida del módulo (no mucho debido al alto voltaje [el transistor tiene una capacidad nominal de 40 V], sino debido a la corriente [nominal a 200 mA]).
La hoja de datos indica que la entrada de control es 5 to 12 VDC
, y es extraño porque incluso CMOS tendría dificultades para tener exactamente una salida de 5 V con un suministro de 5 V, sin siquiera mencionar la lógica de Arduino.
Si no tiene un suministro de +5 V de su placa MCU, es mala suerte y no podrá usar el módulo de relé correctamente.
¿Será que el transistor interno está frito? Parece que tener una resistencia pull-up de 1k más o menos en el pin GPIO debería funcionar por lo que dices.
Puede verificar la salida del transistor usando un multímetro en modo voltop (signo de diodo) o simplemente midiendo el voltaje de salida con el pull-up adjunto.
Lo que haría en esta situación: tomar una puerta NOT (por ejemplo, CMOS 74HC04), encenderla desde +5V, conectar su entrada al 2N3904 con 4.7k pull-up a 5V y conectar su salida al pin de "señal" del módulo - y ver si mejorará la situación. Por supuesto, el comportamiento del relé se reflejará, pero mostrará si el módulo puede aceptar el 1 lógico del pin de señal (salida de HC04). Sospecho que estará cambiando correctamente. Si es así, puede reemplazar la puerta con LVC1G04 en el diseño final.
Alternativamente, puede quitar Q1 de la placa de relés y usar ese 2N3904 interno en su lugar (usando el segundo circuito del módulo como referencia, pero asegurándose de que la corriente del relé esté dentro de las especificaciones para el transistor y que haya suficiente disipación de energía para enfriarlo). En estado).
broma
pedro bennett
nathan lachenmyer
broma
broma
nathan lachenmyer
broma
nathan lachenmyer
NMF
nathan lachenmyer
jsotola
sinks
... no tienesource
corrientenathan lachenmyer