Turinys:
- Prekės
- 1 žingsnis: suprojektuokite šildytuvo PCB
- 2 žingsnis: valdiklio PCB projektavimas
- 3 žingsnis: „CircuitPython Bootloader“
- 4 žingsnis: „CircuitPython“kodas
- 5 žingsnis: Surinkimas
- 6 žingsnis: baigtas projektas
Video: Termochrominis temperatūros ir drėgmės ekranas - PCB versija: 6 žingsniai (su paveikslėliais)
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:45
Prieš kurį laiką aš įgyvendinau projektą, pavadintą „Thermochromic Temperature & Humidity Display“, kuriame sukūriau 7 segmentų ekraną iš varinių plokščių, kurios buvo šildomos/aušinamos peltier elementais. Varinės plokštės buvo padengtos termochromine folija, kuri keičia spalvą priklausomai nuo temperatūros. Šis projektas yra mažesnė ekrano versija, kurioje vietoj „peltiers“naudojama PCB su šildymo pėdsakais, kaip pasiūlė vartotojas DmitriyU2 komentarų skiltyje. Naudojant PCB šildytuvą, konstrukcija yra daug paprastesnė ir kompaktiškesnė. Šildymas taip pat yra efektyvesnis, todėl greičiau pasikeičia spalva.
Žiūrėkite vaizdo įrašą, kad pamatytumėte, kaip veikia ekranas.
Kadangi man liko keletas PCB, aš taip pat parduodu šį ekraną savo „Tindie“parduotuvėje.
Prekės
- Šildytuvo PCB (Gerber failus žr. Mano „GitHub“)
- Valdykite PCB (žr. „GitHub“, kad gautumėte Gerber failus ir BoM)
- DHT22 jutiklis (pvz., Ebay.de)
- 3D spausdintas stendas (stl failą rasite mano „GitHub“)
- Termochrominis klijų lakštas, 150x150 mm, 30-35 ° C (SFXC)
- M2x6 varžtas + veržlė
- 2x kaiščio antraštė 1x9, 2,54 mm (pvz., Mouser.com)
- 2x SMD plokštės jungtis 1x9, 2,54 mm (pvz., Mouser.com)
1 žingsnis: suprojektuokite šildytuvo PCB
Šildytuvo PCB buvo sukurtas Eagle. PCB matmenys yra 100x150 mm, nes 150x150 mm yra standartinis mano naudojamų termochrominių lakštų dydis. Iš pradžių aš sukūriau „Fusion360“segmentų eskizą, kuris buvo išsaugotas kaip dxf ir importuotas į „Eagle“. Tarp segmentų yra frezuoti tarpai ir jie yra sujungti tik mažais tiltais. Tai pagerina atskirų segmentų šilumos izoliaciją, todėl leidžia greičiau įkaisti ir sumažina „šiluminį susiliejimą“. Segmentai buvo užpildyti PCB pėdsakais viršutiniame sluoksnyje (matomi raudonai), naudojant „Eagle“meandros įrankį. Aš naudoju vėžės plotį ir 6 milimetrų atstumą, tai yra mažiausias dydis, kurį PCBWay gali pagaminti be papildomų išlaidų. Kiekvienas pėdsakas vingiuoja tarp dviejų skylių, kurios po apatiniu sluoksniu (matomos mėlynos spalvos) yra sujungtos su kaiščiais, naudojant daug storesnius 32 mil. Visi segmentai turi bendrą pagrindą.
Aš neskaičiavau šildymo galios, reikalingos tam tikram temperatūros kilimui, ir neskaičiavau tikėtino segmento atsparumo. Aš supratau, kad bet kokį šildymo galios reguliavimą galima atlikti naudojant PWM signalą su skirtingu darbo ciklu. Vėliau sužinojau, kad segmentai įkaista pakankamai greitai, kai jie maitinami per 5 V USB prievadą, naudojant ~ 5% darbo ciklą. Bendra srovė šildant visus 17 segmentų yra apie 1,6 A.
Visus lentos failus galite rasti mano „GitHub“.
2 žingsnis: valdiklio PCB projektavimas
Norėdami valdyti PCB šildytuvą, renkuosi SAMD21E18 MCU, kurį taip pat naudojau savo „GlassCube“projekte. Šis mikrovaldiklis turi pakankamai kaiščių, kad būtų galima valdyti visus 17 šildytuvo segmentų ir nuskaityti DHT22 jutiklį. Jis taip pat turi vietinį USB ir gali būti paleistas naudojant „Adafruit“„CircuitPython“įkrovos tvarkyklę. Mikro USB jungtis buvo naudojama kaip maitinimo šaltinis ir MCU programavimui. Šildytuvo segmentus valdo 9 dviejų kanalų MOSFET (SP8K24FRATB). Jie gali valdyti iki 6 A, o vartų slenksčio įtampa yra <2,5 V, todėl juos galima perjungti naudojant 3,3 V loginį signalą iš MCU. Man pasirodė, kad ši tema yra labai naudinga kuriant šildytuvo valdymo grandinę.
Aš užsisakiau PCB iš „PCBWay“, o elektronines dalis atskirai nuo „Mouser“ir pats surinkau PCB, kad sutaupyčiau išlaidų. Aš naudoju litavimo pastos dozatorių, padėdamas dalis rankomis ir lituodamas jas infraraudonųjų spindulių IC šildytuvu. Tačiau dėl palyginti didelio sudedamųjų dalių skaičiaus ir reikalaujamo pertvarkymo tai buvo gana nuobodu, todėl manau, kad ateityje naudosiu surinkimo paslaugą.
Vėlgi lentos failus galite rasti mano „GitHub“. Čia galite rasti patobulintą PCB versiją, kuri naudoja USB-C jungtį, o ne mikro USB. Taip pat pataisiau DHT22 jutiklio skylių tarpus ir pridėjau 10 kontaktų jungtį, kad būtų lengviau mirksėti įkrovos įkrovikliui per „J-Link“.
3 žingsnis: „CircuitPython Bootloader“
Iš pradžių SAMD21 mirgėjau su UF2 įkrovos įkrovikliu, pagrįstu „Adafruit“„Trinket M0“. Įkrovos įkroviklis turėjo būti šiek tiek pakeistas, nes „Trinket“turi šviesos diodą, prijungtą prie vieno iš kaiščių, kuriuos naudoju šildymui. Priešingu atveju šis kaištis trumpam pakils aukštai po įkrovos ir šildys prijungtą segmentą visa galia. Įkrovos įkroviklis mirksi prijungus „J-Link“prie MCU per SWD ir SWC prievadus. Visas procesas išsamiai aprašytas „Adafruit“svetainėje. Įdiegus įkrovos įkroviklį, MCU yra atpažįstamas kaip „flash“įrenginys, kai jis prijungtas per „micro USB“prievadą, o vėlesnius įkrovos įkėlimo įrenginius galima tiesiog įdiegti vilkdami UF2 failą į diską.
Kitas žingsnis norėjau įdiegti „CircuitPython“įkrovos tvarkyklę. Tačiau kadangi mano plokštė naudoja daug kaiščių, kurie nėra prijungti prie „Trinket M0“, pirmiausia turėjau šiek tiek pakeisti plokštės konfigūraciją. Vėlgi yra puiki pamoka apie tai „Adafruit“svetainėje. Iš esmės tereikia pakomentuoti keletą ignoruojamų kaiščių mpconfigboard.h ir tada viską iš naujo sukompiliuoti. Pasirinktinius įkrovos įkėlimo failus taip pat galima rasti „GitHub“.
4 žingsnis: „CircuitPython“kodas
Įdiegus „CircuitPython“įkrovos tvarkyklę, galite tiesiog užprogramuoti plokštę, išsaugodami kodą kaip code.py failą tiesiai į USB atmintinę. Mano parašytas kodas nuskaito DHT22 jutiklį ir pakaitomis rodo temperatūrą ir drėgmę, kaitindamas atitinkamus segmentus. Kaip jau minėta, šildymas atliekamas perjungiant MOSFET su PWM signalu. Vietoj to, kad kaiščiai būtų sukonfigūruoti kaip PWM išėjimai, sukūriau „netikrą“PWM signalą su mažu 100 Hz perjungimo dažniu kodu, naudojant vėlavimus. Norėdami dar labiau sumažinti srovės suvartojimą, įjungiu segmentus ne vienu metu, o nuosekliai, kaip parodyta aukščiau esančioje schemoje. Taip pat yra keletas gudrybių, kad segmentų šildymas būtų tolygesnis. Visų pirma, kiekvieno segmento darbo ciklas yra šiek tiek kitoks. Pavyzdžiui, „%“ženklo brūkšneliui reikia daug ilgesnio veikimo ciklo dėl didesnio atsparumo. Taip pat pastebėjau, kad segmentus, kuriuos supa daugelis kitų segmentų, reikia mažiau šildyti. Be to, jei segmentas buvo šildomas ankstesniu „važiavimu“, darbo ciklas gali būti sumažintas kitame. Galiausiai šildymo ir aušinimo laikas pritaikomas prie aplinkos temperatūros, kurią patogiai matuoja DHT22 jutiklis. Norėdami rasti pagrįstas laiko konstantas, aš iš tikrųjų sukalibravau ekraną klimato kameroje, kurią, laimei, turiu prieigą darbe.
Visą kodą galite rasti mano „GitHub“.
5 žingsnis: Surinkimas
Ekrano surinkimas yra gana lengvas ir gali būti suskirstytas į šiuos veiksmus
- Lituokite kaiščių kaiščius ant šildytuvo PCB
- Pritvirtinkite lipnų termochrominį lakštą prie šildytuvo PCB
- Lituokite DHT22 jutiklį prie valdiklio plokštės ir pritvirtinkite M2 varžtu ir veržle
- Lituokite išorines kaiščių antgalius prie valdiklio PCB
- Prijunkite abi PCB ir padėkite į 3D spausdintą stovą
6 žingsnis: baigtas projektas
Esu labai patenkinta baigtu diplay, kuris dabar nuolat veikia mūsų svetainėje. Tikslas sukurti mažesnę, paprastesnę mano originalaus termochrominio ekrano versiją tikrai buvo pasiektas, ir norėčiau dar kartą padėkoti vartotojui DmitriyU2 už pasiūlymą. Projektas taip pat padėjo man tobulinti „Eagle“PCB projektavimo įgūdžius ir sužinojau apie MOSFET kaip jungiklių naudojimą.
Galbūt būtų galima dar labiau patobulinti dizainą, sukuriant gražų PCB korpusą. Aš taip pat galvoju sukurti to paties stiliaus skaitmeninį laikrodį.
Jei jums patinka šis projektas, galite tiesiog jį perdaryti arba nusipirkti mano „Tindie“parduotuvėje. Taip pat apsvarstykite galimybę balsuoti už mane PCB dizaino iššūkyje.
Teisėjų prizas PCB dizaino iššūkyje
Rekomenduojamas:
DHT 11 Temperatūros ir drėgmės ekranas: 4 žingsniai
„DHT 11“temperatūros ir drėgmės ekranas: reikalingos dalys (JK pirkinių atsargos) „Arduino Nano“-https://www.amazon.co.uk/Arduino suderinamas- „Nano-CH340-USB/dp/B00ZABSNUSDHT 11“jutiklis-https: // www. .adafruit.com/product/3861.3 " Žalias OLED ekranas https://www.amazon.co.uk/DSD-TECH-Screen-Support
Arduino temperatūros ir drėgmės indikatorius: 7 žingsniai (su paveikslėliais)
Temperatūros ir drėgmės indikatorius, kurį pateikė „Arduino“: Šioje instrukcijoje bus parodyta, kaip naudojant „Arduino“padaryti dėžutę, kuri gali nurodyti temperatūrą ir drėgmę. Šią dėžutę galite pastatyti ant stalo, kad matuotumėte savo kambario temperatūrą ir drėgmę. Aukštos kokybės MDF dėžutė pjaustoma lazeriu. sutankintas f
Termochrominis temperatūros ir drėgmės ekranas: 10 žingsnių (su nuotraukomis)
Termochrominis temperatūros ir drėgmės ekranas: Aš jau ilgą laiką dirbu prie šio projekto. Pradinė idėja man kilo pastačius TEC valdiklio demonstratorių darbe parodoje. Norėdami parodyti TEC šildymo ir vėsinimo galimybes, naudojome termochrominius dažus, kurie
„Arduino“24 valandų temperatūros drėgmės ekranas: 3 žingsniai (su nuotraukomis)
„Arduino“24 valandų temperatūros drėgmės ekranas: DHT11 yra puikus jutiklis, nuo kurio reikia pradėti. Tai pigu ir lengva prijungti prie „Arduino“. Jis praneša apie temperatūrą ir drėgmę maždaug 2% tikslumu, o šis nurodymas naudoja „Gameduino 3“kaip grafinį ekraną, rodantį 24 valandų istoriją
Belaidis drėgmės monitorius (ESP8266 + drėgmės jutiklis): 5 žingsniai
Belaidis drėgmės monitorius (ESP8266 + drėgmės jutiklis): perku petražoles puode, o didžiąją dienos dalį dirva buvo sausa. Taigi aš nusprendžiu atlikti šį projektą, apie dirvožemio drėgmės jutimą puode su petražolėmis, kad patikrintų, kada man reikia užpilti dirvą vandeniu. Manau, kad šis jutiklis (talpinis drėgmės jutiklis v1.2) yra geras, nes