Mundarija:
- Ta'minotlar
- 1 -qadam: Isitgich PCBni loyihalash
- 2 -qadam: PCB boshqaruv moslamasini loyihalash
- 3 -qadam: CircuitPython bootloader
- 4 -qadam: CircuitPython kodi
- 5 -qadam: yig'ish
- 6 -qadam: tugagan loyiha
Video: Termokromik harorat va namlik ko'rsatkichi - PCB versiyasi: 6 qadam (rasmlar bilan)
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:23
Biroz oldin "Termokromik harorat va namlik ko'rsatkichi" loyihasi bor edi, u erda men mis plitalardan 7 qismli displey qurdim. Mis plitalari harorat bilan rangini o'zgartiradigan termokromli folga bilan qoplangan. Bu loyiha displeyning kichikroq versiyasidir, u peltiers o'rniga sharhlar bo'limida DmitriyU2 foydalanuvchisi taklif qilgan isitish izlari bo'lgan tenglikni ishlatadi. PCB isitgichidan foydalanish ancha sodda va ixchamroq dizaynga imkon beradi. Isitish yanada samaraliroq, bu ranglarning tez o'zgarishiga olib keladi.
Displey qanday ishlashini bilish uchun videoni tomosha qiling.
Menda bir nechta PCB qolgani uchun men ushbu displeyni Tindie do'konida sotaman.
Ta'minotlar
- Isitgich PCB (Gerber fayllari uchun mening GitHub -ga qarang)
- PCBni boshqarish (Gerber fayllari va BoM uchun GitHub -ga qarang)
- DHT22 sensori (masalan, ebay.de)
- 3D bosilgan stend (stl fayli uchun mening GitHub -ga qarang)
- Termokromik yopishtiruvchi varaq, 150x150 mm, 30-35 ° C (SFXC)
- M2x6 murvat + non
- 2x pinli sarlavha 1x9, 2,54 mm (masalan, mouser.com)
- 2x SMD karta ulagichi 1x9, 2,54 mm (masalan, mouser.com)
1 -qadam: Isitgich PCBni loyihalash
PCB isitgichi burgutda ishlab chiqilgan. PCB o'lchamlari 100x150 mm, chunki 150x150 mm men ishlatgan termokromli plitalarning standart o'lchami. Avvaliga men Fusion360 -da dxf formatida saqlangan va keyin Eagle -ga import qilingan segmentlarning eskizini tayyorladim. Segmentlar orasidagi bo'shliqlar bor va ular faqat kichik ko'priklar bilan bog'langan. Bu alohida segmentlarning issiqlik izolatsiyasini yaxshilaydi, shuning uchun tezroq isitishga imkon beradi va "issiqlik o'tkazuvchanligini" kamaytiradi. Segmentlar burgutdagi meander vositasi yordamida yuqori qavatdagi (qizil rangda) PCB izlari bilan to'ldirilgan. Men yo'lning kengligi va oralig'ini 6 mil ishlatardim, bu PCBWay tomonidan qo'shimcha xarajatlarsiz ishlab chiqariladigan minimal o'lchamdir. Har bir iz ikkita viyana o'rtasida o'ralgan bo'lib, ular pastki qatlam orqali pinlarga ulanadi (ko'k rangda ko'rinadi) 32 millik qalinroq izlar yordamida. Barcha segmentlar umumiy nuqtai nazarga ega.
Men ma'lum bir harorat ko'tarilishi uchun zarur bo'lgan isitish quvvati uchun hech qanday hisob -kitob qilmadim va segmentning kutilgan qarshiligini hisoblamadim. Men har qanday ish aylanishiga ega PWM signalini ishlatib, isitish quvvatini har qanday sozlash mumkin deb o'yladim. Keyinchalik, 5V USB port orqali ~ 5% ish tsiklidan foydalanilganda, segmentlar juda tez qiziydi. Barcha 17 segmentni isitishda umumiy oqim taxminan 1,6 A ni tashkil qiladi.
Barcha taxtali fayllarni mening GitHub -da topish mumkin.
2 -qadam: PCB boshqaruv moslamasini loyihalash
PCB isitgichini boshqarish uchun men GlassCube loyihamda ishlatgan SAMD21E18 MCU ni tanladim. Bu mikrokontroller 17 ta isitgich segmentini boshqarish va DHT22 sensorini o'qish uchun etarli pinlarga ega. Bundan tashqari, u mahalliy USB -ga ega va uni Adafruit -ning CircuitPython yuklagichi yordamida yoqish mumkin. Quvvat manbai va MCU dasturlash uchun mikro USB ulagichi ishlatilgan. Isitgich segmentlari 9 ta ikkita kanalli MOSFET (SP8K24FRATB) tomonidan boshqariladi. Ular 6 A gacha quvvatga ega bo'lishi mumkin va darvoza ostidagi voltaji <2,5 V bo'lishi mumkin, shuning uchun ularni MCUdan 3,3 V mantiqiy signal bilan almashtirish mumkin. Men bu mavzuni isitgichni boshqarish sxemasini loyihalashtirishda juda foydali deb topdim.
Men PCBWay -dan PCB va elektron qismlarga Mouserdan alohida buyurtma berdim va xarajatlarni tejash uchun tenglikni o'zim yig'dim. Men qismlarni qo'lda joylashtirgan va ularni infraqizil IC isitgichi bilan lehimlagan lehim pastasi dispenseridan foydalandim. Biroq, nisbatan katta miqdordagi komponentlar va kerakli qayta ishlash tufayli bu juda zerikarli edi va men kelajakda montaj xizmatidan foydalanishni o'ylayman.
Kengash fayllarini yana mening GitHub -da topish mumkin. U erda siz mikro USB o'rniga USB-C ulagichidan foydalanadigan tenglikni takomillashtirilgan versiyasini topishingiz mumkin. Men, shuningdek, DHT22 sensori uchun teshiklar oralig'ini to'g'riladim va yuklagichni J-Link orqali oson miltillashi uchun 10 pinli ulagichni qo'shdim.
3 -qadam: CircuitPython bootloader
Avvaliga men SAMD21 -ni Adafruit -ning Trinket M0 -ga asoslangan UF2 yuklagichi bilan o'chirdim. Bootloader -ni biroz o'zgartirish kerak edi, chunki Trinketda men isitish uchun ishlatadigan pinlardan biriga ulangan LED bor. Aks holda, yuklagandan so'ng, bu pin qisqa vaqt ichida baland bo'ladi va ulangan segmentni to'liq quvvat bilan isitadi. Bootloader-ning yonib-o'chishi J-Link-ni MCU-ga SWD va SWC portlari orqali ulash orqali amalga oshiriladi. Butun jarayon Adafruit veb -saytida batafsil tasvirlangan. Bootloader o'rnatilgandan so'ng, MCU mikro USB port orqali ulanganda flesh -disk sifatida tan olinadi va keyingi yuklovchilarni UF2 faylini haydovchiga tortib o'rnatish mumkin.
Keyingi qadam sifatida men CircuitPython yuklagichini o'rnatmoqchi edim. Biroq, mening taxtamda Trinket M0 -ga ulanmagan ko'plab pinlar ishlatilganligi sababli, men avval taxtaning konfiguratsiyasini biroz o'zgartirishga majbur bo'ldim. Yana Adafruit veb -saytida buning uchun ajoyib darslik bor. Asosan, mpconfigboard.h -da bir nechta e'tiborsiz pinlarni sharhlash va keyin hamma narsani qayta kompilyatsiya qilish kerak. Maxsus yuklash fayllari mening GitHub -da ham mavjud.
4 -qadam: CircuitPython kodi
CircuitPython bootloader o'rnatilgandan so'ng, siz kodni to'g'ridan -to'g'ri USB flesh haydovchiga code.py fayli sifatida saqlash orqali taxtani dasturlashingiz mumkin. Men yozgan kod DHT22 sensorini o'qiydi va keyin tegishli segmentlarni isitish orqali harorat va namlikni navbat bilan ko'rsatadi. Yuqorida aytib o'tilganidek, isitish POS signaliga ega MOSFET -larni almashtirish orqali amalga oshiriladi. Pinlarni PWM chiqishi sifatida sozlash o'rniga, men kechikishlar yordamida kodda past chastotali 100 Gts chastotali "soxta" PWM signalini yaratdim. Joriy iste'molni yanada kamaytirish uchun men segmentlarni bir vaqtning o'zida yoqmayman, lekin yuqoridagi sxemada ko'rsatilgandek. Bundan tashqari, segmentlarni isitishni yanada tekis qilish uchun bir nechta fokuslar mavjud. Birinchidan, har bir segment uchun ish tsikli biroz boshqacha. Masalan, "%" belgisining chizig'i ancha katta qarshilik davriga muhtoj, chunki uning qarshiligi yuqori. Bundan tashqari, men boshqa segmentlar bilan o'ralgan segmentlarni kamroq isitish kerakligini aniqladim. Bundan tashqari, agar segment oldingi "ishga tushirish" da qizdirilgan bo'lsa, keyingi davrda ish tsikli kamayishi mumkin. Nihoyat, isitish va sovutish vaqti atrof -muhit haroratiga moslashtiriladi, bu DHT22 sensori yordamida qulay o'lchanadi. Vaqtning doimiy konstantalarini topish uchun men displeyni iqlim kamerasida kalibrladim, xayriyatki, men ish joyida kirishim mumkin.
To'liq kodni GitHub -da topishingiz mumkin.
5 -qadam: yig'ish
Displeyni yig'ish juda oson va uni quyidagi bosqichlarga bo'lish mumkin
- PCB isitgichiga urg'ochi pinli sarlavhalar
- O'z-o'zidan yopishqoq termokromli varaqni PCB isitgichiga ulang
- Datchikli DHT22 sensori PCB boshqaruv moslamasiga va M2 murvat va yong'oq bilan mahkamlanadi
- PCB nazorat qilish moslamasi uchun erkak pin sarlavhalari
- Ikkala tenglikni ham ulang va 3D bosilgan stendga joylashtiring
6 -qadam: tugagan loyiha
Men doimiy ravishda bizning yashash xonamizda davom etayotgan tayyor diplaydan juda mamnunman. Mening asl termoxromli displeyimning kichikroq va sodda versiyasini yaratish maqsadiga albatta erishildi va men taklif uchun DmitriyU2 foydalanuvchisiga yana bir bor minnatdorchilik bildirmoqchiman. Loyiha, shuningdek, Eagle -dagi PCB dizayn ko'nikmalarimni yaxshilashga yordam berdi va men MOSFET -larni kalit sifatida ishlatish haqida bilib oldim.
PCB uchun yaxshi korpus yasab, dizaynni yanada yaxshilash mumkin. Men ham xuddi shu uslubda raqamli soat yasash haqida o'ylayapman.
Agar sizga bu loyiha yoqsa, uni qayta tiklab yoki Tindie do'konidan sotib olishingiz mumkin. PCB dizaynida men uchun ovoz berishni ham o'ylab ko'ring.
PCB Design Challenge tanlovida hakamlar mukofoti
Tavsiya:
Raspberry Pi sovutish foniy sovutgichi, harorat ko'rsatkichi bilan: 10 qadam (rasmlar bilan)
Raspberry Pi sovutgichli fanatlar qutisi CPU harorati indikatori bilan: Men oldingi loyihada malinali pi (bundan keyin RPI) protsessorining harorat indikatorini kiritgan edim. O'chirish faqat RPI 4 protsessorining har xil darajasini quyidagicha ko'rsatadi.- Yashil LED yoqilganda CPU harorati 30 ~
DHT 11 Harorat va namlik ko'rsatkichi: 4 qadam
DHT 11 harorat va namlik ko'rsatkichi: ehtiyot qismlar talab qilinadi (Buyuk Britaniyaning xarid qilish zaxirasi) Arduino Nano-https://www.amazon.co.uk/Arduino-compatible-Nano-CH340-USB/dp/B00ZABSNUSDHT 11 sensori-https: // www .adafruit.com/mahsulot/3861.3 " OLED yashil ekran https://www.amazon.co.uk/DSD-TECH-Screen-Support
Arduino tomonidan harorat va namlik ko'rsatkichi: 7 qadam (rasmlar bilan)
Arduino -ning harorat va namlik ko'rsatkichi: Ushbu yo'riqnomada Arduino -da harorat va namlikni ko'rsatadigan quti yasash ko'rsatiladi, siz xonangizdagi harorat va namlikni o'lchash uchun stol ustiga qo'yishingiz mumkin MDF qutisining yuqori sifati lazerli kesish orqali hamma narsa. siqilgan f
Termokromik harorat va namlik ko'rsatkichi: 10 qadam (rasmlar bilan)
Termokromik harorat va namlik ko'rsatkichi: Men bu loyihada ancha vaqt ishladim. Asl g'oya menga savdo yarmarkasi uchun ish joyida TEC nazoratchi ko'rsatgichini qurgandan keyin keldi. TEC -larning isitish va sovutish qobiliyatini ko'rsatish uchun biz termokromik bo'yoqlardan foydalanardik
RGB harorat ko'rsatkichi (XinaBox bilan): 5 qadam (rasmlar bilan)
RGB harorat indikatori (XinaBox bilan): Bu rasman mening Instructables maqolam, shuning uchun men bu imkoniyatni hozir sinab ko'rish uchun foydalanayotganimni tan olaman. Platformaning qanday ishlashini, uning butun foydalanuvchilar tajribasini bilib oling. Ammo men buni qilayotganda, men qila olaman deb o'yladim