Problema al cambiar el relé con el transistor desde el microcontrolador

5

Esta es la primera vez que publico aquí, así que espero que lo esté haciendo correctamente.

He construido un circuito que usa un FTDI-UMFT240XA conectado por USB. enlace

Básicamente, estoy enviando paquetes de información de 1 byte al controlador, que luego se usan para activar y desactivar los transistores, que luego activan y desactivan los relés. Estoy usando los pines de E / S de DATOS para enviar las señales lógicas a los transistores.

El problema que tengo es que cuando enciendo y apago el relé a través del circuito varias veces, encuentro que de vez en cuando, el microcontrolador simplemente se apaga. Esto solo parece suceder cuando introduzco el relé en el circuito. Puedo encender y apagar los LED sin ningún problema.

He intentado transistores MOSFET de NPN y N-Channel y ambos producen el mismo comportamiento. Lo tengo conectado de la siguiente manera:

  • Puerta (o base) del transistor conectada a la señal lógica digital (DATOS 0, una señal de 3.3V)

  • Fuente (o emisor) del transistor conectado a tierra

  • Drenaje (o colector) del transistor conectado al relé en paralelo con un diodo de retorno, ambos de los cuales se conectan a voltaje positivo (+ 5V)

La puerta también tiene una resistencia desplegable de 1M enganchada a tierra.

Al principio pensé que tal vez el bus USB no podía suministrar suficiente energía al circuito, y por lo tanto estaba apagado, sin embargo, este no parece ser el caso, ya que he quitado los dos puentes de soldadura en el chip y conectó una fuente de alimentación externa (usando un regulador de 5v y 3.3v en lugar de la alimentación USB, como se describe en la configuración autoalimentada en el pdf anterior)

La ÚNICA manera en que puedo evitar esta muerte del microcontrolador es conectando el DATA 0 a la compuerta con un diodo, en lugar de un cable recto o una resistencia. El problema con esto es que al conectar el circuito de esta manera, la tensión en la compuerta tarda mucho tiempo en descender lo suficiente como para apagar el transistor. (unos 5-7 segundos).

¿Me estoy perdiendo algo aquí? ¿Estoy usando uno de estos componentes incorrectamente?

EDIT:

No tengo un esquema, pero aquí hay un vistazo a la placa de pruebas con algunas etiquetas.

    
pregunta Harvtronix

3 respuestas

1

Después de realizar pruebas exhaustivas, he decidido que hacer el siguiente cambio solucionó este problema:

Use la utilidad de flash EEPROM para el chip (disponible en ftdichip.com) para aumentar la salida actual de los pines DATA desde 4mA a 8mA.

Creo que hubo momentos en los que se extrajeron más de 4 mA de la puerta / base MOSFET (o NPN BJT), lo que provocó que el chip reaccionara defensivamente cerrando los pines DATA.

El chip en realidad nunca perdió la conectividad USB, por lo que la mayoría del chip aún estaba encendido, pero los pines DATA (DATOS) se habían desconectado del actual sobregiro.

    
respondido por el Harvtronix
3

Como dice Matt, lo primero que salta es la necesidad de más capacidad.

Las placas de prueba son terribles para la inductancia / capacitancia dispersa, por lo que realmente necesita intentar mantener los cables lo más cortos posible, mantener las señales sensibles alejadas de las señales de mayor cambio de corriente / voltaje / rápido, y agregar un montón de bypass y capacitancia a granel alrededor del circuito .

Comenzaría con un par de electrolíticos > 100uF en cada riel de alimentación y cerca del FET, con algunas tapas cerámicas de 100 nF o más en los pines de alimentación de los circuitos integrados.

Otra cosa a tener en cuenta es utilizar un riel separado para el relé y enrutar el retorno a tierra por separado de la tierra de la unidad uC. Por supuesto, deben estar unidos, pero puede asegurarse de que el alto rendimiento de la corriente no fluya a través del terreno de la junta de Estados Unidos de esta manera.

    
respondido por el Oli Glaser
1

Todos los microcontroladores o cualquier otro controlador programable son una fuente de sumidero muy buena, no pueden generar mucha corriente, lo cual es esencial al impulsar componentes como un relé. Utilice los controladores actuales, como ULN2003 o IC, que pueden permitir tales cargas.

    
respondido por el user3063006

Lea otras preguntas en las etiquetas