Módulo de controlo de temperatura dinâmico, usando como sensor uma NTC, como unidade de processamento um microcontrolador PIC16F876A e para interface com o utilizador, é usado 4 display´s de sete segmentos controlado por um MAX5968, usando um processo de controlo chamado de charlieplexing. Para o aquecimento, uma resistência de 500W e para a ventilação, um ventilador de 12V DC.
Usamos como sensor de temperatura uma NTC para altas temperaturas, 200ºC neste caso, da Vishay BCcomponents® da serie 2381 633 X, foi escolhido este tipo de sensor pelas suas dimensões, rápida resposta as variações de temperatura, robustez, e gama de temperaturas desde os -40ºC a 200ºC. Este componente deverá ser colocado no local a monitorizar, devidamente bem calculado.
Para interface com o utilizador utilizamos 4 display´s de 7 segmentos, onde se visualiza todas as funções relativas ao funcionamento do módulo e mais 4 led´s para indicação do estado do controlador e seus componentes. A efectuar o controlo deste conjunto temos o MAX6958 da Maxim®.
Para o controlo da resistência, usamos dois tipos de funcionamento: Ligado/Desligado ou tipo Dimmer.
No ventilador a sua velocidade é controlada por PWM.
E o processamento está todo centrado no PIC16F876A, onde gere as 4 teclas, o ventilado, os display´s e o controlo da resistência, como também efectua a medição da temperatura na ntc.
Descrição do circuito:
Esquema:
No primeiro esquema temos o µC PIC16F876A, de onde se salienta o circuito para a detecção de zero, é aqui que vamos obter uma indicação de quando a sinosoide para por zero, e assim temos a referencia para o controlo da resistencia de potencia. Para a NTC, é ligada na porta A/D -RA0, e para o ventilador optamos por um controle PWM.
Na segunda parte temos o MAX6958 e os seus respectivos display´s, Led´s e as 4 teclas.
Descrição do funcionamento geral:
- Ajuste da temperatura de trabalho.
- Ajuste da rotação mínima e máxima do ventilador.
- Definição do modo de funcionamento do ventilador:
- Desligado
- Sempre ligado
- Rotação automática, de ~30% a 100%, definido entre um intervalo de temperatura.
- Possibilidade de ajustar o modo de funcionamento da resistência de potência:
- Modo ON-OFF.
- Ajuste gradual da potência aplicada na resistência de potência automaticamente.
- Dois modos distintos:
- Modo de trabalho.
- Modo standby.
Temperatura de trabalho:
Esta é a temperatura, para a qual o controlador vai trabalhar.
Existem dois modos do controlador obter a temperatura, um em que quando a temperatura é atingida a resistência de potencia é desligada, e um outro em que a potência aplicada na resistência é gradualmente regulada de modo a que quando chega a temperatura desejada seja mínima.
Ventilador:
O ventilador pode ser usado para extrair vapores, ou para ajudar na secagem de determinado objecto.
Existem 3 modos de funcionamento:
AUTO: Neste modo a rotação do ventilador é regulada automaticamente, podendo ser configurado para começar a rodar numa determinada temperatura a ~30% e quando chegar a temperatura desejada atingir os 100%.
MANUAL: Neste modo a rotação do ventilador é fixa, seja qual for a temperatura.
OFF: Como o nome indica, o ventilador é desligado.
Resistência de Potência:
O controlo da resistência é totalmente gerido pelo µC, independentemente do modo de funcionamento.
Tecla OK:
Esta tecla alterna entre o estado de Standby e o modo de trabalho.
Tecla SET:
Entra no modo de configuração. Se por engano for pressionada, pode-se sair pressionando a tecla (vent).
Tecla (vent)-:
Esta tecla possibilita a alteração do modo de funcionamento do ventilador. Tendo escolhido o modo, para sair pressionar a tecla OK. O modo escolhido não é guardado. Para guardar o modo de funcionamento é necessário entrar na configuração.
Tecla (temp)+:
Tem a mesma função da tecla (vent) mas agora na selecção da temperatura de trabalho. A temperatura não fica guardada, logo quando a alimentação for desligada este valor perde-se, e ficando com o valor definido na configuração.
Aspecto do painel usado:
Para entrar no menu de configuração é necessário seguir os seguintes passos:
- Pressionar a tecla SET. O Led "Config" liga.
- Pressionar a Tecla OK. O Led "Config" e o Led "Ventilador" ligam e aparece no mostrador "0000".
- Com as teclas (temp) e (vent) selecionar o valor desejado para ajustar.
- Obtendo o valor desejado pressionar a tecla OK para efectuar a gravação do valor na memória eeprom.
MENU:
O menu é representado por 4 níveis, e representado no display na forma de letras A, B, C, e D
Árvore do menu implementado:
- A000 -> Configuração relativa a temperatura
- AA00-> Ajusta a temperatura de trabalho.
- AB00-> Ajusta o valor diferencial a partir do qual a potência vai decrescendo.
- B000-> Configuração do ventilador
- BA00-> Modo do Ventilador: Desligado(1)->Manual(2)->Auto(3)
- BB00-> Diferencial de temperatura a partir do qual o ventilador começa a rodar.
- BC00-> Máxima rotação do ventilador
- BD00-> Minima rotação do ventilador
- C000-> Ajuste do valor do contraste dos display´s
- D000-> Configura o valor de incremento usado nos restantes menus.
Exemplo para o menu AB00: Digamos que temos uma temperatura de trabalho de 45ºC e um diferencial de 5ºC. Logo entre os 40ºC e os 45ºC, a potencia vai variar dos 100% até aos 0% respectivamente.
Exemplo para o menu BB00: Seguindo o exemplo anterior (45ºC) e um diferencial de 20ºC para o ventilador. Logo, entre os 25ºC e os 45ºC o ventilador vai começar a rodar nos 25ºC com o valor estipulado na configuração para o valor minimo e nos 45ºC a rodar no valor máximo.
Controle dos display de 7 segmentos
Para o controlo dos quatro display´s de 7 segmentos e mais os quatro led´s utilizou-se o integrado da MAXIM, o MAX6958. Este IC tem a funcionalidade de poder controlar o display através do barramento I2C , sendo neste caso preciso apenas duas linhas do microcontrolador para efectuar todo o interface.
O datasheet pode ser obtido directamente do site do fabricante.
Nota Final:
Este projecto vai ser actualizado para uma versão com controlo PID, mas mantendo as mesmas funcionalidades. O esquema será o mesmo que utilizado neste projecto.
|