Talaan ng mga Nilalaman:
- Mga gamit
- Hakbang 1: Pagdidisenyo ng Heater PCB
- Hakbang 2: Pagdidisenyo ng Controller PCB
- Hakbang 3: CircuitPython Bootloader
- Hakbang 4: CircuitPython Code
- Hakbang 5: Assembly
- Hakbang 6: Tapos na Project
Video: Thermochromic Temperature & Humidity Display - Bersyon ng PCB: 6 na Hakbang (na may Mga Larawan)
2024 May -akda: John Day | [email protected]. Huling binago: 2024-01-30 13:11
Kamakailan lamang ay gumawa ng isang proyekto na tinatawag na Thermochromic Temperature & Humidity Display kung saan nagtayo ako ng isang 7-segment na display mula sa mga plate na tanso na pinainit / pinalamig ng mga elemento ng peltier. Ang mga plate na tanso ay natakpan ng isang thermochromic foil na nagbabago ng kulay sa temperatura. Ang proyektong ito ay isang mas maliit na bersyon ng display na sa halip na ang peltiers ay gumagamit ng isang PCB na may mga bakas ng pag-init tulad ng iminungkahi ng gumagamit na si DmitriyU2 sa seksyon ng mga komento. Ang paggamit ng isang pampainit ng PCB ay nagbibigay-daan para sa isang mas simple at mas compact na disenyo. Ang pagpainit ay mas mahusay din na humantong sa isang mas mabilis na pagbabago ng kulay.
Panoorin ang video upang makita kung paano gumagana ang display.
Dahil may natitira akong ilang PCB ibinebenta ko din ang display na ito sa aking tindie store.
Mga gamit
- Heater PCB (tingnan ang aking GitHub para sa mga Gerber file)
- Kontrolin ang PCB (tingnan ang aking GitHub para sa mga Gerber file at BoM)
- DHT22 sensor (hal. Ebay.de)
- 3D naka-print na stand (tingnan ang aking GitHub para sa stl file)
- Thermochromic Adhesive Sheet, 150x150 mm, 30-35 ° C (SFXC)
- M2x6 bolt + nut
- 2x pin header 1x9, 2.54 mm (hal. Mouser.com)
- 2x SMD board konektor 1x9, 2.54 mm (hal. Mouser.com)
Hakbang 1: Pagdidisenyo ng Heater PCB
Ang heater PCB ay dinisenyo sa Eagle. Ang mga sukat ng PCB ay 100x150 mm dahil 150x150 mm ang karaniwang sukat ng ginamit kong thermochromic sheet. Sa una gumawa ako ng sketch ng mga segment sa Fusion360 na nai-save bilang dxf at pagkatapos ay mai-import sa Eagle. Ang mga segment ay may milled gaps sa pagitan nila at nakakonekta lamang sa pamamagitan ng maliliit na tulay. Pinapabuti nito ang pagkakabukod ng thermal ng mga indibidwal na segment at samakatuwid ay pinapayagan ang mas mabilis na pag-init at binabawasan ang 'thermal crosstalk'. Ang mga segment ay puno ng mga bakas ng PCB sa tuktok na layer (nakikita sa pula) gamit ang meander tool sa Eagle. Gumamit ako ng isang lapad ng track at spacing ng 6 mil na kung saan ay ang minimum na sukat na maaaring gawa ng PCBWay nang walang labis na gastos. Ang bawat bakas ay nababaluktot sa pagitan ng dalawang vias na kung saan ay nakakonekta sa mga pin sa pamamagitan ng ilalim na layer (makikita sa asul) gamit ang mas makapal na 32 mil na mga bakas. Ang lahat ng mga segment ay nagbabahagi ng isang karaniwang batayan.
Hindi ako gumawa ng anumang mga kalkulasyon para sa kinakailangang lakas ng pag-init para sa isang tiyak na pagtaas ng temperatura ni kinakalkula ko ang inaasahang paglaban ng isang segment. Naisip ko na ang anumang pagsasaayos ng lakas ng pag-init ay maaaring gawin sa pamamagitan ng paggamit ng isang signal na PWM na may iba't ibang cycle ng tungkulin. Nang maglaon natagpuan ko na ang mga segment ay mainit na makatwirang mabilis kapag pinalakas sa pamamagitan ng 5V USB port gamit ang isang ~ 5% na cycle ng tungkulin. Ang kabuuang kasalukuyang kapag pinainit ang lahat ng 17 mga segment ay tungkol sa 1.6 A.
Ang lahat ng mga file ng board ay matatagpuan sa aking GitHub.
Hakbang 2: Pagdidisenyo ng Controller PCB
Upang makontrol ang pampainit ng PCB pumili ako ng isang SAMD21E18 MCU na ginamit ko rin sa aking proyekto sa GlassCube. Ang microcontroller na ito ay may sapat na mga pin upang makontrol ang lahat ng 17 mga segment ng pampainit at basahin ang sensor ng DHT22. Mayroon din itong katutubong USB at maaaring i-flash sa Adafruit's CircuitPython bootloader. Ang isang micro USB konektor ay ginamit bilang power supply at para sa pagprograma ng MCU. Ang mga segment ng pampainit ay kinokontrol ng 9 dalawahang channel MOSFETs (SP8K24FRATB). Maaari itong hawakan hanggang sa 6 A at magkaroon ng boltahe ng threshold ng gate <2.5 V upang mapalitan sila ng signal ng 3.3 V lohika mula sa MCU. Natagpuan ko ang thread na ito na kapaki-pakinabang upang matulungan akong magdisenyo ng circuit ng heater control.
Inorder ko ang mga PCB mula sa PCBWay at ang mga elektronikong bahagi na hiwalay mula sa Mouser at tipunin ang mga PCB ko mismo upang makatipid ng mga gastos. Gumamit ako ng isang dispenser ng solder paste na inilagay ang mga bahagi sa pamamagitan ng kamay at soldered ang mga ito sa isang infrared IC heater. Gayunpaman, dahil sa medyo malaking halaga ng mga bahagi na kasangkot at ang kinakailangang muling pagbuo ito ay medyo nakakapagod at isinasaalang-alang ko ang paggamit ng isang serbisyo sa pagpupulong sa hinaharap.
Muli ang mga file ng board ay matatagpuan sa aking GitHub. Mahahanap mo doon ang isang pinabuting bersyon ng PCB na gumagamit ng isang USB-C na konektor sa halip na micro USB. Inayos ko rin ang spacing ng thru hole para sa sensor ng DHT22 at nagdagdag ng isang 10-pin na konektor para sa mas madaling pag-flashing ng bootloader sa pamamagitan ng J-Link.
Hakbang 3: CircuitPython Bootloader
Sa una, na-flash ko ang SAMD21 gamit ang isang UF2 bootloader batay sa Adafruit's Trinket M0. Ang bootloader ay dapat na bahagyang mabago dahil ang Trinket ay may isang LED na konektado sa isa sa mga pin na ginagamit ko para sa pagpainit. Kung hindi man ang pin na ito ay magiging mataas para sa isang maikling panahon pagkatapos ng boot at init ang nakakonektang segment na may buong lakas. Ang flashing bootloader ay ginagawa sa pamamagitan ng pagkonekta ng isang J-Link sa MCU sa pamamagitan ng mga SWD at SWC port. Ang buong proseso ay inilarawan nang detalyado sa website ng Adafruit. Matapos mai-install ang bootloader ang MCU ay kinikilala bilang isang flash drive kapag nakakonekta sa pamamagitan ng micro USB port at ang kasunod na mga bootloader ay maaaring mai-install lamang sa pamamagitan ng pag-drag ng isang UF2 file papunta sa drive.
Bilang isang susunod na hakbang nais kong mag-install ng isang CircuitPython bootloader. Gayunpaman, dahil ang aking board ay gumagamit ng maraming mga pin na hindi konektado sa Trinket M0, kailangan ko munang baguhin ang pagsasaayos ng board. Muli mayroong isang mahusay na tutorial para dito sa website ng Adafruit. Talaga, ang isa ay nagkomento lamang ng ilang mga hindi pinansin na mga pin sa mpconfigboard.h at pagkatapos ay muling pagsamahin ang lahat. Ang mga pasadyang mga file ng bootloader ay magagamit din sa aking GitHub.
Hakbang 4: CircuitPython Code
Matapos mai-install ang CircuitPython bootloader maaari mo lamang i-program ang board sa pamamagitan ng pag-save ng iyong code bilang isang code.py file nang direkta sa USB flash drive. Binabasa ng code na aking sinulat ang sensor ng DHT22 at pagkatapos ay halili na ipinapakita ang temperatura at halumigmig sa pamamagitan ng pag-init ng mga kaukulang segment. Tulad ng nabanggit na ang pag-init ay tapos na sa pamamagitan ng paglipat ng MOSFETs na may isang PWM signal. Sa halip na i-configure ang mga pin bilang mga output ng PWM, nakabuo ako ng isang "pekeng" signal ng PWM na may mababang dalas ng paglipat ng 100 Hz sa code gamit ang mga pagkaantala. Upang higit na mapababa ang kasalukuyang pagkonsumo hindi ako lumilipat ng mga segment nang sabay-sabay ngunit sunud-sunod tulad ng ipinakita sa eskematiko sa itaas. Mayroon ding ilang mga trick upang gawing mas pantay ang pag-init ng mga segment. Una sa lahat ang cycle ng tungkulin ay medyo magkakaiba para sa bawat segment. Halimbawa ang dash ng "%" sign ay nangangailangan ng isang mas malaking cycle ng tungkulin dahil sa mas mataas na resistensya. Natagpuan ko din na ang mga segment na napapaligiran ng maraming iba pang mga segment ay kailangang mas maiinit. Bilang karagdagan, kung ang isang segment ay nainit sa nakaraang "patakbo" ang cycle ng tungkulin ay maaaring mabawasan sa susunod. Sa wakas, ang oras ng pag-init at paglamig ay inangkop sa temperatura ng paligid na madaling maisukat ng sensor ng DHT22. Upang makahanap ng makatuwirang mga palagay ng oras talagang pinag-calibrate ko ang display sa isang silid ng klima na sa palad ay may access ako sa trabaho.
Mahahanap mo ang buong code sa aking GitHub.
Hakbang 5: Assembly
Ang pagpupulong ng display ay madali at maaaring hatiin sa mga sumusunod na hakbang
- Mga solder na babaeng pin na header upang maiinit ang PCB
- Ikabit ang self-adhesive thermochromic sheet sa heater PCB
- Solder DHT22 sensor upang makontrol ang PCB at i-fasten gamit ang M2 bolt at nut
- Mga solder na pin na header ng lalaki upang kontrolado ang PCB
- Ikonekta ang parehong mga PCB at ilagay sa 3D naka-print na stand
Hakbang 6: Tapos na Project
Medyo masaya ako sa natapos na pag-diplay na patuloy na tumatakbo sa aming sala. Ang layunin ng paggawa ng isang mas maliit, mas simpleng bersyon ng aking orihinal na thermochromic display ay tiyak na nakamit at nais kong pasalamatan muli ang gumagamit DmitriyU2 para sa mungkahi. Tinulungan din ako ng proyekto na mapabuti ang aking mga kasanayan sa disenyo ng PCB sa Eagle at natutunan ko ang tungkol sa paggamit ng MOSFETs bilang switch.
Maaaring mapabuti pa ng isa ang disenyo sa pamamagitan ng paggawa ng isang magandang enclosure para sa mga PCB. Iniisip ko rin ang tungkol sa paggawa ng isang digital na orasan sa parehong estilo.
Kung gusto mo ang proyektong ito maaari mo lamang itong muling gawin o bilhin sa aking tindie store. Isaalang-alang din ang pagboto para sa akin sa hamon sa disenyo ng PCB.
Hukom ng Hukom sa Hamon sa Disenyo ng PCB
Inirerekumendang:
BBQ Temperature & Meat Sensor sa ESP8266 Na May Display: 5 Hakbang (na may Mga Larawan)
BBQ Temperature & Meat Sensor sa ESP8266 Sa Pagpapakita: Sa Instructable na ito ipapakita ko sa iyo kung paano gumawa ng iyong sariling bersyon ng isang tool na BBQ na sumusukat sa kasalukuyang temperatura sa iyong barbecue at bubukas ang isang fan upang magaan ito kung kinakailangan. Karagdagan dito ay mayroon ding isang meat core temperatura sensor attac
IoT Temperature & Humidity Meter Na May OLED Screen: 5 Hakbang (na may Mga Larawan)
IoT Temperature & Humidity Meter Gamit ang OLED Screen: Suriin ang temperatura at halumigmig sa isang OLED screen anumang oras na gusto mo at sabay na kolektahin ang data na iyon sa isang IoT platform. Noong nakaraang linggo nag-publish ako ng isang proyekto na tinatawag na Pinakasimpleng IoT temperatura at metro ng halumigmig. Iyon ay isang magandang proyekto dahil maaari kang
Thermochromic Temperature & Humidity Display: 10 Hakbang (na may Mga Larawan)
Thermochromic Temperature & Humidity Display: Ako ay nagtatrabaho sa proyektong ito nang medyo matagal. Ang orihinal na ideya ay dumating sa akin pagkatapos ng pagbuo ng isang demonstrador ng TEC controller sa trabaho para sa isang trade fair. Upang maipakita ang mga kakayahan ng pag-init at paglamig ng TEC gumagamit kami ng thermochromic na pintura na
Display ng Arduino 24 Hour Temperature Humidity: 3 Hakbang (na may Mga Larawan)
Display ng Arduino 24 Hour Temperature Humidity: Ang DHT11 ay isang mahusay na sensor upang makapagsimula. Mura at madaling mag-hook up sa isang Arduino. Iniuulat nito ang temperatura at halumigmig na may halos 2% kawastuhan, at ang itinuturo na ito ay gumagamit ng isang Gameduino 3 bilang isang grapikong display, na nagpapakita ng 24 na oras ng kasaysayan.W
Mga pattern ng Thermochromic: 7 Hakbang (na may Mga Larawan)
Mga pattern ng Thermochromic: Kung naghahanap ka para sa isang bagong materyal na ididisenyo, kung gayon ang pinturang thermochromic ay maaaring maging kung ano ang hinahabol mo. Sundin ang tutorial na ito upang malaman kung paano lumikha ng mga interactive na disenyo ng thermochromic