Forno PID Edison

Este projeto utiliza a placa Intel® Edison e os Nanoshields para implementar um controlador robusto de temperatura, do tipo PID, para um forno elétrico. Desenvolvemos parte deste projeto durante o evento Intel® IoT Roadshow realizado em São Paulo nos dias 19 e 20 de junho de 2015.

Utilizamos um forno pequeno de cozinha para demonstrar o funcionamento, porém o mesmo princípio pode ser utilizado para controle de fornos maiores, apenas adequando os circuitos elétricos para a potência desejada. Uma única temperatura ou um conjunto de temperaturas com tempos determinados podem ser programados, permitindo a implementação de curvas de temperatura com controle automático.

Neste projeto o controle da intensidade da resistência AC, que realiza o aquecimento, é realizada pelo Nanoshield Triac e a nossa biblioteca Dimmer. Para mais informações sobre o controle de uma carga AC dimerizada veja nosso projeto Dimmer+.

Uma interface gráfica de controle e monitoramento do forno é disponibilizada em um computador conectado ao Edison via USB. Em uma segunda etapa do projeto, a idéia é disponibilizar a interface web por meio de um servidor implementado diretamente na placa Edison, acessível por meio de sua interface Wi-Fi.

!Materiais utilizados

Veja abaixo os componentes necessários para o projeto:

A imagem abaixo mostra os componentes listados:

Componentes do projeto

!Montagem

A montagem física deste projeto constitui basicamente de 3 partes:

  1. Conectar os Nanoshields Triac, Zero Cross e Termopar em três slots quaisquer da Base Board Uno e encaixá-la no Intel® Edison.
  2. Montar os cabos de energia nos Nanoshields Triac e Zero Cross.
    Obs.: Esta montagem é semelhante ao projeto Dimmer+, porém utilizando a resistência do forno no lugar das lâmpadas. Clique aqui para visualizar como foi feita esta montagem no projeto Dimmer+.
  3. Ligar o sensor de temperatura termopar no Nanoshield Termopar. Verifique a polarização correta do termopar com as indicações e do Nanoshield. Se não houver marcação no termopar, é preciso testar com qual das polaridades a temperatura varia no sentido correto.

Veja abaixo o diagrama de conexão final do projeto:

Montagem final com o Edison e os Nanoshields

!Funcionamento do PID

Um controlador proporcional, integral e derivativo, ou simplesmente controlador PID, é uma das técnicas de controle mais usadas na indústria. Essa popularidade é atribuída em parte ao seu desempenho robusto em uma ampla gama de situações e condições de funcionamento, e em parte pela sua simplicidade funcional. Esta técnica, como o nome sugere, é composta de 3 parâmetros: proporcional, integral e derivativo – esses parâmetros são variados para se obter uma resposta ideal do controlador. Veja o artigo da Wikipedia (em inglês) para mais informações sobre como funciona um controlador PID.

Este projeto tem a finalidade de utilizar o Intel® Edison para controlar um sistema de aquecimento para soldagem de placas de circuitos eletrônicos (reflow), em um pequeno forno com dimensões de aproximadamente 30 x 25 x 15cm. No entanto, este sistema também pode ser utilizado para diversas aplicações onde seja necessário controlar uma determinada curva de aquecimento com precisão. Para estas especificações, testando vários valores dos parâmetros P, I e D, obtivemos os melhores resultados de controle com os valores: P=30, I=0,001 e D=0,3. Estes parâmetros variam de acordo com o sistema a ser controlado, por exemplo de acordo com as características físicas do forno e os elementos de aquecimento utilizados.

Estes valores são introduzidos diretamente no código fonte, no Arduino IDE, que é o ambiente de desenvolvimento utilizado neste projeto.

!Configuração do programa para Intel® Edison

Disponibilizamos o software para o Edison utilizando o Arduino IDE para programação e um aplicativo gráfico para o usuário programar as curvas de temperatura desejadas. Para utilizá-los devemos seguir os seguintes passos:

  1. Baixar as bibliotecas Dimmer.h, PID_v1 e Nanoshield_Thermocouple.h disponíveis na seção links no final da página.

  2. Mover as bibliotecas baixadas na pasta de bibliotecas do Arduino IDE, geralmente localizada na pasta Meus Documentos > Arduino > libraries no Windows ou em Documentos > Arduino > libraries no Mac OS.

  3. Baixar e instalar o Google Chrome caso ainda não tenha feito, para executar o aplicativo Chrome de interface com o forno.

  4. Baixar o software para o Edison resistenciaPID.ino e o Aplicativo TempControl.crx disponíveis na seção Downloads no final da página.

  5. Alterar os parâmetros P, I e D no código do Edison conforme desejado, nas linhas:

// Define PID controller variables here
#define KP  30
#define KI  0.01
#define KD  0.3
  1. Para instalar o aplicativo no Chrome, dê dois cliques no arquivo ou arraste-o para o ícone do Chrome.

!Programando o Edison

Antes de utilizar a interface IDE do Arduino para programar o software, devemos nos certificar de algumas coisas:

  1. A pequena chave seletora do Edison está na posição para baixo, conforme a figura abaixo.

Colocar o botão na posição para baixo

  1. Plugar o cabo USB na porta do meio do Edison, conforme a figura abaixo.

Conectar USB na porta do meio

  1. Na interface Arduino IDE 1.6.4 ou superior, selecione a placa Intel® Edison. Caso não apareça na lista, entre em "Boards Manager..." e instale o suporte para Intel® Edison antes de continuar.

Selecionar placa Edison

  1. Por último, selecionar o porta serial correspondente à placa.

Selecionar porta serial

Agora abra o software resistenciaPID.ino e programe o Edison clicando no botão carregar.

Carregando o software para o Edison

!Controle de temperatura

Com o aplicativo instalado do Google Chrome instalado, abra o Chrome, se já não aberto, e clique no botão Apps. Em seguida selecione o aplicativo Controle de temperatura.

Ao abrí-lo, siga os seguintes passos para configurar a curva:

Interface gráfica de controle

  1. Selecione a porta serial na qual o Edison está conectado.

  2. Insira a temperatura inicial. Esta temperatura diz para o controlador PID quando ele deve começar a funcionar. Se a temperatura inicial configurada for maior que a temperatura atual da resistência, o controlador liga a resistência até atingir este valor inicial.

  3. Insira a temperatura final. Esta é a temperatura que diz ao Edison que o processo acabou e que ele pode desligar o controlador PID. Geralmente essa temperatura é configurada para uma temperatura de resfriamento da resistência.

  4. Insira os pontos da curva desejada. Apertando Adicionar segmento para incluir mais um ponto ou Limpar segmentos para recomeçar a curva. Os parâmetros dos segmentos são:

    1. Inclinação em graus por segundo: isto determina quão rápido a temperatura tem que subir. Para manter uma temperatura constante crie um segmento com a inclinação zero.
    2. O tempo que a inclinação deve permanecer.

Veja na figura abaixo o resultado do controle de temperatura com os valores padrão utilizando o nosso forno:

Controle PID de temperatura

!Links

Downloads