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

Πυξίδα LED και υψόμετρο: 7 βήματα (με εικόνες)
Πυξίδα LED και υψόμετρο: 7 βήματα (με εικόνες)

Βίντεο: Πυξίδα LED και υψόμετρο: 7 βήματα (με εικόνες)

Βίντεο: Πυξίδα LED και υψόμετρο: 7 βήματα (με εικόνες)
Βίντεο: По следам древней цивилизации? 🗿 Что, если мы ошиблись в своем прошлом? 2024, Ιούλιος
Anonim
Image
Image
Διάγραμμα κυκλώματος και PCB
Διάγραμμα κυκλώματος και PCB

Τα αντικείμενα με LED πάντα με γοητεύουν. Συνεπώς, αυτό το έργο συνδυάζει τον δημοφιλή ψηφιακό αισθητήρα πυξίδας HMC5883L με 48 LED. Τοποθετώντας τα LED σε κύκλο, το led που φωτίζει είναι η κατεύθυνση προς την οποία κατευθύνεστε. Κάθε 7,5 μοίρες θα οδηγούν ένα νέο LED που δίνει λεπτομερή αποτελέσματα.

Ο πίνακας GY-86 παρέχει επίσης έναν αισθητήρα βαρομετρικής πίεσης MS5611. Με τη βοήθεια αυτού του αισθητήρα είναι δυνατό να υπολογιστεί το υψόμετρο. Λόγω της υψηλής ανάλυσης είναι ιδανικό για υψόμετρα.

Ο αισθητήρας MPU6050 στην πλακέτα GY-86 διαθέτει επιταχυνσιόμετρο 3 αξόνων και γυροσκόπιο 3 αξόνων. Το γυροσκόπιο μπορεί να μετρήσει την ταχύτητα της γωνιακής θέσης με την πάροδο του χρόνου. Το επιταχυνσιόμετρο μπορεί να μετρήσει τη βαρυτική επιτάχυνση και με τη χρήση μαθηματικών τριγωνομετρίας είναι δυνατόν να υπολογιστεί η γωνία στην οποία είναι τοποθετημένος ο αισθητήρας. Συνδυάζοντας τα δεδομένα του επιταχυνσιόμετρου και του γυροσκοπίου, μπορείτε να λάβετε πληροφορίες σχετικά με τον προσανατολισμό του αισθητήρα. Αυτό μπορεί να χρησιμοποιηθεί για την αντιστάθμιση κλίσης για την πυξίδα HMC5883L (να κάνει).

Τα σύντομα βίντεο οδηγιών σε αυτό το εκπαιδευτικό θα εξηγήσουν λεπτομερώς πώς λειτουργεί. Οι διαδικασίες βαθμονόμησης είναι αυτοματοποιημένες, οπότε η επιτυχία είναι εγγυημένη. Η θερμοκρασία είναι διαθέσιμη σε Κελσίου (προεπιλογή) ή Φαρενάιτ.

Καλα να περνατε !!

Βήμα 1: Υψόμετρο

Image
Image

Το υψόμετρο χρησιμοποιεί τον αισθητήρα βαρομετρικής πίεσης MS5611. Το υψόμετρο μπορεί να προσδιοριστεί με βάση τη μέτρηση της ατμοσφαιρικής πίεσης. Όσο μεγαλύτερο είναι το υψόμετρο, τόσο χαμηλότερη είναι η πίεση. Κατά την εκκίνηση, το υψόμετρο χρησιμοποιεί την προεπιλεγμένη πίεση στάθμης θάλασσας 1013,25 mbar. Πατώντας το κουμπί στο pin 21 η πίεση στη θέση σας θα χρησιμοποιηθεί ως σημείο αναφοράς. Με αυτόν τον τρόπο καθιστά δυνατή τη μέτρηση περίπου του ύψους που έχει κάτι (π.χ. όταν οδηγείτε σε ανηφόρα με αυτοκίνητο).

Ο λεγόμενος "Υψομετρικός τύπος" χρησιμοποιείται σε αυτό το έργο. Αυτός ο τύπος χρησιμοποιεί τη θερμοκρασία για να αντισταθμίσει τη μέτρηση.

float alt=((powf (πηγή / ((float) P / 100.0), 0.19022256) - 1.0) * ((float) TEMP / 100 + 273.15)) / 0.0065;

Μπορείτε να βρείτε περισσότερα για τον υψομετρικό τύπο εδώ:

Υψομετρική φόρμουλα

Τα δεδομένα βαθμονόμησης του εργοστασίου και η θερμοκρασία του αισθητήρα διαβάζονται από τον αισθητήρα MS5611 και εφαρμόζονται στον κώδικα για να ληφθούν οι ακριβέστερες μετρήσεις. Κατά τη διάρκεια της δοκιμής διαπίστωσα ότι ο αισθητήρας MS5611 είναι ευαίσθητος για ροές αέρα και διαφορές στην ένταση του φωτός. Πρέπει να μπορείτε να έχετε καλύτερα αποτελέσματα από αυτό το βίντεο με οδηγίες.

Βήμα 2: Μέρη

1 x Microchip 18f26k22 μικροελεγκτής 28-PIN PDIP

3 x MCP23017 16-Bit I/O Expander 28-pin SPDIP

48 x LED 3 mm

1 x μονάδα GY-86 με αισθητήρες MS5611, HMC5883L και MPU6050

1 x SH1106 OLED 128x64 I2C

1 x Κεραμικός πυκνωτής 100nF

Αντίσταση 1 x 100 Ohm

Βήμα 3: Διάγραμμα κυκλώματος και PCB

Διάγραμμα κυκλώματος και PCB
Διάγραμμα κυκλώματος και PCB

Όλα ταιριάζουν σε ένα PCB μονής όψης. Βρείτε εδώ τα αρχεία Eagle και Gerber για να μπορείτε να τα φτιάξετε μόνοι σας ή να ρωτήσετε έναν κατασκευαστή PCB.

Χρησιμοποιώ την πυξίδα LED και το υψόμετρο στο αυτοκίνητό μου και χρησιμοποιώ τη διεπαφή OBD2 ως τροφοδοτικό. Ο μικροελεγκτής ταιριάζει τέλεια στην υποδοχή.

Βήμα 4: Πώς να ευθυγραμμίσετε τέλεια τα LED σε έναν κύκλο σε δευτερόλεπτα με το λογισμικό σχεδίασης Eagle PCB

Πρέπει να δείτε αυτό το πραγματικά ωραίο χαρακτηριστικό στο Eagle PCB Design Software που σας εξοικονομεί ώρες εργασίας. Με αυτό το χαρακτηριστικό Eagle μπορείτε να ευθυγραμμίσετε τέλεια τις λυχνίες LED σε κύκλο σε δευτερόλεπτα.

Απλώς κάντε κλικ στην καρτέλα "Αρχείο" και στη συνέχεια "Εκτέλεση ULP". Από εδώ κάντε κλικ στο "cmd-draw.ulp". Επιλέξτε "Μετακίνηση", "βήμα βαθμού" και "Κύκλος". Συμπληρώστε το όνομα της πρώτης λυχνίας LED στο πεδίο "όνομα". Ορίστε τις συντεταγμένες του κέντρου του κύκλου στο πλέγμα στα πεδία "Χ κέντρο συντονισμού" και "συντονισμός κέντρου Υ". Σε αυτό το έργο υπάρχουν 48 LED, οπότε 360 διαιρούμενο με 48 κάνει 7,5 για το πεδίο "Βήμα γωνίας". Η ακτίνα αυτού του κύκλου είναι 1,4 ίντσα. Πατήστε enter και έχετε έναν τέλειο κύκλο LED.

Βήμα 5: Διαδικασία βαθμονόμησης πυξίδας

Image
Image

Το HMC5883L περιλαμβάνει ADC 12 bit που επιτρέπει την ακρίβεια της κατεύθυνσης της πυξίδας από 1 έως 2 βαθμούς Κελσίου. Αλλά πριν δώσει χρήσιμα δεδομένα πρέπει να βαθμονομηθεί. Για να λειτουργήσει ομαλά αυτό το έργο, υπάρχει αυτή η μέθοδος βαθμονόμησης που παρέχει μετατόπιση x και y. Δεν είναι η πιο απλοποιημένη μέθοδος, αλλά είναι αρκετή για αυτό το έργο. Αυτή η διαδικασία θα σας κοστίσει μόνο λίγα λεπτά και θα σας δώσει ωραία αποτελέσματα.

Με τη φόρτωση και εκτέλεση αυτού του λογισμικού θα καθοδηγηθείτε σε αυτήν τη διαδικασία βαθμονόμησης. Η οθόνη OLED θα σας πει πότε θα ξεκινήσει η διαδικασία και πότε θα τελειώσει. Αυτή η διαδικασία βαθμονόμησης θα σας ζητήσει να γυρίσετε τον αισθητήρα 360 μοίρες ενώ τον κρατάτε εντελώς επίπεδο (οριζόντιο στο έδαφος). Τοποθετήστε το σε τρίποδο ή κάτι τέτοιο. Κάνοντας αυτό κρατώντας το στο χέρι σας δεν λειτουργεί. Στο τέλος, οι αντισταθμίσεις θα παρουσιαστούν στην OLED. Εάν εκτελέσετε αυτήν τη διαδικασία αρκετές φορές, πρέπει να δείτε σχεδόν ίσα αποτελέσματα.

Προαιρετικά, τα δεδομένα που συλλέγονται είναι επίσης διαθέσιμα μέσω RS232 μέσω του πείρου 27 (9600 baud). Απλώς χρησιμοποιήστε ένα τερματικό πρόγραμμα όπως το Putty και συλλέξτε όλα τα δεδομένα στο αρχείο καταγραφής. Αυτά τα δεδομένα μπορούν να εισαχθούν εύκολα στο Excel. Από εδώ μπορείτε να δείτε πιο εύκολα πώς μοιάζει η μετατόπιση του HMC5883L.

Οι αντισταθμίσεις τοποθετούνται στο EEPROM του μικροελεγκτή. Αυτά θα φορτωθούν κατά την εκκίνηση του λογισμικού πυξίδας και υψομέτρου που θα βρείτε στο βήμα 7.

Βήμα 6: Αντισταθμίστε τη μαγνητική απόκλιση της τοποθεσίας σας

Image
Image
Διαγωνισμός αισθητήρων
Διαγωνισμός αισθητήρων

Υπάρχει μαγνητικός Βορράς και γεωγραφικός Βορράς (Βόρειος Πόλος). Η πυξίδα σας θα ακολουθήσει τις γραμμές μαγνητικού πεδίου της γης, οπότε δείξτε τον μαγνητικό Βορρά. Η διαφορά μεταξύ του μαγνητικού Βορρά και του γεωγραφικού Βορρά ονομάζεται μαγνητική απόκλιση. Στη θέση μου, η κλίση είναι μόνο 1 μοίρα και 22 λεπτά, οπότε δεν αξίζει να αντισταθμιστεί αυτό. Σε άλλες τοποθεσίες αυτή η κλίση μπορεί να είναι έως 30 μοίρες.

Βρείτε τη μαγνητική απόκλιση στη θέση σας

Εάν θέλετε να αντισταθμίσετε αυτό (είναι προαιρετικό) μπορείτε να προσθέσετε την απόκλιση (μοίρες και λεπτά) στο EEPROM του μικροελεγκτή. Στη θέση 0x20 μπορείτε να προσθέσετε τα πτυχία σε υπογεγραμμένη δεκαεξαδική μορφή. Υπογράφεται επειδή μπορεί επίσης να είναι αρνητική απόκλιση. Στη θέση 0x21 μπορείτε να προσθέσετε τα λεπτά επίσης σε δεκαεξαδική μορφή.

Βήμα 7: Μεταγλωττίστε τον κώδικα

Image
Image

Μεταγλωττίστε αυτόν τον πηγαίο κώδικα και προγραμματίστε τον μικροελεγκτή σας. Αυτός ο κώδικας μεταγλωττίζεται σωστά με MPLABX IDE v5.20 και μεταγλωττιστή XC8 v2.05 σε λειτουργία C99 (συμπεριλάβετε λοιπόν τους καταλόγους C99). Επίσης, το hex αρχείο είναι διαθέσιμο, ώστε να μπορείτε να παραλείψετε τη διαδικασία σύνταξης. Βεβαιωθείτε ότι καταργείτε την επιλογή του πλαισίου ελέγχου "Τα δεδομένα EEPROM ενεργοποιήθηκαν" για να αποφευχθεί η αντικατάσταση των δεδομένων βαθμονόμησης (βλ. Βήμα 5). Ρυθμίστε τον προγραμματιστή σας στα 3,3 volt!

Συνδέοντας τον πείρο 27 με τη γείωση παίρνετε τη θερμοκρασία σε Φαρενάιτ.

Ευχαριστώ τον Achim Döbler για τη γραφική βιβλιοθήκη του μGUI

Διαγωνισμός αισθητήρων
Διαγωνισμός αισθητήρων

Επόμενος στο Διαγωνισμό Αισθητήρων

Συνιστάται: