Índice:

Display termocrômico de temperatura e umidade - Versão PCB: 6 etapas (com imagens)
Display termocrômico de temperatura e umidade - Versão PCB: 6 etapas (com imagens)

Vídeo: Display termocrômico de temperatura e umidade - Versão PCB: 6 etapas (com imagens)

Vídeo: Display termocrômico de temperatura e umidade - Versão PCB: 6 etapas (com imagens)
Vídeo: Thermochromic Temperature & Humidity Display - PCB Version 2024, Julho
Anonim
Image
Image
Projetando o aquecedor PCB
Projetando o aquecedor PCB

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

Projetando o aquecedor PCB
Projetando o aquecedor PCB
Projetando o aquecedor PCB
Projetando o aquecedor PCB

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

Projetando o PCB do controlador
Projetando o PCB do controlador
Projetando o PCB do controlador
Projetando o PCB do controlador
Projetando o PCB do controlador
Projetando o PCB do controlador

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

Código CircuitPython
Código CircuitPython
Código CircuitPython
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

conjunto
conjunto
conjunto
conjunto
conjunto
conjunto

A montagem do display é bastante fácil e pode ser dividida nas seguintes etapas

  1. Soldar os cabeçotes de pino feminino para aquecer PCB
  2. Anexe folha termocrômica autoadesiva ao aquecedor PCB
  3. Solde o sensor DHT22 ao controlador PCB e prenda com parafuso M2 e porca
  4. Soldar os cabeçotes de pino macho para a PCB do controlador
  5. Conecte ambos os PCBs e coloque no suporte impresso em 3D

Etapa 6: Projeto Concluído

Projeto Terminado
Projeto Terminado
Projeto Terminado
Projeto Terminado

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.

Desafio de Design PCB
Desafio de Design PCB
Desafio de Design PCB
Desafio de Design PCB

Prêmio Juízes no Desafio de Design PCB

Recomendado: