Table des matières:

Affichage thermochromique de la température et de l'humidité - Version PCB : 6 étapes (avec photos)
Affichage thermochromique de la température et de l'humidité - Version PCB : 6 étapes (avec photos)

Vidéo: Affichage thermochromique de la température et de l'humidité - Version PCB : 6 étapes (avec photos)

Vidéo: Affichage thermochromique de la température et de l'humidité - Version PCB : 6 étapes (avec photos)
Vidéo: Thermochromic Temperature & Humidity Display - PCB Version 2024, Décembre
Anonim
Image
Image
Conception du circuit imprimé du réchauffeur
Conception du circuit imprimé du réchauffeur

Il y a quelque temps, j'ai réalisé un projet appelé Affichage thermochromique de la température et de l'humidité dans lequel j'ai construit un affichage à 7 segments à partir de plaques de cuivre chauffées/refroidies par des éléments Peltier. Les plaques de cuivre étaient recouvertes d'une feuille thermochromique qui change de couleur avec la température. Ce projet est une version plus petite de l'affichage qui, au lieu de peltiers, utilise un PCB avec des traces chauffantes, comme suggéré par l'utilisateur DmitriyU2 dans la section commentaires. L'utilisation d'un réchauffeur PCB permet une conception beaucoup plus simple et plus compacte. Le chauffage est également plus efficace ce qui conduit à un changement de couleur plus rapide.

Regardez la vidéo pour voir comment fonctionne l'affichage.

Comme il me restait quelques PCB, je vends également ce présentoir dans ma boutique Tindie.

Fournitures

  • Heater PCB (voir mes fichiers GitHub pour Gerber)
  • PCB de contrôle (voir mon GitHub pour les fichiers Gerber et BoM)
  • Capteur DHT22 (par exemple ebay.de)
  • Support imprimé en 3D (voir mon GitHub pour le fichier stl)
  • Feuille adhésive thermochromique, 150x150 mm, 30-35°C (SFXC)
  • Boulon M2x6 + écrou
  • 2x en-tête de broche 1x9, 2,54 mm (par exemple mouser.com)
  • 2x connecteur de carte SMD 1x9, 2,54 mm (par exemple mouser.com)

Étape 1: Conception du circuit imprimé du réchauffeur

Conception du circuit imprimé du réchauffeur
Conception du circuit imprimé du réchauffeur
Conception du circuit imprimé du réchauffeur
Conception du circuit imprimé du réchauffeur

Le circuit imprimé du réchauffeur a été conçu en Eagle. Les dimensions du PCB sont de 100x150 mm car 150x150 mm est la taille standard des feuilles thermochromiques que j'ai utilisées. Au début, j'ai fait un croquis des segments dans Fusion360 qui a été enregistré au format dxf puis importé dans Eagle. Les segments ont des espaces fraisés entre eux et ne sont reliés que par de petits ponts. Cela améliore l'isolation thermique des segments individuels et permet donc un chauffage plus rapide et réduit la « diaphonie thermique ». Les segments ont été remplis de traces de PCB sur la couche supérieure (en rouge) à l'aide de l'outil à méandres d'Eagle. J'ai utilisé une largeur de piste et un espacement de 6 mil, ce qui est la taille minimale pouvant être fabriquée par PCBWay sans frais supplémentaires. Chaque trace est serpentée entre deux vias qui sont ensuite connectés aux broches via la couche inférieure (vue en bleu) à l'aide de traces de 32 mil beaucoup plus épaisses. Tous les segments partagent un terrain d'entente.

Je n'ai fait aucun calcul de la puissance de chauffe nécessaire pour une certaine élévation de température et je n'ai pas calculé la résistance attendue d'un segment. J'ai pensé que tout ajustement de la puissance de chauffage peut être effectué en utilisant un signal PWM avec un cycle de service variable. J'ai découvert plus tard que les segments chauffent assez rapidement lorsqu'ils sont alimentés via le port USB 5 V en utilisant un cycle d'utilisation d'environ 5 %. Le courant total lors du chauffage des 17 segments est d'environ 1,6 A.

Tous les fichiers du forum peuvent être trouvés sur mon GitHub.

Étape 2: Conception du PCB du contrôleur

Conception du PCB du contrôleur
Conception du PCB du contrôleur
Conception du PCB du contrôleur
Conception du PCB du contrôleur
Conception du PCB du contrôleur
Conception du PCB du contrôleur

Pour contrôler le chauffage PCB, j'ai choisi un MCU SAMD21E18 que j'ai également utilisé dans mon projet GlassCube. Ce microcontrôleur a suffisamment de broches pour contrôler les 17 segments de chauffage et lire le capteur DHT22. Il dispose également d'un port USB natif et peut être flashé avec le chargeur de démarrage CircuitPython d'Adafruit. Un connecteur micro USB a été utilisé comme alimentation et pour la programmation du MCU. Les segments chauffants sont contrôlés par 9 MOSFET double canal (SP8K24FRATB). Ceux-ci peuvent gérer jusqu'à 6 A et ont une tension de seuil de porte < 2,5 V afin qu'ils puissent être commutés par le signal logique de 3,3 V du MCU. J'ai trouvé ce fil très utile pour m'aider à concevoir le circuit de commande de chauffage.

