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_v1
eNanoshield_Thermocouple.h
disponí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 > libraries
no Windows ou emDocumentos > Arduino > libraries
no 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.ino
e o AplicativoTempControl.crx
disponí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 serial
na 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 segmento
para incluir mais um ponto ouLimpar segmentos
para 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