1 poin oleh GN⁺ 2 jam lalu | Belum ada komentar. | Bagikan ke WhatsApp
  • Untuk menurunkan lampu tidur yang selalu menyala pada tingkat kecerahan 3 menjadi tingkat 1, dibuat PCB berbasis ATtiny85 yang akan menekan tombol tiga kali sebagai pengganti saat daya masuk
  • Karena catu daya penurun kapasitor hanya dapat memasok beberapa mA, dipilih ATtiny85 alih-alih ESP8266 atau Raspberry Pi Zero, karena konsumsi dayanya di bawah 1mA pada 1MHz dan turun ke level μA saat hemat daya
  • Rangkaian disusun dengan HT7333 yang menurunkan 8.3V menjadi 3.3V dan 2N3904 yang menghubung-singkatkan tombol ke ground, lalu dirancang dan dibuat dengan EasyEDA dan JLCPCB
  • Chip diprogram menggunakan GPIO Raspberry Pi 3 dan avrdude, lalu saat Home Assistant menyalakan lampu tidur, sistem menunggu sebentar sebelum menekan tombol tiga kali untuk otomatis berpindah ke kecerahan terendah
  • File desain dan kode C dirilis dengan lisensi MIT, tetapi hanya bisa diterapkan pada perangkat yang memiliki tegangan internal 4~12V dan input tombol yang dihubung-singkatkan ke ground; perangkat listrik AC tanpa transformator memerlukan kehati-hatian khusus

Tiga kali penekanan tombol yang diulang setiap hari

  • Home Assistant dikonfigurasi untuk menyalakan lampu tidur melalui colokan dinding Zigbee saat ponsel masuk ke mode fokus tidur
  • Lampu tidur murah ini memiliki sakelar untuk menentukan apakah menyala otomatis dan tombol untuk mengubah tingkat kecerahan, tetapi setiap kali daya dinyalakan selalu mulai dari tingkat kecerahan 3
    • Menekan tombol sekali akan menjadi tingkat 4, menekan lagi menjadi tingkat 5, dan pada penekanan ketiga menjadi tingkat 1
    • Untuk mendapatkan kecerahan minimum yang diinginkan, tombol itu harus ditekan tiga kali setiap malam
  • Saat bagian dalamnya dibuka, nama chip tidak terlihat dan juga tidak ada potensiometer penyetelan
  • Metode daring yang menyebut menahan tombol sekitar 10 detik untuk mengubah kecerahan bawaan di EEPROM juga tidak bekerja pada produk ini

Mikrokontroler yang disesuaikan dengan daya terbatas

  • Mikrokontroler adalah solusi yang paling cocok untuk mengotomatisasi input tombol
  • Lampu tidur ini menurunkan tegangan listrik AC dengan kapasitor, bukan transformator, sehingga bagian catu dayanya hanya dapat memasok beberapa mA
    • ESP8266 pada Wemos D1 Mini membutuhkan ratusan mA saat boot dan mengaktifkan fungsi nirkabel
    • Raspberry Pi Zero adalah komputer Linux penuh yang harus mem-boot sistem operasi
    • Kedua perangkat itu memerlukan catu daya terpisah atau kapasitor penyimpanan besar dan rangkaian tambahan untuk menahan momen boot
  • Pilihan akhirnya adalah ATtiny85, keluarga AVR klasik seperti Arduino lama dan dapat diprogram dengan Arduino IDE
    • Konsumsi arusnya di bawah 1mA saat berjalan pada 1MHz
    • Dalam mode hemat daya, arusnya turun ke level μA, setara jam kuarsa
    • LED lampu tidur menggunakan daya ribuan kali lebih besar daripada ATtiny85

Rangkaian yang meniru penekanan tombol nyata

  • Rel daya internal lampu tidur adalah 8.3V dan ATtiny85 membutuhkan 3.3V, sehingga digunakan regulator tegangan HT7333
  • Transistor 2N3904 menghubung-singkatkan jalur sinyal tombol ke ground untuk meniru aksi tombol yang benar-benar ditekan
  • Komponen pendukung menangani pembatasan arus, pencegahan input keliru, dan stabilisasi daya
    • Resistor 1kΩ antara ATtiny85 dan transistor membatasi arus penggerak yang mengalir ke transistor
    • Resistor 10kΩ menjaga transistor tetap mati saat daya baru menyala, sehingga mencegah input tombol yang tidak diinginkan
    • Tiga kapasitor kecil menghaluskan daya yang dipasok ke regulator tegangan dan chip
    • Header 3 pin terhubung ke daya, ground, dan jalur sinyal tombol
  • Agar bisa dipakai sebagai perangkat umum yang menekan tombol sejumlah kali tertentu sekaligus mempelajari proses pembuatan PCB, rangkaian ini dirancang sebagai papan terpisah

Merancang skematik dan PCB di EasyEDA

  • Di EasyEDA, komponen dan hubungan antar-komponen terlebih dahulu digambar sebagai skematik
    • Titik koneksi dengan nama yang sama seperti GND, 3V3 akan dihubungkan oleh router
    • Jika komponen nyata yang akan dipakai ditentukan, itu dapat digunakan untuk penataan PCB dan pembuatan daftar komponen
  • Pada tahap penyuntingan PCB, posisi komponen, jalur routing, bentuk papan, dan elemen cetak dapat ditentukan secara langsung
    • Logo open-source hardware dan nama pengguna dicetak pada papan
  • Karena rangkaiannya sederhana, papan dibuat sebagai PCB satu sisi, tanpa perlu routing rumit atau penyesuaian panjang maupun bentuk jalur

Produksi di JLCPCB dan perakitan komponen

  • Di JLCPCB, papan dipesan dengan memilih komponen nyata dan apakah akan dirakit atau tidak
  • Jumlah pesanan minimum adalah 5 papan, tetapi hanya 1 papan yang dibutuhkan, jadi sebagian besar komponen disolder sendiri
    • Untuk resistor dan kapasitor yang sangat kecil, digunakan layanan perakitan JLCPCB karena biaya tambahannya kecil
  • Setelah pemesanan, papan diterima dalam 4 hari

Pemrograman ATtiny85 dan verifikasi awal

  • ATtiny85 kosong tidak memiliki bootloader, jadi tidak bisa langsung dihubungkan ke USB seperti Arduino dan memerlukan programmer terpisah
  • Pemrograman dilakukan menggunakan GPIO Raspberry Pi 3 dan avrdude
    • Setelah menghubungkan header Pi dan chip dengan 6 kabel jumper, cukup menjalankan satu perintah
  • Sebelum dihubungkan langsung ke lampu tidur, operasi diverifikasi lebih dulu dengan memasang LED pada pin output
    • Perilaku akhirnya adalah berkedip tiga kali lalu berhenti terus-menerus
    • Dalam video pengujian, jumlah yang diperlukan terlambat diperbaiki sehingga LED berkedip empat kali

Proses pemasangan dan keselamatan listrik AC

  • Papan yang sudah jadi disolder ke bagian dalam lampu tidur, tetapi pengerjaannya sulit karena komponen dan ruangnya sangat kecil
  • Kapasitor besar pada papan asli terpasang dengan polaritas terbalik, dan hal ini dipastikan lewat pemeriksaan multimeter
  • Karena lampu tidur tidak memiliki transformator, memasang PCB tambahan berarti seluruh rangkaian terhubung ke listrik AC
    • ATtiny85 harus di-flash sebelum dimasukkan ke dalam perangkat
    • Setelah pemasangan, kabel USB atau Raspberry Pi tidak boleh dihubungkan lagi

Otomatisasi waktu tidur dan perilaku akhir

  • Saat jam mengirim status tidur ke ponsel, ponsel memberi tahu Home Assistant, lalu Home Assistant menyalakan lampu tidur melalui colokan Zigbee
  • PCB yang mendapat daya akan menunggu sebentar agar lampu tidur tidak salah beroperasi, lalu menekan tombol tiga kali untuk berpindah ke tingkat kecerahan 1
  • Bayangan kabel internal terlihat di balik diffuser, tetapi tidak tampak di dinding kamar sehingga tidak menjadi masalah dalam penggunaan nyata

Materi open source dan syarat penerapan

  • Materi berikut dirilis di tymscar/button-presser dengan lisensi MIT
    • File Gerber untuk membuat papan yang sama
    • Daftar komponen dan skematik
    • Kode C pendek yang berjalan di ATtiny85
  • Sebelum menerapkan, dua pemeriksaan multimeter yang dijelaskan di README harus dilakukan
  • Rangkaian ini hanya bekerja pada perangkat yang memiliki rel daya internal 4~12V dan sinyal tombol yang dihubung-singkatkan ke ground saat ditekan
  • Banyak perangkat murah memenuhi syarat ini, tetapi tidak semua produk bisa menerapkannya; untuk perangkat yang bekerja dengan listrik AC, panduan keselamatan harus diperiksa sebelum mulai bekerja

Belum ada komentar.

Belum ada komentar.