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

PID Line Follower Atmega328P: 4 βήματα
PID Line Follower Atmega328P: 4 βήματα

Βίντεο: PID Line Follower Atmega328P: 4 βήματα

Βίντεο: PID Line Follower Atmega328P: 4 βήματα
Βίντεο: DIY Fast PID line follower with code **PART 2** 2024, Νοέμβριος
Anonim
Image
Image

ΕΙΣΑΓΩΓΗ

Αυτό το διδακτικό είναι για τη δημιουργία ενός αποτελεσματικού και αξιόπιστου Line Follower με PID (αναλογικό-ολοκληρωτικό-παράγωγο) Control (Mathematical) που τρέχει μέσα στον εγκέφαλό του (Atmega328P).

Το Line follower είναι ένα αυτόνομο ρομπότ που ακολουθεί είτε μαύρη γραμμή σε λευκό χρώμα είτε λευκή γραμμή σε μαύρη περιοχή. Το ρομπότ πρέπει να είναι σε θέση να ανιχνεύσει συγκεκριμένη γραμμή και να συνεχίσει να την ακολουθεί.

Έτσι, θα υπάρχουν λίγα μέρη/βήματα για να φτιάξετε έναν LINE FOLLOWER Θα τα συζητήσω όλα βήμα προς βήμα.

  1. Αισθητήρας (Μάτι για να δείτε τη γραμμή)
  2. Μικροελεγκτής (Εγκέφαλος για υπολογισμούς)
  3. Κινητήρες (Ισχύς μυών)
  4. Οδηγός κινητήρα
  5. Σασί
  6. Μπαταρία (Πηγή ενέργειας)
  7. Ρόδα
  8. Διάφορα

Εδώ είναι το ΒΙΝΤΕΟ ΤΗΣ ΓΡΑΜΜΗΣ ΑΚΟΛΟΥΘΟΥ

ΣΤΑ ΕΠΟΜΕΝΑ ΒΗΜΑΤΑ ΘΑ ΣΥΖΗΤΗΣΩ ΣΕ ΛΕΠΤΟΜΕΡΕΙΕΣ ΓΙΑ ΚΑΘΕ ΣΥΣΤΑΤΙΚΟ

Βήμα 1: Αισθητήρας (Μάτι) QTR 8RC

Αισθητήρας (Μάτι) QTR 8RC
Αισθητήρας (Μάτι) QTR 8RC
Αισθητήρας (Μάτι) QTR 8RC
Αισθητήρας (Μάτι) QTR 8RC
Αισθητήρας (Μάτι) QTR 8RC
Αισθητήρας (Μάτι) QTR 8RC

Χάρη στην Pololufor που κατασκευάζει αυτόν τον φοβερό αισθητήρα.

Η μονάδα είναι ένας βολικός φορέας για οκτώ ζεύγη πομπού IR και δέκτη (φωτοτρανζίστορ) ομοιόμορφα μεταξύ τους σε διαστήματα 0.375 (9.525 mm). Για να χρησιμοποιήσετε έναν αισθητήρα, πρέπει πρώτα να φορτίσετε τον κόμβο εξόδου (Φόρτιση του πυκνωτή) εφαρμόζοντας μια τάση Μπορείτε να διαβάσετε την ανάκλαση αφαιρώντας την εξωτερική τάση και χρονίζοντας πόσο καιρό χρειάζεται η τάση εξόδου για να χαλάσει λόγω του ενσωματωμένου φωτοτρανζίστορ. Ο μικρότερος χρόνος αποσύνθεσης είναι ένδειξη μεγαλύτερης αντανάκλασης. Αυτή η προσέγγιση μέτρησης έχει πολλά πλεονεκτήματα, ειδικά όταν συνδυάζεται με τη δυνατότητα της μονάδας QTR-8RC να απενεργοποιεί την τροφοδοσία LED:

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

Προδιαγραφές

  • Διαστάσεις: 2,95 "x 0,5" x 0,125 "(χωρίς εγκατεστημένες ακίδες κεφαλίδας)
  • Τάση λειτουργίας: 3,3-5,0 V
  • Ρεύμα τροφοδοσίας: 100 mA
  • Μορφή εξόδου: 8 ψηφιακά συμβατά σήματα εισόδου/εξόδου που μπορούν να διαβαστούν ως χρονομετρημένος υψηλός παλμός
  • Βέλτιστη απόσταση ανίχνευσης: 0,125 "(3 mm) Μέγιστη συνιστώμενη απόσταση ανίχνευσης: 0,375" (9,5 mm)
  • Βάρος χωρίς καρφίτσες κεφαλίδας: 0,11 ουγκιές (3,09 g)

Διασύνδεση των εξόδων QTR-8RC σε ψηφιακές γραμμές εισόδου/εξόδου

Η μονάδα QTR-8RC έχει οκτώ πανομοιότυπες εξόδους αισθητήρα που, όπως και το Parallax QTI, απαιτούν ψηφιακή γραμμή εισόδου/εξόδου ικανή να οδηγήσει τη γραμμή εξόδου ψηλά και στη συνέχεια να μετρήσει το χρόνο για να χαλάσει η τάση εξόδου. Η τυπική ακολουθία για την ανάγνωση ενός αισθητήρα είναι:

  1. Ενεργοποιήστε τα LED LED (προαιρετικά).
  2. Ρυθμίστε τη γραμμή εισόδου/εξόδου σε έξοδο και οδηγήστε την ψηλά.
  3. Αφήστε τουλάχιστον 10 μs να ανέβει η έξοδος του αισθητήρα.
  4. Κάντε τη γραμμή εισόδου/εξόδου είσοδο (υψηλή σύνθετη αντίσταση).
  5. Μετρήστε το χρόνο για να χαλάσει η τάση περιμένοντας να χαμηλώσει η γραμμή εισόδου/εξόδου.
  6. Απενεργοποιήστε τα LED LED (προαιρετικά).

Αυτά τα βήματα μπορούν συνήθως να εκτελεστούν παράλληλα σε πολλές γραμμές εισόδου/εξόδου.

Με ισχυρή ανάκλαση, ο χρόνος αποσύνθεσης μπορεί να είναι τόσο χαμηλός όσο μερικές δεκάδες μικροδευτερόλεπτα. χωρίς ανάκλαση, ο χρόνος αποσύνθεσης μπορεί να είναι έως και μερικά χιλιοστά του δευτερολέπτου. Ο ακριβής χρόνος αποσύνθεσης εξαρτάται από τα χαρακτηριστικά γραμμής εισόδου/εξόδου του μικροελεγκτή σας. Σημαντικά αποτελέσματα μπορούν να είναι διαθέσιμα εντός 1 ms σε τυπικές περιπτώσεις (δηλαδή όταν δεν προσπαθείτε να μετρήσετε λεπτές διαφορές σε σενάρια χαμηλής ανάκλασης), επιτρέποντας δειγματοληψία έως και 1 kHz και των 8 αισθητήρων. Εάν η δειγματοληψία χαμηλότερης συχνότητας είναι επαρκής, μπορεί να επιτευχθεί σημαντική εξοικονόμηση ενέργειας με την απενεργοποίηση των LED. Για παράδειγμα, εάν είναι αποδεκτός ρυθμός δειγματοληψίας 100 Hz, οι λυχνίες LED μπορούν να σβήσουν το 90% του χρόνου, μειώνοντας τη μέση κατανάλωση ρεύματος από 100 mA σε 10 mA.

Βήμα 2: Μικροελεγκτής (Εγκέφαλος) Atmega328P

Μικροελεγκτής (Εγκέφαλος) Atmega328P
Μικροελεγκτής (Εγκέφαλος) Atmega328P
Μικροελεγκτής (Εγκέφαλος) Atmega328P
Μικροελεγκτής (Εγκέφαλος) Atmega328P

Χάρη στηνAtmel CorporationFor Manufacturing this Awesome Microcontroller AKA Atmega328.

Βασικές παράμετροι για το ATmega328P

Τιμή παραμέτρου

  • Flash (Kbytes): 32 Kbytes
  • Αριθμός καρφιτσών: 32
  • Μέγιστη. Συχνότητα λειτουργίας. (MHz): 20 MHz
  • CPU: AVR 8-bit
  • Μέγιστες ακίδες εισόδου/εξόδου: 23
  • Ext διακοπές: 24
  • SPI: 2
  • TWI (I2C): 1
  • UART: 1
  • Κανάλια ADC: 8
  • Ανάλυση ADC (bits): 10
  • SRAM (Kbytes): 2
  • EEPROM (Bytes): 1024
  • Κατηγορία προμήθειας εισόδου/εξόδου: 1,8 έως 5,5
  • Τάση λειτουργίας (Vcc): 1,8 έως 5,5
  • Χρονόμετρα: 3

Για Λεπτομερείς Πληροφορίες, ανατρέξτε στο Φύλλο Δεδομένων του Atmega328P.

Σε αυτό το έργο χρησιμοποιώ το Atmega328P για Λίγους Λόγους

  1. Φτηνός
  2. Έχει αρκετή μνήμη RAM για υπολογισμούς
  3. Επαρκείς ακίδες εισόδου/εξόδου για αυτό το έργο
  4. Το Atmega328P χρησιμοποιείται στο Arduino…. Μπορεί να παρατηρήσετε στην εικόνα και το βίντεο ένα Arduino Uno, αλλά το βράδυ χρησιμοποιώ Arduino IDE ή οποιοδήποτε Arduino.. Έχω χρησιμοποιήσει μόνο το υλικό ως πίνακα διασύνδεσης. Έχω διαγράψει το bootloader και χρησιμοποιώ USB ASP για τον προγραμματισμό του τσιπ.

Για τον προγραμματισμό του τσιπ έχω χρησιμοποιήσει το Atmel Studio 6

Όλος ο ΚΩΔΙΚΟΣ ΠΗΓΗΣ ΕΙΝΑΙ ΣΤΟ GitHub Κατεβάστε το και ελέγξτε το αρχείο test.c.

Για να μεταγλωττίσετε αυτό το πακέτο πρέπει να κατεβάσετε και να εγκαταστήσετε το POLOLU AVR LIBRARY SETUP Ελέγξτε τα συνημμένα…

ΑΝΕΒΑΖΩ επίσης ένα σχηματικό και επιτραπέζιο αρχείο πίνακα ανάπτυξης Atmega328P… Μπορείτε να το κατασκευάσετε μόνοι σας…

Βήμα 3: Μηχανή και πρόγραμμα οδήγησης

Κινητήρας και οδηγός μηχανών
Κινητήρας και οδηγός μηχανών
Κινητήρας και οδηγός μηχανών
Κινητήρας και οδηγός μηχανών
Κινητήρας και οδηγός μηχανών
Κινητήρας και οδηγός μηχανών

Έχω χρησιμοποιήσει 350RPM 12V BO Type Geared DC μοτέρ ως ενεργοποιητή. Για περισσότερες πληροφορίες… MOTOR LINK

Ως οδηγός κινητήρα έχω χρησιμοποιήσει το L293D H-bridge IC.

Επισυνάπτω το Schematic and Board File για το ίδιο.

Βήμα 4: Πλαίσιο και Διάφορα

Πλαίσιο και Διάφορα
Πλαίσιο και Διάφορα
Πλαίσιο και Διάφορα
Πλαίσιο και Διάφορα
Πλαίσιο και Διάφορα
Πλαίσιο και Διάφορα

Το Bot είναι φτιαγμένο από ξύλο στρώσης πάχους 6mm.

Συνιστάται: