Sisukord:
- Tarvikud
- Samm: kütteseadme trükkplaadi kujundamine
- 2. samm: kontrolleri trükkplaadi kujundamine
- Samm: CircuitPython Bootloader
- Samm: CircuitPythoni kood
- Samm: kokkupanek
- 6. samm: valmis projekt
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:46
Mõni aeg tagasi a tegi projekti nimega Thermochromic Temperature & Humidity Display, kus ehitasin 7-segmendilise kuvari vaskplaatidest, mida soojendasid/jahutasid peltier-elemendid. Vaseplaadid kaeti termokroomse fooliumiga, mis muudab värvi vastavalt temperatuurile. See projekt on ekraani väiksem versioon, mis kasutab peltierite asemel küttejälgedega trükkplaati, nagu soovitas kasutaja DmitriyU2 kommentaaride osas. PCB küttekeha kasutamine võimaldab palju lihtsamat ja kompaktsemat disaini. Küte on ka tõhusam, mis toob kaasa kiirema värvimuutuse.
Vaadake videot, et näha, kuidas ekraan töötab.
Kuna mul oli paar trükkplaati alles, müün seda ekraani ka oma Tindie poes.
Tarvikud
- Soojendi trükkplaat (Gerberi failide jaoks vaadake minu GitHubi)
- PCB juhtimine (Gerberi failide ja BoM -i jaoks vaadake minu GitHubi)
- DHT22 andur (nt ebay.de)
- 3D trükitud alus (stl -faili leiate minu GitHubist)
- Termokroomne liimileht, 150x150 mm, 30-35 ° C (SFXC)
- M2x6 polt + mutter
- 2x tihvtiga päis 1x9, 2,54 mm (nt mouser.com)
- 2x SMD plaadi pistik 1x9, 2,54 mm (nt mouser.com)
Samm: kütteseadme trükkplaadi kujundamine
Kütteseadme trükkplaat on projekteeritud Eagle'is. PCB mõõtmed on 100x150 mm, kuna 150x150 mm on minu kasutatud termokroomsete lehtede standardsuurus. Alguses tegin visandi Fusion360 segmentidest, mis salvestati dxf -vormingus ja seejärel imporditi Eagle'i. Segmentide vahel on freesitud vahed ja neid ühendavad ainult väikesed sillad. See parandab üksikute segmentide soojusisolatsiooni ja võimaldab seega kiiremat kuumutamist ning vähendab termilist läbikäimist. Segmendid täideti ülemise kihi PCB jälgedega (näha punaselt), kasutades Eagle'i meander -tööriista. Kasutasin rööpmelaiust ja vahekaugust 6 miljonit, mis on minimaalne suurus, mida PCBWay saab ilma lisakuludeta toota. Iga jälje keerleb kahe viaalide vahel, mis seejärel ühendatakse tihvtidega alumise kihi kaudu (vaadatuna sinisena), kasutades palju paksemaid 32 miljonit jälge. Kõikidel segmentidel on ühine joon.
Ma ei teinud arvutusi teatud temperatuuri tõusu jaoks vajaliku küttevõimsuse kohta ega arvutanud segmendi eeldatavat takistust. Arvasin, et küttevõimsust saab reguleerida erineva töötsükliga PWM -signaali abil. Hiljem leidsin, et segmendid kuumenevad suhteliselt kiiresti, kui neid toidetakse 5 V USB -pordi kaudu, kasutades ~ 5% töötsüklit. Kogu vool kõigi 17 segmendi kuumutamisel on umbes 1,6 A.
Kõik tahvlifailid leiate minu GitHubist.
2. samm: kontrolleri trükkplaadi kujundamine
PCB küttekeha juhtimiseks valin SAMD21E18 MCU, mida kasutasin ka oma GlassCube projektis. Sellel mikrokontrolleril on piisavalt kontakte, et juhtida kõiki 17 kütteseadme segmenti ja lugeda DHT22 andurit. Sellel on ka oma USB ja seda saab välgutada Adafruit'i alglaaduri CircuitPython abil. Toiteallikana ja MCU programmeerimiseks kasutati mikro -USB -pistikut. Kütteseadmeid kontrollivad 9 kahe kanaliga MOSFET -i (SP8K24FRATB). Need saavad hakkama kuni 6 A ja värava lävipinge on <2,5 V, nii et neid saab vahetada MCU 3,3 V loogikasignaali abil. Leidsin, et see teema on väga kasulik kütteseadme juhtimisahela kujundamisel.
Tellisin PCBWay -lt PCB -d ja elektroonilised osad Mouserist eraldi ning panin PCB -d kokku, et kulusid kokku hoida. Kasutasin jootepasta dosaatorit, mis asetas osad käsitsi ja joodeti infrapuna IC -kütteseadmega. Kuid suhteliselt suurte komponentide hulga ja vajaliku ümbertöötamise tõttu oli see üsna tüütu ja ma kaalun tulevikus monteerimisteenuse kasutamist.
Tahvli failid leiate jällegi minu GitHubist. Sealt leiate PCB täiustatud versiooni, mis kasutab mikro-USB asemel USB-C pistikut. Parandasin ka DHT22 anduri avade vahekaugust ja lisasin 10-kontaktilise pistiku, et alglaaduri hõlpsam vilkumine J-Linki kaudu.
Samm: CircuitPython Bootloader
Alguses välgutasin SAMD21 UF2 alglaaduriga, mis põhineb Adafruit'i Trinket M0 -l. Alglaadurit tuli veidi muuta, kuna Trinketil on LED, mis on ühendatud ühe tihvtiga, mida ma kütteks kasutan. Vastasel juhul tõuseb see tihvt pärast käivitamist lühikeseks ajaks kõrgele ja soojendab ühendatud segmenti täisvõimsusel. Alglaaduri vilkumine toimub, ühendades J-Linki MCU-ga SWD- ja SWC-portide kaudu. Kogu protsessi on üksikasjalikult kirjeldatud Adafruit'i veebisaidil. Pärast alglaaduri installimist tuvastatakse MCU mälupulkana, kui see on ühendatud mikro -USB -pordi kaudu, ja järgnevaid alglaadureid saab lihtsalt installida, lohistades UF2 -faili draivile.
Järgmise sammuna soovisin installida CircuitPythoni alglaaduri. Kuna aga minu plaadil on palju nööpnõelu, mis pole Trinket M0 -ga ühendatud, pidin kõigepealt plaadi konfiguratsiooni veidi muutma. Jällegi on selle jaoks suurepärane õpetus Adafruit'i veebisaidil. Põhimõtteliselt tuleb lihtsalt mpconfigboard.h -s kommenteerida mõned ignoreeritud nööpnõelad ja seejärel kõik uuesti kompileerida. Kohandatud alglaaduri failid on saadaval ka minu GitHubis.
Samm: CircuitPythoni kood
Pärast CircuitPythoni alglaaduri installimist saate lihtsalt plaadi programmeerida, salvestades oma koodi code.py -failina otse USB -mälupulgale. Minu kirjutatud kood loeb ette DHT22 anduri ja kuvab seejärel vaheldumisi vastavaid segmente kuumutades temperatuuri ja niiskust. Nagu juba mainitud, soojendatakse MOSFET -sid PWM -signaaliga. Selle asemel, et tihvte PWM -väljunditena konfigureerida, genereerisin koodis viivituste abil "võltsitud" PWM -signaali madala lülitussagedusega 100 Hz. Voolutarbimise edasiseks vähendamiseks ei lülita segmente sisse samaaegselt, vaid järjestikku, nagu on näidatud ülaltoodud skeemil. Samuti on mõned nipid segmentide kuumutamise ühtlasemaks muutmiseks. Esiteks on töötsükkel iga segmendi jaoks pisut erinev. Näiteks kriips "%" vajab suurema vastupanu tõttu palju suuremat töötsüklit. Samuti leidsin, et segmente, mida ümbritsevad paljud teised segmendid, tuleb vähem kuumutada. Lisaks, kui segmenti kuumutati eelmisel "jooksul", saab töötsüklit järgmisel korral vähendada. Lõpuks kohandatakse kütte- ja jahutusaeg ümbritseva õhu temperatuuriga, mida saab mugavalt mõõta DHT22 anduri abil. Mõistlike ajakonstandide leidmiseks kalibreerisin ekraani tegelikult kliimakambris, millele mul õnneks tööl juurdepääs on.
Täieliku koodi leiate minu GitHubist.
Samm: kokkupanek
Ekraani kokkupanek on üsna lihtne ja seda saab jagada järgmisteks sammudeks
- Jootke emase tihvti päised kütteseadme trükkplaadile
- Kinnitage isekleepuv termokroomleht küttekeha trükkplaadile
- Jootke DHT22 andur kontrolleri trükkplaadile ja kinnitage M2 poldi ja mutriga
- Jootke isast tihvti päised kontrolleri trükkplaadile
- Ühendage mõlemad trükkplaadid ja asetage 3D trükitud alusele
6. samm: valmis projekt
Olen üsna rahul valmis diplay'iga, mis nüüd meie elutoas pidevalt töötab. Eesmärk teha oma originaalsest termokroomsest kuvarist väiksem ja lihtsam versioon oli kindlasti saavutatud ja sooviksin veel kord tänada kasutajat DmitriyU2 soovituse eest. Projekt aitas mul ka Eagle'is oma PCB projekteerimisoskusi täiendada ja õppisin MOSFET -ide kasutamist lülititena.
Võib -olla saaks disaini veelgi parandada, tehes PCB -dele kena korpuse. Mõtlen ka samas stiilis digikella valmistamisele.
Kui teile see projekt meeldib, saate selle lihtsalt ümber teha või minu Tindie poest osta. Kaaluge ka minu poolt PCB disaini väljakutses hääletamist.
Kohtunike auhind PCB disaini väljakutses
Soovitan:
IoT temperatuuri ja niiskuse mõõtja OLED -ekraaniga: 5 sammu (piltidega)
IoT temperatuuri ja niiskuse mõõtja OLED -ekraaniga: kontrollige temperatuuri ja niiskust OLED -ekraanil igal ajal, kui soovite, ja samal ajal koguge need andmed IoT -platvormile. Eelmisel nädalal avaldasin projekti nimega Simplest IoT temperatuuri ja niiskuse mõõtur. See on hea projekt, sest saate
Lihtsaim IoT temperatuuri ja niiskuse mõõtja: 5 sammu (piltidega)
Lihtsaim IoT temperatuuri ja niiskuse mõõtja: Lihtsaim IoT temperatuuri ja niiskuse mõõtja võimaldab teil koguda temperatuuri, niiskust ja soojusindeksit. Seejärel saatke need Adafruit IO -sse
Terraariumi niiskuse ja temperatuuri juhtimissüsteem: 11 sammu (koos piltidega)
Terraariumi niiskuse ja temperatuuri juhtimissüsteem: SISSEJUHATUS: See juhend on mõeldud modulaarse niiskuse ja temperatuuri juhtimissüsteemi väljatöötamiseks Arduino Uno abil. See süsteem kasutab keskkonnaparameetrite jälgimiseks veekindlat niiskuse ja temperatuuri andurit ning Arduino Uno ühendust
Arduino temperatuuri ja niiskuse näitaja: 7 sammu (koos piltidega)
Arduino temperatuuri ja niiskuse indikaator: see juhend näitab, kuidas teha Arduino abil kasti, mis näitab temperatuuri ja niiskust. Selle kasti saate oma ruumi temperatuuri ja niiskuse mõõtmiseks lauale asetada. Laserlõikega kõrgekvaliteedilise MDF -karbi abil on kõik tihendatud f
Termokroomne temperatuuri ja niiskuse ekraan: 10 sammu (piltidega)
Termokroomne temperatuuri ja niiskuse näidik: Olen selle projektiga töötanud juba mõnda aega. Algne idee tuli mulle pärast seda, kui ehitasin messile tööl TEC kontrolleri demonstraatori. TEC -de kütte- ja jahutusvõimaluste näitamiseks kasutasime termokroomvärvi, mis