Mündəricat:

Termokromik Temperatur və Nəmlik Ekranı - PCB versiyası: 6 addım (şəkillərlə)
Termokromik Temperatur və Nəmlik Ekranı - PCB versiyası: 6 addım (şəkillərlə)

Video: Termokromik Temperatur və Nəmlik Ekranı - PCB versiyası: 6 addım (şəkillərlə)

Video: Termokromik Temperatur və Nəmlik Ekranı - PCB versiyası: 6 addım (şəkillərlə)
Video: Measure Temperature and Humidity using M5Stack Core 2 with DHT11 and DHT22 - Robojax 2024, Iyul
Anonim
Image
Image
Qızdırıcı PCB dizaynı
Qızdırıcı PCB dizaynı

Bir müddət əvvəl Thermochromic Temperatur & Rütubət Ekranı adlı bir layihə hazırladım, burada mis plitələrdən 7 hissəli bir ekran qurdum ki, bu da peltier elementlərlə qızdırılsın/soyudulsun. Mis lövhələr temperaturla birlikdə rəngini dəyişən termokromik folqa ilə örtülmüşdür. Bu layihə, şərh bölməsində istifadəçi DmitriyU2 tərəfindən təklif edildiyi kimi peltiers əvəzinə istilik izləri olan bir PCB istifadə edən ekranın daha kiçik bir versiyasıdır. Bir PCB qızdırıcısının istifadəsi daha sadə və daha kompakt bir dizayn yaratmağa imkan verir. İstilik daha səmərəlidir, bu da daha sürətli rəng dəyişikliyinə səbəb olur.

Ekranın necə işlədiyini görmək üçün videoya baxın.

Bir neçə PCB qaldığından bu ekranı Tindie mağazamda da satıram.

Təchizat

  • Qızdırıcı PCB (Gerber faylları üçün GitHub -a baxın)
  • PCB -ni idarə edin (Gerber faylları və BoM üçün GitHub -a baxın)
  • DHT22 sensoru (məsələn, ebay.de)
  • 3D çaplı stend (stl faylı üçün GitHub -a baxın)
  • Termokromik yapışqan təbəqə, 150x150 mm, 30-35 ° C (SFXC)
  • M2x6 bolt + qoz
  • 2x pin başlığı 1x9, 2.54 mm (məsələn, mouser.com)
  • 2x SMD lövhə konnektoru 1x9, 2.54 mm (məsələn, mouser.com)

Addım 1: Qızdırıcı PCB dizaynı

Qızdırıcı PCB dizaynı
Qızdırıcı PCB dizaynı
Qızdırıcı PCB dizaynı
Qızdırıcı PCB dizaynı

Qızdırıcı PCB Eagle -də hazırlanmışdır. PCB ölçüləri 100x150 mm -dir, çünki 150x150 mm istifadə etdiyim termokrom təbəqələrin standart ölçüsüdür. Əvvəlcə Fusion360 -da dxf olaraq saxlanılan və sonra Eagle -a idxal olunan seqmentlərin eskizini hazırladım. Segmentlərin aralarında boşluqlar var və yalnız kiçik körpülərlə bağlanır. Bu, ayrı -ayrı seqmentlərin istilik izolyasiyasını yaxşılaşdırır və buna görə də daha sürətli istiləşməyə imkan verir və 'termal çarpazlığı' azaldır. Segmentlər, Kartaldakı meander alətindən istifadə edərək üst təbəqədə (qırmızıda görüldü) PCB izləri ilə dolduruldu. PCBWay tərəfindən əlavə xərclər olmadan istehsal edilə bilən minimum ölçü olan 6 millik bir iz eni və aralığından istifadə etdim. Hər bir iz, daha qalın 32 mil izləri istifadə edərək, alt təbəqə (mavi rəngdə görünür) vasitəsilə pinlərə bağlanan iki viyas arasında qıvrılır. Bütün seqmentlər ortaq zəmindədir.

Müəyyən bir temperatur artımı üçün lazım olan istilik gücü üçün heç bir hesablama etmədim və ya bir seqmentin gözlənilən müqavimətini hesablamadım. İstilik gücünün hər hansı bir tənzimlənməsinin dəyişən iş dövrü olan bir PWM siqnalı istifadə etməklə edilə biləcəyini düşündüm. Daha sonra ~ 5% iş dövrü istifadə edərək 5V USB portu ilə təchiz edildikdə seqmentlərin kifayət qədər sürətli istiləşdiyini gördüm. 17 seqmentin hamısını qızdıranda ümumi cərəyan təxminən 1,6 A -dır.

Bütün lövhə fayllarını GitHub -da tapa bilərsiniz.

Addım 2: Nəzarətçi PCB dizaynı

PCB nəzarətçisinin dizaynı
PCB nəzarətçisinin dizaynı
PCB nəzarətçisinin dizaynı
PCB nəzarətçisinin dizaynı
PCB nəzarətçisinin dizaynı
PCB nəzarətçisinin dizaynı

PCB qızdırıcısını idarə etmək üçün GlassCube layihəmdə istifadə etdiyim bir SAMD21E18 MCU seçirəm. Bu mikrokontrolör, bütün 17 qızdırıcı seqmentini idarə etmək və DHT22 sensorunu oxumaq üçün kifayət qədər pinlərə malikdir. Həm də yerli USB -yə malikdir və Adafruit -in CircuitPython yükləyicisi ilə işıqlandırıla bilər. Mikro USB konnektoru enerji təchizatı və MCU proqramlaşdırması üçün istifadə edilmişdir. Qızdırıcı seqmentləri 9 cüt kanallı MOSFET (SP8K24FRATB) tərəfindən idarə olunur. Bunlar 6 A -a qədər işləyə bilər və qapı eşik gərginliyi <2,5 V -dir, buna görə MCU -dan 3.3 V məntiq siqnalı ilə dəyişdirilə bilər. Bu mövzunu qızdırıcının idarəetmə sxemini tərtib etməkdə çox faydalı gördüm.

PCBWay -dən PCB -ləri və Mouser -dən ayrı elektron hissələri sifariş etdim və xərclərə qənaət etmək üçün PCB -ləri özüm yığdım. Parçaları əl ilə yerləşdirən və infraqırmızı IC qızdırıcısı ilə lehimləyən bir lehim pastası dispenserindən istifadə etdim. Bununla birlikdə, nisbətən çox miqdarda komponent cəlb olunduğuna və lazımi yenidən işləndiyinə görə bu olduqca yorucu idi və gələcəkdə bir montaj xidmətindən istifadə etməyi düşünürəm.

Yenə lövhə sənədlərini GitHub -da tapa bilərsiniz. Orada mikro USB əvəzinə USB-C konnektoru istifadə edən PCB-nin təkmilləşdirilmiş versiyasını tapa bilərsiniz. DHT22 sensoru üçün deliklər arasındakı məsafəni düzəltdim və yükləyicinin J-Link vasitəsilə daha asan yanıb-sönməsi üçün 10 pinli bağlayıcı əlavə etdim.

Addım 3: CircuitPython Bootloader

Əvvəlcə SAMD21 -i Adafruit -in Trinket M0 -ə əsaslanan UF2 yükləyicisi ilə yandırdım. Biblo yükləyicisini bir qədər dəyişdirmək lazım idi, çünki Trinket -də qızdırmaq üçün istifadə etdiyim pinlərdən birinə bağlı bir LED var. Əks təqdirdə, bu pin açıldıqdan sonra qısa müddət ərzində yüksək qalxacaq və bağlı seqmenti tam gücü ilə qızdıracaq. Önyükləyicinin yanıb-sönməsi SWD və SWC portları vasitəsilə MCU-ya J-Link bağlayaraq edilir. Bütün proses Adafruit saytında ətraflı təsvir edilmişdir. Yükləyicini yüklədikdən sonra, mikro USB portu ilə bağlandıqda MCU bir flash sürücü olaraq tanınır və sonrakı yükləyicilər sadəcə UF2 faylını sürücüyə sürükləyərək quraşdırıla bilər.

Növbəti addım olaraq bir CircuitPython yükləyicisi qurmaq istədim. Lakin, lövhəmdə Trinket M0 -a bağlı olmayan bir çox pin istifadə edildiyindən, əvvəlcə lövhənin konfiqurasiyasını bir qədər dəyişdirməli oldum. Yenə də Adafruit saytında bunun üçün böyük bir dərs var. Əsasən, mpconfigboard.h -də göz ardı edilən bir neçə sancağı şərh etmək və sonra hər şeyi yenidən tərtib etmək lazımdır. Xüsusi yükləyici faylları GitHub -da da mövcuddur.

Addım 4: CircuitPython Kodu

CircuitPython Kodu
CircuitPython Kodu
CircuitPython Kodu
CircuitPython Kodu

CircuitPython yükləyicisi quraşdırıldıqdan sonra kodunuzu birbaşa USB flash sürücüsünə code.py faylı olaraq qeyd edərək lövhəni proqramlaşdıra bilərsiniz. Yazdığım kod DHT22 sensorunu oxuyur və sonra müvafiq seqmentləri qızdıraraq temperatur və rütubəti növbə ilə göstərir. Artıq qeyd edildiyi kimi, istilik PWM siqnalı ilə MOSFET -lərin dəyişdirilməsi ilə həyata keçirilir. Sancaqları PWM çıxışları kimi konfiqurasiya etmək əvəzinə gecikmələrdən istifadə edərək kodda aşağı keçid tezliyi 100 Hz olan "saxta" bir PWM siqnalı yaratdım. Cari istehlakı daha da azaltmaq üçün seqmentləri eyni vaxtda deyil, yuxarıdakı sxemdə göstərildiyi kimi ardıcıl olaraq açmıram. Segmentlərin istiləşməsini daha da bərabərləşdirmək üçün bir neçə fənd var. Əvvəla, iş dövrü hər seqment üçün bir az fərqlidir. Məsələn, "%" işarəsinin tire daha yüksək müqavimətinə görə daha böyük bir vəzifə dövrünə ehtiyac duyur. Bir çox digər seqmentlərlə əhatə olunmuş seqmentlərin daha az qızdırılması lazım olduğunu da gördüm. Bundan əlavə, bir seqment əvvəlki "qaçışda" qızdırılıbsa, sonrakı iş dövrü azaldıla bilər. Nəhayət, istiləşmə və soyutma müddəti DHT22 sensoru ilə rahatlıqla ölçülən mühit istiliyinə uyğunlaşdırılır. Ağlabatan vaxt sabitləri tapmaq üçün, əslində, iş yerində əldə edə biləcəyim bir iqlim kamerasında kalibr etdim.

Tam kodu GitHub -da tapa bilərsiniz.

Addım 5: Montaj

Məclis
Məclis
Məclis
Məclis
Məclis
Məclis

Ekranın montajı olduqca asandır və aşağıdakı addımlara bölünə bilər

  1. PCB qızdırıcısına qadın pin başlıqlarını lehimləyin
  2. Öz-özünə yapışan termokromlu təbəqəni qızdırıcı PCB-yə yapışdırın
  3. PCT nəzarətçisinə DHT22 sensörünü lehimləyin və M2 bolt və qoz ilə bağlayın
  4. PCB nəzarətçisinə kişi pin başlıqlarını lehimləyin
  5. Hər iki PCB -ni qoşun və 3D çaplı stendə qoyun

Addım 6: Bitmiş Layihə

Bitmiş Layihə
Bitmiş Layihə
Bitmiş Layihə
Bitmiş Layihə

Qonaq otağımızda davamlı olaraq davam edən bitmiş diplaydan çox məmnunam. Orijinal termokromik displeyimin daha kiçik, daha sadə bir versiyasını hazırlamaq məqsədi mütləq əldə edildi və təklif üçün istifadəçi DmitriyU2 -yə bir daha təşəkkür edirəm. Layihə, Eagle -də PCB dizayn bacarıqlarımı inkişaf etdirməyimə də kömək etdi və MOSFET -lərin açar kimi istifadəsini öyrəndim.

PCB -lər üçün gözəl bir korpus düzəltməklə dizaynı daha da təkmilləşdirmək olar. Eyni üslubda rəqəmsal bir saat hazırlamağı düşünürəm.

Bu layihəni sevirsinizsə, onu yenidən düzəldə və ya Tindie mağazamdan satın ala bilərsiniz. PCB dizayn problemində mənə səs verməyi də düşünün.

PCB Dizayn Çağırışı
PCB Dizayn Çağırışı
PCB Dizayn Çağırışı
PCB Dizayn Çağırışı

PCB Design Challenge -da Hakimlər Mükafatı

Tövsiyə: