Daftar Isi:

Tampilan Suhu & Kelembaban Termokromik - Versi PCB: 6 Langkah (dengan Gambar)
Tampilan Suhu & Kelembaban Termokromik - Versi PCB: 6 Langkah (dengan Gambar)

Video: Tampilan Suhu & Kelembaban Termokromik - Versi PCB: 6 Langkah (dengan Gambar)

Video: Tampilan Suhu & Kelembaban Termokromik - Versi PCB: 6 Langkah (dengan Gambar)
Video: Thermochromic Temperature & Humidity Display - PCB Version 2024, Juli
Anonim
Image
Image
Merancang PCB Pemanas
Merancang PCB Pemanas

Beberapa waktu yang lalu saya melakukan proyek yang disebut Tampilan Suhu & Kelembaban Termokromik di mana saya membuat tampilan 7 segmen dari pelat tembaga yang dipanaskan/didinginkan oleh elemen peltier. Pelat tembaga ditutupi dengan foil termokromik yang berubah warna dengan suhu. Proyek ini adalah versi tampilan yang lebih kecil yang bukannya peltier menggunakan PCB dengan jejak pemanasan seperti yang disarankan oleh pengguna DmitriyU2 di bagian komentar. Menggunakan pemanas PCB memungkinkan desain yang lebih sederhana dan lebih ringkas. Pemanasan juga lebih efisien yang menyebabkan perubahan warna lebih cepat.

Tonton video untuk melihat cara kerja layar.

Karena saya memiliki beberapa PCB yang tersisa, saya juga menjual tampilan ini di toko Tindie saya.

Perlengkapan

  • Heater PCB (lihat GitHub saya untuk file Gerber)
  • Kontrol PCB (lihat GitHub saya untuk file Gerber dan BoM)
  • Sensor DHT22 (mis. ebay.de)
  • Dudukan cetak 3D (lihat GitHub saya untuk file stl)
  • Lembar Perekat Termokromik, 150x150 mm, 30-35°C (SFXC)
  • M2x6 baut + mur
  • 2x pin header 1x9, 2,54 mm (mis. mouser.com)
  • 2x konektor papan SMD 1x9, 2,54 mm (mis. mouser.com)

Langkah 1: Merancang PCB Pemanas

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

PCB pemanas dirancang di Eagle. Dimensi PCB adalah 100x150 mm karena 150x150 mm adalah ukuran standar lembaran termokromik yang saya gunakan. Awalnya saya membuat sketsa segmen di Fusion360 yang disimpan sebagai dxf dan kemudian diimpor ke Eagle. Segmen memiliki celah giling di antara mereka dan hanya dihubungkan oleh jembatan kecil. Hal ini meningkatkan isolasi termal dari segmen individu dan karena itu memungkinkan pemanasan lebih cepat dan mengurangi 'crosstalk termal'. Segmen diisi dengan jejak PCB di lapisan atas (terlihat dalam warna merah) menggunakan alat berliku di Eagle. Saya menggunakan lebar lintasan dan jarak 6 mil yang merupakan ukuran minimum yang dapat diproduksi oleh PCBWay tanpa biaya tambahan. Setiap jejak berkelok-kelok di antara dua vias yang kemudian dihubungkan ke pin melalui lapisan bawah (terlihat dengan warna biru) menggunakan jejak 32 mil yang jauh lebih tebal. Semua segmen memiliki kesamaan.

Saya tidak melakukan perhitungan apa pun untuk daya pemanas yang diperlukan untuk kenaikan suhu tertentu, juga tidak menghitung resistansi yang diharapkan dari suatu segmen. Saya membayangkan bahwa penyesuaian daya pemanas dapat dilakukan dengan menggunakan sinyal PWM dengan siklus kerja yang bervariasi. Saya kemudian menemukan bahwa segmen panas cukup cepat saat ditenagai melalui port USB 5V menggunakan siklus kerja ~5%. Arus total saat memanaskan semua 17 segmen adalah sekitar 1,6 A.

Semua file papan dapat ditemukan di GitHub saya.

Langkah 2: Merancang PCB Pengontrol

Merancang PCB Pengontrol
Merancang PCB Pengontrol
Merancang PCB Pengontrol
Merancang PCB Pengontrol
Merancang PCB Pengontrol
Merancang PCB Pengontrol

Untuk mengontrol pemanas PCB saya memilih SAMD21E18 MCU yang juga saya gunakan dalam proyek GlassCube saya. Mikrokontroler ini memiliki cukup pin untuk mengontrol semua 17 segmen pemanas dan membacakan sensor DHT22. Ini juga memiliki USB asli dan dapat di-flash dengan bootloader CircuitPython Adafruit. Konektor micro USB digunakan sebagai catu daya dan untuk memprogram MCU. Segmen pemanas dikendalikan oleh 9 MOSFET saluran ganda (SP8K24FRATB). Ini dapat menangani hingga 6 A dan memiliki tegangan ambang gerbang <2,5 V sehingga dapat diaktifkan oleh sinyal logika 3,3 V dari MCU. Saya menemukan utas ini sangat membantu untuk membantu saya merancang sirkuit kontrol pemanas.

Saya memesan PCB dari PCBWay dan komponen elektronik secara terpisah dari Mouser dan merakit sendiri PCB untuk menghemat biaya. Saya menggunakan dispenser pasta solder yang menempatkan bagian-bagiannya dengan tangan dan menyoldernya dengan pemanas IC inframerah. Namun, karena jumlah komponen yang terlibat relatif besar dan pengerjaan ulang yang diperlukan, ini cukup membosankan dan saya mempertimbangkan untuk menggunakan layanan perakitan di masa mendatang.

Sekali lagi file papan dapat ditemukan di GitHub saya. Di sana Anda dapat menemukan versi PCB yang ditingkatkan yang menggunakan konektor USB-C alih-alih USB mikro. Saya juga memperbaiki jarak lubang tembus untuk sensor DHT22 dan menambahkan konektor 10-pin untuk mem-flash bootloader dengan lebih mudah melalui J-Link.

Langkah 3: Bootloader CircuitPython

Pada awalnya, saya mem-flash SAMD21 dengan bootloader UF2 berdasarkan Trinket M0 Adafruit. Bootloader harus sedikit dimodifikasi karena Trinket memiliki LED yang terhubung ke salah satu pin yang saya gunakan untuk pemanasan. Jika tidak, pin ini akan menjadi tinggi untuk waktu yang singkat setelah boot dan memanaskan segmen yang terhubung dengan kekuatan penuh. Flashing bootloader dilakukan dengan menghubungkan J-Link ke MCU melalui port SWD dan SWC. Seluruh proses dijelaskan secara rinci di situs web Adafruit. Setelah menginstal bootloader, MCU dikenali sebagai flash drive ketika terhubung melalui port micro USB dan bootloader berikutnya dapat dengan mudah diinstal dengan menyeret file UF2 ke drive.

Sebagai langkah selanjutnya saya ingin menginstal bootloader CircuitPython. Namun, karena board saya menggunakan banyak pin yang tidak terhubung pada Trinket M0, saya harus sedikit mengubah konfigurasi board terlebih dahulu. Sekali lagi ada tutorial bagus untuk ini di situs web Adafruit. Pada dasarnya, kita hanya perlu mengomentari beberapa pin yang diabaikan di mpconfigboard.h dan kemudian mengkompilasi ulang semuanya. File bootloader khusus juga tersedia di GitHub saya.

Langkah 4: Kode CircuitPython

Sirkuit Kode Python
Sirkuit Kode Python
Sirkuit Kode Python
Sirkuit Kode Python

Setelah bootloader CircuitPython diinstal, Anda dapat memprogram papan dengan menyimpan kode Anda sebagai file code.py langsung ke USB flash drive. Kode yang saya tulis membacakan sensor DHT22 dan kemudian secara bergantian menampilkan suhu dan kelembaban dengan memanaskan segmen yang sesuai. Seperti yang telah disebutkan, pemanasan dilakukan dengan mengganti MOSFET dengan sinyal PWM. Alih-alih mengonfigurasi pin sebagai output PWM, saya menghasilkan sinyal PWM "palsu" dengan frekuensi switching rendah 100 Hz dalam kode menggunakan penundaan. Untuk lebih menurunkan konsumsi saat ini saya tidak mengaktifkan segmen secara bersamaan tetapi berurutan seperti yang ditunjukkan pada skema di atas. Ada juga beberapa trik untuk membuat pemanasan segmen lebih merata. Pertama-tama siklus tugas sedikit berbeda untuk setiap segmen. Misalnya tanda hubung "%" membutuhkan siklus kerja yang jauh lebih besar karena resistansinya yang lebih tinggi. Saya juga menemukan bahwa segmen yang dikelilingi oleh banyak segmen lain perlu dipanaskan lebih sedikit. Selain itu, jika segmen dipanaskan dalam "jalankan" sebelumnya, siklus kerja dapat dikurangi di berikutnya. Akhirnya, waktu pemanasan dan pendinginan disesuaikan dengan suhu sekitar yang diukur dengan nyaman oleh sensor DHT22. Untuk menemukan konstanta waktu yang masuk akal, saya benar-benar mengkalibrasi tampilan di ruang iklim yang untungnya dapat saya akses di tempat kerja.

Anda dapat menemukan kode lengkapnya di GitHub saya.

Langkah 5: Perakitan

perakitan
perakitan
perakitan
perakitan
perakitan
perakitan

Perakitan layar agak mudah dan dapat dibagi dalam langkah-langkah berikut:

  1. Solder pin header perempuan ke PCB pemanas
  2. Pasang lembaran termokromik berperekat ke PCB pemanas
  3. Solder sensor DHT22 ke pengontrol PCB dan kencangkan dengan baut dan mur M2
  4. Solder pin header pria ke pengontrol PCB
  5. Hubungkan kedua PCB dan letakkan di dudukan cetak 3D

Langkah 6: Proyek Selesai

Proyek Selesai
Proyek Selesai
Proyek Selesai
Proyek Selesai

Saya cukup senang dengan tampilan akhir yang sekarang terus berjalan di ruang tamu kami. Tujuan membuat versi tampilan termokromik asli saya yang lebih kecil dan lebih sederhana pasti tercapai dan saya ingin sekali lagi berterima kasih kepada pengguna DmitriyU2 atas sarannya. Proyek ini juga membantu saya meningkatkan keterampilan desain PCB saya di Eagle dan saya belajar tentang penggunaan MOSFET sebagai sakelar.

Seseorang mungkin dapat lebih meningkatkan desain dengan membuat penutup yang bagus untuk PCB. Saya juga berpikir untuk membuat jam digital dengan gaya yang sama.

Jika Anda menyukai proyek ini, Anda dapat membuat ulang atau membelinya di toko Tindie saya. Pertimbangkan juga untuk memilih saya dalam tantangan desain PCB.

Tantangan Desain PCB
Tantangan Desain PCB
Tantangan Desain PCB
Tantangan Desain PCB

Hadiah Juri dalam Tantangan Desain PCB

Direkomendasikan: