Tabla de contenido:
- Suministros
- Paso 1: Diseño de la PCB del calentador
- Paso 2: Diseño de la PCB del controlador
- Paso 3: cargador de arranque CircuitPython
- Paso 4: Código CircuitPython
- Paso 5: Montaje
- Paso 6: Proyecto terminado
Video: Pantalla termocrómica de temperatura y humedad - Versión de PCB: 6 pasos (con imágenes)
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:41
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
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
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
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
El montaje de la pantalla es bastante sencillo y se puede dividir en los siguientes pasos
- Suelde los cabezales de clavija hembra a la PCB del calentador
- Fije la hoja termocrómica autoadhesiva a la PCB del calentador
- Suelde el sensor DHT22 al PCB controlador y fíjelo con un perno y una tuerca M2
- Suelde los cabezales de clavija macho a la PCB del controlador
- Conecte ambos PCB y colóquelos en un soporte impreso en 3D
Paso 6: 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.
Premio del jurado en el PCB Design Challenge
Recomendado:
Medidor de temperatura y humedad de IoT con pantalla OLED: 5 pasos (con imágenes)
Medidor de temperatura y humedad de IoT con pantalla OLED: verifique la temperatura y la humedad en una pantalla OLED en cualquier momento que desee y al mismo tiempo recopile esos datos en una plataforma de IoT.La semana pasada publiqué un proyecto llamado Medidor de temperatura y humedad de IoT más simple. Ese es un buen proyecto porque puedes c
¡Automatizando un invernadero con LoRa! (Parte 1) -- Sensores (temperatura, humedad, humedad del suelo): 5 pasos
¡Automatizando un invernadero con LoRa! (Parte 1) || Sensores (temperatura, humedad, humedad del suelo): en este proyecto les mostraré cómo automaticé un invernadero. Eso significa que les mostraré cómo construí el invernadero y cómo conecté la electrónica de potencia y automatización. También te mostraré cómo programar una placa Arduino que usa L
Pantalla termocrómica de temperatura y humedad: 10 pasos (con imágenes)
Pantalla termocrómica de temperatura y humedad: he estado trabajando en este proyecto durante bastante tiempo. La idea original se me ocurrió después de construir un demostrador de controlador TEC en el trabajo para una feria comercial. Para mostrar las capacidades de calefacción y refrigeración de TEC, utilizamos pintura termocrómica que
Pantalla de humedad de temperatura de 24 horas Arduino: 3 pasos (con imágenes)
Pantalla de humedad de temperatura de 24 horas Arduino: el DHT11 es un gran sensor para comenzar. Es barato y fácil de conectar a un Arduino. Informa la temperatura y la humedad con aproximadamente un 2% de precisión, y este instructable utiliza un Gameduino 3 como pantalla gráfica, que muestra 24 horas de historial. W
Controle sus electrodomésticos con su control remoto de TV (control remoto por infrarrojos) con pantalla de temperatura y humedad: 9 pasos
Controle sus electrodomésticos con su control remoto de TV (control remoto por infrarrojos) con pantalla de temperatura y humedad: hola, soy Abhay y es mi primer blog sobre Instructables y hoy le mostraré cómo controlar sus electrodomésticos con el control remoto de su televisor construyendo esto. proyecto simple. gracias al laboratorio atl por el apoyo y el suministro de material