Tabla de contenido:

Pantalla termocrómica de temperatura y humedad - Versión de PCB: 6 pasos (con imágenes)
Pantalla termocrómica de temperatura y humedad - Versión de PCB: 6 pasos (con imágenes)

Video: Pantalla termocrómica de temperatura y humedad - Versión de PCB: 6 pasos (con imágenes)

Video: Pantalla termocrómica de temperatura y humedad - Versión de PCB: 6 pasos (con imágenes)
Video: Thermochromic Temperature & Humidity Display - PCB Version 2024, Noviembre
Anonim
Image
Image
Diseño de la PCB del calentador
Diseño de la PCB del calentador

Hace un tiempo hice un proyecto llamado Pantalla termocrómica de temperatura y humedad donde construí una pantalla de 7 segmentos con placas de cobre que fueron calentadas / enfriadas por elementos Peltier. Las placas de cobre se cubrieron con una lámina termocrómica que cambia de color con la temperatura. Este proyecto es una versión más pequeña de la pantalla que, en lugar de peltiers, utiliza una placa de circuito impreso con trazas de calefacción, como sugiere el usuario DmitriyU2 en la sección de comentarios. El uso de un calentador de PCB permite un diseño mucho más simple y compacto. El calentamiento también es más eficiente, lo que conduce a un cambio de color más rápido.

Mire el video para ver cómo funciona la pantalla.

Como me quedan algunos PCB, también estoy vendiendo esta pantalla en mi tienda Tindie.

Suministros

  • PCB del calentador (consulte mi GitHub para archivos Gerber)
  • Control de PCB (consulte mi GitHub para archivos Gerber y BoM)
  • Sensor DHT22 (por ejemplo, ebay.de)
  • Soporte impreso en 3D (consulte mi GitHub para obtener un archivo stl)
  • Hoja adhesiva termocrómica, 150x150 mm, 30-35 ° C (SFXC)
  • Perno + tuerca M2x6
  • 2x encabezado de clavija 1x9, 2,54 mm (p. Ej., Mouser.com)
  • 2x conector de placa SMD 1x9, 2,54 mm (p. Ej., Mouser.com)

Paso 1: Diseño de la PCB del calentador

Diseño de la PCB del calentador
Diseño de la PCB del calentador
Diseño de la PCB del calentador
Diseño de la PCB del calentador

El PCB del calentador fue diseñado en Eagle. Las dimensiones de la placa de circuito impreso son 100x150 mm porque 150x150 mm es el tamaño estándar de las láminas termocrómicas que utilicé. Al principio hice un boceto de los segmentos en Fusion360 que se guardó como dxf y luego se importó a Eagle. Los segmentos tienen huecos fresados entre ellos y solo están conectados por pequeños puentes. Esto mejora el aislamiento térmico de los segmentos individuales y, por lo tanto, permite un calentamiento más rápido y reduce la 'diafonía térmica'. Los segmentos se rellenaron con trazas de PCB en la capa superior (que se ven en rojo) usando la herramienta de meandro en Eagle. Utilicé un ancho de vía y un espaciado de 6 mil, que es el tamaño mínimo que puede fabricar PCBWay sin costos adicionales. Cada traza se serpentea entre dos vías que luego se conectan a los pines a través de la capa inferior (vista en azul) utilizando trazas mucho más gruesas de 32 mil. Todos los segmentos comparten un terreno común.

No hice ningún cálculo para la potencia de calentamiento requerida para un cierto aumento de temperatura ni calculé la resistencia esperada de un segmento. Supuse que cualquier ajuste de la potencia de calefacción se puede realizar mediante el uso de una señal PWM con ciclo de trabajo variable. Más tarde descubrí que los segmentos se calientan razonablemente rápido cuando se alimentan a través del puerto USB de 5 V con un ciclo de trabajo de ~ 5%. La corriente total al calentar los 17 segmentos es de aproximadamente 1,6 A.

Todos los archivos de la placa se pueden encontrar en mi GitHub.

Paso 2: Diseño de la PCB del controlador

Diseño de la PCB del controlador
Diseño de la PCB del controlador
Diseño de la PCB del controlador
Diseño de la PCB del controlador
Diseño de la PCB del controlador
Diseño de la PCB del controlador

Para controlar el calentador de PCB, elijo un MCU SAMD21E18 que también utilicé en mi proyecto GlassCube. Este microcontrolador tiene suficientes pines para controlar los 17 segmentos del calentador y leer el sensor DHT22. También tiene USB nativo y se puede actualizar con el cargador de arranque CircuitPython de Adafruit. Se utilizó un conector micro USB como fuente de alimentación y para programar la MCU. Los segmentos del calentador están controlados por 9 MOSFET de doble canal (SP8K24FRATB). Estos pueden manejar hasta 6 A y tienen un voltaje de umbral de puerta <2.5 V para que puedan ser conmutados por la señal lógica de 3.3 V de la MCU. Encontré este hilo muy útil para ayudarme a diseñar el circuito de control del calentador.

Pedí los PCB a PCBWay y las piezas electrónicas por separado a Mouser y ensamblé los PCB yo mismo para ahorrar costos. Utilicé un dispensador de pasta de soldadura, coloqué las piezas a mano y las soldé con un calentador IC de infrarrojos. Sin embargo, debido a la cantidad relativamente grande de componentes involucrados y la reelaboración requerida, esto fue bastante tedioso y estoy considerando usar un servicio de ensamblaje en el futuro.

Nuevamente, los archivos del tablero se pueden encontrar en mi GitHub. Allí puede encontrar una versión mejorada de la PCB que usa un conector USB-C en lugar de micro USB. También corrigí el espaciado de los orificios pasantes para el sensor DHT22 y agregué un conector de 10 pines para facilitar el flasheo del cargador de arranque a través de J-Link.

Paso 3: cargador de arranque CircuitPython

Al principio, mostré el SAMD21 con un cargador de arranque UF2 basado en Trinket M0 de Adafruit. El cargador de arranque tuvo que modificarse ligeramente porque el Trinket tiene un LED conectado a uno de los pines que uso para calentar. De lo contrario, este pin se elevará durante un breve período de tiempo después del arranque y calentará el segmento conectado a plena potencia. La actualización del cargador de arranque se realiza conectando un J-Link a la MCU a través de los puertos SWD y SWC. Todo el proceso se describe en detalle en el sitio web de Adafruit. Después de instalar el cargador de arranque, la MCU se reconoce como una unidad flash cuando se conecta a través del puerto micro USB y los cargadores de arranque posteriores se pueden instalar simplemente arrastrando un archivo UF2 a la unidad.

Como siguiente paso, quería instalar un cargador de arranque CircuitPython. Sin embargo, dado que mi placa usa muchos pines que no están conectados en el Trinket M0, primero tuve que modificar ligeramente la configuración de la placa. Nuevamente, hay un gran tutorial para esto en el sitio web de Adafruit. Básicamente, uno solo tiene que comentar algunos pines ignorados en mpconfigboard.hy luego recompilar todo. Los archivos del cargador de arranque personalizado también están disponibles en mi GitHub.

Paso 4: Código CircuitPython

Circuito Código de Python
Circuito Código de Python
Circuito Código de Python
Circuito Código de Python

Después de que se haya instalado el cargador de arranque CircuitPython, puede programar la placa guardando su código como un archivo code.py directamente en la unidad flash USB. El código que escribí lee el sensor DHT22 y luego muestra alternativamente la temperatura y la humedad calentando los segmentos correspondientes. Como ya se mencionó, el calentamiento se realiza cambiando los MOSFET con una señal PWM. En lugar de configurar los pines como salidas PWM, generé una señal PWM "falsa" con una frecuencia de conmutación baja de 100 Hz en el código usando retrasos. Para reducir aún más el consumo de corriente, no enciendo los segmentos simultáneamente sino secuencialmente como se muestra en el esquema anterior. También hay algunos trucos para hacer que el calentamiento de los segmentos sea más uniforme. En primer lugar, el ciclo de trabajo es un poco diferente para cada segmento. Por ejemplo, el guión del signo "%" necesita un ciclo de trabajo mucho mayor debido a su mayor resistencia. También descubrí que los segmentos que están rodeados por muchos otros segmentos necesitan calentarse menos. Además, si un segmento se calentó en la "ejecución" anterior, el ciclo de trabajo se puede reducir en la siguiente. Finalmente, el tiempo de calentamiento y enfriamiento se adapta a la temperatura ambiente que es convenientemente medida por el sensor DHT22. Para encontrar constantes de tiempo razonables, calibré la pantalla en una cámara climática a la que afortunadamente tengo acceso en el trabajo.

Puedes encontrar el código completo en mi GitHub.

Paso 5: Montaje

Montaje
Montaje
Montaje
Montaje
Montaje
Montaje

El montaje de la pantalla es bastante sencillo y se puede dividir en los siguientes pasos

  1. Suelde los cabezales de clavija hembra a la PCB del calentador
  2. Fije la hoja termocrómica autoadhesiva a la PCB del calentador
  3. Suelde el sensor DHT22 al PCB controlador y fíjelo con un perno y una tuerca M2
  4. Suelde los cabezales de clavija macho a la PCB del controlador
  5. Conecte ambos PCB y colóquelos en un soporte impreso en 3D

Paso 6: Proyecto terminado

Proyecto terminado
Proyecto terminado
Proyecto terminado
Proyecto terminado

Estoy bastante contento con el diplay terminado que ahora se ejecuta constantemente en nuestra sala de estar. Definitivamente se logró el objetivo de hacer una versión más pequeña y simple de mi pantalla termocrómica original y me gustaría agradecer al usuario DmitriyU2 una vez más por la sugerencia. El proyecto también me ayudó a mejorar mis habilidades de diseño de PCB en Eagle y aprendí sobre el uso de MOSFET como interruptores.

Tal vez se podría mejorar aún más el diseño haciendo una bonita carcasa para las placas de circuito impreso. También estoy pensando en hacer un reloj digital del mismo estilo.

Si te gusta este proyecto, puedes simplemente rehacerlo o comprarlo en mi tienda Tindie. También considere votar por mí en el desafío de diseño de PCB.

Desafío de diseño de PCB
Desafío de diseño de PCB
Desafío de diseño de PCB
Desafío de diseño de PCB

Premio del jurado en el PCB Design Challenge

Recomendado: