Obsah:
- Zásoby
- Krok 1: Návrh PCB ohrievača
- Krok 2: Navrhnutie dosky plošných spojov ovládača
- Krok 3: Bootloader CircuitPython
- Krok 4: Kód CircuitPython
- Krok 5: Zostavenie
- Krok 6: Hotový projekt
Video: Termochromický displej teploty a vlhkosti - verzia PCB: 6 krokov (s obrázkami)
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 11:56
Pred chvíľou som urobil projekt s názvom Thermochromic Temperature & Humidity Display, kde som postavil 7-segmentový displej z medených dosiek, ktoré boli vyhrievané/chladené peltierovými prvkami. Medené platne boli potiahnuté termochromickou fóliou, ktorá s teplotou mení farbu. Tento projekt je menšou verziou displeja, ktorá namiesto panelov používa DPS s vyhrievacími stopami, ako navrhol používateľ DmitriyU2 v sekcii komentárov. Použitie ohrievača DPS umožňuje oveľa jednoduchší a kompaktnejší dizajn. Vykurovanie je tiež efektívnejšie, čo vedie k rýchlejšej zmene farby.
Pozrite sa na video a zistite, ako funguje displej.
Keďže mi zostalo niekoľko PCB, predávam tento displej aj vo svojom obchode Tindie.
Zásoby
- Ohrievač PCB (súbory Gerber nájdete v mojom GitHube)
- Ovládajte PCB (súbory Gerber a BoM nájdete na mojom GitHube)
- Snímač DHT22 (napr. Ebay.de)
- Stojan pre 3D tlač (súbor stl nájdete v mojom GitHube)
- Termochromický lepiaci list, 150x150 mm, 30-35 ° C (SFXC)
- Skrutka M2x6 + matica
- 2x kolíkový konektor 1x9, 2,54 mm (napr. Mouser.com)
- 2x konektor dosky SMD 1x9, 2,54 mm (napr. Mouser.com)
Krok 1: Návrh PCB ohrievača
Doska plošných spojov ohrievača bola navrhnutá v Eagle. Rozmery DPS sú 100 x 150 mm, pretože 150 x 150 mm je štandardná veľkosť termochromických plechov, ktoré som použil. Najprv som urobil náčrt segmentov vo Fusion360, ktorý bol uložený ako dxf a potom importovaný do Eagle. Segmenty majú medzi sebou frézované medzery a sú spojené iba malými mostíkmi. To zlepšuje tepelnú izoláciu jednotlivých segmentov, a preto umožňuje rýchlejšie zahrievanie a znižuje „tepelné presluchy“. Segmenty boli vyplnené stopami PCB na hornej vrstve (videné červenou farbou) pomocou meandrového nástroja v Eagle. Použil som šírku stopy a rozstup 6 miliónov, čo je minimálna veľkosť, ktorú môže spoločnosť PCBWay vyrobiť bez ďalších nákladov. Každá stopa sa kľukatí medzi dvoma priechodkami, ktoré sú potom spojené s kolíkmi cez spodnú vrstvu (videnú modro) pomocou oveľa hrubších 32 miliónov stôp. Všetky segmenty majú spoločný základ.
Nevykonal som žiadne výpočty vykurovacieho výkonu potrebného na určitý nárast teploty, ani som nevypočítal očakávaný odpor segmentu. Zistil som, že akúkoľvek úpravu vykurovacieho výkonu je možné vykonať pomocou signálu PWM s rôznym pracovným cyklom. Neskôr som zistil, že segmenty sa zahrievajú primerane rýchlo, keď sú napájané cez 5V USB port s použitím ~ 5% pracovného cyklu. Celkový prúd pri zahrievaní všetkých 17 segmentov je asi 1,6 A.
Všetky súbory z nástenky nájdete na mojom GitHub.
Krok 2: Navrhnutie dosky plošných spojov ovládača
Na ovládanie ohrievača DPS som vybral MCU SAMD21E18, ktorý som použil aj v projekte GlassCube. Tento mikrokontrolér má dostatok kolíkov na ovládanie všetkých 17 segmentov ohrievača a čítanie snímača DHT22. Má tiež natívne USB a je možné ho flashovať pomocou bootloadera Adafruit CircuitPython. Na napájanie a programovanie MCU bol použitý konektor micro USB. Segmenty ohrievača sú ovládané 9 dvojkanálovými MOSFETmi (SP8K24FRATB). Tieto môžu pracovať až do 6 A a majú prahové napätie brány <2,5 V, takže ich možno prepínať logickým signálom 3,3 V z MCU. Považoval som toto vlákno za veľmi užitočné, pretože mi pomohlo navrhnúť ovládací obvod ohrievača.
PCB som objednal od PCBWay a elektronické diely oddelene od spoločnosti Mouser a zostavil som PCB sám, aby som šetril náklady. Použil som dávkovač spájkovacej pasty, ktorý umiestnil diely ručne a spájkoval som ich infračerveným ohrievačom IC. Vzhľadom na relatívne veľké množstvo príslušných komponentov a požadované prepracovanie to však bolo dosť únavné a zvažujem v budúcnosti využitie montážnej služby.
Súbory tabúľ opäť nájdete na mojom GitHube. Nájdete tu vylepšenú verziu dosky plošných spojov, ktorá namiesto konektora micro USB používa konektor USB-C. Tiež som opravil rozstup priechodných otvorov pre snímač DHT22 a pridal som 10-kolíkový konektor pre jednoduchšie blikanie bootloadera cez J-Link.
Krok 3: Bootloader CircuitPython
Najprv som spustil SAMD21 pomocou bootloadera UF2 na základe Adafruit's Trinket M0. Bootloader musel byť mierne upravený, pretože Trinket má LED diódu pripojenú k jednému z pinov, ktoré používam na vykurovanie. V opačnom prípade sa tento kolík zvýši krátko po zavedení a zahrieva pripojený segment plným výkonom. Flashovanie bootloadera sa vykonáva pripojením J-Link k MCU cez porty SWD a SWC. Celý proces je podrobne popísaný na webe Adafruit. Po inštalácii bootloadera je MCU rozpoznaný ako flash disk, keď je pripojený cez port micro USB a následné bootloadery je možné jednoducho nainštalovať presunutím súboru UF2 na disk.
Ako ďalší krok som chcel nainštalovať bootloader CircuitPython. Pretože však moja doska používa veľa pinov, ktoré nie sú na Trinket M0 pripojené, musel som najskôr mierne upraviť konfiguráciu dosky. Na webe Adafruit je k tomu opäť skvelý návod. V zásade platí, že stačí komentovať niekoľko ignorovaných pinov na mpconfigboard.h a potom všetko prekompilovať. Vlastné súbory bootloadera sú k dispozícii aj na mojom GitHub.
Krok 4: Kód CircuitPython
Po inštalácii bootloadera CircuitPython môžete dosku len naprogramovať uložením kódu ako súboru code.py priamo na USB flash disk. Kód, ktorý som napísal, číta snímač DHT22 a potom striedavo zobrazuje teplotu a vlhkosť zahrievaním príslušných segmentov. Ako už bolo uvedené, vykurovanie sa vykonáva prepnutím MOSFETov signálom PWM. Namiesto konfigurácie pinov ako výstupov PWM som pomocou oneskorení vygeneroval v kóde „falošný“signál PWM s nízkou frekvenciou spínania 100 Hz. Aby sa ešte viac znížila spotreba prúdu, nezapínam segmenty súčasne, ale postupne, ako je znázornené na schéme vyššie. Existuje aj niekoľko trikov, ako zahrievanie segmentov vyrovnať. V prvom rade je pracovný cyklus pre každý segment trochu iný. Napríklad pomlčka znamienka „%“potrebuje kvôli svojej väčšej odolnosti oveľa väčší pracovný cyklus. Tiež som zistil, že segmenty, ktoré sú obklopené mnohými ďalšími segmentmi, sa musia zahrievať menej. Navyše, ak bol segment zahrievaný v predchádzajúcom „chode“, pracovný cyklus sa môže v nasledujúcom znížiť. Nakoniec sa doba ohrevu a chladenia prispôsobí teplote okolia, ktorá sa pohodlne meria snímačom DHT22. Aby som našiel rozumné časové konštanty, v skutočnosti som kalibroval displej v klimatickej komore, ku ktorej mám našťastie prístup pri práci.
Úplný kód nájdete na mojom GitHub.
Krok 5: Zostavenie
Zostavenie displeja je pomerne jednoduché a je možné ho rozdeliť v nasledujúcich krokoch
- Spájkujte zásuvkové kolíkové konektory na PCB ohrievača
- Na vykurovaciu dosku plošných spojov pripevnite samolepiaci termochromický plech
- Spájajte snímač DHT22 na dosku plošného spoja ovládača a upevnite skrutkou M2
- Spájkujte zástrčkové kolíkové konektory s plošnými spojmi ovládača
- Pripojte obe dosky plošných spojov a umiestnite ich do stojanu s 3D tlačou
Krok 6: Hotový projekt
Som celkom spokojný s hotovou diplay, ktorá teraz neustále beží v našej obývačke. Cieľ vytvoriť menšiu, jednoduchšiu verziu môjho pôvodného termochromického displeja bol určite dosiahnutý a rád by som používateľovi DmitriyU2 ešte raz poďakoval za návrh. Projekt mi tiež pomohol zlepšiť moje schopnosti v navrhovaní DPS v Eagle a dozvedel som sa o použití MOSFETov ako prepínačov.
Dizajn by sa mohol ďalej vylepšiť vytvorením pekného krytu pre dosky plošných spojov. Rozmýšľam aj nad výrobou digitálnych hodín v rovnakom štýle.
Ak sa vám páči tento projekt, môžete ho prerobiť alebo kúpiť v mojom obchode Tindie. Zvážte tiež hlasovanie za mňa vo výzve na návrh DPS.
Cena porotcov v súťaži PCB Design Challenge
Odporúča:
Merač teploty a vlhkosti IoT s obrazovkou OLED: 5 krokov (s obrázkami)
Merač teploty a vlhkosti IoT s obrazovkou OLED: Kontrolujte teplotu a vlhkosť na obrazovke OLED kedykoľvek chcete a súčasne zbierajte tieto údaje na platforme IoT. Minulý týždeň som publikoval projekt s názvom Najjednoduchší merač teploty a vlhkosti IoT. Je to dobrý projekt, pretože môžete
Najjednoduchší merač teploty a vlhkosti IoT: 5 krokov (s obrázkami)
Najjednoduchší merač teploty a vlhkosti IoT: Najjednoduchší merač teploty a vlhkosti IoT vám umožňuje zbierať teplotu, vlhkosť a tepelný index. Potom ich pošlite na Adafruit IO
Systém regulácie vlhkosti a teploty pre terárium: 11 krokov (s obrázkami)
Systém regulácie vlhkosti a teploty pre terárium: ÚVOD: Tento návod je na vývoj modulárneho systému regulácie vlhkosti a teploty pomocou Arduino Uno. Tento systém používa vodotesnú sondu vlhkosti a teploty na monitorovanie parametrov prostredia a pripojenie Arduino Uno
Indikátor teploty a vlhkosti Arduino: 7 krokov (s obrázkami)
Indikátor teploty a vlhkosti od spoločnosti Arduino: Tento návod ukáže, ako vytvoriť box, ktorý môže pomocou Arduina indikovať teplotu a vlhkosť. Tento box môžete položiť na stôl na meranie teploty a vlhkosti vo vašej miestnosti. Vďaka vysokej kvalite MDF boxu rezaného laserom je každá vec zhutnený pre
Termochromický displej teploty a vlhkosti: 10 krokov (s obrázkami)
Termochromický displej teploty a vlhkosti: Na tomto projekte pracujem už nejaký čas. Pôvodná myšlienka ma napadla po vybudovaní demonštrátora ovládača TEC v práci na veľtrhu. Aby sme ukázali možnosti vykurovania a chladenia TEC, použili sme termochromickú farbu, ktorá