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

Arduino Drone με GPS: 16 βήματα
Arduino Drone με GPS: 16 βήματα

Βίντεο: Arduino Drone με GPS: 16 βήματα

Βίντεο: Arduino Drone με GPS: 16 βήματα
Βίντεο: Leslie Kean on David Grusch (UFO Whistleblower): Non-Human Intelligence, Recovered UFOs, UAP, & more 2024, Ιούλιος
Anonim
Arduino Drone με GPS
Arduino Drone με GPS

Ξεκινήσαμε να κατασκευάζουμε ένα drone τετραπλάνου πρώτου προσώπου (FPV) ελεγχόμενο με Arduino και σταθεροποιημένο με GPS, με επιστροφή στο σπίτι, μετάβαση στο συντονισμό και λειτουργίες κράτησης GPS. Θεωρήσαμε αφελώς ότι ο συνδυασμός υπαρχόντων προγραμμάτων Arduino και καλωδίωσης για ένα τετρακόπτερο χωρίς GPS με αυτά ενός συστήματος μετάδοσης GPS θα ήταν σχετικά απλός και ότι θα μπορούσαμε γρήγορα να προχωρήσουμε σε πιο πολύπλοκες εργασίες προγραμματισμού. Ωστόσο, ένα εκπληκτικό ποσό έπρεπε να αλλάξει για να συνδυάσει αυτά τα δύο έργα και έτσι καταλήξαμε να φτιάξουμε ένα τετρακόπτερο FPV με δυνατότητα GPS, χωρίς καμία από τις πρόσθετες λειτουργίες.

Έχουμε συμπεριλάβει οδηγίες για το πώς να αναπαράγουμε το προϊόν μας εάν είστε ικανοποιημένοι με το πιο περιορισμένο quadcopter.

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

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

Η ρύθμιση έχει ως εξής:

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

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

Τα μέρη με δύο αστερίσκους απαιτούνται μόνο για το πιο περιορισμένο τετράπτερο.

Τα κοινά βήματα και για τα δύο έργα δεν έχουν δείκτη μετά τον τίτλο

Τα βήματα που απαιτούνται μόνο για το πιο περιορισμένο μη αυτόνομο τετράπτερο έχουν "(Uno)" μετά τον τίτλο.

Τα βήματα που απαιτούνται μόνο για το εν εξελίξει αυτόνομο τετράπτερο έχουν "(Mega)" μετά τον τίτλο.

Για να δημιουργήσετε το τετράγωνο που βασίζεται στο Uno, ακολουθήστε τα βήματα με τη σειρά, παραλείποντας οποιαδήποτε βήματα με το "(Mega)" μετά τον τίτλο.

Για να εργαστείτε στο τετράγωνο που βασίζεται στο Mega, ακολουθήστε τα βήματα με τη σειρά, παραλείποντας οποιαδήποτε βήματα με το "(Uno)" μετά τον τίτλο.

Βήμα 1: Συγκέντρωση υλικών

Συστατικά:

1) Ένα τετραπλό πλαίσιο (το ακριβές πλαίσιο πιθανότατα δεν έχει σημασία) ($ 15)

2) Τέσσερις κινητήρες χωρίς ψήκτρες 2830, 900kV (ή παρόμοιες) και τέσσερις συσκευασίες αξεσουάρ τοποθέτησης (4x $ 6 + 4x $ 4 = 40 $ συνολικά)

3) Τέσσερα 20A UBEC ESC (4x $ 10 = 40 $ συνολικά)

4) Ένας πίνακας διανομής ισχύος (με σύνδεση XT-60) ($ 20)

5) Μία μπαταρία 3s, 3000-5000mAh LiPo με σύνδεση XT-60 (3000mAh αντιστοιχεί σε περίπου 20 λεπτά χρόνου πτήσης) ($ 25)

6) Πολλοί προωθητές (αυτοί σπάνε πολύ) ($ 10)

7) Ένα Arduino Mega 2560* ($ 40)

8) Ένα Arduino Uno R3 (20 $)

9) Ένα δεύτερο Arduino Uno R3 ** (20 $)

10) Ένα Arduino Ultimate GPS Shield (δεν χρειάζεστε την ασπίδα, αλλά η χρήση διαφορετικού GPS θα απαιτήσει διαφορετική καλωδίωση) ($ 45)

11) Δύο ασύρματοι πομποδέκτες HC-12 (2x $ 5 = $ 10)

12) Ένα MPU- 6050, 6DOF (βαθμός ελευθερίας) γυροσκόπιο/επιταχυνσιόμετρο ($ 5)

13) One Turnigy 9x 2.4GHz, ζεύγος πομπών/δέκτη 9 καναλιών ($ 70)

14) Γυναικείες κεφαλίδες Arduino (στοιβάζονται) ($ 20)

15) Φορτιστής LiPo Battery Balance (και προσαρμογέας 12V DC, δεν περιλαμβάνεται) (20 $)

17) Καλώδιο προσαρμογέα USB A to B αρσενικό σε αρσενικό ($ 5)

17) Κολλητική ταινία

18) Συρρικνώστε τις σωλήνες

Εξοπλισμός:

1) Ένα συγκολλητικό σίδερο

2) Συγκολλητικό

3) Πλαστικό εποξικό

4) Αναπτήρας

5) Απογυμνωτής καλωδίων

6) Ένα σετ κλειδιά Allen

Προαιρετικά στοιχεία για μετάδοση βίντεο σε πραγματικό χρόνο FPV (προβολή πρώτου προσώπου):

1) Μια μικρή κάμερα FPV (αυτή συνδέεται με την αρκετά φθηνή και κακής ποιότητας που χρησιμοποιήσαμε, μπορείτε να αντικαταστήσετε μια καλύτερη) ($ 20)

2) Ζεύγος πομπού/δέκτη βίντεο 5,6 GHz (832 μοντέλα που χρησιμοποιούνται) ($ 30)

3) Μπαταρία LiPo 500mAh, 3s (11.1V) (7 $) (χρησιμοποιήσαμε με βύσμα μπανάνας, αλλά συνιστούμε εκ των υστέρων να χρησιμοποιήσετε τη συνδεδεμένη μπαταρία, καθώς έχει μια υποδοχή συμβατή με τον πομπό TS832, και επομένως όχι » t απαιτούν συγκόλληση).

4) 2 μπαταρίες LiPo 2 1000mAh 2s (7.4V) ή παρόμοιες ($ 5). Ο αριθμός των mAh δεν είναι κρίσιμος αρκεί να είναι πάνω από 1000mAh περίπου. Η ίδια δήλωση με τα παραπάνω ισχύει για τον τύπο βύσματος για μία από τις δύο μπαταρίες. Το άλλο θα χρησιμοποιηθεί για την τροφοδοσία της οθόνης, οπότε θα πρέπει να κολλήσετε ό, τι και να γίνει. Bestσως είναι καλύτερο να πάρετε ένα με βύσμα XT-60 για αυτό (αυτό κάναμε). Ένας σύνδεσμος για αυτόν τον τύπο είναι εδώ: 1000mAh 2s (7.4V) LiPo με βύσμα XT-60

5) Οθόνη LCD (προαιρετικό) (15 $). Θα μπορούσατε επίσης να χρησιμοποιήσετε έναν προσαρμογέα AV-USB και ένα λογισμικό αντιγραφής DVD για προβολή απευθείας σε φορητό υπολογιστή. Αυτό δίνει επίσης την επιλογή εγγραφής βίντεο και φωτογραφιών, αντί απλής προβολής τους σε πραγματικό χρόνο.

6) Εάν έχετε αγοράσει μπαταρίες με διαφορετικά βύσματα από τα συνδεδεμένα, μπορεί να χρειαστείτε κατάλληλους προσαρμογείς. Ανεξάρτητα, πάρτε έναν προσαρμογέα που αντιστοιχεί στο βύσμα της μπαταρίας που τροφοδοτεί την οθόνη. Εδώ μπορείτε να βρείτε προσαρμογείς XT-60

* = μόνο για πιο προηγμένο έργο

** = μόνο για πιο βασικό έργο

Δικαστικά έξοδα:

Εάν ξεκινάτε από την αρχή (αλλά με κολλητήρι, κλπ …), χωρίς σύστημα FPV: 37 370 $

Εάν έχετε ήδη πομπό/δέκτη RC, φορτιστή μπαταρίας LiPo και μπαταρία LiPo: 26 260 $

Κόστος συστήματος FPV: $ 80

Βήμα 2: Συναρμολογήστε το πλαίσιο

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

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

Βήμα 3: Mount Motors and Connect Escs

Mount Motors and Connect Escs
Mount Motors and Connect Escs
Mount Motors και Connect Escs
Mount Motors και Connect Escs
Mount Motors and Connect Escs
Mount Motors and Connect Escs
Mount Motors and Connect Escs
Mount Motors and Connect Escs

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

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

Θα πρέπει επίσης να έχετε τέσσερις κώνους έλικας με θηλυκά νήματα. Αφήστε τα στην άκρη προς το παρόν.

Τώρα βγάλτε τα ESC σας. Η μία πλευρά θα έχει δύο καλώδια που βγαίνουν από αυτό, ένα κόκκινο και ένα μαύρο. Για καθένα από τα τέσσερα ESC, εισάγετε το κόκκινο σύρμα στον θετικό σύνδεσμο στο PDB και το μαύρο στο αρνητικό. Σημειώστε ότι εάν χρησιμοποιείτε διαφορετικό PDB, αυτό το βήμα μπορεί να απαιτεί συγκόλληση. Τώρα συνδέστε καθένα από τα τρία καλώδια που βγαίνουν από κάθε κινητήρα. Σε αυτό το σημείο, δεν έχει σημασία ποιο καλώδιο ESC συνδέετε με ποιο καλώδιο κινητήρα (εφόσον συνδέετε όλα τα καλώδια ενός ESC με τον ίδιο κινητήρα!) Θα διορθώσετε τυχόν αντίστροφη πολικότητα αργότερα. Δεν είναι επικίνδυνο εάν τα καλώδια αντιστραφούν. έχει ως αποτέλεσμα μόνο ο κινητήρας να γυρίζει προς τα πίσω.

Βήμα 4: Προετοιμάστε το Arduino και το Shield

Ετοιμάστε Arduino και Shield
Ετοιμάστε Arduino και Shield
Ετοιμάστε Arduino και Shield
Ετοιμάστε Arduino και Shield

Σημείωση πριν ξεκινήσετε

Πρώτον, μπορείτε να επιλέξετε να κολλήσετε όλα τα καλώδια μαζί απευθείας. Ωστόσο, βρήκαμε ανεκτίμητη τη χρήση κεφαλίδων καρφιτσών επειδή παρέχουν μεγάλη ευελιξία για την αντιμετώπιση προβλημάτων και την προσαρμογή του έργου. Αυτό που ακολουθεί είναι μια περιγραφή του τι κάναμε (και προτείνουμε να το κάνουν άλλοι).

Ετοιμάστε Arduino και ασπίδα

Βγάλτε το Arduino Mega (ή ένα Uno εάν κάνετε το μη αυτόνομο τετράγωνο), την ασπίδα GPS και τις στοιβαζόμενες κεφαλίδες. Συγκολλήστε το αρσενικό άκρο των στοιβαζόμενων κεφαλίδων στη θέση του στην ασπίδα GPS, στις σειρές των ακίδων παράλληλα με τις προ-συγκολλημένες ακίδες, όπως φαίνεται στην παραπάνω εικόνα. Επίσης συγκολλάται σε στοιβαζόμενες κεφαλίδες στη σειρά pin με την ένδειξη 3V, CD,… RX. Χρησιμοποιήστε έναν κόπτη σύρματος για να κόψετε το υπερβολικό μήκος στις καρφίτσες που βγαίνουν από το κάτω μέρος. Τοποθετήστε αρσενικές κεφαλίδες με λυγισμένες κορυφές σε όλες αυτές τις στοιβαζόμενες κεφαλίδες. Σε αυτά θα κολλήσετε σύρματα για τα υπόλοιπα εξαρτήματα.

Συνδέστε την ασπίδα GPS στην κορυφή, βεβαιωθείτε ότι οι ακίδες ταιριάζουν με αυτές στο Arduino (Mega ή Uno). Σημειώστε ότι εάν χρησιμοποιείτε το Mega, πολλά από τα Arduino θα εξακολουθούν να εκτίθενται αφού βάλετε την ασπίδα στη θέση της.

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

Βήμα 5: Ασύρματα στοιχεία και μπαταρία τοποθεσίας (Uno)

Wire Together Components and Place Battery (Uno)
Wire Together Components and Place Battery (Uno)
Wire Together Components and Place Battery (Uno)
Wire Together Components and Place Battery (Uno)
Wire Together Components and Place Battery (Uno)
Wire Together Components and Place Battery (Uno)
Wire Together Components and Place Battery (Uno)
Wire Together Components and Place Battery (Uno)

Το παραπάνω σχήμα είναι σχεδόν πανομοιότυπο με αυτό που έκανε ο Joop Brooking καθώς βασίζαμε σε μεγάλο βαθμό το σχέδιό μας από το δικό του.

*Σημειώστε ότι αυτό το σχήμα υποθέτει μια σωστά τοποθετημένη ασπίδα GPS και επομένως το GPS δεν εμφανίζεται σε αυτό το σχηματικό σχήμα.

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

-Βεβαιωθείτε ότι ο διακόπτης στην ασπίδα GPS έχει αλλάξει σε "Άμεση εγγραφή".

-Τώρα συνδέστε όλα τα εξαρτήματα σύμφωνα με το παραπάνω σχήμα (εκτός από την μπαταρία!) (Σημαντική σημείωση για τα καλώδια δεδομένων GPS παρακάτω).

-Σημειώστε ότι έχετε ήδη συνδέσει τα ESC με τους κινητήρες και το PDB, οπότε αυτό το μέρος του σχηματικού σχεδίου έχει ολοκληρωθεί.

-Περαιτέρω, σημειώστε ότι τα δεδομένα GPS (κίτρινα καλώδια) βγαίνουν από τις ακίδες 0 και 1 στο Arduino (όχι οι ξεχωριστές ακίδες Tx και Rx στο GPS). Αυτό συμβαίνει επειδή έχει ρυθμιστεί σε "Άμεση εγγραφή" (δείτε παρακάτω), το GPS εξέρχεται απευθείας στις σειριακές θύρες υλικού του uno (ακίδες 0 και 1). Αυτό φαίνεται πιο ξεκάθαρα στη δεύτερη παραπάνω εικόνα της πλήρους καλωδίωσης.

-Κατά την καλωδίωση του δέκτη RC, ανατρέξτε στην παραπάνω εικόνα. Παρατηρήστε ότι τα καλώδια δεδομένων μπαίνουν στην επάνω σειρά, ενώ τα Vin και Gnd βρίσκονται στη δεύτερη και την τρίτη σειρά, αντίστοιχα (και στη δεύτερη έως την πιο απομακρυσμένη στήλη ακίδων).

-Για την καλωδίωση του πομποδέκτη HC-12, του δέκτη RC και του 5Vout από το PDB στο Vin του Arduino χρησιμοποιήσαμε στοιβαζόμενες κεφαλίδες, ενώ για το γυροσκόπιο συγκολλήσαμε τα καλώδια απευθείας στον πίνακα και χρησιμοποιώντας σωλήνες θερμοσυρρίκνωσης γύρω από το κόλλα μετάλλων. Μπορείτε να επιλέξετε είτε για οποιοδήποτε από τα εξαρτήματα, ωστόσο η συγκόλληση απευθείας στο γυροσκόπιο συνιστάται καθώς εξοικονομεί χώρο, γεγονός που καθιστά ευκολότερη την τοποθέτηση του μικρού τμήματος. Η χρήση κεφαλίδων είναι μια μικρή ποσότητα περισσότερης εργασίας από πριν, αλλά παρέχει μεγαλύτερη ευελιξία. Η απευθείας συγκόλληση καλωδίων είναι μια πιο ασφαλής σύνδεση μακροπρόθεσμα, αλλά σημαίνει ότι η χρήση αυτού του εξαρτήματος σε άλλο έργο είναι πιο δύσκολη. Λάβετε υπόψη ότι εάν έχετε χρησιμοποιήσει κεφαλίδες στην ασπίδα GPS, εξακολουθείτε να έχετε μια αξιοπρεπή ευελιξία ανεξάρτητα από το τι κάνετε. Βασικά, βεβαιωθείτε ότι τα καλώδια δεδομένων GPS στις ακίδες 0 και 1 του GPS είναι εύκολο να αφαιρεθούν και να αντικατασταθούν.

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

Με όλα συνδεδεμένα και στη θέση τους, πάρτε την μπαταρία LiPo και σύρετέ την ανάμεσα στην επάνω και κάτω πλάκα του πλαισίου. Βεβαιωθείτε ότι ο σύνδεσμός του δείχνει προς την ίδια κατεύθυνση με τον σύνδεσμο του PDB και ότι μπορούν στην πραγματικότητα να συνδεθούν. Χρησιμοποιήσαμε κολλητική ταινία για να κρατήσουμε τη μπαταρία στη θέση της (η ταινία Velcro λειτουργεί επίσης, αλλά είναι πιο ενοχλητική από την κολλητική ταινία). Η κολλητική ταινία λειτουργεί καλά επειδή μπορεί κανείς εύκολα να αντικαταστήσει την μπαταρία ή να την αφαιρέσει για φόρτιση. Ωστόσο, πρέπει να είστε βέβαιοι ότι κολλάτε την μπαταρία ΣΤΕΓΑ, καθώς αν η μπαταρία κινείται κατά τη διάρκεια της πτήσης, αυτό θα μπορούσε να διαταράξει σοβαρά την ισορροπία του drone. ΜΗΝ συνδέσετε ακόμα την μπαταρία στο PDB.

Βήμα 6: Ασύρματα στοιχεία και μπαταρία τοποθεσίας (Mega)

Wire Together Components and Place Battery (Mega)
Wire Together Components and Place Battery (Mega)
Wire Together Components and Place Battery (Mega)
Wire Together Components and Place Battery (Mega)
Wire Together Components and Place Battery (Mega)
Wire Together Components and Place Battery (Mega)

Το παραπάνω σχήμα παρασκευάστηκε χρησιμοποιώντας το λογισμικό Fritzing, το οποίο συνιστάται ιδιαίτερα για σχήματα που περιλαμβάνουν arduino. Χρησιμοποιήσαμε κυρίως γενικά μέρη, καθώς τα μέρη μας γενικά δεν ήταν στη βιβλιοθήκη μερών του Fritzing.

-Σημειώστε ότι αυτό το σχήμα υποθέτει μια σωστά τοποθετημένη ασπίδα GPS και έτσι το GPS δεν εμφανίζεται σε αυτό το σχηματικό σχήμα.

-Γυρίστε το διακόπτη στο Mega 2560 σε "Soft Serial".

-Τώρα συνδέστε όλα τα εξαρτήματα σύμφωνα με το παραπάνω σχήμα (εκτός από την μπαταρία!)

-Σημειώστε ότι έχετε ήδη συνδέσει τα ESC με τους κινητήρες και το PDB, οπότε αυτό το μέρος του σχηματικού σχεδίου έχει ολοκληρωθεί.

-Τα καλώδια βραχυκυκλωτήρων από Pin 8 έως Rx και Pin 7 έως Tx υπάρχουν επειδή (σε αντίθεση με το Uno, για το οποίο κατασκευάστηκε αυτή η ασπίδα), το mega δεν διαθέτει καθολικό ασύγχρονο δέκτη-πομπό (UART) στις ακίδες 7 και 8, και έτσι πρέπει να χρησιμοποιήσουμε σειριακές ακίδες υλικού. Υπάρχουν περισσότεροι λόγοι που χρειαζόμαστε σειριακές ακίδες υλικού, που θα συζητηθούν αργότερα.

-Κατά την καλωδίωση του δέκτη RC, ανατρέξτε στην παραπάνω εικόνα. Παρατηρήστε ότι τα καλώδια δεδομένων μπαίνουν στην επάνω σειρά, ενώ τα Vin και Gnd βρίσκονται στη δεύτερη και την τρίτη σειρά, αντίστοιχα (και στη δεύτερη έως την πιο απομακρυσμένη στήλη ακίδων).

-Για την καλωδίωση του πομποδέκτη HC-12, του δέκτη RC και του 5Vout από το PDB στο Vin του Arduino χρησιμοποιήσαμε στοιβαζόμενες κεφαλίδες, ενώ για το γυροσκόπιο κολλήσαμε τα καλώδια απευθείας και χρησιμοποιώντας σωλήνες θερμοσυρρίκνωσης γύρω από τη συγκόλληση. Μπορείτε να επιλέξετε να κάνετε είτε για οποιοδήποτε από τα συστατικά. Η χρήση κεφαλίδων είναι μια μικρή ποσότητα περισσότερης εργασίας από πριν, αλλά παρέχει μεγαλύτερη ευελιξία. Η απευθείας συγκόλληση καλωδίων είναι μια πιο ασφαλής σύνδεση μακροπρόθεσμα, αλλά σημαίνει ότι η χρήση αυτού του εξαρτήματος σε άλλο έργο είναι πιο δύσκολη. Λάβετε υπόψη ότι εάν έχετε χρησιμοποιήσει κεφαλίδες στην ασπίδα GPS, εξακολουθείτε να έχετε μια αξιοπρεπή ευελιξία ανεξάρτητα από το τι κάνετε.

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

Με όλα συνδεδεμένα και στη θέση τους, πάρτε την μπαταρία LiPo και σύρετέ την ανάμεσα στην επάνω και κάτω πλάκα του πλαισίου. Βεβαιωθείτε ότι ο σύνδεσμός του δείχνει προς την ίδια κατεύθυνση με τον σύνδεσμο του PDB και ότι μπορούν στην πραγματικότητα να συνδεθούν. Χρησιμοποιήσαμε κολλητική ταινία για να κρατήσουμε τη μπαταρία στη θέση της (η ταινία Velcro λειτουργεί επίσης, αλλά είναι πιο ενοχλητική από την κολλητική ταινία). Η κολλητική ταινία λειτουργεί καλά επειδή μπορεί κανείς εύκολα να αντικαταστήσει την μπαταρία ή να την αφαιρέσει για φόρτιση. Ωστόσο, πρέπει να είστε βέβαιοι ότι κολλάτε την μπαταρία ΣΤΕΓΑ, καθώς αν η μπαταρία κινείται κατά τη διάρκεια της πτήσης, αυτό θα μπορούσε να διαταράξει σοβαρά την ισορροπία του drone. ΜΗΝ συνδέσετε ακόμα την μπαταρία στο PDB.

Βήμα 7: Δεσμός δέκτη

Δέκτης δέσμευσης
Δέκτης δέσμευσης
Δέκτης δέσμευσης
Δέκτης δέσμευσης

Πάρτε τον δέκτη RC και συνδέστε τον προσωρινά σε τροφοδοτικό 5V (είτε τροφοδοτώντας το Arduino με USB ή 9V είτε με ξεχωριστό τροφοδοτικό. Μην συνδέετε το LiPo στο Arduino ακόμα). Πάρτε τον συνδετικό πείρο που συνοδεύει τον δέκτη RC και τοποθετήστε τον στις ακίδες BIND του δέκτη. Εναλλακτικά, συντομεύστε τις πάνω και κάτω καρφίτσες στη στήλη BIND όπως φαίνεται στην παραπάνω φωτογραφία. Ένα κόκκινο φως πρέπει να αναβοσβήνει γρήγορα στον δέκτη. Τώρα πάρτε το χειριστήριο και πατήστε το κουμπί στο πίσω μέρος ενώ είναι απενεργοποιημένο, όπως φαίνεται παραπάνω. Με πατημένο το κουμπί, ενεργοποιήστε το χειριστήριο. Τώρα το φως που αναβοσβήνει στο δέκτη πρέπει να γίνει σταθερό. Ο δέκτης είναι δεμένος. Αφαιρέστε το καλώδιο σύνδεσης. Εάν χρησιμοποιούσατε διαφορετικό τροφοδοτικό, επανασυνδέστε τον δέκτη στο 5V έξω από το Arduino.

Βήμα 8: (Προαιρετικό) Συνδέστε μαζί και τοποθετήστε το σύστημα κάμερας FPV

(Προαιρετικό) Συνδέστε μαζί και τοποθετήστε το σύστημα κάμερας FPV
(Προαιρετικό) Συνδέστε μαζί και τοποθετήστε το σύστημα κάμερας FPV
(Προαιρετικά) Συνδέστε μαζί και τοποθετήστε το σύστημα κάμερας FPV
(Προαιρετικά) Συνδέστε μαζί και τοποθετήστε το σύστημα κάμερας FPV

Αρχικά, κολλήστε μαζί τον προσαρμογέα XT-60 με τα καλώδια τροφοδοσίας και γείωσης στην οθόνη. Αυτά μπορεί να διαφέρουν από οθόνη σε οθόνη, αλλά η ισχύς θα είναι σχεδόν πάντα κόκκινη, το έδαφος σχεδόν πάντα μαύρο. Τώρα τοποθετήστε τον προσαρμογέα με συγκολλημένα καλώδια στο 1000mAh LiPo σας με το βύσμα XT-60. Η οθόνη πρέπει να ενεργοποιηθεί με (συνήθως) μπλε φόντο. Αυτό είναι το πιο δύσκολο βήμα!

Τώρα βιδώστε τις κεραίες στον δέκτη και τον πομπό σας.

Συνδέστε το μικρό σας Lipo 500mAh με τον πομπό. Ο πιο δεξιός πείρος (ακριβώς κάτω από την κεραία) είναι γειωμένος (V_) της μπαταρίας, ο επόμενος πείρος στα αριστερά είναι V+. Έρχονται τα τρία καλώδια που πηγαίνουν στην κάμερα. Η κάμερά σας πρέπει να συνοδεύεται από ένα βύσμα 3 σε ένα που ταιριάζει στον πομπό. Βεβαιωθείτε ότι έχετε το κίτρινο καλώδιο δεδομένων στη μέση. Εάν χρησιμοποιήσατε τις μπαταρίες που συνδέσαμε με βύσματα που προορίζονται για αυτό, αυτό το βήμα δεν θα απαιτήσει καμία συγκόλληση.

Τέλος, συνδέστε την άλλη μπαταρία 1000mAh με το καλώδιο DC που συνοδεύει τον δέκτη σας και, στη συνέχεια, συνδέστε το στη θύρα DC του δέκτη σας. Τέλος, συνδέστε το μαύρο άκρο του καλωδίου AVin που συνοδεύει τον δέκτη σας στη θύρα AVin του δέκτη σας και το άλλο (κίτρινο, θηλυκό) άκρο στο κίτρινο αρσενικό άκρο του καλωδίου AVin της οθόνης σας.

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

Τοποθετήστε τα εξαρτήματα στο πλαίσιο.

Μόλις τελειώσει η ρύθμιση, αποσυνδέστε τις μπαταρίες μέχρι να είστε έτοιμοι να πετάξετε.

Βήμα 9: Ρύθμιση λήψης δεδομένων GPS

Ρύθμιση λήψης δεδομένων GPS
Ρύθμιση λήψης δεδομένων GPS
Ρύθμιση λήψης δεδομένων GPS
Ρύθμιση λήψης δεδομένων GPS

Συνδέστε το δεύτερο Arduino σας με τον δεύτερο πομποδέκτη HC-12 όπως φαίνεται στο παραπάνω σχήμα, έχοντας υπόψη ότι η ρύθμιση θα τροφοδοτηθεί μόνο όπως εμφανίζεται αν είναι συνδεδεμένη σε υπολογιστή. Κατεβάστε τον παρεχόμενο κωδικό πομποδέκτη, ανοίξτε τη σειριακή οθόνη σας σε 9600 baud.

Εάν χρησιμοποιείτε την πιο βασική ρύθμιση, θα πρέπει να αρχίσετε να λαμβάνετε προτάσεις GPS εάν η ασπίδα GPS τροφοδοτείται και συνδέεται σωστά με τον άλλο πομποδέκτη HC-12 (και εάν ο διακόπτης της ασπίδας είναι ενεργοποιημένος στην "Άμεση εγγραφή").

Με το Mega, βεβαιωθείτε ότι ο διακόπτης είναι ενεργοποιημένος "Soft Serial".

Βήμα 10: Εκτέλεση κώδικα εγκατάστασης (Uno)

Αυτός ο κώδικας είναι πανομοιότυπος με αυτόν που χρησιμοποίησε ο Joop Brokking στο σεμινάριο του Arduino quadcopter και αξίζει όλα τα εύσημα για τη συγγραφή του.

Με την μπαταρία αποσυνδεδεμένη, χρησιμοποιήστε το καλώδιο USB για να συνδέσετε τον υπολογιστή σας στο Arduino και ανεβάστε τον συνημμένο κωδικό εγκατάστασης. Ενεργοποιήστε τον πομπό RC. Ανοίξτε τη σειριακή οθόνη σας σε 57600 baud και ακολουθήστε τις οδηγίες.

Συνηθισμένα σφάλματα:

Εάν ο κωδικός αποτύχει να μεταφορτωθεί, βεβαιωθείτε ότι οι ακίδες 0 και 1 είναι αποσυνδεδεμένες στην ασπίδα UNO/GPS. Αυτή είναι η ίδια θύρα υλικού που χρησιμοποιεί η συσκευή για επικοινωνία με τον υπολογιστή, οπότε πρέπει να είναι δωρεάν.

Εάν ο κώδικας παραλείψει μια σειρά βημάτων ταυτόχρονα, ελέγξτε ότι ο διακόπτης GPS είναι ενεργοποιημένος στην επιλογή "Άμεση εγγραφή".

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

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

Βήμα 11: Εκτέλεση κώδικα εγκατάστασης (Mega)

Αυτός ο κώδικας είναι πανομοιότυπος με αυτόν που χρησιμοποίησε ο Joop Brokking στο σεμινάριο του Arduino quadcopter και αξίζει όλα τα εύσημα για τη συγγραφή του. Απλώς προσαρμόσαμε την καλωδίωση για το Mega, έτσι ώστε οι είσοδοι του δέκτη να αντιστοιχούν στις σωστές πινέζες διακοπής Pin Change Interrupt.

Με την μπαταρία αποσυνδεδεμένη, χρησιμοποιήστε το καλώδιο USB για να συνδέσετε τον υπολογιστή σας στο Arduino και ανεβάστε τον συνημμένο κωδικό εγκατάστασης. Ανοίξτε τη σειριακή οθόνη σας σε 57600 baud και ακολουθήστε τις οδηγίες.

Βήμα 12: Βαθμονόμηση των ESC (Uno)

Για άλλη μια φορά, αυτός ο κωδικός είναι πανομοιότυπος με τον κώδικα του Joop Brokking. Όλες οι τροποποιήσεις έγιναν σε μια προσπάθεια ενσωμάτωσης του GPS και του Arduino και μπορούν να βρεθούν αργότερα, στην περιγραφή της κατασκευής του πιο προηγμένου τετρακόπτερου.

Ανεβάστε τον συνημμένο κωδικό βαθμονόμησης ESC. Στη σειριακή οθόνη, γράψτε το γράμμα 'r' και πατήστε επιστροφή. Θα πρέπει να αρχίσετε να βλέπετε τις τιμές ελεγκτή RC σε πραγματικό χρόνο. Επαληθεύστε ότι ποικίλλουν από 1000 έως 2000 για τα άκρα του γκαζιού, του ρολού, του βήματος και του χασμουρητού. Στη συνέχεια, γράψτε 'a' και πατήστε επιστροφή. Αφήστε τη βαθμονόμηση γυροσυστήματος και, στη συνέχεια, επαληθεύστε ότι ο γυρογράφος καταγράφει την κίνηση του τετραγώνου. Τώρα ανεβάστε το arduino από τον υπολογιστή, πιέστε το γκάζι μέχρι το χειριστήριο και συνδέστε την μπαταρία. Τα ESC θα πρέπει να κάνουν ποδήλατο διαφορετικούς τόνους μπιπ (αλλά αυτό μπορεί να είναι διαφορετικό ανάλογα με το ESC και το υλικολογισμικό του). Σπρώξτε το γκάζι μέχρι κάτω. Τα ESC θα πρέπει να εκπέμπουν χαμηλότερα μπιπ και μετά να σιωπούν. Αποσυνδέστε την μπαταρία.

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

Βήμα 13: Βαθμονόμηση ESC (Mega)

Αυτός ο κώδικας είναι πολύ παρόμοιος με τον κώδικα του Brokking, ωστόσο τον προσαρμόσαμε (και την αντίστοιχη καλωδίωση) για να συνεργαστεί με το Mega.

Ανεβάστε τον συνημμένο κωδικό βαθμονόμησης ESC. Στη σειριακή οθόνη, γράψτε το γράμμα 'r' και πατήστε επιστροφή. Θα πρέπει να αρχίσετε να βλέπετε τις τιμές ελεγκτή RC σε πραγματικό χρόνο. Βεβαιωθείτε ότι ποικίλλουν από 1000 έως 2000 για τις ακραίες συνθήκες του γκαζιού, του ρολού, του βήματος και του χασμουρητού.

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

Τώρα ανεβάστε το arduino από τον υπολογιστή, πιέστε το γκάζι μέχρι το χειριστήριο και συνδέστε την μπαταρία. Τα ESC θα πρέπει να εκπέμπουν τρία χαμηλά μπιπ ακολουθούμενα από ένα υψηλό μπιπ (αλλά αυτό μπορεί να διαφέρει ανάλογα με το ESC και το υλικολογισμικό του). Σπρώξτε το γκάζι μέχρι κάτω. Αποσυνδέστε την μπαταρία.

Οι αλλαγές που κάναμε σε αυτόν τον κώδικα ήταν να αλλάξουμε από τη χρήση του PORTD για τις ακίδες ESC σε χρήση του PORTA και στη συνέχεια την αλλαγή των byte που γράφονται σε αυτές τις θύρες, έτσι ώστε να ενεργοποιήσουμε τους κατάλληλους πείρους όπως φαίνεται στο σχήμα καλωδίωσης. Αυτή η αλλαγή οφείλεται στο ότι οι καρφίτσες μητρώου PORTD δεν βρίσκονται στην ίδια θέση στο Mega με αυτές στο Uno. Δεν καταφέραμε να δοκιμάσουμε πλήρως αυτόν τον κωδικό, καθώς εργαζόμασταν με ένα παλιό Mega εκτός εμπορικού σήματος που είχε το κατάστημα του σχολείου μας. Αυτό σήμαινε ότι για κάποιο λόγο δεν ήταν σε θέση όλοι οι ακροδέκτες PORTA να ενεργοποιήσουν σωστά τα ESC. Είχαμε επίσης πρόβλημα με τη χρήση του τελεστή ή ίσο (| =) σε ορισμένους από τους κώδικες δοκιμής μας. Δεν είμαστε σίγουροι για ποιο λόγο αυτό δημιουργούσε προβλήματα κατά την εγγραφή των byte για τη ρύθμιση των τάσεων των ακίδων ESC, οπότε τροποποιήσαμε τον κώδικα του Brooking όσο το δυνατόν λιγότερο. Πιστεύουμε ότι αυτός ο κώδικας είναι πολύ κοντά στο λειτουργικό, αλλά τα χιλιόμετρα σας μπορεί να διαφέρουν.

Βήμα 14: Αποκτήστε αερομεταφορά !! (ΟΗΕ)

Και πάλι, αυτό το τρίτο κομμάτι ιδιοφυούς κώδικα είναι έργο του Joop Brokking. Αλλαγές και στα τρία αυτά κομμάτια κώδικα υπάρχουν μόνο στην προσπάθειά μας για ενσωμάτωση των δεδομένων GPS στο Arduino.

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

Βγάλτε το quadcopter σας έξω, συνδέστε την μπαταρία και ενεργοποιήστε τον πομπό σας. Προαιρετικά, φέρτε μαζί σας έναν φορητό υπολογιστή που είναι συνδεδεμένος στη ρύθμιση λήψης GPS, καθώς και τη ρύθμιση και την οθόνη λήψης βίντεο. Φορτώστε τον κωδικό πομποδέκτη στο επίγειο Arduino σας, ανοίξτε τη σειριακή οθόνη σας σε 9600 baud και παρακολουθήστε την εισαγωγή δεδομένων GPS.

Τώρα είστε έτοιμοι να πετάξετε. Σπρώξτε το γκάζι προς τα κάτω και χτυπήστε αριστερά για να οπλίσετε το τετράπτερο και, στη συνέχεια, ανεβάστε απαλά το γκάζι για να αιωρείται. Ξεκινήστε πετώντας χαμηλά στο έδαφος και πάνω από μαλακές επιφάνειες όπως το γρασίδι μέχρι να νιώσετε άνετα.

Δείτε το ενσωματωμένο βίντεο που μας φέρνει ενθουσιασμένο το drone την πρώτη φορά που καταφέραμε να λειτουργήσει ταυτόχρονα το drone και το GPS.

Βήμα 15: Αερομεταφερόμαστε !! (Mega)

Λόγω της σύνδεσης με τον κωδικό βαθμονόμησης ESC για το Mega, δεν καταφέραμε ποτέ να δημιουργήσουμε κωδικό ελεγκτή πτήσης για αυτόν τον πίνακα. Εάν έχετε φτάσει σε αυτό το σημείο, τότε φαντάζομαι ότι έχετε τουλάχιστον μπλέξει με τον κωδικό βαθμονόμησης ESC για να το κάνετε να λειτουργεί για το Mega. Επομένως, πιθανότατα θα πρέπει να κάνετε παρόμοιες τροποποιήσεις στον κωδικό του χειριστηρίου πτήσης όπως κάνατε στο τελευταίο βήμα. Εάν ο κωδικός βαθμονόμησης ESC για το Mega λειτουργεί μαγικά χωρίς άλλες τροποποιήσεις, τότε υπάρχουν μόνο μερικά πράγματα που θα πρέπει να κάνετε στον κωδικό αποθέματος για να λειτουργήσει σε αυτό το βήμα. Θα πρέπει πρώτα να περάσετε και να αντικαταστήσετε όλες τις περιπτώσεις PORTD με PORTA. Επίσης, μην ξεχάσετε να αλλάξετε το DDRD σε DDRA. Στη συνέχεια, θα πρέπει να αλλάξετε όλα τα byte που γράφονται στο μητρώο PORTA, έτσι ώστε να ενεργοποιούν τις κατάλληλες ακίδες. Για να το κάνετε αυτό, χρησιμοποιήστε το byte B11000011 για να ορίσετε τους πείρους σε υψηλό και B00111100 για να ορίσετε τους πείρους σε χαμηλό. Καλή τύχη και ενημερώστε μας αν πετάτε με επιτυχία χρησιμοποιώντας ένα Mega!

Βήμα 16: Πώς φτάσαμε εκεί που είμαστε τώρα με το Mega Design

Αυτό το έργο ήταν μια τεράστια εμπειρία μάθησης για εμάς ως αρχάριους Arduino και ηλεκτρονικών χόμπι. Ως εκ τούτου, θα θέλαμε να συμπεριλάβουμε το έπος όλων όσων συναντήσαμε κατά την προσπάθεια ενεργοποίησης GPS του κώδικα του Joop Brokking. Επειδή ο κώδικας του Brokking είναι τόσο εμπεριστατωμένος και πολύ πιο περίπλοκος από οτιδήποτε γράφαμε, αποφασίσαμε να τον τροποποιήσουμε όσο το δυνατόν λιγότερο. Προσπαθήσαμε να πάρουμε την ασπίδα GPS για να στείλει δεδομένα στο Arduino και, στη συνέχεια, να μας στείλει το Arduino αυτές τις πληροφορίες μέσω του πομποδέκτη HC12 χωρίς να τροποποιήσουμε τον κωδικό πτήσης ή την καλωδίωση με οποιονδήποτε τρόπο. Αφού εξετάσαμε τα σχήματα και την καλωδίωση του Arduino Uno για να καταλάβουμε ποιες καρφίτσες ήταν διαθέσιμες, αλλάξαμε τον κωδικό πομποδέκτη GPS που χρησιμοποιούσαμε για να λειτουργήσουμε γύρω από τον υπάρχοντα σχεδιασμό. Στη συνέχεια το δοκιμάσαμε για να βεβαιωθούμε ότι όλα λειτούργησαν. Σε αυτό το σημείο, τα πράγματα φαίνονταν πολλά υποσχόμενα.

Το επόμενο βήμα ήταν να ενσωματώσουμε τον κώδικα που μόλις τροποποιήσαμε και δοκιμάσαμε με τον ελεγκτή πτήσης του Brokking. Αυτό δεν ήταν πολύ δύσκολο, αλλά γρήγορα αντιμετωπίσαμε ένα σφάλμα. Ο ελεγκτής πτήσης του Brokking βασίζεται στις βιβλιοθήκες Arduino Wire και EEPROM ενώ ο κωδικός GPS μας χρησιμοποιούσε τόσο τη βιβλιοθήκη σειριακού λογισμικού όσο και τη βιβλιοθήκη GPS Arduino. Επειδή η βιβλιοθήκη καλωδίων παραπέμπει στη βιβλιοθήκη σειριακού λογισμικού, αντιμετωπίσαμε ένα σφάλμα όπου ο κώδικας δεν θα μεταγλωττιζόταν επειδή υπήρχαν "πολλαπλοί ορισμοί για το _vector 3_", ό, τι και αν σημαίνει αυτό. Αφού ψάξαμε στο Google και ψάξαμε στις βιβλιοθήκες, τελικά συνειδητοποιήσαμε ότι αυτή η σύγκρουση βιβλιοθηκών καθιστούσε αδύνατη τη χρήση αυτών των τμημάτων κώδικα μαζί. Έτσι, ψάξαμε για εναλλακτικές λύσεις.

Αυτό που καταλάβαμε είναι ότι ο μόνος συνδυασμός βιβλιοθηκών που δεν μας έριξαν λάθος ήταν η εναλλαγή της τυπικής βιβλιοθήκης GPS σε neoGPS και στη συνέχεια η χρήση AltSoftSerial αντί του Σειρά λογισμικού. Αυτός ο συνδυασμός λειτούργησε, ωστόσο, το AltSoftSerial μπορεί να λειτουργήσει μόνο με συγκεκριμένες ακίδες, οι οποίες δεν ήταν διαθέσιμες στο σχεδιασμό μας. Αυτό είναι που μας οδήγησε στη χρήση του Mega. Το Arduino Megas διαθέτει πολλαπλές σειριακές θύρες υλικού, πράγμα που σήμαινε ότι θα μπορούσαμε να παρακάμψουμε αυτήν τη σύγκρουση βιβλιοθήκης χωρίς να χρειαστεί να ανοίξουμε καθόλου σειριακές θύρες λογισμικού.

Ωστόσο, όταν ξεκινήσαμε να χρησιμοποιούμε το Mega, συνειδητοποιήσαμε γρήγορα ότι η διαμόρφωση των ακίδων ήταν διαφορετική. Οι καρφίτσες στο Uno που έχουν διακοπές είναι διαφορετικές στο Mega. Ομοίως, οι καρφίτσες SDA και SCL βρίσκονταν σε διαφορετικές θέσεις. Αφού μελετήσαμε τα διαγράμματα καρφιτσών για κάθε τύπο Arduino και αναφέραμε τους καταχωρητές που καλούνται στον κώδικα, μπορέσαμε να εκτελέσουμε τον κωδικό ρύθμισης πτήσης με ελάχιστη μόνο επανασύνδεση και καμία αλλαγή λογισμικού.

Ο κώδικας βαθμονόμησης ESC είναι εκεί που αρχίσαμε να αντιμετωπίζουμε προβλήματα. Αγγίξαμε αυτό σύντομα πριν, αλλά βασικά ο κώδικας χρησιμοποιεί καταχωρητές καρφιτσών για τη ρύθμιση των ακίδων που χρησιμοποιούνται για τον έλεγχο των ESC. Αυτό καθιστά τον κώδικα πιο δύσκολο να διαβαστεί από τη χρήση της τυπικής συνάρτησης pinMode (). Ωστόσο, κάνει τον κώδικα να τρέχει γρηγορότερα και να ενεργοποιεί ταυτόχρονα τις ακίδες. Αυτό είναι σημαντικό επειδή ο κωδικός πτήσης εκτελείται σε έναν προσεκτικά χρονομετρημένο βρόχο. Λόγω των διαφορών των καρφιτσών μεταξύ του Arduinos, αποφασίσαμε να χρησιμοποιήσουμε τον καταχωρητή θύρας A στο Mega. Ωστόσο, κατά τη δοκιμή μας, δεν μας έδωσαν όλες οι ακίδες την ίδια τάση εξόδου όταν τους είπα να λειτουργούν υψηλά. Μερικές από τις καρφίτσες είχαν έξοδο περίπου 4.90V και άλλες μας έδωσαν πιο κοντά στα 4.95V. Προφανώς τα ESC που έχουμε είναι κάπως ασταθή, και έτσι θα λειτουργούσαν σωστά μόνο όταν χρησιμοποιούσαμε τους πείρους με υψηλότερη τάση. Αυτό στη συνέχεια μας ανάγκασε να αλλάξουμε τα byte που γράψαμε για να καταχωρήσουμε το A έτσι ώστε να μιλάμε στις σωστές ακίδες. Υπάρχουν περισσότερες πληροφορίες σχετικά με αυτό στην ενότητα βαθμονόμησης ESC.

Αυτό είναι περίπου όσο φτάσαμε σε αυτό το μέρος του έργου. Όταν πήγαμε να δοκιμάσουμε αυτόν τον τροποποιημένο κωδικό βαθμονόμησης ESC, κάτι βραχυκύκλωσε και χάσαμε την επικοινωνία με το Arduino μας. Wereμασταν εξαιρετικά μπερδεμένοι με αυτό επειδή δεν είχαμε αλλάξει καμία καλωδίωση. Αυτό μας ανάγκασε να κάνουμε πίσω και να συνειδητοποιήσουμε ότι είχαμε μόνο μερικές μέρες για να πάρουμε ένα ιπτάμενο drone μετά από εβδομάδες προσπάθειας να ταιριάξουμε τα ασύμβατα κομμάτια μας μαζί. Αυτός είναι ο λόγος που υποχωρήσαμε και δημιουργήσαμε το απλούστερο έργο με το Uno. Ωστόσο, εξακολουθούμε να πιστεύουμε ότι η προσέγγισή μας είναι κοντά στη συνεργασία με το Mega με λίγο περισσότερο χρόνο.

Ο στόχος μας είναι ότι αυτή η εξήγηση των εμποδίων που συναντήσαμε είναι χρήσιμη για εσάς εάν εργάζεστε για την τροποποίηση του κώδικα του Brokking. Επίσης, δεν είχαμε ποτέ την ευκαιρία να δοκιμάσουμε την κωδικοποίηση οποιωνδήποτε λειτουργιών αυτόνομου ελέγχου με βάση το GPS. Αυτό είναι κάτι που θα χρειαστεί να καταλάβετε αφού δημιουργήσετε ένα drone εργασίας με ένα Mega. Ωστόσο, από ορισμένες προκαταρκτικές έρευνες της Google φαίνεται ότι η εφαρμογή ενός φίλτρου Kalman μπορεί να είναι ο πιο σταθερός και ακριβής τρόπος για τον προσδιορισμό της θέσης στην πτήση. Σας προτείνουμε να ερευνήσετε λίγο για το πώς αυτός ο αλγόριθμος βελτιστοποιεί τις εκτιμήσεις κατάστασης. Εκτός από αυτό, καλή τύχη και ενημερώστε μας αν προχωρήσετε περισσότερο από ό, τι μπορούσαμε!

Συνιστάται: