Daftar Isi:
- Perlengkapan
- Langkah 1: Skema & Kode Sumber
- Langkah 2: Kerja Sirkuit
- Langkah 3: Pemeriksaan Kesehatan
- Langkah 4: Pengukuran Daya dan Masa Pakai Baterai
- Langkah 5: Perbaikan di Masa Depan
Video: Sensor Pintu Nirkabel - Daya Sangat Rendah: 5 Langkah
2024 Pengarang: John Day | [email protected]. Terakhir diubah: 2024-01-30 09:54
Namun sensor pintu lain !! Nah motivasi saya untuk membuat sensor ini adalah karena banyak yang saya lihat di internet memiliki satu batasan atau yang lain. Beberapa tujuan dari sensor bagi saya adalah:
1. Sensor harus sangat cepat - sebaiknya kurang dari 5 detik
2. Sensor harus menggunakan baterai Li-ion 3,7V karena saya memiliki lusinan yang tergeletak di sekitar
3. Sensor harus berjalan selama berbulan-bulan dengan sekali pengisian daya baterai. Itu harus mengkonsumsi <10uA dalam mode tidur
4. Sensor harus dapat menyala untuk mengirimkan data penting seperti status baterai meskipun pintu tidak dioperasikan dalam waktu lama.
5. Sensor harus mengirimkan data ke topik MQTT saat pintu dibuka dan juga saat pintu ditutup
6. Sensor harus mengkonsumsi jumlah daya yang sama terlepas dari keadaan pintu
Bekerja dari sensor:
Sensor memiliki 2 pengontrol utama. Yang pertama adalah mikrokontroler kecil ATiny 13A. Yang kedua adalah ESP yang biasanya dalam mode tidur dan bangun hanya ketika ATiny mengaktifkannya. Seluruh rangkaian juga dapat dibuat hanya dengan ESP dengan menggunakannya dalam mode tidur tetapi arus yang dikonsumsi jauh lebih besar dari yang dibutuhkan baterai untuk bertahan selama berbulan-bulan sehingga ATTiny datang untuk menyelamatkan. Ini hanya berfungsi untuk bangun setiap N detik, mencari acara pintu atau acara pemeriksaan kesehatan, jika ada, itu menahan pin CH_PD dari ESP ke HIGH dan mengirimkan sinyal yang sesuai dari jenis acara ke ESP. Perannya berakhir di sana.
ESP kemudian mengambil alih, membaca jenis sinyal, menghubungkan ke WiFi/MQTT, menerbitkan pesan yang diperlukan termasuk tingkat baterai dan kemudian mematikan sendiri dengan membawa pin EN kembali ke RENDAH.
Dengan menggunakan chip ini dengan cara ini saya memanfaatkan arus sleep rendah dari ATtiny dan arus idle nol dari ESP ketika chip dinonaktifkan melalui pin CH_PD.
Perlengkapan
Pra-permintaan:
- Pengetahuan tentang pemrograman ATTiny & ESP 01
- Pengetahuan tentang komponen solder pada PCB
ESP-01 (atau ESP apa pun)
ATTiny 13A - AVR
LDO 7333-A - Pengatur tegangan putus sekolah rendah
Resistor - 1K, 10K, 3K3
Kapasitor: 100uF, 0,1 uF
Sakelar tombol tekan, sakelar ON/OFF mikro - (keduanya opsional)
Dioda - IN4148 (atau yang setara)
Baterai Li-ion
Saklar buluh
Sebuah kasus untuk menampung semuanya
Solder, PCB, dll
Langkah 1: Skema & Kode Sumber
Skema seperti yang ditunjukkan pada diagram terlampir.
Saya telah menyertakan MOSFET P Channel untuk perlindungan polaritas terbalik. Jika Anda tidak membutuhkan ini, Anda dapat menghilangkannya. Setiap MOSFET P Channel dengan Rds ON rendah dapat digunakan.
Saat ini ESP tidak memiliki kemampuan OTA tapi itu untuk perbaikan kedepannya.
Kode sumber sensor pintu pintar
Langkah 2: Kerja Sirkuit
Alur Kerja ATTiny
Keajaiban di sini terjadi dalam cara ATTiny memantau posisi sakelar pintu.
Opsi normal adalah memasang resistor pull up ke sakelar dan terus memantau statusnya. Ini memiliki kelemahan arus konstan yang dikonsumsi oleh resistor pull up. Cara menghindarinya di sini adalah saya menggunakan dua pin untuk memantau sakelar daripada satu. Saya telah menggunakan PB3 & PB4 di sini. PB3 didefinisikan sebagai input dan PB4 sebagai output dengan INPUT_PULLUP internal pada PB3. Biasanya PB4 ditahan TINGGI ketika ATtiny dalam mode tidur. Ini memastikan tidak ada aliran arus melalui resistor pull up input terlepas dari posisi sakelar buluh. yaitu. Jika sakelar ditutup, PB3 & PB4 keduanya TINGGI sehingga tidak ada arus yang mengalir di antara keduanya. Jika sakelar terbuka maka tidak ada jalur di antara keduanya sehingga arusnya nol. Ketika ATtiny bangun, ia menulis LOW pada PB4 dan kemudian memeriksa status PB3. Jika PB3 TINGGI maka saklar buluh BUKA jika tidak maka TUTUP. Kemudian menulis kembali TINGGI pada PB4.
Komunikasi antara ATtiny & ESP terjadi melalui dua pin PB1 / PB2 yang terhubung ke Tx/RX dari ESP. Saya telah mendefinisikan sinyal sebagai
PB1 PB2 ====== Tx Rx
0 0 ====== WAKE_UP (Pemeriksaan Kesehatan)
0 1 ====== SENSOR_OPEN
1 0 ====== SENSOR_CLOSED
1 1 ====== TIDAK DIGUNAKAN
Selain mengirimkan sinyal ke ESP juga mengirimkan pulsa HIGH pada PB0 yang terhubung ke pin ESP CH_PD. Ini membangunkan ESP. Hal pertama yang dilakukan ESP untuk menahan GPIO0 HIGH yang terhubung ke CH_PD sehingga memastikan kekuatannya bahkan jika ATTiny menghilangkan PB0 HIGH. Kontrol sekarang ada pada ESP untuk menentukan kapan ingin dimatikan.
Kemudian terhubung ke WiFi, MQTT, memposting pesan dan mematikannya sendiri dengan menulis LOW pada GPIO0.
ESP 01 Alur kerja:
Aliran ESP lurus ke depan. Itu bangun dan membaca nilai pin Tx/Rx untuk menentukan jenis pesan apa yang akan diposting. Menghubungkan ke WiFi dan MQTT, memposting pesan dan mematikannya sendiri.
Sebelum dimatikan, ia kembali memeriksa nilai pin input untuk melihat apakah mereka telah berubah sejak terakhir kali dibaca. Ini untuk menjaga pembukaan dan penutupan pintu dengan cepat. Jika Anda tidak memiliki cek ini maka dalam beberapa kasus Anda mungkin melewatkan penutupan pintu jika ditutup dalam waktu 5-6 detik setelah pembukaan. Skenario praktis dari pintu yang dibuka dan ditutup dalam waktu 2 detik atau lebih ditangkap dengan baik oleh loop while yang terus memposting pesan selama keadaan pintu saat ini berbeda dari yang sebelumnya. Satu-satunya skenario yang mungkin terlewatkan untuk merekam semua acara buka/tutup adalah ketika pintu dibuka/tutup berulang kali dalam jendela 4-5 detik yang merupakan kasus yang sangat tidak mungkin - mungkin kasus beberapa anak bermain dengan pintu.
Langkah 3: Pemeriksaan Kesehatan
Saya juga membutuhkan cara untuk mendapatkan pesan pemeriksaan kesehatan dari ESP di mana ia mengirimkan tingkat baterai ESP juga untuk memastikan bahwa sensor berfungsi dengan baik tanpa pemeriksaan manual. Untuk ini, ATTiny mengirimkan sinyal WAKE_UP setiap 12 jam. Itu dapat dikonfigurasi melalui variabel WAKEUP_COUNT dalam kode ATtiny. Ini sangat berguna untuk pintu atau jendela yang jarang dibuka sehingga Anda mungkin tidak mengetahui apakah ada yang salah dengan sensor atau baterainya.
Jika Anda tidak memerlukan fungsionalitas pemeriksaan kesehatan maka seluruh konsep penggunaan ATTiny tidak diperlukan. Dalam hal ini Anda dapat menemukan desain lain yang telah dibuat orang di mana pasokan ke ESP diumpankan melalui MOSFET sehingga Anda dapat mencapai penarikan arus nol saat pintu tidak dioperasikan. Ada hal-hal lain yang harus diperhatikan seperti penarikan arus yang sama pada posisi pintu terbuka dan pintu tertutup - untuk itu saya di suatu tempat melihat desain yang menggunakan sakelar buluh 3 keadaan alih-alih keadaan 2 yang biasa.
Langkah 4: Pengukuran Daya dan Masa Pakai Baterai
Saya telah mengukur konsumsi sirkuit saat ini dan dibutuhkan ~30uA saat tidur dan sekitar. Pergi dengan lembar data ATTiny, seharusnya sekitar 1-4 uA untuk seluruh rangkaian termasuk arus diam dari LDO tetapi kemudian pengukuran saya menunjukkan 30. MOSFET dan LDO mengkonsumsi arus yang tidak signifikan.
Jadi baterai 800mAH harus bertahan lama. Saya tidak memiliki statistik yang tepat tetapi saya telah menggunakannya di 2 pintu saya selama lebih dari satu tahun sekarang dan setiap sel 18650 dengan sekitar 800mAH tersisa di dalamnya bertahan selama sekitar 5-6 bulan di pintu utama saya yang membuka dan menutup pada minimal 30 kali sehari. Yang di pintu atap yang hanya dibuka beberapa kali dalam seminggu, tahan 7-8 bulan.
Langkah 5: Perbaikan di Masa Depan
1. ESP tidak mengakui pengiriman pesan MQTT. Program dapat ditingkatkan dengan berlangganan topik yang menerbitkan pesan untuk mengonfirmasi pengiriman atau perpustakaan Async MQTT dapat digunakan untuk mengirim pesan dengan QoS 1.
2. Pembaruan OTA: Kode ESP dapat dimodifikasi untuk membaca topik MQTT untuk pembaruan dan masuk ke mode OTA untuk menerima file.
3. ESP01 dapat diganti dengan ESP-12 untuk mendapatkan akses ke lebih banyak PIN input sehingga dapat memasang lebih banyak sensor pada PIN yang sama. Dalam hal ini komunikasi melalui metode 2 bit tidak dimungkinkan. Ini kemudian dapat ditingkatkan untuk mengimplementasikan komunikasi I2C antara ATtiny & ESP. Ini agak rumit tetapi bisa diterapkan. Saya membuatnya bekerja di pengaturan lain di mana ATTiny mengirimkan nilai rotary encoder ke ESP melalui jalur I2C.
4. Rangkaian arus memonitor Vcc internal ESP, Jika kita menggunakan ESP12 maka ini dapat dimodifikasi untuk membaca level baterai aktual melalui pin ADC.
5. Di masa depan saya juga akan memposting modifikasi ini yang dapat digunakan sebagai sensor mandiri tanpa memerlukan MQTT atau sistem otomasi rumah apa pun. Sensor akan beroperasi secara standalone dan dapat melakukan panggilan telepon ketika dipicu - tentu saja dibutuhkan koneksi internet untuk ini.
6. Dan daftarnya terus berlanjut…
7. Perlindungan baterai terbalik - SELESAI (Gambar perangkat yang sebenarnya adalah yang lama sehingga tidak mencerminkan MOSFET)
Direkomendasikan:
Jaringan Sensor Nirkabel Berbiaya Rendah pada Pita 433MHz: 5 Langkah (dengan Gambar)
Jaringan Sensor Nirkabel Berbiaya Rendah pada Pita 433MHz: Terima kasih banyak kepada Teresa Rajba karena telah memberi saya persetujuannya untuk menggunakan data dari publikasi mereka di artikel ini.*Pada gambar di atas - lima unit pengirim sensor yang saya gunakan untuk pengujianApa itu sensor nirkabel jaringan? Definisi sederhana akan
LEIDS - Sensor Pintu IOT Energi Rendah: 8 Langkah (dengan Gambar)
LEIDS - Sensor Pintu IOT Energi Rendah: Apa itu LEIDS? LEIDS adalah sensor IOT yang berbasis di sekitar ESP8266. Sensor ini menggunakan papan ini, sirkuit pengunci yang lembut, sakelar buluh, dan beberapa magnet untuk membuat sensor pintu yang akan mengirimkan peringatan saat pintu Anda terbuka dan
Cara yang Sangat Sederhana/mudah/tidak Rumit untuk Membuat Orang/Manusia/Hewan/Robot Terlihat Seperti Memiliki Penglihatan Panas yang Sangat Keren/Terang (Warna Pilihan Anda) Menggunakan GIMP: 4 Langkah
Cara yang Sangat Sederhana/Mudah/Tidak Rumit untuk Membuat Orang/Manusia/Hewan/Robot Terlihat Seperti Memiliki Penglihatan Panas Yang Sangat Keren/Terang (Warna Pilihan Anda) Menggunakan GIMP: Read…the…title
Sangat Sederhana Namun Sangat Efektif Prank (Computer Prank): 3 Langkah
Sangat Sederhana… Namun Sangat Efektif Prank (Computer Prank): Instruksi ini SANGAT sederhana, namun SANGAT efektif! Apa yang akan terjadi adalah: Anda menyembunyikan semua ikon di desktop korban. Korban akan panik ketika mereka melihat komputer setelah Anda melakukan lelucon. Ini tidak dapat membahayakan komputer sama sekali
Meretas Bel Pintu Nirkabel Menjadi Sakelar Alarm Nirkabel atau Sakelar Hidup/Mati: 4 Langkah
Meretas Bel Pintu Nirkabel Menjadi Sakelar Alarm Nirkabel atau Sakelar Nyala/Mati: Saya baru-baru ini membangun sistem alarm dan memasangnya di rumah saya. Saya menggunakan sakelar magnet di pintu dan memasangnya melalui loteng. Jendela adalah cerita lain dan pemasangan kabel yang keras bukanlah pilihan. Saya membutuhkan solusi nirkabel dan ini