- Componentes necessários
- Trabalho de controle do ventilador AC usando Arduino
- 1. Detector Zero-Crossing
- 2. Circuito de controle do ângulo de fase
- 3. Potenciômetro para controlar a velocidade do ventilador
- 4. Unidade de geração de sinal PWM
- Diagrama de circuito
- Programação do Arduino para controle de velocidade do ventilador AC
ATENÇÃO!! O diagrama de circuito discutido neste projeto é apenas para fins educacionais. Esteja ciente de que trabalhar com tensão de rede de 220 Vca requer extrema precaução e procedimentos de segurança devem ser seguidos. Não toque em nenhum dos componentes ou fios quando o circuito estiver em operação.
É fácil ligar ou desligar qualquer eletrodoméstico usando um interruptor ou algum mecanismo de controle, como fizemos em muitos projetos de automação residencial baseados em Arduino. Mas existem muitas aplicações em que precisamos controlar a alimentação AC parcialmente, por exemplo, para controlar a velocidade do ventilador ou a intensidade de uma lâmpada. Neste caso, a técnica PWM é usada, então aqui vamos aprender como usar o PWM gerado pelo Arduino para controlar a velocidade do ventilador CA com o Arduino.
Neste projeto, demonstraremos o controle de velocidade do ventilador Arduino AC usando TRIAC. Aqui, o método de controle de fase do sinal AC é usado para controlar a velocidade do ventilador AC, usando sinais PWM gerados pelo Arduino. No tutorial anterior, controlamos a velocidade do ventilador DC usando PWM.
Componentes necessários
- Arduino UNO
- 4N25 (detector de cruzamento zero)
- Potenciômetro de 10k
- MOC3021 0pto-coupler
- (0-9) V, Transformador Stepdown 500 mA
- BT136 TRIAC
- Ventilador de CA Axial de 230 VAC
- Fios de conexão
- Resistores
Trabalho de controle do ventilador AC usando Arduino
O trabalho pode ser dividido em quatro partes diferentes. Eles são os seguintes
1. Detector de cruzamento zero
2. Circuito de controle do ângulo de fase
3. Potenciômetro para controlar a quantidade de velocidade do ventilador
4. Circuito de geração de sinal PWM
1. Detector Zero-Crossing
O fornecimento de CA que obtemos em nossa casa é de 220 V CA RMS, 50 HZ. Este sinal AC é alternado por natureza e muda sua polaridade periodicamente. Na primeira metade de cada ciclo, ele flui em uma direção, atingindo um pico de tensão e então diminui até zero. Então, no próximo meio-ciclo, ele flui na direção alternativa (negativa) para um pico de tensão e depois volta a zero. Para controlar a velocidade do ventilador CA, a tensão de pico de ambos os meios ciclos precisa ser cortada ou controlada. Para isso, devemos detectar o ponto zero a partir do qual o sinal deve ser controlado / cortado. Este ponto na curva de tensão onde a tensão muda a direção é chamado de cruzamento de tensão zero.
O circuito mostrado abaixo é o circuito detector de cruzamento zero que é usado para obter o ponto de cruzamento zero. Primeiro, a tensão de 220 Vca é reduzida para 9 Vca usando um transformador abaixador e é então alimentada a um optoacoplador 4N25 em seus pinos 1 e 2. O optoacoplador 4N25 tem um LED embutido com pino 1 como ânodo e pino 2 como cátodo. Então, de acordo com o circuito abaixo, quando a onda CA se aproxima do ponto de cruzamento zero, o LED embutido do 4N25 será desligado e, como resultado, o transistor de saída do 4N25 também será desligado e o pino de pulso de saída será ser puxado para 5V. Da mesma forma, quando o sinal aumenta gradualmente até o picoponto, então o LED liga e o transistor também liga com o pino de aterramento conectado ao pino de saída, o que torna este pino 0V. Usando esse pulso, o ponto de cruzamento zero pode ser detectado usando o Arduino.
2. Circuito de controle do ângulo de fase
Depois de detectar o ponto de cruzamento zero, agora temos que controlar a quantidade de tempo durante o qual a energia estará LIGADA e DESLIGADA. Este sinal PWM decidirá a quantidade de saída de tensão para o motor CA, que por sua vez controla a velocidade dele. Aqui é usado um TRIAC BT136, que controla a tensão CA, pois é uma chave eletrônica de potência para controlar um sinal de tensão CA.
TRIAC é uma chave CA de três terminais que pode ser acionada por um sinal de baixa energia em seu terminal de porta. Nos SCRs, ele conduz em apenas uma direção, mas no caso do TRIAC, a potência pode ser controlada em ambas as direções. Para saber mais sobre TRIAC e SCR, siga nossos artigos anteriores.
Conforme mostrado na figura acima, o TRIAC é acionado em um ângulo de disparo de 90 graus ao aplicar um pequeno sinal de pulso de porta a ele. O tempo “t1” é o tempo de retardo dado de acordo com o requisito de escurecimento. Por exemplo, neste caso, o ângulo de disparo é de 90 por cento, portanto, a saída de potência também será reduzida à metade e, portanto, a lâmpada também brilhará com meia intensidade.
Sabemos que a frequência do sinal AC é 50 Hz aqui. Portanto, o período de tempo será 1 / f, que é 20 ms. Para um meio ciclo, isso será de 10 ms ou 10.000 microssegundos. Portanto, para controlar a potência de uma lâmpada CA, a faixa de “t1” pode variar de 0 a 10000 microssegundos.
Optoacoplador:
Optocoupler também é conhecido como optoisolator. É usado para manter o isolamento entre dois circuitos elétricos, como sinais DC e AC. Basicamente, é composto por um LED que emite luz infravermelha e o fotossensor que a detecta. Aqui, um optoacoplador MOC3021 é usado para controlar o ventilador CA dos sinais do microcontrolador, que é um sinal CC.
Diagrama de conexão TRIAC e Optocoupler:
3. Potenciômetro para controlar a velocidade do ventilador
Aqui, um potenciômetro é usado para variar a velocidade do ventilador AC. Sabemos que um potenciômetro é um dispositivo de 3 terminais que atua como um divisor de tensão e fornece uma saída de tensão variável. Essa tensão de saída analógica variável é fornecida no terminal de entrada analógica do Arduino para definir o valor de velocidade do ventilador CA.
4. Unidade de geração de sinal PWM
Na etapa final, um pulso PWM é dado ao TRIAC de acordo com os requisitos de velocidade, que por sua vez varia o tempo ON / OFF do sinal AC e fornece uma saída variável para controlar a velocidade do ventilador. Aqui, o Arduino é usado para gerar o pulso PWM, que obtém a entrada do potenciômetro e fornece a saída do sinal PWM para o TRIAC e o circuito optoacoplador que impulsiona ainda mais o ventilador CA na velocidade desejada. Saiba mais sobre a geração de PWM usando Arduino aqui.
Diagrama de circuito
O diagrama do circuito para este circuito de controle de velocidade do ventilador de 230 V baseado em Arduino é dado abaixo:
Nota: mostrei o circuito completo em uma placa de ensaio apenas para fins de compreensão. Você não deve usar fonte de 220V AC diretamente na placa de ensaio, usei uma placa pontilhada para fazer as conexões, como você pode ver na imagem abaixo
Programação do Arduino para controle de velocidade do ventilador AC
Após a conexão do hardware, precisamos escrever o código para o Arduino, que irá gerar um sinal PWM para controlar o tempo ON / OFF do sinal AC usando uma entrada de potenciômetro. Anteriormente, usamos técnicas de PWM em muitos projetos.
O código completo deste projeto de controle de velocidade do ventilador Arduino AC é fornecido na parte inferior deste projeto. A explicação passo a passo do código é fornecida abaixo.
Na primeira etapa, declare todas as variáveis necessárias, que serão usadas em todo o código. Aqui, o BT136 TRIAC é conectado ao pino 6 do Arduino. E a variável speed_val é declarada para armazenar o valor do passo de velocidade.
int TRIAC = 6; int speed_val = 0;
Em seguida, dentro da função de configuração , declare o pino TRIAC como saída, pois a saída PWM será gerada por meio desse pino. Em seguida, configure uma interrupção para detectar o cruzamento por zero. Aqui, usamos uma função chamada attachInterrupt, que configurará o pino 3 digital do Arduino como interrupção externa e chamará a função chamada zero_crossing quando detectar qualquer interrupção em seu pino.
void setup () {pinMode (LAMP, OUTPUT); attachInterrupt (digitalPinToInterrupt (3), zero_crossing, CHANGE); }
Dentro do loop infinito, leia o valor analógico do potenciômetro que está conectado em A0 e mapeie-o para uma faixa de valor de (10-49).
Para descobrir esse intervalo, temos que fazer um pequeno cálculo. Anteriormente, foi dito que cada meio ciclo equivale a 10.000 microssegundos. Portanto, aqui o escurecimento será controlado em 50 etapas, que é um valor arbitrário e pode ser alterado. Aqui, os passos mínimos são tomados como 10, não Zero, porque os passos 0-9 fornecem aproximadamente a mesma saída de potência e os passos máximos são dados como 49, pois não é recomendado praticamente usar o limite superior (que é 50 neste caso).
Então, o tempo de cada etapa pode ser calculado como 10000/50 = 200 microssegundos. Isso será usado na próxima parte do código.
void loop () {int pot = analogRead (A0); dados int1 = mapa (pot, 0, 1023,10,49); speed_val = data1; }
Na etapa final, configure a função controlada por interrupção zero_crossing. Aqui, o tempo de escurecimento pode ser calculado multiplicando o tempo de etapa individual por no. de etapas. Então, após esse tempo de atraso, o TRIAC pode ser disparado usando um pequeno pulso alto de 10 microssegundos que é suficiente para ligar o TRIAC.
void zero_crossing () {int chop_time = (200 * speed_val); delayMicroseconds (chop_time); digitalWrite (TRIAC, HIGH); delayMicroseconds (10); digitalWrite (TRIAC, LOW); }
O código completo junto com um vídeo de trabalho para este controle de ventoinha AC usando Arduino e PWM é fornecido abaixo.