Problemas en la desconexión-conexión a la alimentación con relés nodemcu 74hc595

Buenas tardes,

tengo un problema con mi circuito, en el que tengo una placa nodemcu 1.0, un módulo de 8 relés y un integrado 74HC595 (aunque este último no creo que sea el problema).

Realizo la conexión entre nodemcu y relés (activación inversa), según se ha indicado en otra entrada del foro:

https://forum.arduino.cc/index.php?topic=602663.0

Y todo funciona bien.

El problema viene cuando desconecto y vuelvo a conectar el nodemcu a la alimentación (imaginaros un corte momentaneo de luz), los relés quedan en un estado de encendidos aleatoriamente durante el proceso de inicio hasta que en el setup lo coloco en un estado de apagado (11111111), pero para mi proyecto necesito que cuando se alimente estén apagados.

Me podríais ayudar con este tema?

No puedo avanzar mi proyecto si esto no me queda claro, al conectar la alimentación por usb de mi nodemcu los relés aleatoriamente se quedan encendidos.

Tambíén pasa con alimentación con fuente externa.

Cual ha sido el motivo de utilizar unos reles que se activan por nivel bajo??
Con reles que se activan por nivel alto ya tendrías solucionado el problema no??

Yo utilizo en módulo de 8 relés que se puede encontrar en cualquier página de electrónica (adjunto), se activan con el nivel bajo.

Y creo que el problema no es que esté. Al conectar todo se quedan los relés aleatoriamente activados, unas veces el 1,45,8 otras todos otras 2,4,5,etc.

Hi,
Pregunta: Tu usas el 74HC595 para alimentar los relays.

Podrías poner un esquema de tu conexión?
Has utilizado el Master Reset?? y el Output Enable??
Las salidas del 74HC595 las has conectado a pelo con la placa de reles??
Has pensado que cuando el 74HC595 arranca las salidas están un momento en alta impedancia, y que eso lo puedes solucionar con resistencias pull-up o pull-down según convenga??

Hola,

mi modulo de rele es de 8 pero pongo esquema para que se vea las conexiones con uno de 4, que para el caso es lo mismo.

La fuente externa proporciona un voltaje de 5 v.

La idea es controlar los 8 relés mediante 74hc595 porque probé con las salidas D0-D8 de nodemcu y algunas de ellas activaban el relé. Desistí.

La verdad que no conozco mucho 74hc595 y no sabía que cuando arrancaba se colocaba en alta impedancia un momento. Debe ser eso lo que falla.

¿Como debería colocar las resistencias y que valor debo darle para hacer funcionar este circuito?

Muchas gracias.

No veo la foto.

Hi,
Estoy de acuerdo con sereno porque en las especificaccions del 74595 menciona que los output si el /EO es alto o 5 voltios las salidas del 74595 van estar flotando. Aqui puedes hacer una pruebas y es de anadirle un condesador electrolitico de por lo menos de 5uf a 10uf. al pin de /EO. Esto lo que va a hacer es mantener en zero la senal del /OE en lo que el vcc se estabiliza y darle tiempo al micro para inicializar los puertos.
Pregunta: Como tienes alambrado el pin de /OE.

Edita tu foto para que sea visible.
Encuentro raro que utilices un 74hc595 para el propósito que necesitas, seguro es mas sencillo averiguar el problema de activación directamente con nodemcu.
Pero ya que lo tienes, tu mismo.
Empieza por poner una resistencia pull-up en cada una de las entradas de los reles, con 10K sería suficiente, pero para saber el valor exacto busca la corriente máxima que acepta el chip y la calculas tu mismo.
Estas resistencias pull-up mantendrán los reles apagados mientras el 74hc595 tiene las salidas en alta impedancia, hasta que tu nodemcu decida lo contrario.
Luego, controla el pin OE, también con una resistencia pull ? ? ?.
Como que ? ? ?, pues busca el datasheet y deduce si la resistencia es pull-up o pull-down, para mantener el pin a nivel alto o bajo, hasta que tu nodemcu le de la orden de activar las salidas.
Pásate por aquí para entender lo que es una resistencia pull-up/down.
Y podrías leerte el datasheet del 74hc585

Espero que se vea ya la imagen.

No me queda muy claro como poner la resistencia pull-up en mi circuito, un imagen vale mas que mil palabras, si pudierais ponerla.

Es que me lio y no se si los 5v los debe proporciona la salida Q0 del 74hc595, ¿y sino que papel hace esta salida?

Hi,
La resistencia de 10K se conecta con un lado de la resistencia a los 5 voltios del 74hc595 pin 16 y el otro lado se conecta al pin de la salida que quires darle pull-up. Por ejemplo la puedes conectar al pin 15 que es la salida del QA. Repite la operacion para los pines 1 al 7.

Hi,
El problema puede ser los relays que estas usando o que no estas condicionando el 74hc595 correctamente cuando re-inicializas el micro. Algunos relays se energizan con una senal de zero y otros con 5 voltios. Posiblemente sea el 74hc595 . Que nivel de voltaje pones el pin 13 cuando inicializas el micro. Debe de ser 5 voltios. Esto pones las salidas flotando. Unas vez que inicializes el micro mandas el comando para condicionar los relays y despues pones el pin 13 zero voltios. En cuanto al mcu creo que tienes un problema de inicializacion porque debes de poder usar el mcu directamente. Mi sugerencia es de que remuevas el 74hc595 y alambres directamente los relays al mcu. Trata de poner el modelo de tu modulo de relays para asi poderte ayudar mejor. Mejor haz una prueba y es de directamente conectas 5 voltios a uno de los relays y despues lo pones a ground y asi podras determminar como trabajan lo relays.

tauro0221 voy a intentar rehacer el circuito y intentar controlarlo desde el propio nodemcu, porque lo intente y sigue igual como dices, partiré del nodemcu y a ver que tal.

Tengo varios de este modelo: ESP8266 Nodemcu lua CP2102 ESP-12E Internet Wifi

En cuanto tenga un hueco lo monto de nuevo sin el integrado 74hc595 y os cuento.

Hi,
Ese es el mismo que yo uso y no tengo problemas. Ahora tienes que tener cuidado pues algunos pines no se pueden usar pues son dedicados en algunas funciones.Localiza el diagrama de tu MCU pues los hay de diferentes pinout. En el diagrama te dice cuales son los pines que puedes usar. No se si tiene los pines de tu micro. Adjunto un link para que puedas ver de que es lo que estoy mencionando.

Hi

Al final he decidido usar los pines de Nodemcu para conectar y controlar el modulo de 8 relés.

Aunque nodemcu tiene más de 8 pines para ponerlos como salida, no todos ellos me han servido (gracias tauro0221 por sus indicaciones)

Descartado los gpio 6, 7, 8, 11.

Descartado gpio 16 (D0) por que se activaba luz.

El gpio no se ahora mismo si el 0 o 2 también enciende la luz azul pero para mi caso me da igual sólo encendería un momento al activar el relé en concreto.

Yo defini

/*
#define pinCero  16      // Pin del Nodemcu D0
#define pinUno  5      // Pin del Nodemcu D1
#define pinDos  4      // Pin del Nodemcu D2
#define pinTres 0      // Pin del Nodemcu D3   
#define pinCuatro 2      // Pin del Nodemcu D4
#define pinCinco 14      // Pin del Nodemcu D5
#define pinSeis 12      // Pin del Nodemcu D6
#define pinSiete 13      // Pin del Nodemcu D7
#define pinOcho 15      // Pin del Nodemcu D8
#define pinNueve 9      // Pin del Nodemcu SD2
#define pinDiez 10      // Pin del Nodemcu SD3
#define pinOnce 1      // Pin del Nodemcu TX
#define pinDoce 3      // Pin del Nodemcu RX
*/

int pines[13]={16, 5, 4, 0, 2, 14, 10, 13, 15, 9, 1, 3, 12};

pero uso sólo estós:
D1 --> IN1
D2 --> IN2
TX --> IN3
D4 --> IN4
D5 --> IN5
SD3 --> IN6
D7 --> INT7
SD2 --> INT8

con esto consigo que cuando tome alimentación el nodemcu y los relés no se activen hasta que yo decida lo que haga con ello en el setup que es lo primero que se ejecuta.

Si alguien ha utilizado otros gpio distintos con el mismo resultado, no estaría mal comentarlo.

El único pero que veo es que en mis pruebas utilizo como fuente de alimentación:

"MB102 Breadboard Adaptador de adaptador de módulo de fuente de alimentación 3.3V / 5V para placa Arduino"

y creo que no tiene la suficiente potencia para mover los 8 relés juntos, con cuatro va bien pero más no. Para pruebas bien pero la solución definitiva será ponerle otra fuente de alimentacíón con mas amperaje.

Saludos.