İçindekiler:

IoT için TinyLiDAR: 3 Adım
IoT için TinyLiDAR: 3 Adım

Video: IoT için TinyLiDAR: 3 Adım

Video: IoT için TinyLiDAR: 3 Adım
Video: 2 veya daha fazla VL53L0X Lazer Mesafe Sensörü nasıl kullanılır 2024, Kasım
Anonim
IoT için TinyLiDAR
IoT için TinyLiDAR

Etrafınıza bakarsanız, günlük hayatta çok sayıda akıllı küçük cihazın kullanıldığını fark edeceksiniz. Genellikle pille çalışırlar ve genellikle bir şekilde İnternet'e (aka 'bulut') bağlanırlar. Bunların hepsine 'IoT' cihazları diyoruz ve bugün dünyada hızla yaygınlaşıyorlar.

IoT Sistem Mühendisleri için, güç tüketimini optimize etmek için çok fazla tasarım çabası harcanır. Bunun nedeni elbette pillerde bulunan sınırlı kapasiteden kaynaklanmaktadır. Uzak bölgelerde büyük miktarlarda pilleri değiştirmek çok pahalı bir teklif olabilir.

Bu nedenle, bu talimat tamamen tinyLiDAR'da gücü optimize etmekle ilgilidir.

TL; DR özeti

IoT cihazlarında pil çalışma süresini en üst düzeye çıkarmaya yardımcı olmak için yeni bir "Gerçek Zamanlı" ölçüm moduna (firmware 1.4.0'dan itibaren) sahibiz.

Pillerden Daha Fazla Su Sıkma

Sezgisel olarak, IoT cihazlarının güç tüketimini azaltarak çalışma süresini artırabiliriz. Tamam, bu çok açık! Ancak bunu beklenen çalışma zamanını nasıl etkili ve doğru bir şekilde hesaplayabilirsiniz? Hadi bulalım…

Adım 1: Saf Enerji

Bunu yapmanın birçok yolu var ama biz bunu temellerine indirip her şeyi enerjiye dönüştürmeyi tercih ediyoruz. Elektrik enerjisi Joule (sembol J) cinsinden ölçülür ve tanım gereği:

Bir Joule, bir amperlik bir elektrik akımı bir saniyelik bir süre boyunca bir ohmluk bir dirençten geçtiğinde ısı olarak yayılan enerjidir.

Enerji (E) aynı zamanda voltaj (V) x yük (Q) olduğundan, elimizde:

E = VxQ

Q, Akım (I) x zaman (T):

S = Ben x T

Yani Joule cinsinden enerji şu şekilde ifade edilebilir:

E = VxIxT

burada V voltaj, I Amper cinsinden akım ve T saniye cinsinden zamandır.

Seri bağlı dört adet AA alkalin (LR6) pilden oluşan bir pil takımımız olduğunu varsayalım. Bu bize toplam 4*1.5v = 6v başlangıç voltajı verecektir. Alkalin AA pilin kullanım ömrü yaklaşık 1.0v'dir, bu nedenle ortalama voltaj yaklaşık 1.25v olur. Mfr veri sayfasına göre "Teslimat edilen kapasite, uygulanan yüke, çalışma sıcaklığına ve kesme voltajına bağlıdır." Bu nedenle, IoT cihazı gibi düşük drenajlı bir uygulama için yaklaşık 2000 mAhr veya daha iyi olduğunu varsayabiliriz.

Bu nedenle, değiştirilmeden önce bu pil paketinden hücre başına 4 hücre x 1,25V x 2000mAhr * 3600sn = 36000 J enerjiye sahip olduğumuzu hesaplayabiliriz.

Daha basit hesaplamalar için, sistem düzenleyicimiz için dönüştürme verimliliğinin %100 olduğunu varsayabiliriz ve ana bilgisayar denetleyicisinin güç tüketimini göz ardı edebiliriz.

Bisiklete binme hakkında bir kelime

Hayır, bindiğin tip değil! "Power Cycling" ve "Sleep Cycling" olarak bilinen birkaç teknik kavram vardır. Her ikisi de güç tüketimini azaltmak için kullanılabilir ancak ikisi arasında bir fark vardır. Birincisi, gerekli olana kadar cihazınızın kapatılmasını ve ardından bir ölçüm vb. gerçekleştirmek için kısa bir süreliğine açılmasını içerir. Bu yöntem, sıfır kapalı akımı nedeniyle cazip gelse de, biraz zaman alacağı bir dezavantajı vardır. yeniden başlatmak ve bunu yaparken enerji yakmak için önemsiz olmayan bir süre.

İkinci konsept, cihazı daha hızlı uyanacağı, ancak uykudayken sınırlı miktarda akım yakacağınız umuduyla sadece uyku modunda tutmayı içerir. Peki hangisi kullanmak en iyisidir?

Ne sıklıkla uyanmanız gerektiğine bağlı.

Adım 2: Sayıları Çalıştırın

Aşağıda listelenen her senaryo için 1 saniyeye normalleştirilmiş toplam enerjiyi (E) bulmak istiyoruz.

Durum A: Tc = 1sn; her saniye bir mesafe ölçümü yapın Durum B: Tc = 60sn; her dakika bir mesafe ölçümü yapın. Durum C: Tc = 3600sn; Her saat başı mesafe ölçümü yapın.

Bunu yapmak için Tc ölçümlerimizin çevrim süresi, ton aktif zaman ve ton inaktif zaman diyebilir ve enerji formüllerimizi burada gösterildiği gibi yeniden düzenleyebiliriz:

resim
resim

TinyLiDAR için, başlatma süresi yaklaşık 300 ms veya daha azdır ve bu süre zarfında, düzenlenmiş bir 2,8 v kaynağından çalışırken ortalama 12,25 mA alacaktır. Bu nedenle, her başlatma için yaklaşık 10.3mJ enerji tüketecektir.

TinyLiDAR için uyku/hareketsizlik akımı, ultra düşük bir 3uA'dır. Bu, bir alkalin pil takımının aylık %0.3'lük kendi kendine deşarj oranından çok daha düşüktür, bu nedenle burada yalnızca "uyku döngüsü" yöntemini kullanarak araştıracağız.

Neden mikrodan vazgeçip doğrudan VL53 sensörüne gitmiyorsunuz?

Bunun cevabı o kadar açık değil. Akıllı telefon geliştirmenin ilk günlerinde, güç tüketen yüksek hızlı işlemciyi mp3 çalmak için canlı tutmanın pil ömrünü azaltmak için kesin bir yöntem olduğunu öğrendik. O zamanlar bile, müzik çalma gibi çevresel görevler için daha düşük güçlü "uygulama işlemcileri" kullanmak için her türlü çabayı gösterdik. Bugün çok farklı değil ve aslında tüm bu IoT cihazlarını her azalan pil kapasiteleriyle minyatürleştirdiğimiz için daha da önemli olduğunu söyleyebilirsiniz. Bu nedenle, tek görevi VL53 sensörünü kontrol etmek ve daha fazla işlemeye hazır veri sağlamak için ultra düşük güçlü bir uygulama işlemcisi kullanmak, pille çalışan herhangi bir uygulama için kesin bir varlıktır.

tinyLiDAR Ölçüm Modları

Şu anda kullanım kılavuzunda net olmayabilir [ancak kullanım kılavuzumuzu sürekli güncellediğimiz için bir noktada olacak:)] -- tinyLiDAR'da aslında 3 farklı ölçüm modu var.

MC Modu

TinyLiDAR'ın başlangıcından beri, VL53 ToF sensöründen daha hızlı ölçümler almaya çalışmak konusunda takıntılıydık. Bu nedenle, ondan en hızlı ve en tutarlı akış verilerini almak için ürün yazılımımızı optimize ettik. Bu, arabelleğe almanın tanıtılmasını içeriyordu. Biraz arabelleğe alma, ana bilgisayar denetleyicisinin (yani Arduino) ölçüm verilerini bir anda almasına ve daha önemli şeylere geçmesine izin verdiği için iyi bir şeydir. Bu nedenle arabelleğe alma kesinlikle gereklidir ve bu nedenle nispeten yavaş Arduino UNO'da bile 900 Hz'yi aşan akış hızlarına ulaşabiliyoruz. Bu nedenle, en hızlı yanıt süresi, tinyLiDAR'ın MC veya "sürekli" modunu kullanırken olacaktır.

BTW, şansınız olursa tinyLiDAR üzerindeki TTY çıkış pinine bir seri kablo bağlamalısınız ve bu MC modunun ne yaptığını göreceksiniz. Kelimenin tam anlamıyla mümkün olduğu kadar hızlı bir şekilde ölçüm yapar ve bunu yaparken I2C tamponunu mutlak en son verilerle doldurur. Ne yazık ki, tam hızda çalıştığı için maksimum miktarda güç de yakıyor. Bu MC modunun mevcut ve zaman grafiği için aşağıya bakın.

resim
resim

SS Modu

Bir sonraki mod, "tek adım" modu için "SS" dediğimiz moddur. Bu temelde yukarıdaki aynı yüksek performans modudur, ancak bunun yerine tek bir adım döngüsündedir. Böylece tinyLiDAR'dan hızlı yanıtlar alabilirsiniz, ancak veriler önceki örnekten olacağından en son verileri almak için iki ölçüm yapmanız gerekecektir. Bu SS modunun mevcut ve zaman grafiği için aşağıya bakın.

resim
resim

Yukarıdaki modların her ikisi de hızlı ve kullanımı kolay oldukları için çoğu kullanıcı için faturaya iyi uyuyor - sadece bir "D" komutu verin ve sonuçları okuyun. Yine de …

Her mili Joule'ün önemli olduğu IoT dünyasına doğru ilerlerken, yeni bir paradigmamız var.

Ve bu, tinyLiDAR'da kodladığımızın tam tersi! IoT dünyası için, gücü korumak ve çalışma süresini uzatmak için sık olmayan aralıklarla tek ölçümlere ihtiyacımız var.

RT Modu

Ne mutlu ki artık firmware 1.4.0'dan itibaren bu senaryo için bir çözümümüz olduğunu söyleyebiliriz. "Gerçek zamanlı" ölçümler için "RT" modu olarak adlandırılır. Ve temelde bir tetikle, bekle ve oku yöntemini uygular. Bunu kullanmak için, ölçümü başlatmak için yine de "D" komutunu verebilirsiniz, ancak bu RT modu için ölçümün bitmesi için uygun bir süre beklemeniz ve ardından sonuçları okumanız gerekir. TinyLiDAR, numuneler arasında otomatik olarak en düşük 3uA altı sessiz durumuna gider. En son verileri, yani sıfır ara belleğe alma işlemini elde etmek için iki yerine yalnızca bir ölçüm yapmanız gerektiğinden, kullanımı hala basit ve enerji açısından daha verimli.

Bu yeni RT modunun mevcut ve zaman grafiği için aşağıya bakın.

resim
resim

Adım 3: Gerçek Ölçümler

Seyrek yapılan IoT ölçümleri için MC sürekli modunu kullanmak, yalnızca tek ölçümlere ihtiyacımız olduğundan pek mantıklı değil. Bu nedenle dikkatimizi bunun yerine SS ve RT modlarına odaklayabiliriz. TinyLiDAR'ı düzenlenmiş bir +2.8v kaynağından çalıştırmak bize en düşük güç tüketimini sağlar. Bu nedenle, Yüksek Doğruluk (200ms) ön ayarlarını kullanırken, tinyLiDAR'da aşağıdaki enerji tüketimini ölçtük:

SS/tek adım modu: 2 ölçüm üzerinden ortalama 31,2 mJ

RT/gerçek zamanlı mod: 1 ölçüm üzerinden ortalama 15.5mJ

Yukarıdaki değerleri enerji formülümüze ekleyerek ve bir saniyeye normalleştirerek, pil takımımızdan gelen enerjinin 36000 J olduğunu varsayarak çalışma zamanı beklentilerini bulabiliriz.

Durum A: her saniye okuma (en son verileri almak için 2 okuma yapın)Tc = 1secTon = okuma başına 210ms x 2 okuma Toff = Tc - Ton = 580msIon(ort) = okuma başına 26.5mA Ioff(ort) = 3uA hareketsiz akım Vcc = 2,8V besleme gerilimi Joule cinsinden yük tarafından tüketilen aktif enerji Eon = Vcc x İyon x Ton = 2,8V x 26.5mA * 420ms = 31.164mJ Joule cinsinden yük tarafından tüketilen aktif olmayan enerji Eoff = Vcc x Ioff x Toff = 2.8V x 3uA x 580ms = 4.872uJ TcE = (Eon + Eoff)/Tc = (31.164mJ + 4.872uJ)/1 = 31.169mJ veya 31.2mJ/saniyeye Normalleştirme, bu nedenle Saniye cinsinden çalışma süresi, 36000J olan kaynak/enerjinin toplam enerjisidir. / 31.2mJ = 1155000 saniye = 320 saat = 13,3 gün

Bu hesaplamaları tekrarlayarak, diğer senaryolar için çalışma zamanlarını bulabiliriz:

SS modu

Durum A: Saniyede 2 Okuma. Normalleştirilmiş enerji 31.2mJ'dir. Bu nedenle çalışma zamanı 13.3 gündür.

Durum B: Dakikada 2 Okuma. Normalleştirilmiş enerji 528uJ'dir. Bu nedenle çalışma süresi 2.1 yıldır.

Durum C: Saatte 2 Okuma. Normalleştirilmiş enerji 17uJ'dir. Çalışma süresi >>10 yıl olarak hesaplanmıştır, bu nedenle tinyLiDAR nedeniyle yükleme ihmal edilebilir. Bu nedenle pil takımı yalnızca raf ömrüyle sınırlı olacaktır (yani yaklaşık 5 yıl)

RT modu

Durum A: Saniyede 1 Okuma. Normalleştirilmiş enerji 15.5mJ'dir. Bu nedenle çalışma zamanı 26.8 gündür.

Durum B: Dakikada 1 Okuma. Normalleştirilmiş enerji 267uJ'dir. Bu nedenle çalışma süresi 4.3 yıldır.

Durum C: Saatte 1 okuma. Normalleştirilmiş enerji 12.7uJ'dir. Çalışma süresi >>10 yıl olarak hesaplanmıştır, bu nedenle tinyLiDAR nedeniyle yükleme ihmal edilebilir. Bu nedenle pil takımı yalnızca raf ömrüyle sınırlı olacaktır (yani yaklaşık 5 yıl)

Bu nedenle, uyku döngüsünü kullanan yeni Gerçek Zamanlı mod, Durum B'de gösterildiği gibi her dakika bir ölçüm alınırsa, çalışma süresini 4 yılı aşmak için burada bir avantajdır.

Bu analiz için ana bilgisayar denetleyicisinin enerji tüketiminin dikkate alınmadığını ve pil paketi özelliklerinin muhafazakar tarafta olduğunu unutmayın. İhtiyaçlarınıza göre çok daha güçlü piller bulabilirsiniz.

Okuduğunuz için teşekkür ederiz ve bir sonraki talimatımız için tinyLiDAR kullanarak çalışan bir IoT örneği sunacağımız için bizi izlemeye devam edin. Şerefe!

Önerilen: