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:
- 1x Intel® Edison
- 1x Base Board Uno
- 1x Nanoshield Triac
- 1x Nanoshield Zero Cross
- 1x Nanoshield Termopar
- 1x Sensor termopar tipo K
- 1x Fonte DC de 7,5V, 9V ou 12V
A imagem abaixo mostra os componentes listados:
 
!Montagem
A montagem física deste projeto constitui basicamente de 3 partes:
- Conectar os Nanoshields Triac, Zero Cross e Termopar em três slots quaisquer da Base Board Uno e encaixá-la no Intel® Edison.
- 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+.
- 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:
 
!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:
- 
Baixar as bibliotecas Dimmer.h,PID_v1eNanoshield_Thermocouple.hdisponíveis na seção links no final da página.
- 
Mover as bibliotecas baixadas na pasta de bibliotecas do Arduino IDE, geralmente localizada na pasta Meus Documentos > Arduino > librariesno Windows ou emDocumentos > Arduino > librariesno Mac OS.
- 
Baixar e instalar o Google Chrome caso ainda não tenha feito, para executar o aplicativo Chrome de interface com o forno. 
- 
Baixar o software para o Edison resistenciaPID.inoe o AplicativoTempControl.crxdisponíveis na seção Downloads no final da página.
- 
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
- 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:
- A pequena chave seletora do Edison está na posição para baixo, conforme a figura abaixo.
 
- Plugar o cabo USB na porta do meio do Edison, conforme a figura abaixo.
 
- 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.
 
- Por último, selecionar o porta serial correspondente à placa.
 
Agora abra o software resistenciaPID.ino e programe o Edison clicando no botão carregar.
 
!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:
 
- 
Selecione a porta serialna qual o Edison está conectado.
- 
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.
- 
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.
- 
Insira os pontos da curva desejada. Apertando Adicionar segmentopara incluir mais um ponto ouLimpar segmentospara recomeçar a curva. Os parâmetros dos segmentos são:- 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.
- 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:
 
!Links
- Dimmer.h - Biblioteca Dimmer no GitHub.
- Nanoshield_Thermocouple.h - Biblioteca do Nanoshield Thermocouple no Github
- PID_v1.h - Biblioteca PID
Downloads
- resistenciaPID.ino - Software para Edison
- TempControl.crx - Interface gráfica de controle do forno

 
                                     
                                     
                                     
                                    