Controle PID de Potência em Corrente Alternada - Arduino e TRIAC - Parte I

Este post é o primeiro de uma série de seis que escrevi tratando de controle de potência e PID (controle proporcional, integral e derivativo) com o Arduino.

Os posts são os seguintes:

Controle de Pot. em CA - PID, Arduino e TRIAC - Parte I
Controle de Pot. em CA - PID, Arduino e TRIAC - Parte II
Controle de Pot. em CA - PID, Arduino e TRIAC - Parte III
Controle de Pot. em CA - PID, Arduino e TRIAC - Parte IV
Controle de Pot. em CA - PID, Arduino e TRIAC - Parte V
Controle de Pot. em CA - PID, Arduino e TRIAC - Parte VI

Quem estiver interessado em controle de potência por ângulo de fase pode ler só a parte correspondente (posts I, II e III). Quem quiser aprender sobre PID deve ler a série toda, para poder entender os exemplos da parte de PID.

Procurei descrever de forma simples ambos os processos, mas usando a terminologia correta que se usa em Engenharia de Controle e Automação. Acho esses tópicos dos mais importantes em mecatrônica, e na net não tem muita coisa em português. Mesmo em inglês não tem material prático e que ao mesmo tempo explique a teoria por trás desses tópicos. Boralá?

Um grupo de alunos da FATESF me procurou para ajudá-los com um trabalho muito interessante na área de controle. Como o processo envolvia controle de temperatura de uma resistência ligada em 220V, resolvi estudar a ideia de como controlar potência com o Arduino.

Para se controlar corrente alternada, temos duas alternativas:

- A primeira seria colocar um relé ou algo parecido que ligasse e desligasse a energia na resistência comando pelo Arduino. Esse tipo de controle, bem simples, deveria funcionar para controle de temperatura.  É o tipo de controle da geladeira: o motor (compressor) é ligado sempre que a temperatura sobre acima de um determinado valor e desliga quando a temperatura cai abaixo de outro valor.
Como no caso do projeto a ideia é controlar uma resistência (que foi adaptada de um chuveiro, inclusive), esse controle tipo relé daria pro gasto, eu acho. Mas como é um TCC, foi indicado pelo professor que se utilizasse uma forma de controle mais sofisticada: o chamado Controle Proporcional-Integral-Diferencial, ou PID para os mais chegados.

- O PID é basicamente o que a gente faz com o chuveiro da casa da gente quando está fazendo frio, o que aliás é o caso por esses dias aqui em São José dos Campos: se a água tá fria a gente fecha um pouco a torneira e ela esquenta mais, se fica quente demais a gente abre a torneira, tentando manter a temperatura num valor confortável (o "set point", na linguagem técnica).  Ou seja, nesse caso, em vez de ficar desligando e ligando a resistência do chuveiro a gente fica tentando ajustar o fluxo de água de maneira que seja atingido o equilíbrio próximo ao set-point. Normalmente a gente consegue, ou seja, conseguimos achar um ponto de equilíbrio entre a quantidade de água que entra no chuveiro e a temperatura da água na saída. Aí o banho rola sossegado.
Eventualmente a gente fica o banho todo abrindo e fechando a torneira, o "relógio cai" (disjuntor desarma, em engenheirês) e a gente passa aperto etc. Isso pode acontecer com esse tipo de controle quando ele não está bem ajustado ou as condições para o controle são muito adversar (por exemplo, o dia está muito frio).

Para implementar isso precisamos de um mecanismo de controle que nos permita variar a quantidade de energia enviada à resistência, de maneira a variar a taxa de aquecimento dela, ou seja, a rapidez com que ela vai esquentar (e a temperatura que irá atingir) precisam ser devidamente controlados.

Ocorre que o fato da resistência ser ligara à rede de distribuição de energia (220V em SJC), traz as seguintes implicações.

1) IMPORTANTE: A TENSÃO DE  220V MATA! Se vc resolver, a partir das informações que leu aqui montar um circuito igual ou semelhante, preste muita atenção ao que for fazer, e peça ajuda a profissionais mais experientes caso não se sinta confortável com o desafio. Se ocorrer algum acidente vc pode se machucar seriamente, e certamente vai danificar algum equipamento que já estiver ligado ao circuito (incluindo o seu computador).
O circuito que eu vou sugerir é seguro, tem opto-acopladores para isolar a parte de potência (onde rolam os 220V) da parte de controle, onde estarão conectados o Arduino e consequentemente o seu PC, ou seja, fazendo com o devido cuidado não deverá haver surpresas.

2) Além da tensão ser alta, ela é CA (corrente alternada). Isso complica um bocado o mecanismo de controle. Par entender como vai funcionar a bagaça, precisamos de um pouco de teoria.



No gráfico acima, temos a relação entre o tempo e a tensão em corrente alternada. Dá prá ver que a tensão fica variando, num mesmo fio, entre +220V e -220V, passando por 0V no meio do caminho. Isso significa, grosso modo, que a tensão se alterna entre "indo e voltando" pelo fio. O caminho percorrido de 0V até o próximo 0V corresponde a meio ciclo, ou seja, duas passagens pelo eixo X compõem um ciclo.

No rede elétrica brasileira esses ciclos acontecem 60 vezes por segundo. Por isso se diz que a frequência da  corrente alternada no Brasil é de 60 ciclos/segundo, ou 60 Hertz (Hz).

O que tem isso a ver com o nosso projeto? É que, para controlar efetivamente a energia enviada à resistência (ou qualquer outra carga, uma lâmpada, por exemplo), temos que cortar, proporcionalmente ao controle que queremos fazer, um "pedaço" da onda. Veja nas fotos abaixo. Elas foram tiradas da tela de um osciloscópio, que é um equipamento que permite que a gente examine a forma de onda de pontos de um circuito elétrico.


Essa é a onda completa, ou seja, quase como vem na tomada de energia das nossas casas. Ela tem uma pequena flutuação perto do zero (que não ocorre na energia da concessionária, só dentro desse tipo de circuito), depois eu explico porque.


Aqui vc vê a onda onde apenas em mais ou menos metade de cada meio ciclo tem energia, ou seja. a tensão cai em direção ao zero e permanece aí por um quarto de ciclo, em seguida dando um salto para -220V e seguindo em direção a zero. O mesmo acontece com o meio ciclo positivo.



 Aqui a forma de onda onde a quantidade de energia enviada ao resistor é bem baixa, ou seja, a tensão fica em zero quase todo tempo, dando apenas um pequeno pico ao final de cada meio ciclo.

Bom, e como é que se faz esse controle?

Primeiro a gente tem que fazer um circuito que faça com que o Arduino seja informado a cada ciclo, para que um segundo circuito comandado pelo Arduino faça o controle da forma da onda.

No próximo post a gente discute essa parte do circuito.

Comentários

  1. Dr. Mauro,

    Estou fazendo um tcc bem parecido com essa materia postada do chuveiro, usarei sistema PID e saida PWM do microcontrolador(pic16f877a) para controlar a carga. A principio se poder nos ajudar a esclarecer esse sistema PID detalhadamente, ficarei grato.. A principio o circuito do lm35 com o LCD ja esta feito.. O Orientador solicitou o estudo do PID e para esse tipo de aplicação nao achei coisa concreta e que eu mesmo entendesse.. Obrigado pela atenção.
    Sds,

    Angelo Araujo

    ResponderExcluir
    Respostas
    1. Ângelo, vc está em que cidade?
      Eu vou escrever um post sobre PID assim que tiver tempo, o que deve ser nos próximos dias.
      Quanto à ajuda, eu não tenho experiência nenhuma com PIC. Minha praia é Arduino.

      Excluir
    2. Mauro Assis poderia me ajudar a entender mais sobre Arduino? Vou fazer um TCC que envolve o arduino, com o tema: Controle PID para controlar a tensão de um componente na placa arduino. Ainda vou verificar se usos
      ou não a logica fuzzy.

      Excluir
  2. Basico hein

    A união de 2 projetos prontos em um só.

    1º dimmer digital aonde podemos controlar 100% da carga aplicada utilizando disparo por angulo da senoide.

    2º PID - este encontra com base no feedback a porcentagem do angulo de disparo.

    nanan

    ResponderExcluir
    Respostas
    1. Oi, Alex, é bom tê-lo por aqui. O projeto, na minha opinião é de nível intermediário, porque tem uma base teórica bastante interessante, é um projeto de "alta tensão" (em relação às que o Arduino habitualmente lida), e também por usar interrupções, que não aparecem em projetos triviais de Arduino. Mas, como dizia o poeta, "pãos ou pães é questão de opiniães", não é verdade?

      Não entendi o que são "dois projetos prontos em um só. É um projeto só que usa duas tecnologias.

      Mas o que importa não é se é difícil ou fácil, ou se são dois ou um projeto, e sim a audiência, vc incluído, gosta ou não. Como tenho tido quase 300 pageviews/dia nos últimos tempos, acho que o meu objetivo está sendo plenamente alcançado. Quem escreve quer platéia, simples assim.

      Até.

      Excluir
  3. Alex.
    Muito bom seus comentários. Me faz lembrar as histórias do Batman.
    O Coringa matou os pais dele, ele cresceu e virou o morcegão mascarado, ficou a dúvida...o Coringa que "inventou" o Batman ou foi o Batman que "inventou" o coringa, quem fez o bandido foi a riqueza dos pais do Bruce ou quem fez o herói foi o ato tresloucado do bandido? O Batman luta e prende o bandido, o bandido foge e apronta novamente,O Batman luta e prende o bandido, o bandido foge e apronta novamente...

    Na minha ignóbil opinião seria mais fácil o Bruce ter dado um fim rápido logo na primeira oportunidade com o Coringa, assim teria poupado muita dor as outras pessoas. Mas por que ele não toma/tomou a providência que devia tomar: O bandido foge e apronta novamente, Batman volta a lutar e prender o bandido, ...

    Entendeu?

    Tirando isso, seus comentários, idéias, opiniões são excelentes!!!

    Você se espelha mais em quem? No Batman ou no Coringa?

    Eu prefiro o Charada...

    ResponderExcluir
  4. Bom artigo, apenas corrigindo que a tensão varia entre 311,12 e -311,12 volts, 220 é apenas a tensão eficaz.

    ResponderExcluir
  5. Mauro
    Gostaríamos de agradecer pelo sua ajuda.. apresentamos o nosso TCC ontem (19.11.2013) e seu post nos foi muito útil. Disponibilizo o link aqui para as pessoas que gostaria de assistir a apresentação.
    http://www.youtube.com/watch?v=LNJ3Qt9-n0c&feature=youtu.be
    Att
    Gilberto.

    ResponderExcluir
    Respostas
    1. Gilberto,

      Que bom que os posts lhe foram úteis.
      Assisti o vídeo, parabéns pela apresentação.

      É para isso que esse blog existe: disseminar conhecimento.

      Posso fazer um post falando do trabalho de vocês e colocando um link para o vídeo? Sugiro que vcs publiquem o ppt num site como o http://www.slideshare.net/. Se colocarem lá, por favor, me mandem o link.

      [],

      Mauro Assis

      Excluir
    2. Mauro,
      Obrigado
      O video nao ficou completo pois acabou a bateria da minha maquina e a explicação sobre a programação e sobre o arduino não foram registradas.
      Voçê pode divulgar sim, espero que o trabalho seja util para mais pessoas..
      Em breve estarei disponibilizando o trabalho em PPT e o Trabalho escrito também (onde contém o código de programação todo comentado), ai lhe aviso .
      Att.
      Gilberto.

      Excluir
    3. MAURO,
      A apresentação esta no link http://www.ebah.com.br/content/ABAAAgPp0AJ/controle-eletronico-potencia-aplicado-a-chuveiros-eletricos
      Att.
      Gilberto

      Excluir
  6. Bom dia Sr. Mauro!
    Sou aluno do último ano de Engenharia Elétrica na UNIP de São José dos Campos e estarei desenvolvendo ao longo deste ano um projeto de automação de hidromassagem, gostariamos de reduzir o custo e gasto de energia da ressistencia eletrica do aquecedor da hidromassagem, para isso estaremos utilizando PID como estudo do controle da temperatura, arduino como controlador e triacs para diminuir este gasto. Você é de São José dos Campos mesmo?

    ResponderExcluir
    Respostas
    1. O seu controle é por luminosidade?
      O meu seria por temperatura, estaria utilizando um sensor de temperatura NT100 ou termopar para não utilizar a potencia total quando a água está aquecedia e sim uma parte da ressistencia para manter a água aquecida.

      Excluir
    2. Moro em SJC.
      O controle do meu circuito é de temperatura. Aliás, o PID é mais eficiente em controles do tipo temperatura, porque eles normalmente tem uma inércia (histerese) grande. Posso ajudar, sim. Se quiser, apareça no parque Santos Dumont sábado aqui em SJC a partir das 7:00 até as 11:00 e a gente conversa pessoalmente. Quanto mais cedo melhor.

      Excluir
    3. Fala Mauro!
      Ok no próximo sábado eu apareço, fui ver sua resposta só hj...
      Vamos apresentar a ideia para o Professor e iniciar o prototipo.

      Excluir
    4. Oi Renan Souza, estou precisando da mesma solução que voce esta buscando, teria como me ceder o codigo e o circuito depois?

      Me ajudaria muito.

      Se for possivel me ajudar, meu e-mail é:

      miragempro@hotmail.com

      Obrigadão.

      Eduardo castellani

      Excluir
  7. TEM COMO ADAPTAR PARA UM SENSOR DE TEMPERATURA DO TIPO PT100?

    ResponderExcluir
  8. Olá Mauro, primeiramente parabéns pelos seus materiais. Montei esse seu circuito de controle de carga e tudo ok, porem o código não rodou, mas criei um código de teste, apenas para ter certeza que o circuito estava ok, e realmente estava. Estou trabalhando num projeto (por hobby) onde pretendo usar um controle PID, para controlar um fluxo de ar (motor)e a temperatura desse fluxo (resistencia). Montei esse circuito para o controle do motor e usaria o SSR , com PWM para controlar a resistência. Porem não tenho certeza do melhor caminho a seguir. Pode me ajudar com alguma sugestão?

    ResponderExcluir

Postar um comentário

Postagens mais visitadas deste blog

Controle PID de Potência em Corrente Alternada - Arduino e TRIAC - Parte III

Dividindo um programa (sketch) do Arduino em mais de um arquivo