fbpixel
Etiquetas: , ,
0
(0)

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.

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.

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.

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.

Aplicações

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

Fontes

How useful was this post?

Click on a star to rate it!

Average rating 0 / 5. Vote count: 0

No votes so far! Be the first to rate this post.

As you found this post useful...

Follow us on social media!

We are sorry that this post was not useful for you!

Let us improve this post!

Tell us how we can improve this post?