J'ai commandé les PCB à PCBWay et les pièces électroniques séparément à Mouser et j'ai assemblé les PCB moi-même pour réduire les coûts. J'ai utilisé un distributeur de pâte à souder placé les pièces à la main et les ai soudées avec un radiateur IC infrarouge. Cependant, en raison de la quantité relativement importante de composants impliqués et des retouches nécessaires, cela était assez fastidieux et j'envisage d'utiliser un service d'assemblage à l'avenir.

Encore une fois, les fichiers du forum peuvent être trouvés sur mon GitHub. Vous y trouverez une version améliorée du PCB qui utilise un connecteur USB-C au lieu du micro USB. J'ai également corrigé l'espacement des trous traversants pour le capteur DHT22 et ajouté un connecteur à 10 broches pour faciliter le flashage du bootloader via J-Link.

Étape 3: Chargeur de démarrage CircuitPython

Au début, j'ai flashé le SAMD21 avec un bootloader UF2 basé sur le Trinket M0 d'Adafruit. Le bootloader a dû être légèrement modifié car le Trinket a une LED connectée à l'une des broches que j'utilise pour le chauffage. Sinon, cette broche passera au niveau haut pendant une courte période après le démarrage et chauffera le segment connecté à pleine puissance. Le flashage du bootloader se fait en connectant un J-Link au MCU via les ports SWD et SWC. L'ensemble du processus est décrit en détail sur le site Web d'Adafruit. Après avoir installé le chargeur de démarrage, le MCU est reconnu comme un lecteur flash lorsqu'il est connecté via le port micro USB et les chargeurs de démarrage suivants peuvent être simplement installés en faisant glisser un fichier UF2 sur le lecteur.

Comme étape suivante, je voulais installer un chargeur de démarrage CircuitPython. Cependant, comme ma carte utilise de nombreuses broches qui ne sont pas connectées sur le Trinket M0, j'ai d'abord dû modifier légèrement la configuration de la carte. Encore une fois, il existe un excellent tutoriel pour cela sur le site Web d'Adafruit. Fondamentalement, il suffit de commenter quelques broches ignorées dans le mpconfigboard.h, puis de tout recompiler. Les fichiers de bootloader personnalisés sont également disponibles sur mon GitHub.

Étape 4: CircuitPython Code

CircuitCode Python
CircuitCode Python
CircuitCode Python
CircuitCode Python

Une fois le chargeur de démarrage CircuitPython installé, vous pouvez simplement programmer la carte en enregistrant votre code en tant que fichier code.py directement sur la clé USB. Le code que j'ai écrit lit le capteur DHT22 puis affiche alternativement la température et l'humidité en chauffant les segments correspondants. Comme déjà mentionné, le chauffage se fait en commutant les MOSFET avec un signal PWM. Au lieu de configurer les broches en tant que sorties PWM, j'ai généré un "faux" signal PWM avec une faible fréquence de commutation de 100 Hz dans le code en utilisant des retards. Pour réduire encore la consommation de courant, je n'allume pas les segments simultanément mais séquentiellement comme indiqué dans le schéma ci-dessus. Il existe également quelques astuces pour rendre le chauffage des segments plus uniforme. Tout d'abord, le cycle de service est un peu différent pour chaque segment. Par exemple, le tiret du signe "%" nécessite un cycle de service beaucoup plus important en raison de sa résistance plus élevée. J'ai également constaté que les segments qui sont entourés de nombreux autres segments doivent être moins chauffés. De plus, si un segment a été chauffé lors de l'"exécution" précédente, le cycle de service peut être réduit lors de la suivante. Enfin, le temps de chauffage et de refroidissement est adapté à la température ambiante qui est commodément mesurée par le capteur DHT22. Pour trouver des constantes de temps raisonnables, j'ai calibré l'affichage dans une chambre climatique à laquelle j'ai heureusement accès au travail.

Vous pouvez trouver le code complet sur mon GitHub.

Étape 5: Assemblage

Assemblée
Assemblée
Assemblée
Assemblée
Assemblée
Assemblée

L'assemblage de l'écran est assez facile et peut être divisé en les étapes suivantes

  1. Soudez les en-têtes de broches femelles au circuit imprimé de chauffage
  2. Fixez la feuille thermochromique autocollante au circuit imprimé du réchauffeur
  3. Souder le capteur DHT22 au PCB du contrôleur et le fixer avec un boulon et un écrou M2
  4. Soudez les en-têtes de broches mâles au contrôleur PCB
  5. Connectez les deux PCB et placez-les dans un support imprimé en 3D

Étape 6: Projet terminé

Projet terminé
Projet terminé
Projet terminé
Projet terminé

Je suis assez satisfait de l'affichage fini qui fonctionne maintenant constamment dans notre salon. L'objectif de créer une version plus petite et plus simple de mon écran thermochromique d'origine a été définitivement atteint et je tiens à remercier une fois de plus l'utilisateur DmitriyU2 pour sa suggestion. Le projet m'a également aidé à améliorer mes compétences en conception de PCB dans Eagle et j'ai appris l'utilisation des MOSFET comme commutateurs.

On pourrait peut-être encore améliorer le design en fabriquant un joli boîtier pour les PCB. Je pense aussi faire une horloge numérique dans le même style.

Si vous aimez ce projet, vous pouvez simplement le refaire ou l'acheter sur ma boutique Tindie. Pensez également à voter pour moi dans le défi de conception de PCB.

Défi de conception de circuits imprimés
Défi de conception de circuits imprimés
Défi de conception de circuits imprimés
Défi de conception de circuits imprimés

Prix des juges du PCB Design Challenge

Conseillé: