Relé "congelado" pasado un tiempo

Hola.

Quiero desarrollar una aplicación para activar un conjunto de luminarias, para lo cual necesito comandar siete reguladores DALI: cuatro conectados a un relé (grupo I) y los otros tres conectados a sus respectivos relés (grupo II, III y IV). La intensidad máxima de cada regulador DALI es de 1A.

La carga máxima que soporta mi relé es de 2A, de modo que estos relés (a partir de ahora los llamaré "relés de control" alimentados a 5Vdc) son usados para alimentar otros relés ("relés de potencia" alimentados a 230Vac) cuya carga máxima aceptada es de 8A.

Ahora bien, al recorrer en mi programa de Arduino una lista de combinaciones para los relés, he observado que pasado un tiempo, en el grupo I sigue habiendo tensión cuando el relé debería estar en estado de reposo.

Los relés de control tienen una entrada de control (válgame la redundancia) de 5V (que sale de una GPIO de una Arduino UNO), cuyos contactos NO van a los terminales A2 de mis relés de potencia, que van a 230V; los cuales carecen de señal de control. Así, cerrando o abriendo el neutro puedo activar o desactivar estos relés de alterna. Estos últimos también utilizan el neutro de mis reguladores DALI (en contactos NO) para encender o apagar los reguladores.

Cabe decir que mis relés de control conmutan en LOW, es decir, son low level trigger.

Mi pregunta es: ¿por qué pasado un tiempo mido 230V entre fase y neutro de mis reguladores DALI en el grupo I, si de acuerdo a lo programado en mi Arduino, en ese momento debería estar sin tensión?

Adjunto el programa de Arduino:

#define GroupLed1Pin 4
#define GroupLed2Pin 8
#define GroupLed3Pin 10
#define GroupLed4Pin 11


struct Relay {
  int led1;
  int led2;
  int led3;
  int led4;
};

static Relay comb[16] = {
  { HIGH, HIGH, HIGH, HIGH },  // 0
  { HIGH, HIGH, HIGH, LOW },   // 1
  { HIGH, HIGH, LOW, HIGH },   // 2
  { HIGH, HIGH, LOW, LOW },    // 3
  { HIGH, LOW, HIGH, HIGH },   // 4
  { HIGH, LOW, HIGH, LOW },    // 5
  { HIGH, LOW, LOW, HIGH },    // 6
  { HIGH, LOW, LOW, LOW },     // 7
  { LOW, HIGH, HIGH, HIGH },   // 8
  { LOW, HIGH, HIGH, LOW },    // 9
  { LOW, HIGH, LOW, HIGH },    // 10
  { LOW, HIGH, LOW, LOW },     // 11
  { LOW, LOW, HIGH, HIGH },    // 12
  { LOW, LOW, HIGH, LOW },     // 13
  { LOW, LOW, LOW, HIGH },     // 14
  { LOW, LOW, LOW, LOW },      // 15
};


void setup() {

  pinMode(GroupLed1Pin, OUTPUT);
  pinMode(GroupLed2Pin, OUTPUT);
  pinMode(GroupLed3Pin, OUTPUT);
  pinMode(GroupLed4Pin, OUTPUT);

  digitalWrite(GroupLed1Pin, HIGH);
  digitalWrite(GroupLed2Pin, HIGH);
  digitalWrite(GroupLed3Pin, HIGH);
  digitalWrite(GroupLed4Pin, HIGH);
}

void loop() {

  for (int i = 0; i <= 15; i++) {
    setRelay(i);
    delay(10000);
  }
}

void setRelay(int iLed) {

  digitalWrite(GroupLed1Pin, comb[iLed].led1);
  digitalWrite(GroupLed2Pin, comb[iLed].led2);
  digitalWrite(GroupLed3Pin, comb[iLed].led3);
  digitalWrite(GroupLed4Pin, comb[iLed].led4);
}

Adjunto el diagrama de conexión:

Gracias por adelantado.

¿Qué tipo de relés son los relés de control?

Si lo tienes cableado tal cual el esquema, la UNO está mal alimentada.
La entrada Vin debe recibir al menos 6.5V porque es la entrada al regulador de 5V.
Si lo alimentas directamente con 5V entonces debes hacerlo por el pin 5V.

Imagino que los relés de control son los típicos módulos para arduino, de no serlo deberías agregar diodos en antiparalelo a sus bobinas.

A los relés de potencia, si ya no los traen, también deberías agregarle varistores apropiados (en este caso por trabajar en alterna no se usan diodos).

Hay un tema de hace unos pocos días en que se trata el tema.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.