Πίνακας περιεχομένων:

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 σύνοψη

Έχουμε μια νέα λειτουργία μέτρησης "Σε πραγματικό χρόνο" (από το υλικολογισμικό 1.4.0) για να μεγιστοποιήσετε το χρόνο εκτέλεσης της μπαταρίας σε συσκευές IoT.

Πιέζοντας περισσότερο χυμό από μπαταρίες

Διαισθητικά, μπορούμε να αυξήσουμε τον χρόνο λειτουργίας μειώνοντας απλώς την κατανάλωση ενέργειας των συσκευών IoT. Εντάξει, αυτό είναι προφανές! Αλλά πώς μπορείτε να το κάνετε αυτό αποτελεσματικά και να υπολογίσετε σωστά τον αναμενόμενο χρόνο εκτέλεσης; Ας ανακαλύψουμε…

Βήμα 1: Καθαρή ενέργεια

Υπάρχουν πολλοί τρόποι για να το κάνουμε αυτό, αλλά προτιμάμε να το αναλύσουμε στα βασικά και να τα μετατρέψουμε όλα σε ενέργεια. Η ηλεκτρική ενέργεια μετριέται σε Joules (σύμβολο J) και εξ ορισμού:

Το Joule είναι η ενέργεια που διαχέεται ως θερμότητα όταν ένα ηλεκτρικό ρεύμα ενός ενισχυτή διέρχεται από μια αντίσταση ενός ωμ για μια περίοδο ενός δευτερολέπτου.

Δεδομένου ότι η ενέργεια (Ε) είναι επίσης τάση (V) x φορτίο (Q), έχουμε:

Ε = V x Q

Το Q είναι τρέχον (I) x χρόνος (T):

Q = I x T

Έτσι, η ενέργεια σε Joules μπορεί να εκφραστεί ως:

Ε = V x I x T

όπου V είναι η τάση, I είναι το ρεύμα σε Amps και T είναι ο χρόνος σε δευτερόλεπτα.

Ας υποθέσουμε ότι έχουμε μια μπαταρία που αποτελείται από τέσσερις αλκαλικές μπαταρίες ΑΑ (LR6) συνδεδεμένες σε σειρά. Αυτό θα μας δώσει μια συνολική τάση εκκίνησης 4*1.5v = 6v. Το τέλος ζωής για μια αλκαλική μπαταρία ΑΑ είναι περίπου 1,0v, οπότε η μέση τάση θα είναι περίπου 1,25v. Σύμφωνα με το φύλλο δεδομένων mfr "Η παραδιδόμενη χωρητικότητα εξαρτάται από το εφαρμοζόμενο φορτίο, τη θερμοκρασία λειτουργίας και την τάση διακοπής." Έτσι, μπορούμε να υποθέσουμε περίπου 2000mAhr ή καλύτερα για μια εφαρμογή χαμηλής αποστράγγισης, όπως μια συσκευή IoT.

Ως εκ τούτου, μπορούμε να υπολογίσουμε ότι έχουμε 4 κυψέλες x 1,25V ανά κύτταρο x 2000mAhr * 3600sec = 36000 J ενέργειας διαθέσιμες από αυτήν τη μπαταρία προτού αντικατασταθεί.

Για λόγους απλούστερων υπολογισμών, μπορούμε επίσης να υποθέσουμε ότι η απόδοση μετατροπής είναι 100% για τον ρυθμιστή του συστήματος μας και αγνοούμε την κατανάλωση ενέργειας του ελεγκτή κεντρικού υπολογιστή.

Λίγα λόγια για την ποδηλασία

Όχι, όχι ο τύπος με τον οποίο οδηγείτε! Υπάρχουν μερικές τεχνικές έννοιες γνωστές ως "Ποδηλασία ισχύος" και "Ποδηλασία ύπνου". Και τα δύο μπορούν να χρησιμοποιηθούν για τη μείωση της κατανάλωσης ενέργειας, αλλά υπάρχει διαφορά μεταξύ των δύο. Το πρώτο περιλαμβάνει το κλείσιμο της συσκευής σας μέχρι να χρειαστεί και στη συνέχεια την ενεργοποίησή της μόνο για μικρό χρονικό διάστημα για να εκτελέσετε μια μέτρηση κ.λπ. μη τετριμμένο χρονικό διάστημα για να ξεκινήσετε και να κάψετε ενέργεια ενώ το κάνετε αυτό.

Η δεύτερη ιδέα περιλαμβάνει απλώς τη διατήρηση της συσκευής σε κατάσταση αδράνειας με την ελπίδα ότι θα ξυπνήσει γρηγορότερα, αλλά θα κάψετε ορισμένη ποσότητα ρεύματος ενώ κοιμάται. Ποιο είναι λοιπόν το καλύτερο στη χρήση;

Εξαρτάται από το πόσο συχνά πρέπει να ξυπνήσετε.

Βήμα 2: Εκτελέστε τους αριθμούς

Θέλουμε να βρούμε τη συνολική ενέργεια (Ε) κανονικοποιημένη στο 1 δευτερόλεπτο για κάθε σενάριο που παρατίθεται παρακάτω.

Περίπτωση Α: Tc = 1sec; Πάρτε μια απόσταση μέτρησης κάθε δευτερόλεπτο Περίπτωση Β: Tc = 60sec. λάβετε μια μέτρηση απόστασης κάθε λεπτό. Περίπτωση Γ: Tc = 3600sec; κάνετε μετρήσεις απόστασης κάθε ώρα.

Για να το κάνετε αυτό, μπορούμε να πούμε ότι το Tc είναι ο χρόνος κύκλου για τις μετρήσεις μας, τον τόνο του ενεργού χρόνου και τον αδρανή χρόνο και αναδιατάξτε τους τύπους ενέργειας όπως φαίνεται εδώ:

Εικόνα
Εικόνα

Για το tinyLiDAR, ο χρόνος εκκίνησης είναι περίπου 300ms ή λιγότερο και κατά τη διάρκεια αυτής της περιόδου θα διαρκέσει κατά μέσο όρο 12,25mA ενώ λειτουργεί από ρυθμιζόμενη παροχή 2,8v. Ως εκ τούτου, θα καταναλώσει περίπου 10,3mJ ενέργειας για κάθε εκκίνηση.

Το ρεύμα ύπνου/ηρεμίας για το tinyLiDAR είναι ένα εξαιρετικά χαμηλό 3uA. Αυτό είναι πολύ χαμηλότερο από το 0,3% μηνιαίο ποσοστό αυτοεκφόρτισης μιας αλκαλικής μπαταρίας, οπότε θα διερευνήσουμε χρησιμοποιώντας μόνο τη μέθοδο "ποδηλασία ύπνου" εδώ.

Γιατί να μην απαλλαγείτε από το μικρόφωνο και να μεταβείτε απευθείας στον αισθητήρα VL53;

Η απάντηση σε αυτό δεν είναι τόσο προφανής. Τις πρώτες μέρες της ανάπτυξης smartphone, μάθαμε ότι η διατήρηση του ενεργού επεξεργαστή υψηλής ταχύτητας για την αναπαραγωγή mp3 ήταν μια σίγουρη μέθοδος για τη μείωση της διάρκειας ζωής της μπαταρίας. Ακόμα και τότε κάναμε κάθε δυνατή προσπάθεια για να χρησιμοποιήσουμε "επεξεργαστές εφαρμογών" χαμηλότερης ισχύος για περιφερειακά καθήκοντα, όπως η αναπαραγωγή μουσικής. Δεν είναι πολύ διαφορετικό σήμερα και στην πραγματικότητα, θα μπορούσατε να πείτε ότι είναι ακόμα πιο σημαντικό καθώς μικροσκοπίζουμε όλες αυτές τις συσκευές IoT με κάθε μειωμένη χωρητικότητα μπαταρίας. Έτσι, η χρήση ενός επεξεργαστή εφαρμογών εξαιρετικά χαμηλής ισχύος για το μόνο καθήκον του ελέγχου του αισθητήρα VL53 και η παροχή δεδομένων έτοιμων για περαιτέρω επεξεργασία είναι ένα σίγουρο πλεονέκτημα για κάθε εφαρμογή που λειτουργεί με μπαταρία.

Λειτουργίες μέτρησης tinyLiDAR

Μπορεί να μην είναι σαφές στο εγχειρίδιο χρήστη αυτήν τη στιγμή [αλλά θα είναι κάποια στιγμή καθώς ενημερώνουμε πάντα το εγχειρίδιο χρήσης μας:)] - υπάρχουν πραγματικά 3 διαφορετικοί τρόποι μέτρησης στο tinyLiDAR.

Λειτουργία MC

Από την αρχή του tinyLiDAR, είχαμε εμμονή με την προσπάθεια να λάβουμε ταχύτερες μετρήσεις από τον αισθητήρα VL53 ToF. Έτσι, βελτιστοποιήσαμε το υλικολογισμικό μας για να λάβουμε τα ταχύτερα και πιο συνεπή δεδομένα ροής από αυτό. Αυτό περιελάμβανε την εισαγωγή του buffer. Μια μικρή προσωρινή αποθήκευση είναι καλό, καθώς επιτρέπει στον ελεγκτή κεντρικού υπολογιστή (δηλαδή το Arduino) να λάβει τα δεδομένα μέτρησης άμεσα και να προχωρήσει σε πιο σημαντικά πράγματα. Επομένως, η αποθήκευση είναι απολύτως απαραίτητη και εξαιτίας αυτού είμαστε σε θέση να επιτύχουμε ρυθμούς ροής άνω των 900Hz ακόμη και στο σχετικά αργό Arduino UNO. Ως εκ τούτου, ο ταχύτερος χρόνος απόκρισης θα είναι στη χρήση του MC του tinyLiDAR ή της "συνεχούς" λειτουργίας.

BTW, αν σας δοθεί ποτέ η ευκαιρία, θα πρέπει να συνδέσετε ένα σειριακό καλώδιο στον πείρο εξόδου TTY στο tinyLiDAR και θα δείτε τι κάνει αυτή η λειτουργία MC. Χρειάζεται κυριολεκτικά μια μέτρηση όσο πιο γρήγορα μπορεί και με αυτόν τον τρόπο, γεμίζει το buffer I2C με τα απόλυτα τελευταία δεδομένα. Δυστυχώς, δεδομένου ότι λειτουργεί σε πλήρη ταχύτητα, καίει επίσης το μέγιστο ποσό ισχύος. Δείτε παρακάτω για το τρέχον γράφημα έναντι της ώρας αυτής της λειτουργίας MC.

Εικόνα
Εικόνα

Λειτουργία SS

Η επόμενη λειτουργία είναι αυτό που ονομάζουμε "SS" για τη λειτουργία "single step". Αυτή είναι βασικά η ίδια λειτουργία υψηλής απόδοσης παραπάνω, αλλά σε έναν βηματικό βρόχο. Έτσι, μπορείτε να λάβετε γρήγορες απαντήσεις από το tinyLiDAR, αλλά τα δεδομένα θα είναι από το προηγούμενο δείγμα, οπότε θα πρέπει να λάβετε δύο μετρήσεις για να λάβετε τα πιο πρόσφατα δεδομένα. Δείτε παρακάτω για το τρέχον γράφημα έναντι της ώρας αυτής της λειτουργίας SS.

Εικόνα
Εικόνα

Και οι δύο παραπάνω τρόποι ταιριάζουν με τον λογαριασμό για τους περισσότερους χρήστες αφού ήταν γρήγοροι και εύχρηστοι - απλώς εκδώστε μια εντολή "D" και διαβάστε τα αποτελέσματα. Ωστόσο…

Προχωρώντας στον κόσμο του IoT όπου κάθε milli-Joule μετράει, έχουμε ένα νέο παράδειγμα.

Και είναι ακριβώς το αντίθετο από αυτό που έχουμε κωδικοποιήσει στο 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.

Περίπτωση Α: ανάγνωση κάθε δευτερόλεπτο (κάντε 2 αναγνώσεις για να λάβετε τα τελευταία δεδομένα) Tc = 1secTon = 210ms ανά ανάγνωση x 2 μετρήσεις Toff = Tc - Ton = 580msIon (μέσος όρος) = 26.5mA ανά ανάγνωση Ioff (μέσος όρος) = 3uA ρεύμα ηρεμίας Vcc = Τάση τροφοδοσίας 2,8V Η ενεργός ενέργεια που καταναλώνεται από φορτίο σε Joules είναι Eon = Vcc x Ion x Ton = 2.8V x 26.5mA * 420ms = 31.164mJ Η ανενεργή ενέργεια που καταναλώνεται από το φορτίο σε Joules είναι 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

Περίπτωση Α: 2 μετρήσεις ανά δευτερόλεπτο. Η κανονικοποιημένη ενέργεια είναι 31,2 mJ. Επομένως, ο χρόνος εκτέλεσης είναι 13,3 ημέρες.

Περίπτωση Β: 2 μετρήσεις ανά λεπτό. Η κανονικοποιημένη ενέργεια είναι 528uJ. Επομένως, ο χρόνος εκτέλεσης είναι 2,1 χρόνια.

Περίπτωση Γ: 2 αναγνώσεις ανά ώρα. Η κανονικοποιημένη ενέργεια είναι 17uJ. Ο χρόνος εκτέλεσης υπολογίζεται σε >> 10 χρόνια, επομένως η φόρτωση λόγω του tinyLiDAR είναι αμελητέα. Συνεπώς, η μπαταρία θα περιοριστεί μόνο λόγω της διάρκειας ζωής του (δηλαδή περίπου 5 χρόνια)

Λειτουργία RT

Περίπτωση Α: 1 Ανάγνωση ανά δευτερόλεπτο. Η κανονικοποιημένη ενέργεια είναι 15,5mJ. Επομένως, ο χρόνος εκτέλεσης είναι 26,8 ημέρες.

Περίπτωση Β: 1 ανάγνωση ανά λεπτό. Η κανονικοποιημένη ενέργεια είναι 267uJ. Επομένως, ο χρόνος εκτέλεσης είναι 4,3 χρόνια.

Περίπτωση Γ: 1 ανάγνωση ανά ώρα. Η κανονικοποιημένη ενέργεια είναι 12,7uJ. Ο χρόνος εκτέλεσης υπολογίζεται σε >> 10 χρόνια, επομένως η φόρτωση λόγω του tinyLiDAR είναι αμελητέα. Συνεπώς, η μπαταρία θα περιοριστεί μόνο λόγω της διάρκειας ζωής του (δηλαδή περίπου 5 χρόνια)

Ως εκ τούτου, η νέα λειτουργία πραγματικού χρόνου που χρησιμοποιεί ποδηλασία ύπνου είναι ένα πλεονέκτημα εδώ για να παρατείνετε το χρόνο εκτέλεσης κατά 4 χρόνια, εάν πραγματοποιείται μία μέτρηση κάθε λεπτό, όπως φαίνεται στην περίπτωση Β.

Σημειώστε ότι η κατανάλωση ενέργειας του ελεγκτή κεντρικού υπολογιστή δεν ελήφθη υπόψη για αυτήν την ανάλυση και οι προδιαγραφές της μπαταρίας ήταν στη συντηρητική πλευρά. Μπορείτε να βρείτε πολύ πιο ισχυρές μπαταρίες όπως θέλετε για να καλύψουν τις ανάγκες σας.

Σας ευχαριστούμε για την ανάγνωση και μείνετε συντονισμένοι καθώς θα σας δώσουμε ένα λειτουργικό παράδειγμα IoT χρησιμοποιώντας το tinyLiDAR για το επόμενο εκπαιδευτικό μας. Στην υγειά σας!

Συνιστάται: