Πίνακας περιεχομένων:
- Βήμα 1: Σχεδιασμός PCB με χρήση Eagle
- Βήμα 2: Συγκόλληση του PCB
- Βήμα 3: Λογισμικό… Λειτουργικότητα… αποτελέσματα
- Βήμα 4: Θήκη με 3D εκτύπωση … Ταξινόμηση
- Βήμα 5: Τα πράγματα που πρέπει να βελτιωθούν…
Βίντεο: Παρακολούθηση GPS με έργο OLED Display: 5 βήματα (με εικόνες)
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:32
Γεια σε όλους, σε αυτό το γρήγορο άρθρο θα μοιραστώ μαζί σας το έργο μου: ATGM332D GPS module με μικροελεγκτή SAMD21J18 και οθόνη SSD1306 OLED 128*64, έχτισα ένα ειδικό PCB για αυτό στο Eagle Autodesk και το προγραμματίζω χρησιμοποιώντας Atmel studio 7.0 και ASF4 έτσι σε αυτό το άρθρο θα μοιραστώ μαζί σας αυτό το ταξίδι και τα αρχεία που χρησιμοποίησα αν σας ενδιαφέρει να το κάνετε μόνοι σας.
Τώρα, εάν προγραμματίζετε το MCU/τον πίνακα ανάπτυξης χρησιμοποιώντας το Arduino, αυτό το έργο θα πρέπει να σας είναι σχετικά εύκολο, αλλά εδώ θα χρησιμοποιήσω το ASF4 (Advanced software framework 4) από την Atmel/Microchip που βασίζεται στη γλώσσα C και θα σας έδινε μια ιδέα για τον τρόπο ανάγνωσης του μηνύματος GPS NMEA χρησιμοποιώντας το ασύγχρονο πρόγραμμα οδήγησης USART (Callback) και σας παρέχουμε μια απλή βιβλιοθήκη που μπορείτε να τη χρησιμοποιήσετε με οποιοδήποτε μικροελεγκτή και διαφορετική πλατφόρμα, προσθέτοντας απλώς το κατάλληλο πρόγραμμα οδήγησης που χρησιμοποιείτε για να λαμβάνετε το μήνυμα από το GPS (μήνυμα NMEA).
Θα χωρίσω αυτό το άρθρο σε:
- Σχεδιασμός PCB.
- BOM πρέπει να συναρμολογήσετε το PCB
- Γρήγορη ματιά στο λογισμικό και τον ίδιο τον κώδικα και μια δοκιμή για το υλικό και το λογισμικό.
- Τέλος, αλλά όχι λιγότερο σημαντικό σημείο βελτίωσης για αυτό το έργο.
Θα βρείτε όλο το υλικό που σχετίζεται με αυτό το έργο στοGithub (Εδώ)
Βήμα 1: Σχεδιασμός PCB με χρήση Eagle
Αυτό το έργο βασίζεται κυρίως στη μονάδα GPS ATGM332D, απλό GPS για χρήση, καθώς χρειάζεται μόνο δύο παθητικά εξαρτήματα για να λειτουργήσει και θα μπορούσαμε να προσθέσουμε μια εφεδρική μπαταρία για να εξοικονομήσουμε χρόνο/ημερομηνία εάν κλείσουμε την κύρια πηγή ενέργειας από τη μονάδα.
και για τον έλεγχο όλων των σημάτων στο κύκλωμα πήγα με τον μικροελεγκτή ATSAMD21J18B, πακέτο TQFP64, καθώς έχει 128KByte αποθήκευσης μνήμης προγράμματος και 32KByte μνήμης δεδομένων (και έχω πολλά από αυτά στον πάγκο εργασίας μου).
το κύκλωμα θα τροφοδοτείται από πηγή USB 5V, επίσης το USB μπορεί να λειτουργήσει ως εικονική θύρα COM (CDC USB) και μπορείτε να προσθέσετε έναν κωδικό για αυτό εάν θέλετε να επικοινωνείτε με τη συσκευή μέσω USB.
για την οθόνη επέλεξα SSD1306 0.96 'OLED οθόνη με δίαυλο SPI, είναι μικρή αλλά είναι η κατάλληλη για το μέγεθος του PCB που ήθελα, η διάσταση της πλακέτας 100x31 mm.
Ο προγραμματισμός του μικροελεγκτή θα γίνεται μέσω προγραμματιστή SWD (χρησιμοποιώ το Atmel ICE) και θα το συνδέει μέσω κεφαλίδας ακίδων 1,27 mm 10p.
Επίσης χρησιμοποίησα το Fusion360 για να πάρω μια τρισδιάστατη προβολή για τον πίνακα και μπορείτε να δείτε κάποια απόδοση εικόνας και για αυτό.
Βήμα 2: Συγκόλληση του PCB
Έχετε την επιλογή να παραγγείλετε ένα στένσιλ με το PCB σας, είναι πιο εύκολο να εφαρμόσετε την κόλλα συγκόλλησης στον πίνακα χρησιμοποιώντας το στένσιλ, χρησιμοποίησα θερμαινόμενη πλάκα για να κολλήσω τα εξαρτήματα μαζί, η χρήση ζεστού αέρα είναι επίσης εντάξει, αλλά να είστε προσεκτικοί κατά τη συγκόλληση του LED αφού είναι τόσο ευαίσθητα στη θερμότητα.
Η συγκόλληση της κάτω πλευράς είναι λίγο πιο εύκολη, καθώς έχει μόνο την κεφαλίδα καρφιτσών SWD και την εφεδρική μπαταρία, την οποία μπορείτε να κολλήσετε χρησιμοποιώντας κολλητήρι.
πριν συνδέσετε το κύκλωμα με οποιαδήποτε πηγή τροφοδοσίας USB, ελέγξτε για τυχόν βραχυκύκλωμα.
συνδέστε την κεραία GPS σας και βεβαιωθείτε ότι έχετε κολλήσει σωστά τον σύνδεσμό του, στερέωσα την κεραία στην κάτω πλευρά του πίνακα.
Βήμα 3: Λογισμικό… Λειτουργικότητα… αποτελέσματα
Το λογισμικό θα χωριστεί σε 4 μέρη:
- USART για επικοινωνία με μονάδα GPS ATGM332.
- SPI για επικοινωνία με OLED.
- USB CDC.
- GPIO για έλεγχο LED
συνδέστε πρώτα το βύσμα USB στην τροφοδοσία του κυκλώματος και, στη συνέχεια, συνδέστε το καλώδιο κορδέλας με υποδοχή SWD.
Κατεβάστε τον Κώδικα από το github (Σύνδεσμος εδώ).
για να αποκτήσετε το Geo-Location έχετε 3 διαφορετικές επιλογές μηνυμάτων NMEA:
- GPGGA
- GPRMC
- GPGLL
Χρησιμοποίησα την πρόταση GPRMC για να λάβω την τοποθεσία, την ώρα και την ημερομηνία (η ώρα είναι 0.0 GMT), οπότε στον κώδικα θα βρείτε:
GPRMC. Ενεργοποιήστε = 1;/*0 εάν δεν υπάρχει ανάγκη για αυτό το μήνυμα*/
GPGGA. Enable = 0;/*0 αν δεν χρειάζεται για αυτό το μήνυμα*/
GPGLL. Ενεργοποίηση = 0;/*0 εάν δεν υπάρχει ανάγκη για αυτό το μήνυμα*/
μπορείτε να τα ενεργοποιήσετε όλα μαζί και να τα διαβάσετε ταυτόχρονα να λάβετε τα δεδομένα που χρειάζεστε.
μόλις υπάρξει έγκυρη πρόταση GPRMC, τοGPRMC. Το Ready θα γίνει 1 και μπορείτε να λάβετε όλα τα διαθέσιμα δεδομένα σε αυτήν την πρόταση, ελέγξτε αυτόν τον σύνδεσμο για να δείτε τα διαθέσιμα δεδομένα σε αυτήν την πρόταση.
απλά εάν η επιδιόρθωση είναι "Α" αυτό σημαίνει ότι η τοποθεσία είναι διαθέσιμη, αν η διόρθωση είναι "V" σημαίνει ότι η τοποθεσία δεν είναι διαθέσιμη.
παρατηρήστε ότι το ATSAMD21 έχει εσωτερικό RTC, αλλά εδώ δεν το χρησιμοποιώ και αντ 'αυτού χρησιμοποιώ την ώρα και την ημερομηνία απευθείας από το GPS, οπότε αν δεν θέλετε να χρησιμοποιήσετε την εφεδρική μπαταρία CR1220, μόλις αποσυνδέσετε την πηγή τροφοδοσίας USB χάσετε την ώρα/ημερομηνία και για την επόμενη φορά που θα ενεργοποιήσετε το κύκλωμα, η περιοχή ώρας/ημερομηνίας στην οθόνη θα είναι κενή, έως ότου το GPS έχει έγκυρη τιμή ώρας/ημερομηνίας.
η οθόνη θα σας δείξει την τρέχουσα κατάσταση του GPS και θα εμφανίσει τη γεωγραφική θέση μόλις είναι διαθέσιμο, ωστόσο υπάρχουν 3 LED στον πίνακα:
- Το πράσινο LED είναι συνδεδεμένο στο PA06 και αναβοσβήνει εάν υπάρχει έγκυρη τιμή γεωγραφικής θέσης.
- Πορτοκαλί LED συνδεδεμένο στο PA07 και θα αναβοσβήνει μία φορά το δευτερόλεπτο εάν δεν υπάρχει έγκυρη γεωγραφική θέση.
- Αυτή η κόκκινη λυχνία LED συνδέεται με τον ακροδέκτη PPS της μονάδας GPS και θα αναβοσβήνει μόνο όταν υπάρχει έγκυρο σήμα που σχετίζεται με την τοποθεσία.
Αποτελέσματα
Το κύκλωμα λειτούργησε πολύ καλά μαζί μου, το Geo-location από το GPS πήρε 20-30 δευτερόλεπτα σε εξωτερικούς χώρους με καθαρή θέα στον ουρανό και μεταξύ κτιρίων χωρίς κανένα πρόβλημα, ακόμη και με κεραία στην κάτω πλευρά του πίνακα.
Βήμα 4: Θήκη με 3D εκτύπωση … Ταξινόμηση
Ετοίμασα μια απλή θήκη (πιο ακριβής θήκη) για αυτό το κύκλωμα, αλλά λόγω της επιδημίας COVID-19 και του αποκλεισμού που βρίσκομαι αυτή τη στιγμή, δεν μπόρεσα να φτάσω στον 3d εκτυπωτή μου για να τον εκτυπώσω, οπότε θα ενημερώσω αυτήν την ενότητα με stl αρχείο και φωτογραφίες για τον κάτοχο μόλις είναι διαθέσιμο.
Βήμα 5: Τα πράγματα που πρέπει να βελτιωθούν…
- Μετακίνηση του συνδέσμου SWD στην επάνω πλευρά, επειδή είναι πιο εύκολο να το συνδέσετε με τον προγραμματιστή σας.
- Τροφοδοτώντας το κύκλωμα από μπαταρία λιθίου, το έκανα με συγκόλληση ενός βραχυκυκλωτήρα και λειτούργησε καλά, έχοντας κατά νου ότι ο ρυθμιστής Linear (LDO) έχει τάση πτώσης V εάν το όριο (Vbat - Vout) μικρότερο από το Vdrop το κύκλωμα ενδέχεται να μην λειτουργεί σωστά.
- κάνοντας ένα κουμπί χρήστη λίγο μεγαλύτερο, ώστε να είναι πιο εύκολο να το πατήσετε.
- προσθήκη κώδικα USB CDC ώστε να μπορείτε να επικοινωνείτε/σχεδιάζετε ένα ειδικό πρόγραμμα για MAC/PC/linux.
- Για την κεραία GPS, χρησιμοποίησα την ενεργή κεραία για αυτό το έργο, είναι δυνατή η χρήση παθητικής κεραίας, προσθέτοντας χαμηλού θορύβου op-Amp όπως το AT2659 (ελέγξτε επίσης το σχηματικό σχήμα στο δελτίο δεδομένων ATGM332 P.14).
- για το OLED 0.96 'SSD1306, την επίσημη βιβλιοθήκη από το μικροτσίπ αρχικά για οθόνη 128*32, για να τροποποιήσετε τον κώδικα για να λειτουργεί με 128*64 πρέπει να μεταβείτε στο ssd1306.c και να τροποποιήσετε τον κωδικό (ελέγξτε την εικόνα).
Συνιστάται:
ΕΡΓΟ ΡΟΛΟΙ IEEE WORD: 12 βήματα (με εικόνες)
ΕΡΓΟ ΡΟΛΟΙ IEEE WORD: Αυτό είναι ένα έργο για τον σύλλογο IEEE της UNO, είναι ένας μοναδικός τρόπος για να αναπαραστήσετε την ώρα που είναι. Το ρολόι λέξεων καθορίζει την ώρα και με τη λωρίδα RGB μπορείτε να έχετε το ρολόι σε οποιοδήποτε χρώμα της επιλογής σας. Χρησιμοποιώντας τις δυνατότητες WiFi του ESP32, το clo
Πώς να προσθέσετε μια οθόνη μελάνης στο έργο σας: 12 βήματα (με εικόνες)
Πώς να προσθέσετε μια οθόνη μελάνης στο έργο σας: Πολλά έργα περιλαμβάνουν παρακολούθηση κάποιου είδους δεδομένων, όπως περιβαλλοντικά δεδομένα, συχνά χρησιμοποιώντας ένα Arduino για έλεγχο. Στην περίπτωσή μου, ήθελα να παρακολουθώ το επίπεδο αλατιού στον αποσκληρυντή νερού. Μπορεί να θέλετε να έχετε πρόσβαση στα δεδομένα μέσω του οικιακού σας δικτύου
Παρακολούθηση διαδρομής GPS V2: 4 βήματα (με εικόνες)
GPS Route Tracking V2: Έργο: GPS Route Tracking V2 Ημερομηνία: Μάιος - Ιούνιος 2020 ΕΝΗΜΕΡΩΣΗΗ πρώτη έκδοση αυτού του έργου, ενώ λειτουργούσε κατ 'αρχήν, είχε μια σειρά βλαβών που έπρεπε να διορθωθούν. Πρώτον, δεν μου άρεσε το κουτί, οπότε το αντικατέστησα με άλλο. Δεύτερον η
Κάνοντας ένα επαγγελματικό τηλεχειριστήριο για το έργο σας Arduino στο σπίτι: 9 βήματα (με εικόνες)
Κάνοντας ένα επαγγελματικό τηλεχειριστήριο για το έργο σας Arduino στο σπίτι: Έφτιαξα ένα έργο που χρησιμοποίησε ένα arduino και μια απομακρυσμένη βιβλιοθήκη IR για να ελέγξει μερικά πράγματα. Έτσι σε αυτό το διδακτικό θα σας δείξω πώς μπορείτε να επανατοποθετήσετε οποιοδήποτε τηλεχειριστήριο χρησιμοποίησε το επόμενο έργο σου. Και δεν χρειάζεσαι τίποτα φανταχτερό για να φτιάξεις μια καλή τουαλέτα
Καυστήρας με τροφοδοσία USB! Αυτό το έργο μπορεί να καεί μέσω πλαστικών / ξύλου / χαρτιού (το διασκεδαστικό έργο πρέπει επίσης να είναι πολύ λεπτό ξύλο): 3 βήματα
Καυστήρας με τροφοδοσία USB! Αυτό το έργο μπορεί να καεί μέσω πλαστικών / ξύλου / χαρτιού (το διασκεδαστικό έργο πρέπει επίσης να είναι πολύ λεπτό ξύλο): ΜΗΝ ΚΑΝΕΤΕ ΑΥΤΟ ΧΡΗΣΙΜΟΠΟΙΗΣΤΕ USB !!!! διαπίστωσα ότι μπορεί να βλάψει τον υπολογιστή σας από όλα τα σχόλια. ο υπολογιστης μου ειναι μια χαρα Χρησιμοποιήστε φορτιστή τηλεφώνου 600ma 5v. το χρησιμοποίησα και δουλεύει μια χαρά και τίποτα δεν μπορεί να καταστραφεί αν χρησιμοποιήσετε βύσμα ασφαλείας για να διακόψετε την τροφοδοσία