Go Down

Topic: Problema con I2C al arranque del ESP8266 (Read 124 times) previous topic - next topic

ofuscao

May 20, 2019, 09:22 am Last Edit: May 21, 2019, 01:10 am by surbyte Reason: Las imagenes deben visualizarse. Lee las normas.
Hola, tengo el siguiente problema.

Tengo ya realizado un pcb con 16 reles conectados a dos pcf8574 y ellos a su vez a unos transistores y los transistores a sus correspondientes reles, el caso es que cuando se le da tensión al circuito hay medio segundo que los reles se encienden todos a la vez y luego se apagan, el apagado de los reles se realiza cuando empieza a leer el setup, no sé si por software se puede corregir ese fallo ya que tengo realizado el pcb y y sería una putada el hacer cambios en el.

Adjunto una muestra del esquema y otra muestra del código con el cual e hecho unas pruebas y me sigue pasando lo mismo, el código lo he realizado lo mas corto posible para probar que no sería fallo de mi programa.

Code: [Select]
#include <PCF8574.h>

PCF8574 pcf8574(0x24);

void setup() {
Serial.begin(115200);
pcf8574.pinMode(P4, OUTPUT);
pcf8574.begin();
delay(3000);
}

void loop() {
pcf8574.digitalWrite(P4,HIGH);
delay (100);
pcf8574.digitalWrite(P4,LOW);
delay(100);

}


Un saludo.


AcoranTf

Una posible solucion seria utilizar el MCP23008 de Microchip, que tiene un pin de reset, pero logicamente supondria rediseñar el PCB o chapucearlo para adaptarlo, ya que el patillaje no es compatible.

Saludos.

Kike_GL

BC847 con Ic = 100 mA y beta = 110 ?

Con 3V3 pretendes prender un led verde + base-emisor ? la corriente en base tendria que ser menos de 1 mA para saturar transistor.

Que tipo son los reles ?
Saludos, Kike_GL

ofuscao

Hola Kike, los reles que estoy usando son los siguientes omron G5V-2 5DC (5 V dc., Rated current 100 mA., Coil resistance 50 Ω.)

ofuscao

Hola AcoranTf, el problema no es pcf8574, este funciona bien, el problema es que mientras se inicia el esp 8266 no sé que orden le dá que también se activa pcf8574, al ser el problema al encenderse, no puedo hacer nada por programa (que yo conozca ), por eso realizo la consulta.

Me imagino que a lo que tú te refieres es a poner el pin reset en alto hasta que se inicie el esp8266 con algún pin que se ponga en alto cuando también se inicie el microcontrolador.

Si no me quedaría mas remedio lo aria, pero me tendria que rediseñar el pcb. 

harkonnen

El pcf8574 cuando arranca configura los pines como entradas, pero con una resistencia de pullup interna, que es la que te activa el rele hasta que en el setup configuras como salida. Lo mejor es que uses un transistor pnp y cambies para que el rele se active con low.

surbyte

#6
May 21, 2019, 01:17 am Last Edit: May 21, 2019, 01:21 am by surbyte
Yo tengo una pregunta : y claro que con el diario de mañana somos todos sabios.
No armaste por lo visto un prototipo cableado para conocer este comportamiento y tomar los recaudos pertienentes? Obvaimente no porque ahora te estas lamentando el detalle que te indica harkonnen.
No olvides hacerlo la proxima. Siempre prueba todo antes de hacer un PCB.

Ahora no entiendo porque algo tan rapido como un dispositivo I2C demore 500 mseg en cambiar a lo que tu esperas.
Porque no inviertes tu setup

Code: [Select]
void setup() {
       pcf8574.pinMode(P4, OUTPUT);
       pcf8574.begin();
       Serial.begin(115200);
       delay(3000);  
}


Y refrendando lo que harkonnen ha indicado lee esto link


tauro0221

Hi,
Las especificaciones del pcf8574 dicen lo siguente "At power on, the I/Os are high". En otras palabras vaz a energizar los relays tan pronto le aplicas la energia.

Go Up