- Απαιτούμενα στοιχεία
- Διάγραμμα καρφιτσών του Atmega328
- Περιγραφές συστατικών
- Μέρος-1: Δημιουργία του κυκλώματος Arduino στο Breadboard
- Μέρος-2: Εγγραφή του Bootloader σε Atmega328 IC
- Μέρος-3: Τρόπος προγραμματισμού του Arduino Bootloader που ανέβασε το Atmega 328
- Προγραμματισμός Chip Atmega328 χρησιμοποιώντας την πλακέτα Arduino
- Προγραμματισμός του Arduino Atmega328 Chip χρησιμοποιώντας μετατροπέα USB σε Serial
Όλοι γνωρίζουμε ότι, το Atmega328 IC χρησιμοποιείται στο Arduino UNO board. Αυτό το IC είναι ο εγκέφαλος του πίνακα Arduino. Στην πραγματικότητα, οι σχεδιαστές του Arduino ήθελαν να φτιάξουν μια πρακτική πλακέτα για αρχάριους, οπότε οργάνωσαν όλα τα εξαρτήματα με τέτοιο τρόπο ώστε οποιοσδήποτε να έχει πρόσβαση σε όλες τις καρφίτσες του Atmega328 IC και να το προγραμματίζει μόνο συνδέοντάς τον με υπολογιστή. Το Arduino board είναι πολύ δημοφιλές για την κατασκευή έργων χόμπι. Όμως, σε βιομηχανικά ή καταναλωτικά προϊόντα δεν είναι καλή ιδέα να χρησιμοποιήσουμε την πλήρη πλακέτα Arduino, οπότε μπορούμε να χρησιμοποιήσουμε αυτόνομο Atmega328 IC, το οποίο μπορεί να προγραμματιστεί με το Arduino IDE αλλά χωρίς τη χρήση της πλακέτας Arduino.
Σε αυτό το σεμινάριο, θα δούμε πώς αντικαθιστούμε τον πίνακα Arduino με το Atmega328 IC και με λίγα άλλα στοιχεία. Για τη χρήση του Atmega328 IC αντί του arduino, πρώτα πρέπει να κάψουμε το Arduino Bootloader σε αυτό και μετά θα το προγραμματίσουμε χρησιμοποιώντας το FTDI ή χρησιμοποιώντας το Arduino Board. Αυτό το σεμινάριο θα βοηθήσει επίσης στην αντικατάσταση κατεστραμμένου Atmega328 IC από την πλακέτα Arduino. Επίσης, χρησιμοποιώντας το κύκλωμα που περιγράφεται παρακάτω, μπορείτε να δημιουργήσετε τη δική σας πλακέτα Arduino αντιγράφοντάς την σε PCB.
Απαιτούμενα στοιχεία
- Atmega 328 IC
- Ψωμί
- LM7805
- 16 MHz Crystal
- Κεραμικοί πυκνωτές 22pF (2)
- Πυκνωτής 10uF (2)
- 10 K αντίσταση
- 1 k αντίσταση
- Καλώδια αλτών
Προαιρετικά, μπορείτε επίσης να χρησιμοποιήσετε τον ρυθμιστή τάσης 3.3V LM1117-3.3v για να συμπεριλάβετε τη ράγα 3.3v στο κύκλωμα σας.
Διάγραμμα καρφιτσών του Atmega328
Περιγραφές συστατικών
Τροφοδοτικό
- Ρυθμιστής τάσης 5V: Το Atmega 328 IC λειτουργεί με τροφοδοσία 5V. Εδώ, χρησιμοποιούμε το LM7805 για να έχουμε έξοδο 5v, μπορεί να χειριστεί έως και 30V ως είσοδο. Εάν έχετε ξεχωριστή τροφοδοσία 5V, τότε μπορείτε να αφήσετε αυτό το βήμα.
- Πυκνωτές: Ο πυκνωτής 10uF χρησιμοποιείται στο μέρος εισόδου και εξόδου του 7805 για να παρακάμψει οποιοδήποτε στοιχείο AC στη γείωση.
- LED: Αυτό θα σας δείξει ότι η έξοδος 5V σας έρχεται.
Μέρος μικροελεγκτή-
- Atmega 328: Αυτό είναι το κύριο συστατικό μας στο breadboard. Το διάγραμμα καρφιτσών του δίνεται παραπάνω.
- Κρυσταλλικός ταλαντωτής: Ένας εξωτερικός κρύσταλλος 16MHz συνδέεται μεταξύ του Pin 9 και του Pin 10 του ATmega328. Αυτός ο κρύσταλλος χρησιμοποιείται για να δώσει ρολόι στον μικροελεγκτή για την εκτέλεση των εργασιών γρηγορότερα.
- Κουμπί Push: Για να επαναφέρετε τον μικροελεγκτή, ένα μπουτόν συνδέεται μεταξύ του ακροδέκτη 1 και του GND. Κανονικά, συνδέεται με 5v χρησιμοποιώντας αντίσταση 10k.
- LED: Ένα LED συνδέεται με ψηφιακό πείρο 13.
Αυτό το πλήρες σεμινάριο χωρίζεται σε τρία μέρη για να κάνετε το δικό σας Arduino να λειτουργεί σε breadboard:
- Χτίζοντας το Arduino Circuit στο Breadboard
- Εγγραφή του Bootloader σε Atmega328 IC
- Πώς να προγραμματίσετε το Arduino Bootloader ανέβασε το Atmega 328 IC στο breadboard.
Τώρα θα εξηγήσουμε κάθε μέρος ένα προς ένα.
Μέρος-1: Δημιουργία του κυκλώματος Arduino στο Breadboard
Βήμα 1: - Συνδέστε το Τροφοδοτικό όπως φαίνεται στο διάγραμμα κυκλώματος και δοκιμάστε το χρησιμοποιώντας εξωτερική τροφοδοσία στο LM7805. Θα μοιάζει με αυτό.
Βήμα 2: - Τώρα, συνδέστε το τμήμα μικροελεγκτή όπως φαίνεται στο διάγραμμα κυκλώματος. Κάντε τις συνδέσεις προσεκτικά.
Βήμα 3: - Τώρα, συνδέστε το τροφοδοτικό και το τμήμα μικροελεγκτή χρησιμοποιώντας άλτες. Το τελικό σας κύκλωμα θα μοιάζει με αυτό.
Αυτό είναι λοιπόν το Arduino μας στο breadboard. Μπορείτε να εφαρμόσετε το ίδιο κύκλωμα στο PCB χρησιμοποιώντας απλά εργαλεία όπως το EasyEDA κ.λπ. Τώρα, πρέπει να ανεβάσετε το bootloader στο νέο Atmega 328 IC, ώστε να μπορέσουμε να αρχίσουμε να προγραμματίζουμε το IC.
Μέρος-2: Εγγραφή του Bootloader σε Atmega328 IC
Τι είναι το bootloader και γιατί το χρειαζόμαστε;;
Το Bootloader είναι ένα μικρό κομμάτι εκτελέσιμου κώδικα που αποθηκεύεται μόνιμα στη μνήμη του μικροελεγκτή. Αυτό καταλαμβάνει λιγότερο από 1Kb μνήμης. Το Bootloader επιτρέπει στο IC να δέχεται τον κωδικό από τον υπολογιστή και να τον τοποθετεί στη μνήμη του μικροελεγκτή.
Παραδοσιακά, όλοι οι μικροελεγκτές της Atmel προγραμματίζονται με τη βοήθεια προγραμματιστών που έχουν κάποιες φανταχτερές συνδέσεις. Οι bootloaders μειώνουν την πολυπλοκότητα και μας επιτρέπουν με έναν εύκολο και αποτελεσματικό τρόπο προγραμματισμού του μικροελεγκτή. Αυτό σημαίνει ότι μπορείτε να το προγραμματίσετε μόνο χρησιμοποιώντας ένα καλώδιο USB.
Όταν αγοράζετε ένα νέο Atmega 328 από την αγορά, δεν διαθέτει bootloader σε αυτό. Έτσι, για να προγραμματίσετε το Atmega328 χρησιμοποιώντας το Arduino IDE πρέπει πρώτα να ανεβάσετε το bootloader.
Για να ανεβάσετε το Bootloader, έχουμε δύο μεθόδους:
- Χρήση προγραμματιστή USBasp
- Χρήση του πίνακα Arduino UNO
Η δεύτερη μέθοδος είναι ευκολότερη σε σύγκριση με την πρώτη. Επειδή απαιτεί λιγότερες συνδέσεις και επίσης η τελευταία έκδοση του Arduino IDE δεν υποστηρίζει τους φανταχτερούς προγραμματιστές USBasp.
Έτσι, σε αυτό το σεμινάριο θα ανεβάσουμε το bootloader χρησιμοποιώντας τον πίνακα Arduino Uno.
Ανεβάστε το Arduino Bootloader στο Atmega328 Chip
Βήμα 1: - Ανοίξτε το Arduino IDE. Μεταβείτε στο Αρχείο -> Παραδείγματα -> ArduinoISP . Από ό, τι επιλέξτε ArduinoISP. Οπως φαίνεται παρακάτω.
Βήμα 2: - Τώρα, πρέπει να ανεβάσετε αυτόν τον κωδικό στην πλακέτα Arduino. Επιλέξτε τη θύρα και την πλακέτα από το μενού εργαλείων και πατήστε το κουμπί μεταφόρτωσης.
Βήμα 3: - Μετά την « Ολοκλήρωση μεταφόρτωσης» , αποσυνδέστε την πλακέτα Arduino από τον υπολογιστή και πραγματοποιήστε τις συνδέσεις της πλακέτας Arduino με το Atmega 328, όπως φαίνεται στο παρακάτω διάγραμμα.
Βήμα 4: - Τώρα, συνδέστε την πλακέτα Arduino με τον υπολογιστή. Ανοίξτε το Arduino IDE.
Μεταβείτε στα Εργαλεία, Επιλέξτε πλακέτα ως Arduino / Genuine Uno, Επιλέξτε τη σωστή θύρα για την πλακέτα σας. Επιλέξτε Προγραμματιστής ως "Arduino ως ISP". Μην το συγχέετε με το ArduinoISP. Και τα δύο είναι διαφορετικά.
Βήμα 5: - Τώρα, μεταβείτε ξανά στα Εργαλεία και κάντε κλικ στο Burn Bootloader ακριβώς κάτω από την επιλογή Προγραμματιστής. Μετά από λίγα δευτερόλεπτα, το bootloader μεταφορτώνεται με επιτυχία. Εάν υπάρχει κάποιο σφάλμα κατά τη μεταφόρτωση, ελέγξτε τις συνδέσεις.
Ελέγξτε το παρακάτω βίντεο για να κατανοήσετε τα βήματα που εξηγούνται παραπάνω για να ανεβάσετε το Bootloader στο Atmega 328 IC.
Το Arduino του breadboard σας είναι έτοιμο να λειτουργήσει ως πραγματικός πίνακας Arduino. Τώρα, τίθεται το ερώτημα πώς να προγραμματίσετε το Atmega 328 IC; Αυτό θα συζητήσουμε στην επόμενη ενότητα μας.
Μέρος-3: Τρόπος προγραμματισμού του Arduino Bootloader που ανέβασε το Atmega 328
Το Standalone Arduino Atmega328 Chip μπορεί να προγραμματιστεί με πολλούς τρόπους.
- Χρησιμοποιώντας κενή πλακέτα Arduino, δηλαδή πλακέτα Arduino χωρίς IC Atmega 328.
- Χρήση μονάδας μετατροπέα USB σε σειριακό TTL (μονάδα FTDI).
- Χρήση του προγραμματιστή USBasp (περιλαμβάνει πολλές συνδέσεις).
Εδώ, θα το προγραμματίσουμε χρησιμοποιώντας δύο μεθόδους: USB σε σειριακό μετατροπέα και Arduino board.
Προγραμματισμός Chip Atmega328 χρησιμοποιώντας την πλακέτα Arduino
Βήμα 1: - Πάρτε μια πλακέτα Arduino χωρίς τσιπ Atmega328. Πραγματοποιήστε τις συνδέσεις της πλακέτας Arduino με το Arduino, όπως φαίνεται σε αυτό το διάγραμμα.
Βήμα 2: - Συνδέστε την πλακέτα Arduino με τον υπολογιστή και ανοίξτε το Arduino IDE. Επιλέξτε Arduino Uno από το μενού Board στο Tools , Programmer ως USBasp και τη σωστή θύρα του πίνακα.
Βήμα 3: - Θα ξεκινήσουμε ανεβάζοντας το πρόγραμμα Blink. Επιλέξτε λοιπόν το πρόγραμμα αναλαμπής από τα Παραδείγματα και πατήστε το κουμπί Αποστολή
Τώρα, μπορείτε να δείτε ότι το led στο breadboard θα αρχίσει να αναβοσβήνει.
Προγραμματισμός του Arduino Atmega328 Chip χρησιμοποιώντας μετατροπέα USB σε Serial
Βήμα 1: - Εάν δεν έχετε πλακέτα Arduino. Αυτή είναι η καλύτερη μέθοδος για να προγραμματίσετε το breadboard Arduino .
Κάντε τις συνδέσεις ως:
Καρφίτσα RXD του FTDI -> Καρφίτσα Tx του Atmega328 (ακίδα 3)
Καρφίτσα TXD του FTDI -> Καρφίτσα Rx του Atmega328 (ακίδα 2)
GND -> GND (ακίδα 8)
5v -> Vcc (ακίδα 7)
Ορισμένες μονάδες FTDI διαθέτουν Pin Επαναφοράς, γνωστό και ως DTR pin, το οποίο πρέπει να συνδεθεί με το Pin Reset του Atmega328 (pin 1) Εάν δεν υπάρχει ακροδέκτης επαναφοράς στη μονάδα, μην ανησυχείτε, θα δώσω τη λύση όταν προγραμματίζουμε το τσιπ.
Βήμα 2: - Τώρα, συνδέστε το FTDI με υπολογιστή και ανοίξτε τη Διαχείριση συσκευών στον πίνακα ελέγχου. Θα δείτε την ενότητα Θύρα, Αναπτύξτε το. Εάν υπάρχει ένα κίτρινο σημάδι μπροστά από το πρόγραμμα οδήγησης, τότε πρέπει να ενημερώσετε το πρόγραμμα οδήγησης της μονάδας.
Εάν δεν υπάρχει σημάδι, σημειώστε τον αριθμό θύρας και ανοίξτε το Arduino IDE. Μεταβείτε στα Εργαλεία -> Θύρες -> Επιλέξτε την εταιρεία που έχετε σημειώσει.
Βήμα 3: - Τώρα, θα ανεβάσουμε το πρόγραμμα αναλαμπής στο Breadboard Arduino . Μεταβείτε στο Αρχείο -> Παραδείγματα -> Βασικά -> Αναβοσβήνει . Επιλέξτε Arduino Uno από το μενού Πίνακας στα εργαλεία, Προγραμματιστής ως USBasp και σωστή θύρα του πίνακα.
Στη συνέχεια, πατήστε το κουμπί μεταφόρτωσης.
Σημείωση: Εάν η μονάδα FTDI δεν διαθέτει πείρο DTR, πατήστε το κουμπί Επαναφορά στο breadboard και πατήστε το κουμπί μεταφόρτωσης. Κρατήστε το πατημένο εάν λέει Σύνταξη σκίτσου… Αφήστε το κουμπί μόλις αναφέρει Μεταφόρτωση…
Τώρα, το πρόγραμμα θα μεταφορτωθεί επιτυχώς στο τσιπ Arduino Bootloader Atmega328.
Ακολουθεί το βίντεο για τον προγραμματισμό του Atmega 328 IC χωρίς τη χρήση του Arduino Board:
Έχουμε κάνει με το DIY Breadboard Arduino Circuit. Μπορείτε να σχεδιάσετε αυτό το κύκλωμα στο PCB για να το κάνετε πιο συμπαγές.