İçindekiler:
- Gereçler
- Adım 1: Şemalar ve Kaynak Kodu
- Adım 2: Devrenin Çalışması
- 3. Adım: Sağlık Kontrolü
- Adım 4: Güç Ölçümleri ve Pil Ömrü
- Adım 5: Gelecekteki İyileştirmeler
Video: Kablosuz Kapı Sensörü - Ultra Düşük Güç: 5 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:17
Yine bir kapı sensörü !! Bu sensörü yaratmamdaki motivasyon, internette gördüğüm birçok kişinin bir veya diğer sınırlaması olmasıydı. Sensörün benim için hedeflerinden bazıları:
1. Sensör çok hızlı olmalıdır - tercihen 5 saniyeden az
2. Etrafta düzinelerce pil bulunduğundan, sensör 3.7V Li-ion pil ile bitmelidir.
3. Sensör, pilin tek bir şarjıyla aylarca çalışmalıdır. Uyku modunda < 10uA tüketmelidir
4. Sensör, kapı uzun süre çalıştırılmadığında bile pil durumu gibi kritik verileri iletmek için uyanabilmelidir.
5. Sensör, kapı açıldığında olduğu kadar kapı kapatıldığında da verileri bir MQTT konusuna iletmelidir.
6. Sensör, kapının durumundan bağımsız olarak aynı miktarda güç tüketmelidir.
Sensörün çalışması:
Sensörün 2 ana kontrolörü vardır. Birincisi küçük mikro denetleyici ATiny 13A. İkincisi, genellikle uyku modunda olan ve yalnızca ATiny etkinleştirdiğinde uyanan ESP'dir. Tüm devre, uyku modunda kullanılarak sadece ESP tarafından da yapılabilir, ancak tükettiği akım, bir pilin aylarca dayanması için gerekenden çok daha fazladır, bu nedenle ATTiny kurtarmaya gelir. Sadece her N saniyede bir uyanma, bir kapı olayı veya sağlık kontrolü olayı arama amacına hizmet eder, varsa ESP'nin CH_PD pinini HIGH'a tutar ve olay tipinin uygun sinyalini ESP'ye gönderir.. Rolü orada bitiyor.
ESP daha sonra devralır, sinyal tipini okur, WiFi/MQTT'ye bağlanır, pil seviyesi de dahil olmak üzere gerekli mesajları yayınlar ve ardından EN pinini DÜŞÜK konumuna getirerek kendini KAPATIR.
Bu çipleri bu şekilde kullanarak ATtiny'nin düşük uyku akımından ve çip CH_PD pini aracılığıyla devre dışı bırakıldığında ESP'nin sıfır boşta akımından yararlanıyorum.
Gereçler
Ön koşul:
- ATTiny ve ESP 01 programlama bilgisi
- PCB üzerinde lehimleme bileşenleri bilgisi
ESP-01 (veya herhangi bir ESP)
ATtiny 13A - AVR
LDO 7333-A - Düşük Kayıp voltaj regülatörü
Dirençler - 1K, 10K, 3K3
Kapasitörler: 100uF, 0.1 uF
Buton anahtarı, mikro ON/OFF anahtarı - (her ikisi de isteğe bağlı)
Diyot - IN4148 (veya herhangi bir eşdeğeri)
Li-ion Pil
Manyetik anahtar
Hepsini barındıracak bir dava
Lehim, PCB vb
Adım 1: Şemalar ve Kaynak Kodu
Şema ekteki şemada gösterildiği gibidir.
Ters polarite koruması için bir P Kanalı MOSFET ekledim. Buna ihtiyacınız yoksa, atlayabilirsiniz. Düşük Rds AÇIK olan herhangi bir P Kanalı MOSFET yapacaktır.
Şu anda ESP, OTA yeteneğine sahip değil, ancak bu gelecekteki iyileştirme için.
Kaynak kodu akıllı kapı sensörü
Adım 2: Devrenin Çalışması
ATTiny Çalışma akışı
Buradaki sihir, ATTiny'nin kapı anahtarının konumunu nasıl izlediğinde gerçekleşir.
Normal seçenek, anahtara bir yukarı çekme direnci eklemek ve durumunu izlemeye devam etmek olacaktır. Bu, yukarı çekme direnci tarafından tüketilen sabit akımın dezavantajına sahiptir. Burada bundan kaçınmanın yolu, anahtarı izlemek için bir yerine iki pim kullanmamdır. Burada PB3 & PB4 kullandım. PB3, PB3 üzerinde dahili bir INPUT_PULLUP ile giriş olarak ve PB4, çıkış olarak tanımlanır. Normalde ATtiny uyku modundayken PB4 YÜKSEK tutulur. Bu, manyetik anahtarın konumundan bağımsız olarak giriş çekme direncinden akım akışı olmamasını sağlar. yani. Anahtar kapalıysa, hem PB3 hem de PB4 YÜKSEK'tir ve bu nedenle aralarında akım akmaz. Anahtar açıksa, aralarında yol yoktur ve bu nedenle akım sıfırdır. ATtiny uyandığında PB4'e bir DÜŞÜK yazar ve ardından PB3'ün durumunu kontrol eder. PB3 YÜKSEK ise manyetik anahtar AÇIK, aksi takdirde KAPALI'dır. Daha sonra PB4'e YÜKSEK bir yanıt yazar.
ATtiny ve ESP arasındaki iletişim, ESP'nin Tx/RX'ine bağlı iki pin PB1 / PB2 aracılığıyla gerçekleşir. Sinyali şu şekilde tanımladım:
PB1 PB2 ====== Tx Rx
0 0 ====== WAKE_UP (Sağlık Kontrolü)
0 1 ====== SENSOR_OPEN
1 0 ====== SENSÖR_KAPALI
1 1 ====== KULLANILMAMIŞ
Sinyali ESP'ye göndermenin yanı sıra, ESP CH_PD pinine bağlı olan PB0'a da YÜKSEK bir darbe gönderir. Bu, ESP'yi uyandırır. ESP'nin yaptığı ilk şey, CH_PD'ye bağlı olan GPIO0 HIGH'ı tutmak ve böylece ATTiny PB0 HIGH'ı alsa bile güçlerinin açılmasını sağlamaktır. Artık kontrol, ne zaman kapatmak istediğini belirlemek için ESP'de.
Daha sonra WiFi, MQTT'ye bağlanır, mesajı gönderir ve GPIO0'a LOW yazarak kendini kapatır.
ESP 01 Çalışma akışı:
ESP akışı düz ileri. Hangi tür mesajın gönderileceğini belirlemek için uyanır ve Tx/Rx pinlerinin değerlerini okur. WiFi ve MQTT'ye bağlanır, mesajı gönderir ve kendini kapatır.
Kapatmadan önce, son okumadan bu yana değişip değişmediklerini görmek için giriş pinlerinin değerlerini tekrar kontrol eder. Bu, kapının hızlı açılıp kapanmasını sağlamak içindir. Bu kontrole sahip değilseniz, bazı durumlarda, açıldıktan sonra 5-6 saniye içinde kapanırsa, kapının kapanmasını kaçırabilirsiniz. Kapının 2 saniye içinde açılıp kapanmasının pratik bir senaryosu, kapının mevcut durumu öncekinden farklı olduğu sürece mesajları göndermeye devam eden while döngüsü tarafından iyi bir şekilde yakalanır. Tüm açık/kapalı olaylarını kaydetmenin kaçırabileceği tek senaryo, kapının 4-5 saniyelik bir pencere içinde tekrar tekrar açılıp/kapatılmasıdır ki bu çok düşük bir ihtimaldir - muhtemelen bir çocuğun kapıyla oynaması durumu.
3. Adım: Sağlık Kontrolü
Ayrıca, sensörün manuel inceleme olmadan iyi çalıştığından emin olmak için ESP'nin pil seviyesini de gönderdiği ESP'den bir sağlık kontrol mesajı almanın bir yoluna ihtiyacım vardı. Bunun için ATTiny her 12 saatte bir WAKE_UP sinyali gönderir. ATtiny kodundaki WAKEUP_COUNT değişkeni aracılığıyla yapılandırılabilir. Bu, nadiren açılan kapılar veya pencereler için çok kullanışlıdır ve bu nedenle sensörde veya pilinde bir sorun olup olmadığını asla anlayamayabilirsiniz.
Sağlık kontrolü işlevine ihtiyacınız yoksa, ATTiny'yi kullanma konseptinin tamamı gerekli değildir. Bu durumda, ESP'ye beslemenin bir MOSFET üzerinden beslendiği, insanların yarattığı diğer tasarımları bulabilir ve böylece kapı çalıştırılmadığında sıfır akım çekişi elde edebilirsiniz. Dikkat edilmesi gereken başka şeyler de var, kapı açık ve kapı kapalı konumlarında mevcut çekişin aynı olması - bunun için bir yerde, normal 2 durum yerine 3 durumlu bir indükleme anahtarı kullanan bir tasarım gördüm.
Adım 4: Güç Ölçümleri ve Pil Ömrü
Devrenin akım tüketimini ölçtüm ve uyurken ve etrafta ~30uA alıyor. ATTiny'nin veri sayfalarına göre, LDO'nun hareketsiz akımı dahil tüm devre için yaklaşık 1-4 uA olmalıdır, ancak ölçümlerim 30'u gösteriyor. MOSFET ve LDO önemsiz akım tüketiyor.
Yani 800mAH pil uzun süre dayanmalıdır. Kesin istatistiklerim yok ama bir yıldan fazla bir süredir 2 kapımda kullanıyorum ve içinde yaklaşık 800mAH kalan her 18650 hücre, açılıp kapanan ana kapımda yaklaşık 5-6 ay dayanıyor. günde en az 30 kez. Haftada sadece birkaç kez açılan çatı kapısındaki, 7-8 ay sürer.
Adım 5: Gelecekteki İyileştirmeler
1. ESP, MQTT mesajının teslim edildiğini onaylamaz. Program, teslimatı onaylamak için mesajı yayınladığı konuya abone olarak geliştirilebilir veya QoS 1 ile mesaj göndermek için bir Async MQTT kitaplığı kullanılabilir.
2. OTA güncellemesi: ESP kodu, bir güncelleme için bir MQTT konusunu okumak ve böylece bir dosya almak için bir OTA moduna girmek üzere değiştirilebilir.
3. ESP01, daha fazla giriş PIN'ine erişmek için ESP-12 ile değiştirilebilir ve böylece aynı PIN'e daha fazla sensör eklenebilir. Bu durumda 2 bit yöntemiyle iletişim mümkün değildir. Bu daha sonra ATtiny ve ESP arasında I2C iletişimini uygulamak için geliştirilebilir. Bu biraz karmaşık ama uygulanabilir. Bir ATTiny'nin I2C hattı üzerinden ESP'ye döner kodlayıcı değerleri gönderdiği başka bir kurulumda çalışmasını sağladım.
4. Akım devresi, ESP'nin dahili Vcc'sini izler, ESP12 kullanırsak, bu, ADC pimi aracılığıyla gerçek pil seviyesini okumak için değiştirilebilir.
5. Gelecekte, bir MQTT'ye veya herhangi bir ev otomasyon sistemine ihtiyaç duymadan bağımsız bir sensör olarak kullanılabilecek bir değişiklik de yayınlayacağım. Sensör bağımsız çalışacak ve tetiklendiğinde telefon görüşmesi yapabilecek - elbette bunun için internet bağlantısına ihtiyacı var.
6. Ve liste uzayıp gidiyor…
7. Ters pil koruması - YAPILDI (Gerçek cihaz resimleri eskidir ve bu nedenle MOSFET'i yansıtmaz)
Önerilen:
LP-2010 AES17 1998 Anahtarlamalı Amplifikatör Düşük Geçişli (düşük geçişli) Filtre: 4 Adım
LP-2010 AES17 1998 Anahtarlamalı Amplifikatör Düşük Geçişli (düşük geçişli) Filtre: Bu, düşük geçişli filtrenin harika bir D sınıfı yükseltici ölçümüdür. İnce işçilik, üstün performans, kolay bağlantı, bu ürünün kullanımını kolaylaştırır ve sahip olunmaya değer bir üründür. yüksek maliyet performansı
IFTTT ile Kablolu Kapı Zilinizi Akıllı Bir Kapı Ziline Dönüştürün: 8 Adım
IFTTT ile Kablolu Kapı Zilinizi Akıllı Bir Kapı Ziline Dönüştürün: WiFi Kapı Zili, mevcut kablolu kapı zilinizi akıllı bir kapı ziline dönüştürür. https://www.fireflyelectronix.com/product/wifidoor
Düşük Güç Tüketimi Çağında Kablosuz Haberleşme Modüllerinin Güç Tüketimi Nasıl Doğru Ölçülür?: 6 Adım
Düşük Güç Tüketimi Çağında Kablosuz Haberleşme Modüllerinin Güç Tüketimi Nasıl Doğru Ölçülür?: Düşük güç tüketimi, Nesnelerin İnterneti'nde son derece önemli bir kavramdır. Çoğu IoT düğümünün pillerle çalıştırılması gerekir. Yalnızca kablosuz modülün güç tüketimini doğru bir şekilde ölçerek ne kadar pil kullandığımı doğru bir şekilde tahmin edebiliriz
LEIDS - Düşük Enerji IOT Kapı Sensörü: 8 Adım (Resimlerle)
LEIDS - Düşük Enerji IOT Kapı Sensörü: LEIDS Nedir? LEIDS, ESP8266'yı temel alan bir IOT sensörüdür. Bu sensör, bu kartı, yumuşak bir kilitleme devresini, bir kamış anahtarı ve bazı mıknatısları kullanarak kapınız açılıp kapandığında size bir uyarı gönderecek bir kapı sensörü oluşturur
Kablosuz Kapı Zilini Kablosuz Alarm Anahtarına veya Açma/Kapama Anahtarına Hackleyin: 4 Adım
Bir Kablosuz Kapı Zilini Kablosuz Alarm Anahtarına veya Açma/Kapama Anahtarına Hackleyin: Yakın zamanda bir alarm sistemi kurdum ve evime kurdum. Kapılarda manyetik anahtarlar kullandım ve onları tavan arasına sabitledim.Pencereler başka bir hikayeydi ve onları sert kablolamak bir seçenek değildi. Kablosuz bir çözüme ihtiyacım vardı ve bu