Etiquetas: , ,
4
(1)

El variador de tensión CA es un módulo que permite variar la potencia de una corriente alterna. Tiene el mismo uso que un transistor en corriente continua. Permite variar la luminosidad de una lámpara alimentada con 220V o variar la velocidad de un ventilador, por ejemplo. Vamos a ver cómo gestionar el variador de tensión de CA con un NodeMCU ESP8266.

Material

  • Ordenador
  • NodeMCU ESP8266
  • Cable USB A macho/micro B macho
  • AC Light Dimmer

Principio de funcionamiento

El variador de luz de CA consta de un triac (equivalente a un transistor de CC) y un detector de paso por cero de fase para sincronizar la variación de tensión y la fase de la corriente de CA.

Esquema

Según el esquema de cableado, el módulo se conecta a la red a través de la regleta AC-IN y la bombilla se conecta a la regleta LOAD. En la parte electrónica, los pines se conectan de la siguiente manera:

  • Vcc en el pin 5 o 3.3V del microcontrolador
  • GND a tierra GND del microcontrolador
  • Z-C al pin D1 (posibles pines D2,D5,D6,D7,D8)
  • PWM en el pin D2 (posibles pines D0,D1,D5,D6,D7,D8 )

Si estás usando varios variadores, los pines Z-C se conectan todos al mismo pin del microcontrolador (en nuestro caso D1). La biblioteca RBDdimmer utiliza algunos pines en particular, dependiendo del microcontrolador utilizado. Consulta la documentación de la biblioteca para ver qué pines puedes utilizar.

Tenga en cuenta: Cuando se utiliza una NodeMCU, hay diferentes versiones de estas placas con diferentes pinouts y etiquetas que a veces pueden tener errores. Pregunte a su proveedor y compruebe la documentación de su placa.

Código

Antes de programar su ESP8266 NodeMCU, asegúrese de que el gestor de placas está instalado en el IDE de Arduino. Para configurar el IDE, puedes seguir este tutorial.

Para utilizar el módulo AC Light Dimmer, utilizamos la biblioteca RBDdimmer.h. La biblioteca gestionará la sincronización entre la señal PWM, que establece la potencia, y la fase de la corriente alterna. Una vez importada la librería e inicializado el módulo, sólo tenemos que elegir el nivel de potencia entre 0 y 100%.

//Libraries
#include <RBDdimmer.h>//https://github.com/RobotDynOfficial/RBDDimmer

//Parameters
const int zeroCrossPin  = D1;
const int acdPin  = D2;
int MIN_POWER  = 0;
int MAX_POWER  = 80;
int POWER_STEP  = 2;

//Variables
int power  = 0;

//Objects
dimmerLamp acd(acdPin,zeroCrossPin);

void setup(){
//Init Serial USB
Serial.begin(115200);
Serial.println(F("ESP8266 System"));
acd.begin(NORMAL_MODE, ON);
}

void loop(){
  testDimmer();
}

void testDimmer(){/* function testDimmer */ 
////Sweep light power to test dimmer
  for(power=MIN_POWER;power<=MAX_POWER;power+=POWER_STEP){
    acd.setPower(power); // setPower(0-100%);
      Serial.print("lampValue -> ");
      Serial.print(acd.getPower());
      Serial.println("%");
    delay(100);
  }

  for(power=MAX_POWER;power>=MIN_POWER;power-=POWER_STEP){
    acd.setPower(power); // setPower(0-100%);
      Serial.print("lampValue -> ");
      Serial.print(acd.getPower());
      Serial.println("%");
    delay(100);
  }
}

Resultado

La luminosidad de la bombilla varía en función del valor de «potencia» enviado al módulo. Es bueno tener en cuenta que este módulo funciona con cargas regulables y funciona mejor con bombillas incandescentes. Yo uso una bombilla LED y la regulación funciona bien entre 6 y 40. Por debajo de 6, la lámpara se apaga, por encima de 6, no veo ningún cambio en la luminosidad y la bombilla se apaga por encima de 85.

Aplicaciones

  • Crea una interfaz web para controlar las luces a distancia.

Fuentes

¿De cuánta utilidad te ha parecido este contenido?

¡Haz clic en una estrella para puntuar!

Promedio de puntuación 4 / 5. Recuento de votos: 1

Hasta ahora, ¡no hay votos!. Sé el primero en puntuar este contenido.

Ya que has encontrado útil este contenido...

¡Sígueme en los medios sociales!

¡Siento que este contenido no te haya sido útil!

¡Déjame mejorar este contenido!

Dime, ¿cómo puedo mejorar este contenido?