O Dimmer Shield é um dispositivo criado para controlar a potência de determinadas cargas domésticas, por exemplo lâmpadas incandescentes ou fluorescentes dimerizáveis, um ventilador de mesa, entre outros.
O princípio de funcionamento desse dispositivo é detectar o ponto zero da onda senoidal da rede elétrica doméstica, e a ativação do Triac. Com uma lógica de programação inserida no microcontrolador Arduino e o Dimmer Shield encaixado, é possível controlar a potência de uma carga.
Quando é detectado o ponto zero, o pino D2 do Dimmer Shield ficará em nível alto (5 volts). De acordo com a programação, a porta digital D3 (pino D3) do microcontrolador é colocado em nível alto (ativado) para disparar o Triac por um determinado tempo, e desativado (nível baixo – 0 volt) posteriormente. Reativando novamente quando detecta o ponto zero.
A Figura 1 mostra os pontos zeros da senoide, representada pela “bolinha” verde.
Figura 1 – Onda senoidal com a representação do ponto zero
A Figura 2 mostra a onda sendo cortada em 50% do meio ciclo, representada pela cor verde, ou seja, será aplicado 50% de potência para a carga.
Figura 2 – Onda senoidal sendo cortada em 50% do meio ciclo
CUIDADO AO MANUSEAR O DIMMER SHIELD NA REDE ELÉTRICA, POIS PODE LEVAR CHOQUE, CUIDADO! Toda vez que for fazer alguma alteração no Dimmer Shield, retire-o da tomada.
Abaixo está o código utilizado no vídeo tutorial.
//André Kuhn - Automation
//Código para o Dimmer ser controlado pelos botões
int loadR = 3;
volatile int power = 100;
void setup()
{
pinMode(loadR, OUTPUT);
//Inicializa interrupção. O número zero indica a porta 2 do Arduino,
//zero_cross_int é a função que será chamada toda vez que pino 2 do Arduino,
//"subir" (RISING) de valor de 0 para 1.
attachInterrupt(0, zero_cross_int, RISING);
pinMode(4, INPUT);
pinMode(5, INPUT);
digitalWrite(4, LOW);
digitalWrite(5, LOW);
}
void loop()
{
if(digitalRead(4) == HIGH)
{
if(power <= 300)
{
power += 20;
}
delay(200);
}
if(digitalRead(5) == HIGH)
{
if(power >= 20)
{
power -= 20;
}
delay(200);
}
}
void zero_cross_int()
{
//Cálculo do ângulo de disparo: 60Hz -> 8,33ms (1/2 ciclo)
//(8333us - 8,33us) / 333 = 25 (aproximadamente)
int powertime = (25*(333-power));
if(powertime <= 325)
{
digitalWrite(loadR, HIGH);
}
else if(powertime >= 8325)
{
digitalWrite(loadR, LOW);
}
else if((powertime > 0) && (powertime < 8325))
{
//Mantém o circuito desligado por powertime microssegundos
delayMicroseconds(powertime);
//Envia sinal ao TRIAC para que ele passe a conduzir
digitalWrite(loadR, HIGH);
//Espera alguns microssegundos para que o TRIAC perceba o pulso
delayMicroseconds(8.33);
//Desliga o pulso
digitalWrite(loadR, LOW);
}
}
Com essa programação é possível ter 15 faixas de potências aplicadas na carga, as faixas são selecionadas pelas duas chaves tácteis inseridas na placa, que são os pinos digitais D4 e D5.
CUIDADO AO MANUSEAR O DIMMER SHIELD NA REDE ELÉTRICA, POIS PODE LEVAR CHOQUE, CUIDADO! Toda vez que for fazer alguma alteração no Dimmer Shield, retire-o da tomada.
O Vídeo 1 mostra o tutorial.
Segue abaixo o código para download: Dimmer_Arduino.zip, Dimmer_Arduino.ino
Comentar
Vc saberia me dizer se eu consigo utilizar este dimmer sem a necessidade de colocá-lo por cima do arduino? Tipo o arduino em um lugar e o dimmer em outro...
Boa tarde Leandro! Segue o link da loja do Dimmer Shield: Dimmer Shield. O link é
Pessoal, onde encontro este dimmer shield pra vender?
Boa noite Hugo Rocha!
O Dimmer Shield funciona em corrente alternada com tensão de 127 a 220 Volts.
A lâmpada LED que pretende controlar, provavelmente é de corrente contínua, com tensão máxima de 12 Volts.
Em breve postarei um tutorial, utilizando lâmpadas Fluorescente e LED Dimerizáveis, com tensão de funcionamento de 127 ou 220 Volts de corrente alternada.
Att.
André Kuhn.
Olá gostaria de saber se com esse shield posso controlar lâmpadas,led de 12v ou mais.
Qual é a voltagem de operação? Ex: 12~220v
Boa noite Aline Hubner!
Se você deseja controlar a luminosidade das 8 lâmpadas independentemente, terá que utilizar um Dimmer Shield com um Arduino para cada lâmpada.
Mas se deseja controlar a luminosidade das 8 lâmpadas por igual, é possível utilizar apenas um Dimmer Shield com um Arduino. Por exemplo, a saída do Dimmer Shield (Load), de vez conectar em apenas uma lâmpada, colocaria mais lâmpadas em ligação paralela.
Lembrando que tem que tomar cuidado, pois o triac do Dimmer Shield suporta corrente de até 4 Amperes!!!
Sobre a limitação do Arduino em utilizar apenas para controlar o Dimmer, não procede! Eu fiz um projeto de automação residencial do meu quarto, onde utilizei o Dimmer Shield, o Ethernet Shield e um relês (para ligar e desligar o som), onde controlava pelo meu celular via WiFi (ethernet local) e também pelos dois botões.
Em breve vou fazer mais um tutorial, sobre a automação do meu quarto!
Caro Roger Celestino, não é possível usar dois Dimmer Shield em um Arduino, pois a porta digital responsável pelo chaveamento do Triac não muda. Infelizmente será necessário utilizar dois Arduino.
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por
Você precisa ser um membro de Laboratorio de Garagem (arduino, eletrônica, robotica, hacking) para adicionar comentários!
Entrar em Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)