Índice:
- Suprimentos
- Etapa 1: Projetando a PCB do aquecedor
- Etapa 2: Projetando a PCB da controladora
- Etapa 3: Bootloader CircuitPython
- Etapa 4: Código CircuitPython
- Etapa 5: Montagem
- Etapa 6: Projeto Concluído
Vídeo: Display termocrômico de temperatura e umidade - Versão PCB: 6 etapas (com imagens)
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:35
Um tempo atrás, fiz um projeto chamado Tela Termocrômica de Temperatura e Umidade, onde construí uma tela de 7 segmentos com placas de cobre que eram aquecidas / resfriadas por elementos peltier. As placas de cobre foram cobertas com uma folha termocrômica que muda de cor com a temperatura. Este projeto é uma versão menor da tela que, em vez de peltiers, usa uma PCB com traços de aquecimento, conforme sugerido pelo usuário DmitriyU2 na seção de comentários. Usar um aquecedor de PCB permite um design muito mais simples e compacto. O aquecimento também é mais eficiente, o que leva a uma mudança de cor mais rápida.
Assista ao vídeo para ver como funciona o display.
Como eu tinha alguns PCBs restantes, também estou vendendo este display na minha loja Tindie.
Suprimentos
- Aquecedor PCB (veja meu GitHub para arquivos Gerber)
- PCB de controle (veja meu GitHub para arquivos Gerber e BoM)
- Sensor DHT22 (por exemplo, ebay.de)
- Suporte impresso em 3D (veja meu GitHub para arquivo stl)
- Folha adesiva termocrômica, 150x150 mm, 30-35 ° C (SFXC)
- Parafuso M2x6 + porca
- 2x cabeçote de pino 1x9, 2,54 mm (por exemplo, mouser.com)
- 2x conector de placa SMD 1x9, 2,54 mm (por exemplo, mouser.com)
Etapa 1: Projetando a PCB do aquecedor
O aquecedor PCB foi projetado em Eagle. As dimensões do PCB são 100x150 mm porque 150x150 mm é o tamanho padrão das folhas termocrômicas que usei. No início fiz um esboço dos segmentos no Fusion360 que foi salvo como dxf e depois importado para o Eagle. Os segmentos têm lacunas fresadas entre eles e são conectados apenas por pequenas pontes. Isso melhora o isolamento térmico dos segmentos individuais e, portanto, permite um aquecimento mais rápido e reduz a 'interferência térmica'. Os segmentos foram preenchidos com traços de PCB na camada superior (vistos em vermelho) usando a ferramenta meandro no Eagle. Usei uma largura de pista e espaçamento de 6 mil, que é o tamanho mínimo que pode ser fabricado pela PCBWay sem custos extras. Cada traço é sinuoso entre duas vias que são então conectadas aos pinos através da camada inferior (vista em azul) usando traços muito mais espessos de 32 mil. Todos os segmentos compartilham um terreno comum.
Não fiz nenhum cálculo para a potência de aquecimento necessária para um determinado aumento de temperatura, nem calculei a resistência esperada de um segmento. Percebi que qualquer ajuste da potência de aquecimento pode ser feito usando um sinal PWM com ciclo de trabalho variável. Mais tarde descobri que os segmentos aquecem razoavelmente rápido quando alimentados pela porta USB de 5 V usando um ciclo de trabalho de ~ 5%. A corrente total ao aquecer todos os 17 segmentos é de cerca de 1,6 A.
Todos os arquivos da placa podem ser encontrados no meu GitHub.
Etapa 2: Projetando a PCB da controladora
Para controlar o aquecedor de PCB, escolhi um MCU SAMD21E18 que também usei em meu projeto GlassCube. Este microcontrolador tem pinos suficientes para controlar todos os 17 segmentos do aquecedor e ler o sensor DHT22. Ele também tem USB nativo e pode ser atualizado com o bootloader CircuitPython da Adafruit. Um conector micro USB foi usado como fonte de alimentação e para programar o MCU. Os segmentos do aquecedor são controlados por 9 MOSFETs de canal duplo (SP8K24FRATB). Eles podem lidar com até 6 A e têm uma tensão de limite de porta <2,5 V, de modo que podem ser comutados pelo sinal lógico de 3,3 V do MCU. Achei este segmento muito útil para me ajudar a projetar o circuito de controle do aquecedor.
Encomendei as PCBs da PCBWay e as peças eletrônicas separadamente da Mouser e montei as PCBs sozinho para economizar custos. Usei um distribuidor de pasta de solda, coloquei as peças à mão e as soldei com um aquecedor infravermelho de IC. No entanto, devido à quantidade relativamente grande de componentes envolvidos e ao retrabalho necessário, isso foi muito tedioso e estou pensando em usar um serviço de montagem no futuro.
Novamente, os arquivos da placa podem ser encontrados no meu GitHub. Lá você pode encontrar uma versão melhorada do PCB que usa um conector USB-C em vez de micro USB. Eu também corrigi o espaçamento dos orifícios passantes para o sensor DHT22 e adicionei um conector de 10 pinos para facilitar o flashing do bootloader via J-Link.
Etapa 3: Bootloader CircuitPython
No início, eu atualizei o SAMD21 com um bootloader UF2 baseado no Trinket M0 da Adafruit. O bootloader teve que ser ligeiramente modificado porque o Trinket tem um LED conectado a um dos pinos que uso para aquecimento. Caso contrário, este pino ficará alto por um curto período após a inicialização e aquecerá o segmento conectado com força total. A atualização do bootloader é feita conectando-se um J-Link ao MCU por meio das portas SWD e SWC. Todo o processo é descrito em detalhes no site da Adafruit. Depois de instalar o bootloader, o MCU é reconhecido como uma unidade flash quando conectado através da porta micro USB e os carregadores de inicialização subsequentes podem ser simplesmente instalados arrastando um arquivo UF2 para a unidade.
Como próxima etapa, eu queria instalar um bootloader CircuitPython. Porém, como minha placa usa muitos pinos que não estão conectados no Trinket M0, primeiro tive que modificar um pouco a configuração da placa. Novamente, há um ótimo tutorial para isso no site da Adafruit. Basicamente, basta comentar alguns pinos ignorados no mpconfigboard.he recompilar tudo. Os arquivos de bootloader personalizados também estão disponíveis no meu GitHub.
Etapa 4: Código CircuitPython
Após a instalação do carregador de inicialização CircuitPython, você pode simplesmente programar a placa salvando seu código como um arquivo code.py diretamente na unidade flash USB. O código que escrevi lê o sensor DHT22 e, em seguida, exibe alternadamente a temperatura e a umidade aquecendo os segmentos correspondentes. Como já mencionado, o aquecimento é feito comutando os MOSFETs com um sinal PWM. Em vez de configurar os pinos como saídas PWM, gerei um sinal PWM "falso" com baixa frequência de chaveamento de 100 Hz no código usando atrasos. Para reduzir ainda mais o consumo de corrente, não ligo os segmentos simultaneamente, mas sequencialmente, conforme mostrado no esquema acima. Existem também alguns truques para tornar o aquecimento dos segmentos mais uniforme. Em primeiro lugar, o ciclo de trabalho é um pouco diferente para cada segmento. Por exemplo, o traço do sinal "%" precisa de um ciclo de trabalho muito maior por causa de sua maior resistência. Também descobri que segmentos que são rodeados por muitos outros segmentos precisam ser menos aquecidos. Além disso, se um segmento foi aquecido na "execução" anterior, o ciclo de trabalho pode ser reduzido na próxima. Finalmente, o tempo de aquecimento e resfriamento é adaptado à temperatura ambiente, que é convenientemente medida pelo sensor DHT22. Para encontrar constantes de tempo razoáveis, calibrei a tela em uma câmara climática que felizmente tenho acesso no trabalho.
Você pode encontrar o código completo no meu GitHub.
Etapa 5: Montagem
A montagem do display é bastante fácil e pode ser dividida nas seguintes etapas
- Soldar os cabeçotes de pino feminino para aquecer PCB
- Anexe folha termocrômica autoadesiva ao aquecedor PCB
- Solde o sensor DHT22 ao controlador PCB e prenda com parafuso M2 e porca
- Soldar os cabeçotes de pino macho para a PCB do controlador
- Conecte ambos os PCBs e coloque no suporte impresso em 3D
Etapa 6: Projeto Concluído
Estou muito feliz com a exibição final, que agora está constantemente funcionando em nossa sala de estar. O objetivo de fazer uma versão menor e mais simples do meu display termocrômico original foi definitivamente alcançado e gostaria de agradecer ao usuário DmitriyU2 mais uma vez pela sugestão. O projeto também me ajudou a melhorar minhas habilidades de design de PCB no Eagle e aprendi sobre o uso de MOSFETs como interruptores.
Pode-se talvez melhorar ainda mais o design fazendo um belo gabinete para os PCBs. Também estou pensando em fazer um relógio digital no mesmo estilo.
Se você gostou desse projeto, pode simplesmente refazê-lo ou comprá-lo na minha loja Tindie. Também considere votar em mim no desafio de design de PCB.
Prêmio Juízes no Desafio de Design PCB
Recomendado:
Automatizando uma estufa com LoRa! (Parte 1) -- Sensores (temperatura, umidade, umidade do solo): 5 etapas
Automatizando uma estufa com LoRa! (Parte 1) || Sensores (Temperatura, Umidade, Umidade do Solo): Neste projeto irei mostrar como automatizei uma estufa. Isso significa que vou mostrar como construí a estufa e como conectei a eletrônica de energia e automação. Além disso, mostrarei como programar uma placa Arduino que usa L
Monitoramento de temperatura do Nodemcu ESP8266 usando DHT11 em um servidor da Web local - Obtenha a temperatura e umidade da sala no seu navegador: 6 etapas
Monitoramento de temperatura Nodemcu ESP8266 usando DHT11 em um servidor da Web local | Obtenha a temperatura e umidade da sala no seu navegador: Olá, pessoal, hoje vamos fazer um teste de umidade & sistema de monitoramento de temperatura usando ESP 8266 NODEMCU & Sensor de temperatura DHT11. A temperatura e a umidade serão obtidas no DHT11 Sensor & pode ser visto em um navegador cuja página da web será gerenciada
Ponto de acesso (AP) NodeMCU ESP8266 para servidor Web com sensor de temperatura DT11 e impressão de temperatura e umidade no navegador: 5 etapas
ESP8266 NodeMCU Access Point (AP) para servidor Web com sensor de temperatura DT11 e impressão de temperatura e umidade no navegador: Olá pessoal, na maioria dos projetos usamos ESP8266 e na maioria dos projetos usamos ESP8266 como servidor web para que os dados possam ser acessados em qualquer dispositivo por wi-fi acessando o servidor da Web hospedado por ESP8266, mas o único problema é que precisamos de um roteador funcionando para
Como usar o sensor de temperatura DHT11 com Arduino e impressão de temperatura e umidade: 5 etapas
Como usar o sensor de temperatura DHT11 com Arduino e impressão de temperatura e umidade: O sensor DHT11 é usado para medir temperatura e umidade. Eles são amadores de eletrônicos muito populares. O sensor de umidade e temperatura DHT11 torna realmente fácil adicionar dados de umidade e temperatura aos seus projetos eletrônicos DIY. É por
Um gerador de poesia otimista: usando pigmento termocrômico e almofadas de aquecimento nicromo: 10 etapas
Um gerador de poesia otimista: usando pigmento termocrômico e almofadas de aquecimento nicromo: poesia, política e poder é um gerador de poesia otimista - um sistema que pode ser alimentado por texto que incorpora preconceitos humanos - discursos de ódio, políticas tendenciosas, declarações misóginas - e remove certas palavras revelar uma poesia esperançosa e optar