Სარჩევი:

TinyLiDAR IoT– სთვის: 3 ნაბიჯი
TinyLiDAR IoT– სთვის: 3 ნაბიჯი

ვიდეო: TinyLiDAR IoT– სთვის: 3 ნაბიჯი

ვიდეო: TinyLiDAR IoT– სთვის: 3 ნაბიჯი
ვიდეო: tinyLiDAR First Steps 2024, ივლისი
Anonim
TinyLiDAR IoT– სთვის
TinyLiDAR IoT– სთვის

თუ მიმოიხედავთ გარშემო, შეამჩნევთ, რომ ბევრი ჭკვიანი პატარა მოწყობილობა გამოიყენება ყოველდღიურ ცხოვრებაში. ისინი, როგორც წესი, იკვებება ბატარეით და ჩვეულებრივ დაკავშირებულია ინტერნეტთან (ანუ "ღრუბელი"). ეს არის ყველა ის რასაც ჩვენ ვუწოდებთ 'IoT' მოწყობილობებს და ისინი სწრაფად ხდება საერთო ადგილი დღეს მსოფლიოში.

IoT სისტემის ინჟინრებისთვის, ბევრი დიზაინის ძალისხმევა იხარჯება ენერგიის მოხმარების ოპტიმიზაციაში. ამის მიზეზი, რა თქმა უნდა, არის აკუმულატორებში არსებული შეზღუდული ტევადობა. დიდი რაოდენობით ბატარეების შეცვლა შორეულ ადგილებში შეიძლება იყოს ძალიან ძვირი წინადადება.

ამრიგად, ეს არის ინსტრუქცია, რომელიც ეხება tinyLiDAR– ში ენერგიის ოპტიმიზაციას.

TL; DR შეჯამება

ჩვენ გვაქვს ახალი "რეალურ დროში" გაზომვის რეჟიმი (როგორც firmware 1.4.0), რაც დაგეხმარებათ IoT მოწყობილობებში ბატარეის მუშაობის მაქსიმალურად გაზრდაში.

ბატარეებიდან მეტი წვენის გამოწურვა

ინტუიციურად, ჩვენ შეგვიძლია გავზარდოთ მუშაობის ხანგრძლივობა უბრალოდ IoT მოწყობილობების ენერგიის მოხმარების შემცირებით. კარგი, ეს აშკარაა! მაგრამ როგორ შეგიძლიათ ამის გაკეთება ეფექტურად და სწორად გამოთვალოთ მოსალოდნელი გაშვების დრო? მოდით გავარკვიოთ…

ნაბიჯი 1: სუფთა ენერგია

ამის გაკეთების მრავალი გზა არსებობს, მაგრამ ჩვენ გვირჩევნია გავანადგუროთ ის ძირითადზე და ყველაფერი ენერგიად ვაქციოთ. ელექტრული ენერგია იზომება ჯოულში (სიმბოლო J) და განმარტებით:

ჯოული არის ენერგია, რომელიც იშლება სითბოს სახით, როდესაც ერთი ამპერის ელექტრული დენი გადის ერთი ომის წინააღმდეგობას ერთი წამის განმავლობაში.

ვინაიდან ენერგია (E) ასევე არის ძაბვა (V) x მუხტი (Q), ჩვენ გვაქვს:

E = V x Q

Q არის მიმდინარე (I) x დრო (T):

Q = I x T

ამრიგად, ენერგია ჯულში შეიძლება გამოიხატოს შემდეგნაირად:

E = V x I x T

სადაც V არის ძაბვა, I არის დენი ამპერებში და T არის დრო წამებში.

დავუშვათ, ჩვენ გვაქვს ბატარეის პაკეტი, რომელიც შედგება ოთხი AA ტუტე (LR6) ბატარეისგან, რომლებიც დაკავშირებულია სერიულად. ეს მოგვცემს საერთო საწყისი ძაბვას 4*1.5v = 6v. ტუტე AA ბატარეის სიცოცხლის ბოლოა დაახლოებით 1.0 ვ, ასე რომ საშუალო ძაბვა იქნება დაახლოებით 1.25 ვ. Mfr მონაცემთა ცხრილის მიხედვით "მიწოდებული სიმძლავრე დამოკიდებულია გამოყენებულ დატვირთვაზე, სამუშაო ტემპერატურაზე და გათიშვის ძაბვაზე." ასე რომ, ჩვენ შეგვიძლია ვივარაუდოთ დაახლოებით 2000mAhr ან უკეთესი დაბალი სანიაღვრე პროგრამისთვის, როგორიცაა IoT მოწყობილობა.

ამრიგად, ჩვენ შეგვიძლია გამოვთვალოთ, რომ ჩვენ გვაქვს 4 უჯრედი x 1.25V თითო უჯრედში x 2000mAhr * 3600sec = 36000 J ენერგია ამ ბატარეის პაკეტიდან მის შეცვლამდე.

უფრო მარტივი გამოთვლების მიზნით, ჩვენ ასევე შეგვიძლია ვივარაუდოთ, რომ კონვერტაციის ეფექტურობა არის 100% ჩვენი სისტემის მარეგულირებლისთვის და იგნორირება გაუკეთოს მასპინძელი კონტროლერის ენერგიის მოხმარებას.

სიტყვა ველოსიპედის შესახებ

არა, არა ის ტიპი, რომელზედაც მიდიხარ! არსებობს რამდენიმე ტექნიკური კონცეფცია, რომელიც ცნობილია როგორც "დენის ველოსიპედით" და "ძილის ველოსიპედით". ორივე შეიძლება გამოყენებულ იქნას ენერგიის მოხმარების შესამცირებლად, მაგრამ მათ შორის განსხვავებაა. პირველი მოიცავს თქვენი მოწყობილობის გამორთვას საჭიროებისამებრ და შემდეგ მისი ჩართვა მხოლოდ მცირე ხნით გაზომვისათვის და ა.შ. მიუხედავად იმისა, რომ ეს მეთოდი მაცდურია გამოსაყენებლად მისი ნულოვანი გამორთვის გამო, არის ნაკლი, სადაც გარკვეული დრო დასჭირდება არა ტრივიალური დრო ამის დასაბრუნებლად და ენერგიის დასაწვავად

მეორე კონცეფცია გულისხმობს მოწყობილობის ძილის რეჟიმში შენარჩუნებას იმ იმედით, რომ ის უფრო სწრაფად გაიღვიძებს, მაგრამ ძილის დროს თქვენ დაწვავთ სასრულ დენს. ასე რომ, რომელია საუკეთესო გამოყენება?

ეს დამოკიდებულია იმაზე, თუ რამდენად ხშირად გჭირდებათ გაღვიძება.

ნაბიჯი 2: გაუშვით ნომრები

ჩვენ გვინდა ვიპოვოთ მთლიანი ენერგია (E) ნორმალიზებული 1 წამში ქვემოთ ჩამოთვლილი თითოეული სცენარისთვის.

საქმე A: Tc = 1 წამი; მიიღეთ მანძილის გაზომვა ყოველ მეორე შემთხვევაში B: Tc = 60 წამი; მიიღეთ მანძილი ყოველ წუთში. საქმე C: Tc = 3600 წამი; მიიღეთ დისტანციის გაზომვა ყოველ საათში.

ამისათვის ჩვენ შეგვიძლია ვთქვათ, რომ Tc არის ციკლის დრო ჩვენი გაზომვებისათვის, გააქტიურეთ აქტიური დრო და გამოტოვეთ არააქტიური დრო და გადააკეთეთ ჩვენი ენერგიის ფორმულები, როგორც ეს ნაჩვენებია აქ:

გამოსახულება
გამოსახულება

TinyLiDAR– ისთვის, დაწყების დრო დაახლოებით 300ms ან ნაკლებია და ამ დროის განმავლობაში ის დასჭირდება საშუალოდ 12.25mA– ს, ხოლო მუშაობს რეგულირებული 2.8v წყაროდან. შესაბამისად, ის მოიხმარს დაახლოებით 10.3 მილიონ ენერგიას თითოეული სტარტაპისთვის.

ძილის/წყნარი დენი tinyLiDAR– ისთვის არის ულტრა დაბალი 3uA. ეს გაცილებით დაბალია, ვიდრე ტუტე ბატარეის პაკეტის 0,3% ყოველთვიური თვითგამორკვევის მაჩვენებელი, ასე რომ ჩვენ აქ გამოვიკვლევთ მხოლოდ "ძილის ციკლის" მეთოდს.

რატომ არ გაათავისუფლოთ მიკრო და პირდაპირ გადადით VL53 სენსორზე?

ამაზე პასუხი არც ისე აშკარაა. სმარტფონების განვითარების ადრეულ დღეებში ჩვენ შევიტყვეთ, რომ მძლავრი მაღალსიჩქარიანი პროცესორის ცოცხალი შენარჩუნება mp3– ის დაკვრისთვის იყო უტყუარი მეთოდი ბატარეის ხანგრძლივობის შესამცირებლად. მაშინაც კი ჩვენ ყველანაირად ვცდილობდით გამოგვეყენებინა უფრო დაბალი სიმძლავრის "პროგრამის პროცესორები" პერიფერიული მოვალეობებისთვის, როგორიცაა მუსიკის დაკვრა. დღეს დიდად არ განსხვავდება და ფაქტობრივად, შეიძლება ითქვას, რომ ის კიდევ უფრო მნიშვნელოვანია, რადგან ჩვენ მინიატურებს ვახდენთ ყველა ამ IoT მოწყობილობას ბატარეის ყოველგვარი შემცირებით. ასე რომ, ულტრა დაბალი სიმძლავრის პროგრამული პროცესორის გამოყენება VL53 სენსორის კონტროლის ერთადერთი ამოცანისთვის და შემდგომი დამუშავებისათვის მზა მონაცემების მიწოდება არის უდავო უპირატესობა ბატარეაზე მომუშავე ნებისმიერი პროგრამისთვის.

tinyLiDAR გაზომვის რეჟიმები

ეს შეიძლება არ იყოს ნათელი მომხმარებლის სახელმძღვანელოში ამ დროს [მაგრამ იქნება რაღაც მომენტში, რადგან ჩვენ ყოველთვის ვაახლებთ ჩვენს მომხმარებლის სახელმძღვანელოს:)] - tinyLiDAR– ში რეალურად არის გაზომვის 3 განსხვავებული რეჟიმი.

MC რეჟიმი

TinyLiDAR– ის დაარსებიდან, ჩვენ შეპყრობილნი ვიყავით VL53 ToF სენსორიდან უფრო სწრაფი გაზომვების მცდელობით. ასე რომ, ჩვენ გავაუმჯობესეთ ჩვენი firmware, რომ მივიღოთ მისგან ყველაზე სწრაფი და თანმიმდევრული ნაკადის მონაცემები. ეს მოიცავდა ბუფერული სისტემის დანერგვას. მცირე ბუფერირება კარგია, რადგან ის საშუალებას აძლევს მასპინძელ კონტროლერს (ანუ არდუინოს) მიიღოს მისი გაზომვის მონაცემები ერთბაშად და გადავიდეს უფრო მნიშვნელოვან საკითხებზე. ამიტომ ბუფერირება აბსოლუტურად აუცილებელია და ამის გამო ჩვენ შეგვიძლია მივაღწიოთ ნაკადის სიჩქარეს 900 ჰც -ზე მეტი, თუნდაც შედარებით ნელ Arduino UNO– ზე. ამრიგად, ყველაზე სწრაფი რეაგირების დრო იქნება tinyLiDAR- ის MC ან "უწყვეტი" რეჟიმის გამოყენებით.

BTW, თუკი ოდესმე მოგეცემათ შანსი, უნდა დაუკავშიროთ სერიული კაბელი TTY გამომავალ პინს tinyLiDAR– ზე და ნახავთ რას აკეთებს ეს MC რეჟიმი. ის ფაქტიურად იღებს გაზომვას რაც შეიძლება სწრაფად და ამით ავსებს მის I2C ბუფერს აბსოლუტური უახლესი მონაცემებით. სამწუხაროდ, რადგან ის მუშაობს სრული სისწრაფით, ის ასევე წვავს ენერგიის მაქსიმალურ რაოდენობას. ქვემოთ იხილეთ ამ MC რეჟიმის მიმდინარე და დროის გრაფიკი.

გამოსახულება
გამოსახულება

SS რეჟიმი

შემდეგი რეჟიმი არის ის, რასაც ჩვენ ვუწოდებთ "SS" "ერთი ნაბიჯის" რეჟიმს. ეს არის ძირითადად იგივე მაღალი ხარისხის რეჟიმი ზემოთ, მაგრამ ერთი საფეხურზე მარყუჟის ნაცვლად. ასე რომ თქვენ შეგიძლიათ მიიღოთ სწრაფი პასუხები tinyLiDAR– დან, მაგრამ მონაცემები იქნება წინა ნიმუშიდან, ასე რომ თქვენ მოგიწევთ ორი გაზომვის გაკეთება უახლესი მონაცემების მისაღებად. ქვემოთ იხილეთ ამ SS რეჟიმის მიმდინარე და დროის გრაფიკი.

გამოსახულება
გამოსახულება

ორივე ზემოთ ჩამოთვლილი რეჟიმი შესანიშნავად მოერგება კანონპროექტს მომხმარებლების უმეტესობისათვის, ვინაიდან ისინი სწრაფი და მარტივი გამოსაყენებელი იყო - უბრალოდ გასცეს ბრძანება "D" და წაიკითხე შედეგები. თუმცა…

მივდივართ IoT სამყაროში, სადაც ყოველი მილი-ჯული ითვლება, ჩვენ გვაქვს ახალი პარადიგმა.

და ეს არის სრულიად საპირისპირო იმისა, რაც ჩვენ დავწერეთ tinyLiDAR– ში! IoT სამყაროსთვის ჩვენ გვჭირდება ერთჯერადი გაზომვები იშვიათი ინტერვალებით, რათა შევინარჩუნოთ ძალა და გავაგრძელოთ მუშაობის ხანგრძლივობა.

RT რეჟიმი

საბედნიეროდ, ჩვენ შეგვიძლია ვთქვათ, რომ ჩვენ გვაქვს გამოსავალი ამ სცენარისთვის, როგორც firmware 1.4.0. მას ეწოდება "RT" რეჟიმი "რეალურ დროში" გაზომვებისთვის. ის ძირითადად ახორციელებს გამომწვევ, ლოდინის და წაკითხვის მეთოდს. მისი გამოსაყენებლად, თქვენ ჯერ კიდევ შეგიძლიათ გასცეთ "D" ბრძანება გაზომვის დასაწყებად, მაგრამ ამ RT რეჟიმში თქვენ უნდა დაელოდოთ შესაბამის დროს გაზომვის დასრულებამდე და შემდეგ წაიკითხოთ შედეგები. tinyLiDAR ავტომატურად მიდის თავის ყველაზე დაბალ მშვიდი მდგომარეობის ქვე 3uA ნიმუშებს შორის. ფაქტობრივად, ჯერ კიდევ მარტივი გამოსაყენებელია და ენერგოეფექტურიც კი, რადგან უახლესი მონაცემების მისაღებად საჭიროა მხოლოდ ერთი გაზომვის გაკეთება ორის ნაცვლად, ანუ ნულოვანი ბუფერული.

ქვემოთ იხილეთ ამ ახალი RT რეჟიმის მიმდინარე და დროის გრაფიკი.

გამოსახულება
გამოსახულება

ნაბიჯი 3: რეალური გაზომვები

MC უწყვეტი რეჟიმის გამოყენება იშვიათი IoT გაზომვებისთვის მცირე აზრი აქვს, რადგან ჩვენ გვჭირდება მხოლოდ ერთჯერადი გაზომვები. ამრიგად, ჩვენ შეგვიძლია ყურადღების გამახვილება SS და RT რეჟიმებზე. TinyLiDAR ფუნქციონირებს რეგულირებული მარაგიდან +2.8v, გვაძლევს ენერგიის ყველაზე დაბალ ხარჯვას. ასე რომ, მაღალი სიზუსტის (200ms) წინასწარი პარამეტრების გამოყენებისას, ჩვენ გავზომოთ შემდეგი ენერგიის მოხმარება tinyLiDAR– ზე:

SS/ერთსაფეხურიანი რეჟიმი: 31.2 mJ საშუალოდ 2 გაზომვაზე

RT/რეალურ დროში რეჟიმი: 15.5mJ საშუალოდ 1 გაზომვაზე

ზემოაღნიშნული მნიშვნელობების ჩართვა ენერგიის ფორმულაში და ნორმალიზება ერთ წამში, ჩვენ შეგვიძლია ვიპოვოთ მუშაობის ხანგრძლივობის მოლოდინი, ვივარაუდოთ, რომ ენერგია ჩვენი ბატარეიდან არის 36000 J.

შემთხვევა A: კითხულობს ყოველ წამს (მიიღეთ 2 წაკითხვა უახლესი მონაცემების მისაღებად) Tc = 1secTon = 210ms თითო კითხვაზე x 2 კითხვა Toff = Tc - Ton = 580msIon (avg) = 26.5mA თითო მოსმენით Ioff (avg) = 3uA მშვიდი მიმდინარე Vcc = 2.8V მიწოდების ძაბვა აქტიური ენერგია მოხმარებული ჯოულში არის Eon = Vcc x Ion x Ton = 2.8V x 26.5mA * 420ms = 31.164mJ არაოფიციალური ენერგია მოხმარებული ჯოულში არის 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 ან 31.2mJ წამში ხანგრძლივობა წამში არის მთლიანი ენერგიის მოხმარებული ენერგია, რომელიც არის 36000J / 31.2mJ = 1155000 წამი = 320 საათი = 13.3 დღე

ამ გამოთვლების გამეორებით, ჩვენ შეგვიძლია ვიპოვოთ სხვა სცენარების გაშვების დრო:

SS რეჟიმი

შემთხვევა A: წამში 2 კითხვა. ნორმალიზებული ენერგია არის 31.2mJ. ამრიგად, გაშვების დრო არის 13,3 დღე.

საქმე B: 2 კითხვა წუთში. ნორმალიზებული ენერგია არის 528 იჯ. ამრიგად, გაშვების დრო არის 2.1 წელი.

საქმე C: 2 კითხვა საათში. ნორმალიზებული ენერგია არის 17 იჯ. ხანგრძლივობა გამოითვლება >> 10 წლით, შესაბამისად დატვირთვა tinyLiDAR– ის გამო უმნიშვნელოა. ამიტომ ბატარეის პაკეტი შემოიფარგლება მხოლოდ მისი შენახვის ვადით (ანუ დაახლოებით 5 წელი)

RT რეჟიმი

შემთხვევა A: 1 კითხვა წამში. ნორმალიზებული ენერგია არის 15.5mJ. ამრიგად, გაშვების დრო 26,8 დღეა.

საქმე B: 1 კითხვა წუთში. ნორმალიზებული ენერგია არის 267uJ. ამრიგად, მუშაობის ხანგრძლივობაა 4.3 წელი.

შემთხვევა C: 1 კითხვა საათში. ნორმალიზებული ენერგია არის 12.7uJ. ხანგრძლივობა გამოითვლება >> 10 წლით, შესაბამისად დატვირთვა tinyLiDAR– ის გამო უმნიშვნელოა. ამიტომ ბატარეის პაკეტი შემოიფარგლება მხოლოდ მისი შენახვის ვადით (ანუ დაახლოებით 5 წელი)

ამრიგად, ახალი დროის რეალური რეჟიმი ძილის ველოსიპედის გამოყენებით არის სარგებელი, რომ გააგრძელოთ მუშაობის ხანგრძლივობა 4 წლით, თუ ერთი გაზომვა მიიღება ყოველ წუთში, როგორც ეს ნაჩვენებია B საქმეში.

გაითვალისწინეთ, რომ მასპინძელი კონტროლერის ენერგიის მოხმარება არ იქნა გათვალისწინებული ამ ანალიზისთვის და ბატარეის პაკეტის მახასიათებლები კონსერვატიულ მხარეზე იყო. თქვენ შეგიძლიათ იპოვოთ ბევრად უფრო მძლავრი ბატარეები თქვენი სურვილისამებრ.

გმადლობთ კითხვისთვის და იყავით თვალყური, რადგან ჩვენ მოგაწვდით სამუშაო IoT მაგალითს tinyLiDAR– ის გამოყენებით ჩვენი შემდგომი ინსტრუქციისთვის. Გაუმარჯოს!

გირჩევთ: