Este projeto reúne alguns Módulos Duinotech e algumas outras partes para criar uma ferramenta versátil. Inspirado nos aquecedores de orvalho usados em telescópios, ele detecta a temperatura e a umidade ambiente para controlar um pequeno aquecedor. Não apenas para telescópios, mas para qualquer coisa que precise evitar condensação.
Ao utilizar o máximo de dados possível, a unidade não utiliza mais energia do que o necessário e pode até funcionar diretamente a partir de uma bateria USB. Ele pode operar um determinado número de graus acima do ponto de orvalho ou da temperatura ambiente. A intensidade da luz de fundo também é ajustável em código e até projetamos um gabinete impresso em 3D que praticamente o transformará em uma unidade com aparência profissional.
Quantidade | Código | Descrição |
---|---|---|
1 | XC4520 | Módulo de temperatura e umidade |
1 | XC4454 | Escudo do controlador LCD |
1 | XC4410 | Placa principal da ONU |
1 | RN3440 | Termistor 10K |
1 | RR0596 | Resistor de 10K |
1 | RR0572 | Resistor 1K |
1 | ZT2468 | MOSFET |
1 | XC4482 | Proto-escudo |
1 | WC6028 | Cabo plug-soquete |
1 | RR3264 | Resistor 5W 390 |
O resistor de 5W é o elemento aquecedor. Para obter mais potência, até mesmo um resistor RR3254 de 15Ohm funcionará na maioria das portas USB (até 500mA), fornecendo cerca de 1,6 Watts. Outra opção é colocar vários resistores em paralelo para distribuir melhor o calor. Para obter mais potência, uma faixa de aquecimento telescópica adequada deve ser usada. Eles geralmente usam um plugue RCA, portanto, um soquete RCA como o PS0250 pode ser instalado. O circuito usa o pino VIN no Proto Shield, que não pode suportar mais do que cerca de 1A de corrente.
A maior parte da montagem envolve a adição de componentes ao Proto Shield para fornecer todas as funcionalidades extras necessárias. Existem efetivamente três subcircuitos no Proto Shield, um para o termistor e outro para o sensor de umidade e o terceiro para acionar um MOSFET para o aquecedor.
As fotos abaixo dão um guia de como montá-lo, mas há uma pequena área (cercada por um retângulo branco) no Proto Shield que possui inúmeras conexões 5V e GND e algumas tiras curtas, tornando este um local ideal para colocar tudo isso junto, principalmente para fazer as conexões 5V e GND.
O subcircuito do termistor se parece com isto:
O fio amarelo acima vai para A1 e um de cada resistor e termistor, enquanto o fio verde vai para 5V, dando um simples divisor de tensão.
O fio preto superior conecta o pino S do módulo ao D3.
O circuito MOSFET é o mais complexo:
Na foto principal acima, os terminais do MOSFET são G(porta), D(dreno) e S(fonte), olhando de cima para baixo. Os fios azul e roxo saem da placa para o resistor 39R, enquanto os dois fios brancos alimentam o resistor 39R do VIN e do dreno MOSFET. O resistor de 10k à esquerda garante que o MOSFET esteja desligado, a menos que o Uno diga para ele estar ligado, enquanto o resistor de 1k fornece um pouco de isolamento caso o MOSFET falhe.
O código é bastante extenso e usa quatro bibliotecas diferentes. Felizmente, apenas um deles precisa ser instalado, todos os demais vêm com o Arduino IDE. A biblioteca idDHT11 lê o sensor de temperatura e umidade e também calcula o ponto de orvalho. O arquivo é Telescope_Dew_Heater.ino.
Antes de setup()
, inicializamos todas as bibliotecas e variáveis globais. Há também um grande array temps[]
que armazena a conversão de temperatura do termistor. Para maior precisão, todas as temperaturas são calculadas em décimos de grau.
Na configuração, o LCD é inicializado e os valores carregados da EEPROM. Se forem válidos, serão carregados em suas respectivas variáveis. Como a biblioteca DHT11 faz suas leituras em segundo plano, iniciamos uma leitura agora para quando precisarmos de uma em loop()
. Em seguida, definimos a intensidade da luz de fundo.
Em loop()
, o esboço lê todas as entradas, incluindo termistor, temperatura DHT11, umidade e ponto de orvalho e teclado. Em seguida, ele responde ao teclado - se a esquerda for pressionada, o aquecedor funciona a partir da temperatura do ponto de orvalho no modo 'D', se o botão direito for pressionado, o modo 'A' funciona com a temperatura ambiente. O ponto de ajuste do aquecedor é definido pelos botões para cima e para baixo entre zero e nove graus. O botão de seleção permite que as configurações atuais sejam salvas na EEPROM. O tempo que o botão é mantido pressionado determina qual será a saída padrão do aquecedor se uma falha no sensor for detectada.
A temperatura alvo é calculada e a saída do aquecedor é ajustada alterando o PWM no pino 11, então o estado atual da saída é exibido. Se uma leitura inválida for detectada em qualquer um dos sensores, uma mensagem será exibida e o aquecedor será configurado para a saída padrão.
Na imagem acima, a temperatura ambiente é de 26 graus, mas a temperatura do ponto de orvalho é de 11 graus, então o aquecedor terá como meta o ponto de orvalho mais seis graus, ou 17 graus. A temperatura real do telescópio é de 26 graus, então o aquecedor está desligado. Se o aquecedor fosse colocado no modo ambiente pressionando o botão direito, o alvo seria 32 graus e o aquecedor ligaria totalmente. Em operação normal, o termistor deve estar próximo, mas sem tocar o resistor do aquecedor, para que possa responder rapidamente às alterações.
Existem vários locais onde o aquecedor pode ser melhorado, como alterar a configuração padrão da luz de fundo para se adequar à sua aplicação ou até mesmo torná-la uma das configurações da EEPROM. Se precisar de mais energia, os MOSFETs recomendados são capazes de fornecer pelo menos 5A a 24V. Nesse caso, seria recomendado ligar a fonte de alimentação diretamente ao circuito MOSFET e, em seguida, alimentar o VIN de volta à placa UNO. Dessa forma, os pequenos traços de PCB não precisam lidar com uma corrente tão alta. Uma fonte de laptop antiga ou SLA de 12 V podem ser opções para isso. Conforme mencionado no início, os soquetes RCA podem ser usados para padronizar as conexões com aquelas comumente usadas em bandas de aquecedores.