Tengo un problema con un circuito que estoy construyendo.
He conectado un MCP23017 a un Odroid C1 a través de I2C con un convertidor de nivel. Y el MCP23017 está conectado a una placa de relé de 8 canales.
Lo que pasa es que si activo cada canal de forma independiente, funciona bien, pongo un temporizador para activar y desactivar 1 on 1 y funciona.
Pero si hago lo mismo sin desactivar el anterior, después de un tiempo aleatorio comienza a encender y apagar los relés que no son correctos, es como si el MCP23017 se volviera loco, así que si reinicio la aplicación funcionará bien de nuevo hasta que pase lo mismo.
Es como cuando el tablero de relés consume más energía, el MCP23017 se vuelve loco ... Intenté colocar un condensador de 47uF en los pines MCP23017 VDD-GND pero no lo reparó.
¿Alguna idea sobre qué puede estar causando el problema?
Gracias.
Editar: @Mike estoy usando este tablero de relés: EsteOdroidC1Esteconvertidordenivelparaquecoincidacon3v3I2CenOdroidcon5VenMCP23017:imagenencomentariosqueyanopuedoadjuntarEstoyusandounafuentedealimentaciónexternareguladaa5Vporesto:Imagenencomentariosqueyanopuedoadjuntar
Y,porsupuesto,elMCP23017.
HeconectadolospinesGPBdelMCP23017alospinesenlaplacaderelé.
AquíestáelPCBqueconstruíparaesto:
La idea es controlar múltiples cosas con esto. Pero estoy teniendo problemas con el tablero de relés de esa manera.
Si la secuencia es uno a uno, funciona sin problemas, si comienzo a encender algunos a la vez, se vuelve loco.
El tablero de relés funciona con GND en los canales, por lo que si configuro el pin en 1, se desactiva, si lo configuro en 0 se enciende.