Sei sulla pagina 1di 3

PROJETOS CONTROLADORES DE POTENCIA COM ARDUINO

http://blog.eletronlivre.com.br/2010/09/dimmer-futuristico-automacao.html

Com o grande apoio do Paulo Carlos dos Santos, da empresa BR-o-BOT, desenvolvemos
um dimmer digital que pode ser facilmente acoplado no Arduino ou qualquer outra placa
controladora. O resultado é que você consegue controlar a intensidade de brilho de uma
lâmpada incandescente. Dependendo dos circutos que você colocar neste esquema,
você pode controlar um ventilador, chuveiro, ou fazer um ferro de solda com controle de
potência!

Os desafios propostos neste desenvolvimento foram bem interessantes e pessoalmente


foram verdadeiras aulas práticas de eletrônica e microcontroladores.

A primeira tentativa que fizemos utilizamos um isolador ótico simples e tentamos usar a
PWM para controlar a potência, mas o resultado com a lâmpada não deu certo: ela ficava
piscando. Então Paulo pesquisou e me passou uma solução mais trabalhosa mas que
funcionaria.

Neste novo esquema elétrico usamos dois isoladores óticos: 4N35 um MOC3021. O
primeiro é utilizado para detectar a passagem da corrente alternada por zero e
interromper o ATMega cada vez que isso acontecere, no caso do Brasil com 60hz, 120
vezes por segunda a corrente passa por 0. Neste momento é onde temporizamos a
abertura do TRIAC e simulamos o controle de potência. Veja o esquema elétrico:

Segue o código-fonte para Arduino. Você pode mudar a intensidade alterando o valor da
variável dim entre 1 e 120, sendo que 1 é o mais forte e 120 praticamente desligada. Este
1
programa permite alteração desta variável por I2C ou por Serial:

/*

#include
int AC_pin = 3;
volatile long dim = 60;

void setup(){
pinMode(AC_pin, OUTPUT);
Serial.begin(9600);
attachInterrupt(0, light, CHANGE);
Wire.begin(66);
Wire.onReceive(receiveEvent);
}

void receiveEvent(int howMany){


char comando[16];
int counter=0;
while(1 < Wire.available()) {
char c = Wire.receive();
comando[counter++]=c;
Serial.print(c);
}

int x = Wire.receive();
Serial.println(x);
Serial.println("Evento");
Serial.println(howMany);
//value, fromLow, fromHigh, toLow, toHigh)
dim = map(comando[1], 48,57,10,120);
}

void light(){
if(dim<125) {
long dimtime = (60*dim); // eval the proper pause to fire the triac
delayMicroseconds(dimtime); // delay the dim time
digitalWrite(AC_pin, HIGH); // fire the Triac
delayMicroseconds(1); // pause briefly to ensure the triac turned on
digitalWrite(AC_pin, LOW); // turn off the Triac gate (triac will not turn off until next zero cross)
} else {
digitalWrite(AC_pin, LOW); // turn off the Triac gate (triac will not turn off until next zero cross)
}
}

void loop(){
if (Serial.available() > 0) {
byte inByte = Serial.read();
dim = inByte; }
}

E na etapa seguinte integramos este circuito com o ping da Parallax para ter o controle de
intensidade "on the air". Bem, isso deixamos para um próximo post, por enquanto vai se
divertindo com este circuito!

Ah, em tempo, a lista de materiais para você comprar e montar:

2
- 4 resistores de 47K (R1 a R4)
- 1 resistor de 10k (R5) (se não tiver 1k e 10k não é eletrônica!)
- 2 resistores 330 (R6 e R7)
- TRIAC BTA16
- 1 isolador 4N35
- 1 isolador MOC3021

http://labdegaragem.com/forum/topics/controle-de-corrente-alternada-por-largura-de-pulso
http://automatobr.blogspot.com.br/2013_05_01_archive.html
https://efloyola.wordpress.com/2011/10/02/controle-triac-com-arduino-dimmer/
https://circuitar.com.br/projetos/forno-pid-edison/
http://profmentira.comunidades.net/controlando-motores-de-corrente-continua
http://mtc-m21b.sid.inpe.br/col/sid.inpe.br/mtc-
m21b/2014/09.02.16.31.35/doc/Peterson%20Augusto%20Ferreira.pdf?metadatarepository=&mirro
r=iconet.com.br/banon/2006/11.26.21.31
http://blog.eletronlivre.com.br/2010/09/dimmer-futuristico-automacao.html

Potrebbero piacerti anche