Isi kandungan:

Sensor Pintu Tanpa Wayar - Kuasa Ultra Rendah: 5 Langkah
Sensor Pintu Tanpa Wayar - Kuasa Ultra Rendah: 5 Langkah

Video: Sensor Pintu Tanpa Wayar - Kuasa Ultra Rendah: 5 Langkah

Video: Sensor Pintu Tanpa Wayar - Kuasa Ultra Rendah: 5 Langkah
Video: Fly drone atas Gunung Jerai nampak orang tengah solat atas puncak. Adakah ia kebetulan atau..... ❗ 2024, November
Anonim
Sensor Pintu Tanpa Wayar - Kuasa Ultra Rendah
Sensor Pintu Tanpa Wayar - Kuasa Ultra Rendah
Sensor Pintu Tanpa Wayar - Kuasa Ultra Rendah
Sensor Pintu Tanpa Wayar - Kuasa Ultra Rendah
Sensor Pintu Tanpa Wayar - Kuasa Ultra Rendah
Sensor Pintu Tanpa Wayar - Kuasa Ultra Rendah
Sensor Pintu Tanpa Wayar - Kuasa Ultra Rendah
Sensor Pintu Tanpa Wayar - Kuasa Ultra Rendah

Sensor pintu lagi !! Oleh itu, motivasi bagi saya untuk membuat sensor ini ialah banyak yang saya lihat di internet mempunyai satu batasan atau yang lain. Beberapa tujuan sensor bagi saya adalah:

1. Sensor mesti sangat laju - lebih disukai kurang dari 5 saat

2. Sensor akan kehabisan bateri Li-ion 3.7V kerana saya berpuluh-puluh daripadanya terbaring

3. Sensor harus beroperasi selama berbulan-bulan dengan sekali pengisian bateri. Ia mesti menggunakan <10uA dalam mod tidur

4. Sensor harus dapat bangun untuk menghantar data kritikal seperti status bateri walaupun pintu tidak dikendalikan untuk waktu yang lama.

5. Sensor harus menghantar data ke topik MQTT ketika pintu dibuka dan juga ketika pintu ditutup

6. Sensor harus menggunakan jumlah kuasa yang sama tanpa mengira keadaan pintu

Kerja sensor:

Sensor mempunyai 2 pengawal utama. Yang pertama ialah pengawal mikro kecil ATiny 13A. Yang kedua adalah ESP yang biasanya dalam mod tidur dan bangun hanya apabila ATiny mengaktifkannya. Keseluruhan litar juga dapat dibuat dengan hanya ESP dengan menggunakannya dalam mod tidur tetapi arus yang dimakannya jauh lebih besar daripada yang diperlukan untuk bateri bertahan selama berbulan-bulan sehingga ATTiny menyelamatkan. Ini hanya berfungsi untuk tujuan bangun setiap detik N, mencari acara pintu atau acara pemeriksaan kesihatan, jika ada, ia memegang pin CH_PD ESP ke TINGGI dan mengirimkan isyarat jenis peristiwa yang sesuai kepada ESP. Peranannya berakhir di sana.

ESP kemudian mengambil alih, membaca jenis isyarat, menyambung ke WiFi / MQTT, menerbitkan mesej yang diperlukan termasuk tahap bateri dan kemudian mematikan dirinya sendiri dengan membawa pin EN kembali ke RENDAH.

Dengan menggunakan cip ini dengan cara ini, saya memanfaatkan arus tidur rendah ATtiny dan arus sifar siaga ESP apabila cip itu dilumpuhkan melalui pin CH_PD.

Bekalan

Pra-req:

- Pengetahuan tentang pengaturcaraan ATTiny & ESP 01

- Pengetahuan mengenai komponen pematerian pada PCB

ESP-01 (atau apa-apa ESP)

ATTiny 13A - AVR

LDO 7333-A - Pengatur voltan penurunan rendah

Perintang - 1K, 10K, 3K3

Kapasitor: 100uF, 0.1 uF

Suis tekan butang, suis ON / OFF mikro - (kedua-duanya pilihan)

Diod - IN4148 (atau yang setara)

Bateri Li-ion

Suis Reed

Kes untuk menempatkan semuanya

Pateri, PCB dll

Langkah 1: Skema & Kod Sumber

Skema & Kod Sumber
Skema & Kod Sumber

Skema adalah seperti yang ditunjukkan dalam rajah yang dilampirkan.

Saya telah memasukkan P Channel MOSFET untuk perlindungan kekutuban terbalik. Sekiranya anda tidak memerlukannya, anda boleh menghilangkannya. Mana-mana P Channel MOSFET dengan Rds ON rendah akan berjaya.

Pada masa ini ESP tidak mempunyai kemampuan OTA tetapi itu untuk peningkatan masa depan.

Sensor pintu pintar-kod sumber

Langkah 2: Mengendalikan Litar

Aliran kerja ATTiny

Keajaiban di sini berlaku dalam bagaimana ATTiny memantau kedudukan suis pintu.

Pilihan biasa ialah memasang resistor penarik ke suis dan terus memantau keadaannya. Ini mempunyai kelemahan arus berterusan yang dimakan oleh pull up resistor. Cara ini dapat dielakkan di sini adalah bahawa saya telah menggunakan dua pin untuk memantau suis daripada satu. Saya telah menggunakan PB3 & PB4 di sini. PB3 didefinisikan sebagai input dan PB4 sebagai output dengan INPUT_PULLUP dalaman pada PB3. Biasanya PB4 dipegang TINGGI ketika ATtiny dalam mod tidur. Ini memastikan tidak ada aliran arus melalui perintang tarik masuk tanpa mengira kedudukan suis buluh. iaitu. Sekiranya suis ditutup, kedua-dua PB3 & PB4 adalah TINGGI dan oleh itu tidak ada arus yang mengalir di antara mereka. Sekiranya suis terbuka maka tidak ada jalan di antara mereka dan arus adalah sifar. Apabila ATtiny bangun, ia menulis RENDAH pada PB4 dan kemudian memeriksa keadaan PB3. Sekiranya PB3 TINGGI maka suis reed DIBUKA yang lain TUTUP. Ia kemudian menulis kembali TINGGI pada PB4.

Komunikasi antara ATtiny & ESP berlaku melalui dua pin PB1 / PB2 yang disambungkan ke Tx / RX ESP. Saya telah menentukan isyarat sebagai

PB1 PB2 ====== Tx Rx

0 0 ====== WAKE_UP (Pemeriksaan Kesihatan)

0 1 ====== SENSOR_OPEN

1 0 ====== SENSOR_ DITUTUP

1 1 ====== TIDAK DIGUNAKAN

Selain menghantar isyarat ke ESP, ia juga menghantar denyut TINGGI pada PB0 yang disambungkan ke pin CH_PD ESP. Ini membangunkan ESP. Perkara pertama ESP melakukannya untuk menahan GPIO0 HIGH yang disambungkan ke CH_PD sehingga memastikan kekuatannya meningkat walaupun ATTiny melepaskan PB0 HIGH. Kawalannya kini ada pada ESP untuk menentukan bila ia hendak dimatikan.

Ia kemudian menyambung ke WiFi, MQTT, menghantar mesej dan mematikannya sendiri dengan menulis RENDAH di GPIO0.

Aliran kerja ESP 01:

Aliran ESP lurus ke hadapan. Ia bangun dan membaca nilai pin Tx / Rx untuk menentukan jenis mesej yang akan dihantar. Menyambung ke WiFi dan MQTT, menyiarkan mesej dan mematikannya sendiri.

Sebelum mematikan, ia sekali lagi memeriksa nilai pin input untuk melihat apakah ia telah berubah sejak terakhir dibaca. Ini untuk menjaga pembukaan dan penutupan pintu dengan cepat. Sekiranya anda tidak mempunyai cek ini maka ada beberapa kes anda mungkin terlepas dari penutupan pintu jika ditutup dalam 5-6 saat dari pembukaan. Senario praktikal pintu dibuka dan ditutup dalam 2 saat atau lebih dapat ditangkap oleh gelung sementara yang terus menghantar mesej selagi keadaan pintu sekarang berbeza dari yang sebelumnya. Satu-satunya senario yang mungkin dilewatkan untuk merakam semua peristiwa buka / tutup adalah apabila pintu berulang kali dibuka / ditutup dalam tetingkap 4-5 saat yang merupakan kes yang sangat tidak mungkin - mungkin kes beberapa kanak-kanak bermain dengan pintu.

Langkah 3: Pemeriksaan Kesihatan

Saya juga memerlukan cara untuk mendapatkan mesej pemeriksaan kesihatan dari ESP di mana ia mengirimkan tahap bateri ESP juga untuk memastikan bahawa sensor berfungsi dengan baik tanpa pemeriksaan manual. Untuk ini ATTiny menghantar isyarat WAKE_UP setiap 12 jam. Ia boleh dikonfigurasi melalui pemboleh ubah WAKEUP_COUNT dalam kod ATtiny. Ini sangat berguna untuk pintu atau tingkap yang jarang dibuka dan anda mungkin tidak mengetahui sama ada sesuatu yang salah dengan sensor atau baterinya.

Sekiranya anda tidak memerlukan fungsi pemeriksaan kesihatan, maka konsep keseluruhan penggunaan ATTiny tidak diperlukan. Dalam kes ini, anda dapat menemui reka bentuk lain yang telah dibuat oleh orang di mana bekalan ke ESP diberi melalui MOSFET dan oleh itu anda dapat memperoleh arus sifar semasa pintu tidak dikendalikan. Ada perkara lain yang harus diperhatikan seperti undian semasa agar sama di pintu terbuka dan pintu tutup - untuk itu saya di suatu tempat melihat reka bentuk yang menggunakan suis buluh 3 keadaan dan bukannya keadaan 2 biasa.

Langkah 4: Pengukuran Kuasa dan Hayat Bateri

Saya telah mengukur penggunaan litar semasa dan memerlukan ~ 30uA ketika tidur dan sekitar. Mengikut lembaran data ATTiny, ia seharusnya sekitar 1-4 uA untuk keseluruhan litar termasuk arus separa LDO tetapi kemudian pengukuran saya menunjukkan 30. MOSFET dan LDO menggunakan arus yang tidak signifikan.

Jadi bateri 800mAH harus bertahan lama. Saya tidak mempunyai statistik yang tepat tetapi saya telah menggunakannya di 2 pintu saya selama lebih dari setahun sekarang dan setiap sel 18650 dengan baki sekitar 800mAH di dalamnya bertahan selama kira-kira 5-6 bulan di pintu utama saya yang dibuka dan ditutup pada sekurang-kurangnya 30 kali sehari. Pintu bumbung yang dibuka hanya beberapa kali dalam seminggu, ia tahan selama 7-8 bulan.

Langkah 5: Penambahbaikan Masa Depan

1. ESP tidak mengakui penyampaian mesej MQTT. Program ini dapat diperbaiki dengan berlangganan topik yang diterbitkannya untuk mengesahkan pengiriman atau perpustakaan Async MQTT dapat digunakan untuk mengirim pesan dengan QoS 1.

2. Kemas kini OTA: Kod ESP dapat diubah untuk membaca topik MQTT untuk kemas kini dan masuk ke mod OTA untuk menerima fail.

3. ESP01 boleh diganti dengan ESP-12 untuk mendapatkan akses ke lebih banyak PIN input dan dengan itu boleh memasang lebih banyak sensor yang sama. Sekiranya tidak, komunikasi melalui kaedah 2 bit tidak mungkin dilakukan. Ini kemudian dapat diperbaiki untuk melaksanakan komunikasi I2C antara ATtiny & ESP. Ini agak rumit tetapi boleh dilaksanakan. Saya mengusahakannya dalam satu set lain di mana ATTiny menghantar nilai pengekod putar ke ESP melalui garis I2C.

4. Litar semasa memantau Vcc dalaman ESP, Jika kita menggunakan ESP12 maka ini dapat diubah untuk membaca tahap bateri sebenar melalui pin ADC.

5. Di masa depan saya juga akan mengirimkan pengubahsuaian untuk ini yang dapat digunakan sebagai sensor mandiri tanpa memerlukan MQTT atau sistem automasi rumah apa pun. Sensor akan beroperasi secara mandiri dan dapat membuat panggilan telefon apabila dicetuskan - tentu saja ia memerlukan sambungan internet untuk ini.

6. Dan senarai terus…

7. Perlindungan bateri terbalik - SELESAI (Gambar peranti sebenar sudah lama dan jadi tidak menggambarkan MOSFET)

Disyorkan: