Isi kandungan:

Paparan Suhu & Kelembapan Termokromik - Versi PCB: 6 Langkah (dengan Gambar)
Paparan Suhu & Kelembapan Termokromik - Versi PCB: 6 Langkah (dengan Gambar)

Video: Paparan Suhu & Kelembapan Termokromik - Versi PCB: 6 Langkah (dengan Gambar)

Video: Paparan Suhu & Kelembapan Termokromik - Versi PCB: 6 Langkah (dengan Gambar)
Video: Настройки панели управления холодильником Haier и работа ее частей 2024, Julai
Anonim
Image
Image
Merancang Pemanas PCB
Merancang Pemanas PCB

Beberapa ketika yang lalu dilakukan sebuah projek yang disebut Thermochromic Temperature & Humidity Display di mana saya membina paparan 7 segmen dari plat tembaga yang dipanaskan / disejukkan oleh unsur pelekat. Plat tembaga ditutup dengan kerajang termokromik yang berubah warna dengan suhu. Projek ini adalah versi paparan yang lebih kecil dan bukannya peltier menggunakan PCB dengan jejak pemanasan seperti yang disarankan oleh pengguna DmitriyU2 di bahagian komen. Menggunakan pemanas PCB memungkinkan reka bentuk yang lebih ringkas dan padat. Pemanasan juga lebih efisien yang membawa kepada perubahan warna yang lebih cepat.

Tonton video untuk melihat bagaimana paparan berfungsi.

Oleh kerana saya mempunyai beberapa PCB yang tersisa, saya juga menjual paparan ini di kedai Tindie saya.

Bekalan

  • Pemanas PCB (lihat fail GitHub saya untuk Gerber)
  • Kawal PCB (lihat fail GitHub saya untuk Gerber dan BoM)
  • Sensor DHT22 (mis. Ebay.de)
  • Dudukan bercetak 3D (lihat GitHub saya untuk fail stl)
  • Lembaran pelekat termokromik, 150x150 mm, 30-35 ° C (SFXC)
  • M2x6 selak + mur
  • Header 2x pin 1x9, 2.54 mm (mis. Mouser.com)
  • Penyambung papan SMD 2x 1x9, 2.54 mm (mis. Mouser.com)

Langkah 1: Merancang Pemanas PCB

Merancang Pemanas PCB
Merancang Pemanas PCB
Merancang Pemanas PCB
Merancang Pemanas PCB

PCB pemanas dirancang di Eagle. Dimensi PCB adalah 100x150 mm kerana 150x150 mm adalah ukuran standard kepingan termokromik yang saya gunakan. Pada mulanya saya membuat lakaran segmen di Fusion360 yang disimpan sebagai dxf dan kemudian diimport ke Eagle. Segmen-segmen tersebut mempunyai celah-celah di antara mereka dan hanya dihubungkan oleh jambatan kecil. Ini meningkatkan penebat haba segmen individu dan oleh itu membolehkan pemanasan lebih cepat dan mengurangkan 'termal silang'. Segmen diisi dengan jejak PCB di lapisan atas (terlihat berwarna merah) menggunakan alat keliling di Eagle. Saya menggunakan lebar trek dan jarak 6 mil yang merupakan ukuran minimum yang dapat dihasilkan oleh PCBWay tanpa kos tambahan. Setiap jejak berliku-liku di antara dua vias yang kemudian disambungkan ke pin melalui lapisan bawah (dilihat dengan warna biru) menggunakan jejak 32 mil yang lebih tebal. Semua segmen mempunyai persamaan.

Saya tidak melakukan pengiraan untuk kuasa pemanasan yang diperlukan untuk kenaikan suhu tertentu dan juga tidak mengira jangkaan rintangan segmen. Saya menyangka bahawa sebarang penyesuaian kuasa pemanasan dapat dilakukan dengan menggunakan isyarat PWM dengan putaran tugas yang berbeza-beza. Saya kemudian mendapati bahawa segmennya menjadi panas dengan pantas apabila digerakkan melalui port USB 5V menggunakan kitaran tugas ~ 5%. Jumlah arus semasa memanaskan semua 17 segmen adalah sekitar 1.6 A.

Semua fail papan boleh didapati di GitHub saya.

Langkah 2: Merancang PCB Pengawal

Merancang PCB Pengawal
Merancang PCB Pengawal
Merancang PCB Pengawal
Merancang PCB Pengawal
Merancang PCB Pengawal
Merancang PCB Pengawal

Untuk mengawal pemanas PCB, saya memilih MCD SAMD21E18 yang juga saya gunakan dalam projek GlassCube saya. Mikrokontroler ini mempunyai pin yang cukup untuk mengawal semua 17 segmen pemanas dan membaca sensor DHT22. Ia juga mempunyai USB asli dan boleh dimuat dengan bootloader CircuitPython Adafruit. Penyambung USB mikro digunakan sebagai bekalan kuasa dan untuk memprogram MCU. Segmen pemanas dikendalikan oleh 9 saluran ganda MOSFET (SP8K24FRATB). Ini boleh mengendalikan hingga 6 A dan mempunyai voltan ambang pintu <2.5 V sehingga mereka dapat diaktifkan oleh isyarat logik 3.3 V dari MCU. Saya dapati utas ini sangat membantu saya merancang litar kawalan pemanas.

Saya memesan PCB dari PCBWay dan bahagian elektronik secara berasingan dari Mouser dan mengumpulkan PCB sendiri untuk menjimatkan kos. Saya menggunakan dispenser pasta solder meletakkan bahagian dengan tangan dan menyoldernya dengan pemanas IC inframerah. Walau bagaimanapun, kerana jumlah komponen yang terlibat dan pengerjaan semula yang diperlukan ini agak membosankan dan saya mempertimbangkan untuk menggunakan perkhidmatan pemasangan pada masa akan datang.

Sekali lagi fail papan boleh didapati di GitHub saya. Di sana anda dapat menemui versi PCB yang lebih baik yang menggunakan penyambung USB-C dan bukannya mikro USB. Saya juga memperbetulkan jarak lubang melalui sensor DHT22 dan menambahkan penyambung 10-pin untuk pemuatan bootloader dengan lebih mudah melalui J-Link.

Langkah 3: Pemuat Boot CircuitPython

Pada mulanya, saya menyalakan SAMD21 dengan bootloader UF2 berdasarkan Adafruit's Trinket M0. Pemuat but terpaksa diubah sedikit kerana Trinket mempunyai LED yang disambungkan ke salah satu pin yang saya gunakan untuk pemanasan. Jika tidak, pin ini akan naik tinggi untuk masa yang singkat selepas boot dan memanaskan segmen yang bersambung dengan kuasa penuh. Mem-flash bootloader dilakukan dengan menghubungkan J-Link ke MCU melalui port SWD dan SWC. Seluruh proses dijelaskan secara terperinci di laman web Adafruit. Setelah memasang bootloader, MCU dikenali sebagai pemacu kilat ketika disambungkan melalui port USB mikro dan pemuat but seterusnya hanya boleh dipasang dengan menyeret fail UF2 ke pemacu.

Sebagai langkah seterusnya, saya ingin memasang bootloader CircuitPython. Walau bagaimanapun, kerana papan saya menggunakan banyak pin yang tidak disambungkan pada Trinket M0, saya pertama kali sedikit perlu mengubah konfigurasi papan. Sekali lagi terdapat tutorial hebat untuk ini di laman web Adafruit. Pada dasarnya, seseorang hanya perlu mengulas beberapa pin yang tidak dihiraukan di mpconfigboard.h dan kemudian menyusun semula semuanya. Fail pemuat but khusus juga terdapat di GitHub saya.

Langkah 4: Kod CircuitPython

Kod CircuitPython
Kod CircuitPython
Kod CircuitPython
Kod CircuitPython

Setelah bootloader CircuitPython dipasang, anda hanya boleh memprogram papan dengan menyimpan kod anda sebagai fail code.py terus ke pemacu denyar USB. Kod yang saya tulis membacakan sensor DHT22 dan kemudian secara bergantian memaparkan suhu dan kelembapan dengan memanaskan segmen yang sesuai. Seperti yang telah disebutkan, pemanasan dilakukan dengan menukar MOSFET dengan isyarat PWM. Daripada mengkonfigurasi pin sebagai output PWM, saya menghasilkan isyarat PWM "palsu" dengan frekuensi beralih rendah 100 Hz dalam kod menggunakan kelewatan. Untuk menurunkan penggunaan semasa, saya tidak menghidupkan segmen secara serentak tetapi secara berurutan seperti yang ditunjukkan dalam skema di atas. Terdapat juga beberapa helah untuk menjadikan pemanasan segmen lebih sekata. Pertama sekali kitaran tugas sedikit berbeza untuk setiap segmen. Sebagai contoh tanda tanda "%" memerlukan kitaran tugas yang jauh lebih besar kerana rintangannya lebih tinggi. Saya juga mendapati bahawa segmen yang dikelilingi oleh segmen lain tidak perlu dipanaskan lebih sedikit. Di samping itu, jika segmen dipanaskan pada "larian" sebelumnya, kitaran tugas dapat dikurangkan pada yang berikutnya. Akhirnya, masa pemanasan dan penyejukan disesuaikan dengan suhu persekitaran yang diukur dengan mudah oleh sensor DHT22. Untuk mencari pemalar masa yang munasabah, saya benar-benar menentukurkan paparan di ruang iklim yang saya dapat mengaksesnya di tempat kerja.

Anda boleh mendapatkan kod penuh di GitHub saya.

Langkah 5: Perhimpunan

perhimpunan
perhimpunan
perhimpunan
perhimpunan
perhimpunan
perhimpunan

Pemasangan paparan agak mudah dan boleh dibahagikan dengan langkah-langkah berikut

  1. Solder pin wanita untuk pemanas PCB
  2. Pasang kepingan termokromik pelekat diri ke pemanas PCB
  3. Sensor DHT22 solder ke PCB pengawal dan kencangkan dengan bolt dan mur M2
  4. Solder pin pin lelaki ke PCB pengawal
  5. Sambungkan kedua-dua PCB dan letakkan di dudukan cetak 3D

Langkah 6: Projek Selesai

Projek Selesai
Projek Selesai
Projek Selesai
Projek Selesai

Saya cukup gembira dengan gambaran selesai yang kini terus berjalan di ruang tamu kami. Matlamat membuat versi paparan termokromik asal saya yang lebih kecil dan sederhana pasti tercapai dan saya ingin mengucapkan terima kasih sekali lagi kepada pengguna DmitriyU2 atas cadangan tersebut. Projek ini juga membantu saya meningkatkan kemahiran reka bentuk PCB di Eagle dan saya belajar mengenai penggunaan MOSFET sebagai suis.

Seseorang mungkin dapat memperbaiki reka bentuk dengan membuat penutup yang baik untuk PCB. Saya juga berfikir untuk membuat jam digital dengan gaya yang sama.

Sekiranya anda menyukai projek ini, anda boleh membuatnya semula atau membelinya di kedai Tindie saya. Juga pertimbangkan untuk memilih saya dalam cabaran reka bentuk PCB.

Cabaran Reka Bentuk PCB
Cabaran Reka Bentuk PCB
Cabaran Reka Bentuk PCB
Cabaran Reka Bentuk PCB

Hadiah Hakim dalam Cabaran Reka Bentuk PCB

Disyorkan: