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

Σταθερός ραντάρ (LIDAR) Array με Arduino: 10 βήματα (με εικόνες)
Σταθερός ραντάρ (LIDAR) Array με Arduino: 10 βήματα (με εικόνες)

Βίντεο: Σταθερός ραντάρ (LIDAR) Array με Arduino: 10 βήματα (με εικόνες)

Βίντεο: Σταθερός ραντάρ (LIDAR) Array με Arduino: 10 βήματα (με εικόνες)
Βίντεο: Πλήρης περιγραφή του "Half Life 2: Episode Two" - χωρίς κουβέντα και σχόλια 2024, Ιούλιος
Anonim
Σταθερός ραντάρ (LIDAR) Array με Arduino
Σταθερός ραντάρ (LIDAR) Array με Arduino
Σταθερός ραντάρ (LIDAR) Array με Arduino
Σταθερός ραντάρ (LIDAR) Array με Arduino
Σταθερός ραντάρ (LIDAR) Array με Arduino
Σταθερός ραντάρ (LIDAR) Array με Arduino

Όταν φτιάχνω ένα δίποδο ρομπότ, πάντα σκεφτόμουν να έχω ένα ωραίο gadget που μπορεί να εντοπίσει τον αντίπαλό μου και να κάνει επιθέσεις με αυτό. Πολλά έργα ραντάρ/lidar υπάρχουν ήδη εδώ. Ωστόσο, υπάρχουν ορισμένοι περιορισμοί για τον σκοπό μου:

  • Οι μονάδες αισθητήρων υπερήχων είναι αρκετά μεγάλες. Κάθε ρομπότ θα μοιάζει με WALL-E.
  • Όλα τα τρέχοντα έργα ραντάρ περιλαμβάνουν έναν αισθητήρα (είτε υπερηχητικά κύματα, IR, λέιζερ,…) και έναν σερβοκινητήρα στη μέση. Η σάρωση του περιβάλλοντος απαιτεί από το σερβο να μετακινηθεί από πλευρά σε πλευρά. Η μετακίνηση πραγμάτων μπρος -πίσω δημιουργεί αλλαγές ορμής, κάτι που είναι κακό για την δίποδη ισορροπία και το περπάτημα.
  • Η συχνότητα σάρωσης περιορίζεται από την ταχύτητα σερβο. Μόνο αρκετά hertz μπορούν να επιτευχθούν, πιθανότατα. Ακόμα κι αν η συχνότητα σάρωσης μπορεί να αυξηθεί από κάποιο υπερ-σερβο, αυτό θα είχε ως αποτέλεσμα μεγάλους κραδασμούς.
  • Η διάταξη [κεντρικός σερβοκινητήρας - αισθητήρας] περιορίζει επίσης τη θέση τοποθέτησης και τη σχεδίαση. Είναι δύσκολο να τοποθετηθεί κάτι τέτοιο εκτός από το κεφάλι. Αυτό κάνει το δίποδο να μοιάζει με κουνώντας το κεφάλι WALL-E κάθε φορά. Όχι κουλ!
  • Η διάταξη [σερβο-αισθητήρα] μπορεί επίσης να κατασκευαστεί ως στυλ [αισθητήρα κινητήρα]. Ο αισθητήρας (ή οι αισθητήρες) περιστρέφεται συνεχώς κατά μήκος ενός άξονα κινητήρα. Αυτό μπορεί να εξαλείψει τα σπασμωδικά δυναμικά και τα προβλήματα χαμηλής συχνότητας σάρωσης, αλλά όχι τον περιορισμό του σχεδιασμού του κορμού. Η δυσκολία καλωδίωσης θα αυξηθεί επίσης σημαντικά.

Μετά την αναζήτηση, αυτός ο μικροσκοπικός αισθητήρας VL53L0X από το ST χτύπησε στα μάτια μου. Διεκδικώντας αισθητήρα εύρους χρονικής πτήσης «Ο μικρότερος κόσμος», η διάσταση είναι μόνο 4,4 x 2,4 x 1,0 mm. Με χαρακτηριστικά

  • Σε τσιπ IR εκπομπής λέιζερ και ανιχνευτή
  • Εύρος έως 2 μέτρα (1,2 μέτρα σε γρήγορη λειτουργία)
  • Προγραμματιζόμενη διεύθυνση I2C
  • Μια καρφίτσα εξόδου διακοπής GPIO
  • Ασφαλές για τα μάτια

Όλες αυτές οι ειδικές δυνατότητες σε συνδυασμό μου επέτρεψαν να ξεπεράσω τα παραπάνω προβλήματα, εάν μια σειρά αισθητήρων VL53L0X μπορούσε να λειτουργήσει. Αρχικά, πίστευα ότι αυτό το ραντάρ θα ονομαζόταν ραντάρ στερεάς κατάστασης, αλλά ανακάλυψα ότι αυτός ο όρος χρησιμοποιήθηκε για κάτι άλλο. Επομένως, η λέξη "Στατική" στον τίτλο σημαίνει ότι δεν υπάρχουν κινούμενα μέρη σε αυτό το gadget ραντάρ. Επίσης, ενώ το LIDAR (ανίχνευση και εύρος φωτός) είναι ο τεχνικά σωστός όρος για αυτό το τσιπ, το RADAR αναφέρεται εδώ ως πιο γενικός όρος.

Ο λόγος για τον οποίο η προγραμματιζόμενη διεύθυνση I2C και η καρφίτσα εξόδου GPIO είναι κρίσιμα για αυτό το έργο εξηγείται αργότερα.

Βήμα 1: Εργαλεία και ανταλλακτικά

Εργαλεία και ανταλλακτικά
Εργαλεία και ανταλλακτικά
Εργαλεία και ανταλλακτικά
Εργαλεία και ανταλλακτικά

Εργαλεία

Τα ακόλουθα εργαλεία απαιτούνται σε αυτό το έργο:

  • Συγκολλητικό σίδερο
  • Συγκόλληση βοηθητικών χεριών
  • Εργαλείο πτύχωσης Dupont
  • Εξάγωνο πρόγραμμα οδήγησης 1,5mm
  • Εργαλείο αφαίρεσης επικάλυψης καλωδίων
  • Κόφτης καλωδίων
  • Πυροβόλο θερμής κόλλας
  • Τσιμπιδακι ΦΡΥΔΙΩΝ
  • Μεγεθυντικός φακός (φυσικός ή εφαρμογές στο τηλέφωνό σας)
  • Πένσα επίπεδης μύτης

Ανταλλακτικά

Τα ακόλουθα μέρη χρησιμοποιούνται σε αυτό το έργο:

  • 10x VL53L0X GY-530 σανίδες διάσπασης
  • Ένα Arduino (Uno, Nano, Mega, Zero, Mini,… κλπ)
  • Ένα breadboard και μερικά καλώδια breadboard
  • Σύρματα AWG #26 με διαφορετικά χρώματα
  • AWG #30 μονόκλωνο σύρμα
  • 5x αρσενικοί συνδετήρες Dupont
  • 5x περιβλήματα μονής ακίδας Dupont
  • 10x τρισδιάστατες εκτυπωμένες θήκες ξεμπλοκαρίσματος
  • 1x τρισδιάστατο τυπωμένο κυκλικό πλαίσιο
  • Βίδες επίπεδης κεφαλής 10x M2x10
  • 10x 0804 LED (προτείνεται μπλε)
  • 10x SOS-23 AO3400 N-Channel MOSFET
  • Ένας μικρός πυκνωτής (10 ~ 100uF)

Breakout board

Το VL53L0X breakout board που χρησιμοποίησα είναι GY-530. Διατίθενται επίσης έκδοση Adafruit και έκδοση Pololu. Εάν είναι εφικτό, συνιστώ να χρησιμοποιείτε το προϊόν της Adafruit ή της Pololu επειδή κάνουν εξαιρετικά προϊόντα, υπέροχα σεμινάρια και εξαιρετικές βιβλιοθήκες λογισμικού. Δοκίμασα τη βιβλιοθήκη VL53L0X της Adafruit και χρησιμοποίησα μια τροποποιημένη έκδοση της βιβλιοθήκης VL53L0X της Pololu.

Συνδέσεις Dupont

Οι σύνδεσμοι dupont χρησιμοποιούνται για το breadboard. Μπορείτε να χρησιμοποιήσετε οποιονδήποτε άλλο τύπο σύνδεσης έχετε στο χέρι.

Βίδες και ανταλλακτικά τρισδιάστατης εκτύπωσης

Οι βίδες, οι θήκες και το κυκλικό πλαίσιο M2 χρησιμοποιούνται για την τοποθέτηση των αισθητήρων σε κυκλική διάταξη. Μπορείτε να χρησιμοποιήσετε οποιεσδήποτε άλλες μεθόδους, όπως η χρήση σανίδων, μοντέλων ξύλου, πηλού ή ακόμη και θερμής κόλλας τους σε ένα δοχείο.

Βήμα 2: Hacking the Breadout Board

Hacking the Breadout Board
Hacking the Breadout Board
Hacking the Breadout Board
Hacking the Breadout Board
Hacking the Breadout Board
Hacking the Breadout Board
Hacking the Breadout Board
Hacking the Breadout Board

Κώνος ανίχνευσης

Χρησιμοποίησα μια ενότητα για να σχεδιάσω τον κώνο ανίχνευσης. Χρησιμοποιώντας ως επί το πλείστον ρομπότ τρισδιάστατης εκτύπωσης. Η απόσταση εμφανίζεται στην οθόνη led και μετράται χοντρικά. Τα μετρημένα δεδομένα καταγράφονται σε ένα αρχείο Microsoft Excel και χρησιμοποιούνται η συνάρτηση προσαρμογής καμπύλης. Η καλύτερη εφαρμογή είναι μια φυσική καμπύλη λογάριθμου, με αποτελεσματική απόσταση από 3 cm έως περίπου 100 cm.

Στα 60 εκατοστά, η καμπύλη ανίχνευσης για έναν μόνο αισθητήρα είναι περίπου 22 εκατοστά. Με στόχο πλάτους 20 εκατοστών, ένας κυκλικός διαχωρισμός 10 ~ 15 μοιρών για τη συστοιχία ραντάρ θα αποφέρει μια αποδεκτή ανάλυση σάρωσης.

Διεύθυνση I2C

Ενώ η διεύθυνση συσκευής VL53L0X I2C είναι προγραμματιζόμενη, απαιτείται πλήρης έλεγχος της ακίδας XSHUT από τον μικροελεγκτή. Η σειρά που ακολουθείται είναι η εξής:

  1. Η ισχύς εφαρμόζεται στο AVDD.
  2. Όλα τα τσιπ VL53L0X μεταφέρονται σε κατάσταση αναμονής (επαναφορά) με οδήγηση ΟΛΩΝ των καρφιτσών XSHUT στο LOW.
  3. Κάθε τσιπ αφαιρείται από την κατάσταση επαναφοράς ένα κάθε φορά. Η προεπιλεγμένη διεύθυνση I2C μετά την εκκίνηση είναι 0x52.
  4. Η διεύθυνση τσιπ αλλάζει σε νέα διεύθυνση μέσω μιας εντολής I2C. Για παράδειγμα, το 0x52 άλλαξε σε 0x53.
  5. Επαναλάβετε τα βήματα 3 και 4 για όλες τις μάρκες.

Θεωρητικά, έως και 126 μονάδες μπορούν να οδηγηθούν στο ίδιο δίαυλο για το εύρος διευθύνσεων 7-bit. Ωστόσο, στην πράξη, η χωρητικότητα διαύλου και ο περιορισμός ρεύματος βύθισης του μικροελεγκτή μπορεί/πρέπει να περιορίσουν τον μέγιστο αριθμό συσκευής.

Η νέα διεύθυνση I2C δεν αποθηκεύεται στο τσιπ VL53L0X έναντι διακοπής ρεύματος ή επαναφοράς. Επομένως, αυτή η διαδικασία πρέπει να γίνεται μια φορά σε κάθε ενεργοποίηση. Αυτό σημαίνει ότι ένας πολύτιμος πείρος απαιτείται για κάθε μονάδα στη συστοιχία ραντάρ. Αυτό είναι πολύ εχθρικό για την καλωδίωση και την κατανάλωση καρφιτσών, για μια ζώνη ραντάρ με 10+ ή 20+ μονάδες.

Όπως αναφέρεται στο ΒΗΜΑ 1, είναι τυχερό ότι υπάρχει ένα pin GPIO1 στο τσιπ VL53L0X, το οποίο χρησιμοποιήθηκε αρχικά για διακοπή, μπορεί να κάνει τη δουλειά.

Αλυσίδα μαργαρίτας GPIO-XSHUTN

Η έξοδος GPIO είναι σε κατάσταση υψηλής σύνθετης αντίστασης κατά την εκκίνηση και η ανοικτή αποστράγγιση είναι χαμηλή ενώ είναι ενεργή. Οι καρφίτσες GPIO και XSHUT τραβιούνται ψηλά στο AVDD στον πίνακα ανάρτησης GY-530, όπως συνιστάται στο φύλλο δεδομένων. Για να θέσουμε αξιόπιστα όλα τα τσιπ VL53L0X σε κατάσταση αναμονής Hw (οδήγηση χαμηλού XSHUT), χρειαζόμαστε μια λογική πύλη NOT (μετατροπέας) για κάθε ακίδα XSHUT. Στη συνέχεια, συνδέουμε την έξοδο GPIO ενός τσιπ (το Nth chip), στο XSHUTN (XSHUT-NOT) του downstream chip (το τσιπ N+1).

Με την ενεργοποίηση, όλοι οι ακροδέκτες GPIO (ανενεργοί) τραβιούνται προς τα επάνω, όλοι οι επόμενοι ακροδέκτες XSHUT οδηγούνται χαμηλά από την πύλη NOT (εκτός από το τσιπ της πρώτης γροθιάς όπου ο πείρος XSHUTN είναι συνδεδεμένος με τον μικροελεγκτή). Η αλλαγή της διεύθυνσης I2C και η απελευθέρωση XSHUT του μεταγενέστερου τσιπ γίνεται στο λογισμικό, ένα προς ένα.

Εάν χρησιμοποιείτε διαφορετικούς πίνακες διάσπασης, πρέπει να βεβαιωθείτε εάν οι αντιστάσεις έλξης είναι στη θέση τους ή όχι και να κάνετε τις κατάλληλες ρυθμίσεις.

Προσθήκη LED

Στο επόμενο βήμα, ένα μικρό LED 0805 SMD θα προστεθεί στην πλακέτα διάσπασης, συνδεδεμένο από το μαξιλάρι XSHUT στον ακροδέκτη GND ενός παρακείμενου πυκνωτή. Παρόλο που το ίδιο το LED δεν επηρεάζει τη λειτουργία της μονάδας, μας δίνει μια καλή οπτική ένδειξη στο λογικό επίπεδο XSHUT.

Η σύνδεση του LED σε σειρά με την αντίσταση έλξης (10k στην περίπτωσή μου) στον πείρο XSHUT θα παρουσιάσει πτώση τάσης. Αντί για υψηλό επίπεδο λογικής 3,3v, η πτώση τάσης προς τα εμπρός για ένα κόκκινο LED 0805 μετράται 1,6v. Αν και αυτή η τάση είναι υψηλότερη από το υψηλό επίπεδο λογικής (1.12v) στο φύλλο δεδομένων, το μπλε LED είναι καλύτερο για αυτό το hack. Η εμπρόσθια πτώση τάσης για το μπλε LED μετριέται περίπου 2,4v, το οποίο είναι ασφαλώς πάνω από το λογικό επίπεδο του τσιπ.

Προσθήκη του μετατροπέα N-MOS (Logic NOT Gate)

Ένα μικρό MOSFET καναλιού SOT-23 στοιβάζεται στο LED που προσθέσαμε. Δύο ακροδέκτες (D, S) πρέπει να συγκολληθούν στον πίνακα διάσπασης και ο υπόλοιπος ακροδέκτης (G) είναι συνδεδεμένος με τον πείρο GPIO της ανάντη πλακέτας χρησιμοποιώντας το σύρμα #26.

Σημειώσεις σχετικά με την προσθήκη εξαρτημάτων SMD

Η συγκόλληση εξαρτημάτων SMD σε πίνακα ανάρτησης που δεν έχει σχεδιαστεί, δεν είναι εύκολη υπόθεση. Αν δεν έχετε ακούσει ακόμα για τα 0805, SMD, SOT-23, οι πιθανότητες είναι ότι δεν έχετε κολλήσει αυτά τα μικροσκοπικά εξαρτήματα στο παρελθόν. Ενώ χειρίζεστε αυτά τα μικροσκοπικά εξαρτήματα με το χέρι, είναι πολύ συνηθισμένο ότι:

  • Το μικρό πράγμα μόλις έπεσε και εξαφανίστηκε, για πάντα,
  • Τα μικροσκοπικά τακάκια στο μικρό πράγμα ξεφλούδισαν.
  • Τα μικροσκοπικά πόδια στο μικρό πράγμα μόλις έσπασαν.
  • Το συγκολλητικό κασσίτερο μόλις συγκεντρώθηκε σε μια σταγόνα και δεν μπορούσε να διαχωριστεί.
  • Κι αλλα…

Εάν εξακολουθείτε να θέλετε να φτιάξετε αυτό το ραντάρ, μπορείτε:

  • Αλλάξτε τα στοιχεία σε μεγαλύτερο πακέτο, όπως το στυλ DIP.
  • Αποκτήστε περισσότερα εξαρτήματα από το ελάχιστο απαιτούμενο, για εξάσκηση και κατανάλωση.

Βήμα 3: Συγκόλληση του LED 0805

Συγκόλληση του LED 0805
Συγκόλληση του LED 0805
Συγκόλληση του LED 0805
Συγκόλληση του LED 0805
Συγκόλληση του LED 0805
Συγκόλληση του LED 0805
Συγκόλληση του LED 0805
Συγκόλληση του LED 0805

Συγκόλληση του LED 0805 SMD

Η συγκόλληση ενός LED 0805 με το χέρι, σε έναν πίνακα ανάρτησης που δεν έχει σχεδιαστεί για SMD, δεν είναι καθόλου εύκολη υπόθεση. Τα παρακάτω βήματα είναι η σύστασή μου για τη συγκόλληση του LED.

  1. Χρησιμοποιήστε το χέρι βοηθού για να κρατήσετε το χαρτόνι σας.
  2. Τοποθετήστε λίγη κόλλα συγκόλλησης στην άκρη του πυκνωτή SMD και το μαξιλάρι "XSHUT".
  3. Χρησιμοποιήστε το συγκολλητικό σίδερο για να βάλετε επιπλέον κόλληση στην άκρη του πυκνωτή.
  4. Βάλτε λίγη πάστα συγκόλλησης και στα δύο άκρα του LED 0805.
  5. Χρησιμοποιήστε το συγκολλητικό σίδερο για να βάλετε λίγο κασσίτερο και στα δύο άκρα του LED 0805.
  6. Χρησιμοποιήστε τα τσιμπιδάκια για να τοποθετήσετε τη λυχνία LED όπως φαίνεται στη φωτογραφία. Το άκρο της καθόδου έχει συνήθως μια σημαδεμένη γραμμή. Στο παράδειγμά μου, υπάρχει μια πράσινη γραμμή στο άκρο της καθόδου. Τοποθετήστε το άκρο της καθόδου στο άκρο του πυκνωτή.
  7. Χρησιμοποιήστε τις λαβίδες για να προσθέσετε ελαφριά πίεση στο LED προς τον πυκνωτή και κολλήστε το LED στο άκρο του πυκνωτή, προσθέτοντας ταυτόχρονα θερμότητα στο άκρο του πυκνωτή. Μην πιέζετε δυνατά τη λυχνία LED. Το κάλυμμα του μπορεί να σπάσει κάτω από θερμότητα και υπερβολική πίεση. Μετά τη συγκόλληση, προσθέστε ήπια πίεση στο LED πλάγια, για να ελέγξετε εάν το LED είναι κολλημένο στη θέση του.
  8. Τώρα κολλήστε τη λυχνία LED στο μπλοκ εμβάπτισης XSHUT. Αυτό το βήμα θα πρέπει να είναι πιο εύκολο.

Σημείωση: Το άκρο του πυκνωτή που φαίνεται στην εικόνα είναι ο ακροδέκτης γείωσης σε αυτήν την πλακέτα διάσπασης. Και το μπλοκ εμβύθισης XSHUT τραβιέται προς τα πάνω από μια αντίσταση.

Δοκιμή του LED

Η λυχνία LED θα ανάψει όταν εφαρμόζετε ρεύμα (π.χ. 5V) και γειώνετε στον πίνακα διαρροής.

Βήμα 4: Συγκόλληση του N-Channel MOSFET

Συγκόλληση του N-Channel MOSFET
Συγκόλληση του N-Channel MOSFET
Συγκόλληση του N-Channel MOSFET
Συγκόλληση του N-Channel MOSFET
Συγκόλληση του N-Channel MOSFET
Συγκόλληση του N-Channel MOSFET
Συγκόλληση του N-Channel MOSFET
Συγκόλληση του N-Channel MOSFET

Συγκόλληση του AOS3400 N-Channel MOSFET

Αυτό το MOSFET είναι σε συσκευασία SOT-23. Πρέπει να το "στοιβάζουμε" στο LED και να προσθέσουμε επίσης ένα καλώδιο:

  1. Βάλτε λίγη κόλλα συγκόλλησης και κασσίτερος και στους τρεις ακροδέκτες.
  2. Χρησιμοποιήστε τσιμπιδάκια για να τοποθετήσετε το MOSFET πάνω από το LED 0805. Ο ακροδέκτης S πρέπει να αγγίζει το πάνω μέρος του πυκνωτή
  3. Συγκολλήστε τον ακροδέκτη S με το άκρο του πυκνωτή, όπως φαίνεται στη φωτογραφία.
  4. Κόψτε ένα μικρό τμήμα AWG #30 μονόκλωνου σύρματος και αφαιρέστε την επίστρωση περίπου 1 εκατοστό.
  5. Χρησιμοποιήστε το κολλητήρι για να λιώσετε τη συγκόλληση στην οπή XSHUT από κάτω και τοποθετήστε το σύρμα #30 από πάνω, όπως φαίνεται στη φωτογραφία.
  6. Συγκόλληση του άνω άκρου του καλωδίου στον ακροδέκτη MOSFET D.
  7. Κόψτε επιπλέον καλώδιο.

Σημείωση: Ο ακροδέκτης MOSFET S είναι συνδεδεμένος στο άκρο του πυκνωτή όπως φαίνεται στην εικόνα. Αυτό το τέλος είναι το τερματικό γείωσης. Ο ακροδέκτης MOSFET D είναι συνδεδεμένος με τον αρχικό ακροδέκτη XSHUT.

Το τερματικό G δεν είναι συνδεδεμένο αυτήν τη στιγμή. Η θέση του είναι ακριβώς πάνω από κάποιες αντιστάσεις έλξης. Βεβαιωθείτε ότι υπάρχει κενό μεταξύ τους (N-MOS και αντίσταση) και ότι δεν έρχεται σε επαφή μεταξύ τους.

Βήμα 5: Καλωδίωση του πίνακα αισθητήρων

Καλωδίωση της σειράς αισθητήρων
Καλωδίωση της σειράς αισθητήρων
Καλωδίωση του πίνακα αισθητήρων
Καλωδίωση του πίνακα αισθητήρων
Καλωδίωση του πίνακα αισθητήρων
Καλωδίωση του πίνακα αισθητήρων

Κοινή καλωδίωση λεωφορείων

Το κοινό λεωφορείο περιλαμβάνει:

  • Vcc ισχύος. Κόκκινο στη φωτογραφία. Χρησιμοποιώ arduino nano με λογική 5v. Ο πίνακας ξεμπλοκαρίσματος διαθέτει LDO και επίπεδο αλλαγής ταχυτήτων. Έτσι, είναι ασφαλές να χρησιμοποιείτε 5v ως Vin.
  • Εδαφος. Μαύρο στη φωτογραφία.
  • SDA. Πράσινο στη φωτογραφία.
  • SCL. Κίτρινο στη φωτογραφία.

Αυτές οι τέσσερις γραμμές είναι κοινές. Κόψτε το κατάλληλο μήκος καλωδίων και συγκολλήστε τα παράλληλα, σε όλες τις μονάδες αισθητήρα. Χρησιμοποίησα 20 cm από το arduino στον πρώτο αισθητήρα και 5 cm το καθένα στη συνέχεια.

Καλωδίωση XSHUTN και GPIO

Το λευκό σύρμα 20 εκατοστών είναι από τον πείρο ελέγχου arduino, έως τον πείρο XSHUTN του πρώτου αισθητήρα. Αυτή είναι η γραμμή ελέγχου που απαιτείται για να βγάλει το πρώτο τσιπ VL53L0X από την επαναφορά και να αλλάξει τη διεύθυνση I2C.

Το λευκό σύρμα 5 εκατοστών μεταξύ κάθε μονάδας είναι η γραμμή ελέγχου της αλυσίδας μαργαρίτας. Το ανάντη τσιπ (για παράδειγμα, τσιπ #3) GPIO pad, είναι συνδεδεμένο με το προς τα κάτω (για παράδειγμα, τσιπ #4) πόδι XSHUTN (τερματικό N-Channel MOSFET G).

Προσέξτε να μην έρθετε σε επαφή με τον τερματικό G με την αντίσταση παρακάτω. Μπορείτε να προσθέσετε μια μονωτική ταινία στο κενό. Η προστατευτική επένδυση που παρέχεται συνήθως με το τσιπ VL53L0X μπορεί να χρησιμοποιηθεί εδώ.

Χρησιμοποιήστε το πιστόλι θερμότητας για να κολλήσετε το καλώδιο ελέγχου.

Ζεστή κόλλα

Όπως μπορείτε να δείτε στη φωτογραφία, υπάρχει μια σταγόνα θερμής κόλλας στο λευκό καλώδιο ελέγχου, κοντά στο τερματικό N-MOS G. Αυτό το βήμα είναι πολύ σημαντικό και απολύτως απαραίτητο. Μια πλωτή συγκόλληση απευθείας στο πόδι του εξαρτήματος SMD είναι πολύ αδύναμη. Ακόμη και μια μικρή πίεση στο σύρμα μπορεί να σπάσει το πόδι. Κάντε αυτό το βήμα απαλά.

Δοκιμή του LED

Όταν εφαρμόζετε ισχύ (π. Εάν συνδέσετε το XSHUTN στο λογικό υψηλό (π.χ. 3.3v-5v), το LED θα πρέπει να είναι σβηστό. Εάν συνδέσετε το καλώδιο XSHUTN σε χαμηλή (γείωση), η λυχνία LED στην πρώτη μονάδα πρέπει να είναι αναμμένη.

Για όλες τις επόμενες μονάδες, το LED πρέπει να είναι σβηστό.

Αυτή η δοκιμή πραγματοποιείται πριν από τη σύνδεση με το arduino.

Βήμα 6: Ολοκλήρωση του πίνακα αισθητήρων

Image
Image
Ολοκλήρωση του πίνακα αισθητήρων
Ολοκλήρωση του πίνακα αισθητήρων
Ολοκλήρωση του πίνακα αισθητήρων
Ολοκλήρωση του πίνακα αισθητήρων
Ολοκλήρωση του πίνακα αισθητήρων
Ολοκλήρωση του πίνακα αισθητήρων

Δοκιμή αλυσίδας Daisy

Τώρα θέλουμε να ελέγξουμε εάν η αλλαγή διεύθυνσης I2C λειτουργεί για όλους τους αισθητήρες του πίνακα. Όπως αναφέρθηκε, το πρώτο τσιπ ελέγχεται από το arduino. Το δεύτερο τσιπ ελέγχεται από το πρώτο, και ούτω καθεξής.

  1. Ρυθμίστε την σανίδα ψωμιού. 5V και Ground rail συνδέονται απευθείας από το adriano 5V και το έδαφος. Η τρέχουσα κατανάλωση για κάθε αισθητήρα είναι 19ma στο φύλλο δεδομένων.
  2. Προσθέστε έναν πυκνωτή στη ράγα ισχύος για να σταθεροποιήσετε το Vin.
  3. Συνδέστε το Vin και το Ground από τη σειρά αισθητήρων στη ράγα ισχύος.
  4. Συνδέστε το SDA στο arduino Nano pin A4 (ενδέχεται να διαφέρει για άλλους μικροελεγκτές).
  5. Συνδέστε το SCL στο arduino Nano pin A5 (ενδέχεται να διαφέρει για άλλους μικροελεγκτές).
  6. Συνδέστε το καλώδιο XSHUTN στο arduino Nano pin D2. (Αυτό μπορεί να αλλάξει στο σκίτσο).
  7. Μεταβείτε στο github https://github.com/FuzzyNoodle/Fuzzy-Radar και κάντε λήψη της βιβλιοθήκης.
  8. Ανοίξτε το παράδειγμα "Daisy_Chain_Testing" και ανεβάστε το σκίτσο.

Εάν όλα λειτουργούν, θα πρέπει να δείτε τις λυχνίες LED κατάστασης να ανάβουν μία μία, παρόμοια με το παραπάνω βίντεο κλιπ.

Μπορείτε επίσης να ανοίξετε το Serial Window και να δείτε την πρόοδο της προετοιμασίας. Η έξοδος θα εμφανιστεί ως εξής:

Άνοιγμα θύρας Ανοιχτό Σκίτσο έναρξης. Ρυθμίστε το τσιπ 0 στη λειτουργία επαναφοράς. Όλες οι λυχνίες LED κατάστασης πρέπει να είναι σβηστές. Τώρα διαμορφώστε τους αισθητήρες. Η λυχνία LED πρέπει να ανάβει μία προς μία. Διαμόρφωση του τσιπ 0 - Επαναφορά διεύθυνσης I2C σε 83 - Αρχικοποίηση του αισθητήρα. Διαμόρφωση του τσιπ 1 - Επαναφορά διεύθυνσης I2C σε 84 - Αρχικοποίηση του αισθητήρα. Διαμόρφωση τσιπ 2 - Επαναφορά διεύθυνσης I2C σε 85 - Αρχικοποίηση του αισθητήρα. Ολοκληρώθηκε η διαμόρφωση συστοιχίας ραντάρ.

Συναρμολογήστε τη βάση και το πλαίσιο

  1. Τοποθετήστε προσεκτικά κάθε μονάδα GY-530 στη βάση με τη βίδα M2x10. Μην πιέζετε το MOSFET και μην τραβάτε τα καλώδια XSHUTN.
  2. Τοποθετήστε κάθε στήριγμα στο κυκλικό πλαίσιο. Χρησιμοποιήστε κάποια θερμή κόλλα για να κολλήσετε τα μέρη.

Και πάλι, οι βίδες M2, οι θήκες και το κυκλικό πλαίσιο χρησιμοποιούνται για την τοποθέτηση των αισθητήρων σε κυκλική διάταξη. Μπορείτε να χρησιμοποιήσετε οποιεσδήποτε άλλες μεθόδους, όπως η χρήση σανίδων, μοντέλων ξύλων, πηλού ή ακόμη και θερμής κόλλησής τους σε ένα δοχείο.

Τα αρχεία εκτύπωσης 3D που χρησιμοποίησα παρέχονται παρακάτω. Το κυκλικό πλαίσιο έχει 9 ενότητες και χωρίζονται με 10 μοίρες το καθένα. Εάν έχετε αιχμηρό μάτι, υπήρχαν 10 μονάδες στις προηγούμενες φωτογραφίες. Ο λόγος? Εξηγείται παρακάτω…

Αφαιρέστε την προστατευτική επένδυση

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

Σχετικά με την προστατευτική επένδυση, το φύλλο δεδομένων αναφέρει: "Πρέπει να αφαιρεθεί από τον πελάτη λίγο πριν τοποθετήσετε το γυαλί κάλυψης". Οι δύο μικροσκοπικές οπές (πομπός και δέκτης) στο τσιπ VL53L0X είναι ευάλωτες στη ρύπανση, όπως σκόνη, λίπος, θερμή κόλλα κλπ…

Μόλις μολυνθεί, το εύρος μπορεί να μειωθεί και οι ενδείξεις να απενεργοποιηθούν κατά ένα προφανές ποσό. Μια από τις μονάδες δοκιμής μου μολύνεται κατά λάθος από πηλό κόλλας, το εύρος μειώνεται στα 40 εκατοστά και η ένδειξη της απόστασης αυξάνεται λανθασμένα κατά 50%. Οπότε να προσέχεις!

Βήμα 7: Λήψη δεδομένων

Image
Image
Laser Tracer (Επίδειξη)
Laser Tracer (Επίδειξη)

Χρησιμοποιώντας το παράδειγμα Raw_Data_Serial_Output

Τώρα μας αρέσει πολύ να βλέπουμε τα δεδομένα από τη σειρά αισθητήρων μας. Στη βιβλιοθήκη arduino στο GitHub:

https://github.com/FuzzyNoodle/Fuzzy-Radar

Υπάρχει ένα παράδειγμα που ονομάζεται Raw_Data_Serial_Output. Αυτό το παράδειγμα παρουσιάζει την ακατέργαστη έξοδο δεδομένων από τον πίνακα αισθητήρων. Οι τιμές εξόδου είναι σε χιλιοστά.

Αφού προετοιμαστούν οι αισθητήρες, θα πρέπει να δείτε κάτι τέτοιο στο σειριακό παράθυρο όταν κουνάτε το χέρι σας μέσω των αισθητήρων:

Ανατρέξτε στο βίντεο κλιπ για μια ζωντανή επίδειξη.

Χρησιμοποιώντας το παράδειγμα Fuzzy_Radar_Serial_Output

Το επόμενο βήμα είναι να λάβετε χρήσιμα δεδομένα από αυτές τις μετρήσεις απόστασης. Αυτό που θέλαμε από ένα RADAR είναι η απόσταση και η γωνία του αντικειμένου -στόχου.

  • Η απόσταση είναι σε χιλιοστά, που σχετίζεται με την επιφάνεια του αισθητήρα. Η επιστροφή 0 σημαίνει ότι ο στόχος είναι εκτός εμβέλειας.
  • Η γωνία είναι σε μοίρες, στο οριζόντιο επίπεδο. Ο κώδικας που αναμένεται προς το παρόν οι αισθητήρες βρίσκονται σε ομοιόμορφη απόσταση. Επιστροφή 0 μοίρες σημαίνει ότι ο στόχος βρίσκεται στην κεντρική θέση του πίνακα.

Ορισμένοι αλγόριθμοι φιλτραρίσματος εφαρμόζονται στη βιβλιοθήκη:

  • Αφαίρεση θορύβου:

    • Οι σύντομες (όσον αφορά τον αριθμό δειγμάτων) αναγνώσεις θεωρούνται θόρυβος και καταργούνται.
    • Οι ενδείξεις που απέχουν πολύ από τη μέση τιμή αφαιρούνται.
  • Υπολογισμός γωνίας βάρους (δείτε την παραπάνω εικόνα)

    • Το αντικείμενο -στόχος θεωρείται ότι είναι μια επίπεδη επιφάνεια
    • Εάν πολλοί αισθητήρες έχουν ανιχνεύσει το αντικείμενο ταυτόχρονα, υπολογίζεται ένα βάρος για κάθε αισθητήρα.
    • Το βάρος για κάθε αισθητήρα σχετίζεται αντιστρόφως με την απόσταση του.
    • Ο άγγελος του αποτελέσματος υπολογίζεται από τη σταθμισμένη γωνία κάθε αισθητήρα.
  • Κύρια επιλογή στόχου:

    • Εάν υπάρχουν περισσότερες από μία ομάδες μετρήσεων, παραμένει η ευρύτερη ομάδα (με περισσότερες μετρήσεις ανάγνωσης αισθητήρων).
    • Για παράδειγμα, εάν βάλετε δύο χέρια μπροστά από τη συστοιχία αισθητήρων, το χέρι που εντοπίστηκε από περισσότερους αισθητήρες παραμένει.
  • Πλησιέστερη επιλογή στόχου:

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

Η απόσταση και η γωνία εξόδου εξομαλύνονται μέσω φίλτρου χαμηλής διέλευσης

Στο Raw_Data_Serial_Output, οι ακατέργαστες μετρήσεις απόστασης μετατρέπονται σε τιμή απόστασης και γωνίας. Μόλις ανεβάσετε το σκίτσο, μπορείτε να ανοίξετε το σειριακό παράθυρο για να δείτε το αποτέλεσμα παρόμοιο με αυτό:

Δεν εντοπίστηκε αντικείμενο. Δεν εντοπίστηκε αντικείμενο. Δεν εντοπίστηκε αντικείμενο. Distance = 0056 Angle = 017 Distance = 0066 Angle = 014 Distance = 0077 Angle = 011 Distance = 0083 Angle = 010 Distance = 0081 Angle = 004 Distance = 0082 Angle = 000 Distance = 0092 Angle = 002 Distance = 0097 Angle = 001 Distance = 0096 Angle = 001 Distance = 0099 Angle = 000 Distance = 0101 Angle = -002 Distance = 0092 Angle = -004 Distance = 0095 Angle = -007 Distance = 0101 Angle = -008 Distance = 0112 Angle = -014 Distance = 0118 Angle = -017 Distance = 0122 Angle = -019 Distance = 0125 Angle = -019 Distance = 0126 Angle = -020 Distance = 0125 Angle = -022 Distance = 0124 Angle = -024 Distance = 0133 Angle = -027 Distance = 0138 Angle = - 031 Απόσταση = 0140 Γωνία = -033 Απόσταση = 0136 Γωνία = -033 Απόσταση = 0125 Γωνία = -037 Απόσταση = 0120 Γωνία = -038 Απόσταση = 0141 Γωνία = -039 Δεν εντοπίστηκε αντικείμενο. Δεν εντοπίστηκε αντικείμενο. Δεν εντοπίστηκε αντικείμενο.

Έτσι, τώρα, έχετε ένα RADAR (LIDAR):

  • Μικρότερο από τις μονάδες αισθητήρων υπερήχων
  • Χωρίς κινούμενα μέρη
  • Σαρώνει στα 40 Hz.
  • Σε σχήμα ζώνης, μπορεί να τοποθετηθεί σε κυκλικό πλαίσιο
  • Χρησιμοποιήστε μόνο τρία καλώδια ελέγχου, συν ισχύ και γείωση.
  • Έχει εύρος από 30 χιλιοστά έως περίπου 1000 χιλιοστά.

Στα επόμενα βήματα, θα σας δείξουμε μερικές υπέροχες επιδείξεις!

Βήμα 8: Laser Tracer (Επίδειξη)

Image
Image
Laser Tracer (Επίδειξη)
Laser Tracer (Επίδειξη)

Αυτό είναι ένα παράδειγμα χρήσης του Σταθερού Ραντάρ που έχουμε δημιουργήσει από προηγούμενα βήματα. Αυτό το βήμα δεν είναι γραμμένο λεπτομερώς, καθώς πρόκειται για επίδειξη του ραντάρ. Γενικά, χρειάζεστε αυτά τα πρόσθετα στοιχεία για να δημιουργήσετε αυτό το έργο επίδειξης:

  • Δύο servos
  • Κεφαλή εκπομπής πένας λέιζερ
  • Ένα τρανζίστορ MOSFET ή NPN για τον έλεγχο της εξόδου της κεφαλής λέιζερ
  • Μια πηγή ενέργειας για τα servos. Θα πρέπει να διαχωριστεί από τον μικροελεγκτή.

Μπορείτε να κατεβάσετε τον κωδικό εδώ.

Παρακαλούμε δείτε το βίντεο που παρέχεται.

Βήμα 9: Κοιτάζοντας Poopeyes (Επίδειξη)

Image
Image

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

Συνιστάται: