Mündəricat:

Simsiz Qapı Sensoru - Ultra Aşağı Güc: 5 addım
Simsiz Qapı Sensoru - Ultra Aşağı Güc: 5 addım

Video: Simsiz Qapı Sensoru - Ultra Aşağı Güc: 5 addım

Video: Simsiz Qapı Sensoru - Ultra Aşağı Güc: 5 addım
Video: Автомобильный генератор для генератора с самовозбуждением с использованием ДИОДА 2024, Noyabr
Anonim
Simsiz Qapı Sensoru - Ultra Aşağı Güc
Simsiz Qapı Sensoru - Ultra Aşağı Güc
Simsiz Qapı Sensoru - Ultra Aşağı Güc
Simsiz Qapı Sensoru - Ultra Aşağı Güc
Simsiz Qapı Sensoru - Ultra Aşağı Güc
Simsiz Qapı Sensoru - Ultra Aşağı Güc
Simsiz Qapı Sensoru - Ultra Aşağı Güc
Simsiz Qapı Sensoru - Ultra Aşağı Güc

Daha bir qapı sensoru !! Bu sensoru yaratmağım üçün motivasiya, İnternetdə gördüyüm bir çoxunun bu və ya digər məhdudiyyətə sahib olması idi. Sensorun mənim üçün məqsədlərindən bəziləri bunlardır:

1. Sensor çox sürətli olmalıdır - tercihen 5 saniyədən az

2. Sensor 3.7V Li-ion batareyadan tükənməlidir, çünki onlarla yerdə yatıram

3. Sensor bir neçə ay batareyanın tək şarjı ilə işləməlidir. Yuxu rejimində <10uA istehlak etməlidir

4. Sensor, qapı uzun müddət işləməsə belə batareya vəziyyəti kimi kritik məlumatların ötürülməsi üçün oyana bilməlidir.

5. Sensor, qapı açıldıqda və qapı bağlandıqda da məlumatları MQTT mövzusuna ötürməlidir

6. Sensor, qapının vəziyyətindən asılı olmayaraq eyni miqdarda enerji istehlak etməlidir

Sensorun işləməsi:

Sensorun 2 əsas idarəedicisi var. Birincisi, ATiny 13A kiçik mikro nəzarətçisidir. İkincisi, ümumiyyətlə yuxu rejimində olan və yalnız ATiny onu işə saldıqda oyanan ESP -dir. Bütün dövrə yalnız ESP tərəfindən yuxu rejimində istifadə edilə bilər, ancaq istehlak etdiyi cərəyan bir batareyanın aylarca dayanması üçün lazım olandan çox böyükdür, buna görə ATTiny xilasetmə işinə gəlir. Yalnız hər N saniyədə oyanmaq, bir qapı hadisəsi və ya sağlamlıq yoxlaması hadisəsi axtarmaq məqsədinə xidmət edir, əgər varsa, ESP -nin CH_PD pinini YÜKSƏ saxlayır və ESP -ə hadisə növünə uyğun siqnal göndərir.. Onun rolu orada bitir.

ESP daha sonra işə götürür, siqnal növünü oxuyur, WiFi/MQTT -yə qoşulur, batareya səviyyəsi də daxil olmaqla tələb olunan mesajları dərc edir və sonra EN pinini LOW -a endirərək özünü söndürür.

Bu fişləri bu şəkildə istifadə edərək, ATtiny -nin aşağı yuxu axını və çip CH_PD pin vasitəsilə söndürüldükdə ESP -nin sıfır boş cərəyanından istifadə edirəm.

Təchizat

Əvvəlki tələb:

- ATTiny & ESP 01 proqramlaşdırma bilikləri

- PCB üzərində lehimləmə komponentləri haqqında məlumat

ESP-01 (və ya hər hansı bir ESP)

ATTiny 13A - AVR

LDO 7333 -A - Aşağı Düşmə gərginliyi tənzimləyicisi

Rezistorlar - 1K, 10K, 3K3

Kondansatörler: 100 uF, 0.1 uF

Düymə açarı, mikro açma/söndürmə açarı - (hər ikisi isteğe bağlıdır)

Diod - IN4148 (və ya hər hansı bir ekvivalent)

Li-ion batareyası

Reed Switch

Hər şeyi yerləşdirmək üçün bir hal

Lehim, PCB və s

Addım 1: Şemalar və Mənbə Kodu

Sxemlər və Mənbə Kodu
Sxemlər və Mənbə Kodu

Sxemlər əlavə edilmiş diaqramda göstərildiyi kimidir.

Əks polariteyi qorumaq üçün bir P Channel MOSFET daxil etdim. Buna ehtiyacınız yoxdursa, buraxa bilərsiniz. Aşağı Rds ON olan hər hansı bir P Channel MOSFET edəcək.

Hal -hazırda ESP -nin OTA qabiliyyəti yoxdur, lakin bu, gələcəkdə yaxşılaşdırmaq üçündür.

Mənbə kodu ağıllı qapı sensoru

Addım 2: Dövrə İşi

ATTiny İş axını

Buradakı sehr ATTiny -nin qapı açarının vəziyyətini necə izlədiyində baş verir.

Normal seçim, açara bir çəkmə rezistoru bağlamaq və vəziyyətini izləməyə davam etməkdir. Bu, çəkmə rezistoru tərəfindən istehlak edilən sabit cərəyanın mənfi tərəfinə malikdir. Bunun qarşısının alınmasının yolu, açarı birdən çox yoxlamaq üçün iki sancaqdan istifadə etməyimdir. Burada PB3 və PB4 istifadə etdim. PB3, PB3 -də daxili INPUT_PULLUP ilə giriş və PB4 çıxış olaraq təyin olunur. ATtiny yuxu rejimində olduqda normal olaraq PB4 YÜKSƏK tutulur, bu da sazlıq açarının mövqeyindən asılı olmayaraq girişin çəkmə dirənçindən heç bir cərəyan keçirilməməsini təmin edir. yəni. Açar bağlanarsa, həm PB3, həm də PB4 YÜKSEKdir və buna görə də aralarında heç bir cərəyan axmır. Açar açıqdırsa, aralarında heç bir yol yoxdur və buna görə cərəyan sıfırdır. ATtiny oyandıqda PB4 üzərinə LOW yazır və sonra PB3 vəziyyətini yoxlayır. PB3 YÜKSEKdirsə, qamış açarı AÇIQdır, başqa halda QAPALI olur. Daha sonra PB4 -ə YÜKSƏK yazır.

ATtiny & ESP arasındakı əlaqə, ESP -in Tx / RX -ə qoşulmuş iki PB1 / PB2 sancağı vasitəsilə baş verir. Siqnalı olaraq təyin etdim

PB1 PB2 ====== Tx Rx

0 0 ====== WAKE_UP (Sağlamlıq yoxlanışı)

0 1 ====== SENSOR_AÇ

1 0 ====== SENSOR_CLOSED

1 1 ====== İSTİFADƏSİZ

ESP -ə siqnal göndərməklə yanaşı, ESP CH_PD pininə bağlı olan PB0 -da YÜKSEK nəbz də göndərir. Bu ESP -ni oyadır. ESP -nin ilk işi, CH_PD -yə bağlı olan GPIO0 HIGH -u tutmaqdır, beləliklə ATTiny PB0 HIGH -u götürsə belə gücünü artırır. Nəzarət indi nə vaxt söndürmək istədiyini təyin etmək üçün ESP -yə aiddir.

Daha sonra WiFi, MQTT -ə qoşulur, mesajı göndərir və GPIO0 -a LOW yazaraq özünü gücə salır.

ESP 01 İş axını:

ESP axını birbaşa irəli gedir. Tx/Rx pinlərinin dəyərlərini oxuyur və hansı mesajın göndəriləcəyini təyin edir. WiFi və MQTT ilə əlaqə qurur, mesajı göndərir və özünü aşağı salır.

Gücü söndürməzdən əvvəl, son oxunduqdan sonra dəyişdiklərini görmək üçün giriş pinlərinin dəyərlərini yenidən yoxlayır. Bu, qapının tez açılması və bağlanması ilə bağlıdır. Bu çek yoxsa, bəzi hallarda açıldıqdan 5-6 saniyə ərzində bağlanarsa, qapının bağlanmasını qaçıra bilərsiniz. Qapının 2 saniyə ərzində açılıb bağlanmasının praktiki bir ssenarisi, qapının indiki vəziyyəti əvvəlki vəziyyətdən fərqli olduğu müddətdə mesaj göndərməyə davam edən halqa döngəsi tərəfindən yaxşı çəkilir. Qapının 4-5 saniyəlik bir pəncərədə dəfələrlə açılması/bağlanması çox çətin bir haldır - ehtimal ki, bəzi uşaqların qapı ilə oynadığı bir vəziyyət.

Addım 3: Sağlamlıq yoxlanışı

Sensorun əllə yoxlanılmadan yaxşı işlədiyini təmin etmək üçün ESP -dən batareya səviyyəsini göndərdiyi ESP -dən sağlamlıq yoxlama mesajı almağın bir yoluna ehtiyacım var idi. Bunun üçün ATTiny hər 12 saatda bir WAKE_UP siqnalı göndərir. ATtiny kodundakı WAKEUP_COUNT dəyişən vasitəsilə konfiqurasiya edilə bilər. Bu, nadir hallarda açılan qapılar və ya pəncərələr üçün çox faydalıdır və buna görə də sensorda və ya batareyasında heç bir problemin olub olmadığını bilməyəcəksiniz.

Sağlamlıq yoxlama funksiyasına ehtiyacınız olmadığı təqdirdə, ATTiny -dən istifadə konsepsiyasına ehtiyac yoxdur. Bu halda, ESP -ə təchizatın bir MOSFET vasitəsi ilə verildiyi yerdə insanların yaratdığı digər dizaynları tapa bilərsiniz və beləliklə qapı işləməyincə sıfır cərəyan əldə edə bilərsiniz. Qapının açıq və qapının yaxın olduğu vəziyyətdə cərəyanın eyni olması kimi diqqət yetirilməli olan başqa şeylər var - bunun üçün bir yerdə adi 2 vəziyyətin əvəzinə 3 vəziyyətli qamış açarı istifadə edən bir dizayn gördüm.

Addım 4: Güc Ölçmələri və Batareya Ömrü

Mən dövrənin cari istehlakını ölçmüşəm və yatarkən və ətrafda ~ 30uA çəkir. ATTiny məlumat cədvəlinə əsasən, LDO-nun sakit cərəyanı da daxil olmaqla bütün dövrə üçün 1-4 uA civarında olmalıdır, lakin sonra mənim ölçülərim 30-u göstərir. MOSFET və LDO əhəmiyyətsiz cərəyan istehlak edir.

Buna görə də 800 mAh batareya uzun müddət dayanmalıdır. Dəqiq statistikam yoxdur, ancaq bir ildən çoxdur ki, 2 qapımda istifadə edirəm və içərisində təxminən 800mAH olan hər 18650 hüceyrə açılan və bağlanan ana qapımda təxminən 5-6 ay davam edir. gündə ən az 30 dəfə. Həftədə bir neçə dəfə açılan dam qapısı 7-8 ay davam edir.

Addım 5: Gələcək Təkmilləşdirmələr

1. ESP MQTT mesajının çatdırılmasını qəbul etmir. Proqram, çatdırılmasını təsdiq etmək üçün mesajı yayımladığı mövzuya abunə olaraq təkmilləşdirilə bilər və ya QoS 1 ilə mesaj göndərmək üçün Async MQTT kitabxanasından istifadə edilə bilər.

2. OTA yeniləməsi: ESP kodu bir yeniləmə üçün MQTT mövzusunu oxumaq üçün dəyişdirilə bilər və buna görə də fayl almaq üçün OTA rejiminə daxil olun.

3. ESP01, daha çox giriş PIN-lərinə daxil olmaq üçün ESP-12 ilə əvəz edilə bilər və buna görə də daha çox sensorlar bağlaya bilər. Bu halda 2 bit üsulu ilə əlaqə mümkün deyil. Bu daha sonra ATtiny & ESP arasında I2C əlaqəsini həyata keçirmək üçün təkmilləşdirilə bilər. Bu bir az mürəkkəb, lakin işləkdir. ATTiny -nin I2C xətti üzərindən ESP -ə fırlanan kodlayıcı dəyərləri göndərdiyi başqa bir qurğuda işləyirəm.

4. Cari dövrə ESP -nin daxili Vcc -ini izləyir, ESP12 -dən istifadə etsək, bu, ADC pin vasitəsilə həqiqi batareya səviyyəsini oxumaq üçün dəyişdirilə bilər.

5. Gələcəkdə, MQTT və ya hər hansı bir ev avtomatlaşdırma sisteminə ehtiyac olmadan müstəqil bir sensor olaraq istifadə edilə bilən bir dəyişiklik də göndərəcəyəm. Sensor müstəqil işləyəcək və işə salındıqda telefonla zəng edə bilər - əlbəttə bunun üçün internet bağlantısı lazımdır.

6. Və siyahı davam edir …

7. Ters batareya qorunması - BİTDİ (Əsl cihaz şəkilləri köhnədir və buna görə də MOSFET -i əks etdirmir)

Tövsiyə: