fbpixel
Etiquetas: , ,

O regulador de tensão AC é um módulo que permite variar a potência de uma corrente alternada, que tem a mesma utilização que um transístor em corrente contínua. Ele permite, por exemplo, variar o brilho de uma lâmpada alimentada em 220V ou a velocidade de um ventilador. Veremos como gerir o regulador de voltagem AC com um NodeMCU ESP8266.

ac-light-dimmer-module Utilizar um regulador de tensão AC com o ESP8266

Material

  • Computador
  • NodeMCU ESP8266
  • Cabo USB A Macho/Micro B Macho
  • AC Light Dimmer (regulador de luminosidade AC)
  • bulbo regulável

Princípio de funcionamento

O regulador de luminosidade AC consiste num TRIAC (equivalente a um transístor CC) e num detector de passagem por zero para sincronizar a variação de tensão com a fase da corrente alternada.

ac-light-dimmer-module-pinout Utilizar um regulador de tensão AC com o ESP8266

Esquema

Quanto ao esquema elétrico, o módulo é ligado ao setor através do bloco terminal AC-IN, e a lâmpada se conecta ao bloco terminal LOAD. Quanto à eletrônica, os pinos são ligados da seguinte forma:

  • Vcc no pino 5 ou 3,3V do microcontrolador
  • GND na terra GND do microcontrolador
  • Z-C no pino D1 (possíveis pinos D2,D5,D6,D7,D8)
  • PWM no pino D2 (possíveis pinos D0,D1,D5,D6,D7,D8 )

Se usar vários reguladores, os pinos Z-C serão todos ligados ao mesmo pino do microcontrolador (no nosso caso, o D1). A biblioteca RBDdimmer utiliza alguns pinos em particular dependendo do microcontrolador usado. Verifique a documentação da biblioteca para saber quais pinos podem ser usados.

nodemcu-esp8266-ac-dimmer-module_bb Utilizar um regulador de tensão AC com o ESP8266

Atenção: Existem diferentes versões da placa NodeMCU com diferentes pinouts e labels, que podem por vezes conter erros. Informe-se com o seu fornecedor e verifique a documentação da sua placa.

Código

Antes de programar o seu ESP8266 NodeMCU, certifique-se de que o gerenciador da placa está instalado na IDE do Arduino. Siga este tutorial para configurar a IDE.

Para utilizar o módulo AC Light Dimmer, usamos a biblioteca RBDdimmer.h. A biblioteca irá gerenciar a sincronização entre o sinal PWM, que define a potência, e a fase da corrente alternada. Depois de importar a biblioteca e inicializar o módulo, basta escolher o nível de potência entre 0 e 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

O brilho da lâmpada varia de acordo com o valor “power” enviado para o módulo. Vale observar que este módulo funciona com cargas dimerizáveis, e funciona melhor com lâmpadas incandescentes. Eu uso uma lâmpada LED, e o escurecimento funciona bem entre 6 e 40. Abaixo de 6, a lâmpada se apaga. Acima de 40, não percebo mudança no brilho, e a lâmpada se apaga acima de 85.

arduino-ac-dimmer-module-result Utilizar um regulador de tensão AC com o ESP8266

Aplicações

  • Criar uma interface web para controle de luzes à distância.

Fontes