Ο ATmega328P είναι ένας από τους πιο δημοφιλείς μικροελεγκτές φιλικούς στο DIY στον κόσμο. Αυτός ο μικροελεγκτής ενός τσιπ είναι μια καλή επιλογή για όσους ασχολούνται με τα ηλεκτρονικά DIY και βρίσκεται στην τελευταία γενιά του Arduino Unos (μαζί με άλλες πλακέτες μικροελεγκτών). Τι πρέπει όμως να γνωρίζετε για το ATmega328P για να αρχίσετε να χρησιμοποιείτε το Arduino;
Τι είναι ένας μικροελεγκτής ATmega328P;
Δημιουργήθηκε από την Atmel, ο ATmega328P είναι ένας μικροελεγκτής ενός τσιπ που βασίζεται σε έναν πυρήνα επεξεργαστή RISC 8 bit. Αυτός ο μικρός μικροελεγκτής είναι χαμηλής ισχύος και προσιτός, καθιστώντας τον εξαιρετική επιλογή για διάφορες εφαρμογές, συμπεριλαμβανομένων των έργων DIY που θέλετε να κάνετε.
Το τσιπ ATmega328P έχει χαρακτηριστεί ως εξέχον μέρος του Arduino εδώ και πολλά χρόνια. Το Arduino Uno χρησιμοποιεί αυτόν τον μικροελεγκτή, μαζί με τις πλακέτες Arduino Pro Mini και Arduino Nano. Αυτό το καθιστά εξαιρετικά κοινό στον χώρο των ηλεκτρονικών DIY και αξίζει να μάθετε για τις δυνατότητές του εάν σκοπεύετε να χρησιμοποιήσετε αυτές τις πλακέτες.
Πλακέτες Arduino με χρήση του μικροελεγκτή ATmega328P
Το ATmega328P βρίσκεται στις πλακέτες μικροελεγκτή Arduino Uno και Arduino Nano, δύο από τα πιο δημοφιλή προϊόντα της Arduino. Μπορείτε επίσης να αγοράσετε αυτό το τσιπ ως αυτόνομο προϊόν, εάν θέλετε να το δοκιμάσετε χωρίς πλακέτα μικροελεγκτή, αν και αυτός θα είναι ένας δύσκολος τρόπος για να ξεκινήσετε. Μπορείτε να χρησιμοποιήσετε τον εύχρηστο οδηγό μας για να μάθετε περισσότερα για το διαφορετικοί τύποι πλακών μικροελεγκτών Arduino.
Προδιαγραφές φύλλου δεδομένων ATmega328P
Το ATmega328P έχει ένα εκπληκτικά πυκνό φύλλο δεδομένων για ένα τόσο μικρό τσιπ. Υπάρχουν ορισμένες προδιαγραφές που πρέπει να γνωρίζετε πριν ξεκινήσετε να γράφετε κώδικα για τον μικροελεγκτή σας. Τα αναλύσαμε για να διευκολύνουμε την κατανόηση των περιορισμών και των περιορισμών αυτού του τσιπ. Ας ξεκινήσουμε με τις βασικές προδιαγραφές για να σας δώσουμε μια ιδέα για το πώς διαμορφώνεται το ATmega328P.
- ΕΠΕΞΕΡΓΑΣΤΗΣ: AVR 8-bit με μέγιστη ταχύτητα 20 MHz
- Flash Memory: Ενσωματωμένο φλας 32 kB
- SRAM: 2 kB
- EEPROM: 1kB
- Πλήθος pin: 28 ή 32 (ανάλογα με τον τύπο συσκευασίας)
- Χωρητικά κανάλια αφής: 16
- Μέγιστες ακίδες εισόδου/εξόδου: 23
- Εξωτερικές διακοπές: 2
Κάθε μία από αυτές τις διαφορετικές προδιαγραφές παίζει τον δικό της ρόλο στο να κάνει το ATmega328P τόσο κατάλληλο για χρήση με πλακέτες ανάπτυξης όπως ένα Arduino. Τι σημαίνει όμως στην πραγματικότητα κάποιο από αυτά;
- ΕΠΕΞΕΡΓΑΣΤΗΣ: Η CPU στο τσιπ ATmega328P είναι μια CPU 8-bit AVR RISC. Το RISC σημαίνει "υπολογιστής μειωμένου συνόλου εντολών" και είναι ένας τύπος επεξεργαστή που έχει σχεδιαστεί για να απλοποιεί τις επιμέρους εργασίες που εκτελεί ένας υπολογιστής. Αντίθετα, η CPU Intel ή AMD του υπολογιστή σας είναι πιθανότατα επεξεργαστής CISC (υπολογιστής σύνθετου σετ εντολών).
- Flash Memory: Το Flash είναι ένας τύπος μη πτητικής μνήμης που χρησιμοποιείται για μόνιμη αποθήκευση. Το ATmega328P είναι εξοπλισμένο με μόλις 32 kB μνήμης flash, αν και αυτό είναι αρκετό για άφθονο κώδικα. Μπορείτε να μάθετε για οι διαφορές μεταξύ πτητικής και μη πτητικής μνήμης στον ιστότοπο του MUO.
- SRAM: Το SRAM σημαίνει "στατική μνήμη τυχαίας πρόσβασης". Αυτή η μνήμη παίζει τον ίδιο ρόλο με τη μνήμη RAM στον υπολογιστή σας, παρέχοντας στο τσιπ ATmega328P προσωρινή μνήμη για την αποθήκευση δεδομένων και μεταβλητών καθώς εκτελείται μέσω του κώδικα.
- EEPROM: Αυτός είναι ένας τύπος μνήμης με δυνατότητα διαγραφής byte που χρησιμοποιείται για την αποθήκευση μικρών ποσοτήτων δεδομένων. Σε αντίθεση με το SRAM, το EEPROM είναι μη πτητικό και θα διατηρήσει τα δεδομένα του όταν το τσιπ ATmega328P δεν τροφοδοτείται.
Διάγραμμα Pinout ATmega328P
Το παραπάνω διάγραμμα pinout ATmega328P δείχνει τις διαφορετικές ακίδες στο τσιπ DIP ATmega328P και τις ακίδες σε μια πλακέτα Arduino Uno. Αυτό θα σας δώσει μια καλή ιδέα για το πώς συνεργάζονται αυτό το τσιπ και η δημοφιλής πλακέτα μικροελεγκτή.
Το ATmega328P είναι ένα ευέλικτο τσιπ με ποικίλες εφαρμογές. Ως εκ τούτου, ένας αριθμός διαφορετικών συσκευασιών είναι διαθέσιμος για αυτό το τσιπ, όλα σε διαφορετικά σχήματα και με διάφορους τύπους μολύβδου. Το TQFP (τετραπλό πακέτο), το MLF/VQFN (micro leadframe ή quad-flat χωρίς απαγωγές) και το DIP (διπλό πακέτο σε σειρά) είναι τα πιο κοινά από αυτά τα πακέτα.
Οι γνήσιες πλακέτες Arduino Uno χρησιμοποιούν την παραλλαγή DIP του τσιπ ATmega328P (γνωστός και ως ATmega328P-PU), και αυτό σημαίνει ότι το τσιπ μπορεί να αφαιρεθεί και να αντικατασταθεί (σε αντίθεση με το ATmega328P-AU). Άλλοι τύποι πλακετών Arduino χρησιμοποιούν διαφορετικά τσιπ ATmega τύπου τετραπλής συσκευασίας και αυτά δεν μπορούν να αφαιρεθούν.
Περιορισμοί ATmega328P και Arduino Uno
Όπως με κάθε τσιπ μικροελεγκτή, το ATmega328P διαθέτει ορισμένους περιορισμούς που πρέπει να ληφθούν υπόψη πριν αποφασίσετε να εργαστείτε μαζί του. Αυτοί οι περιορισμοί ισχύουν επίσης για τις πλακέτες Arduino που χρησιμοποιούν αυτά τα τσιπ.
Χαμηλό προϋπολογισμό SRAM
Το τσιπ ATmega328P συνοδεύεται από 2kB SRAM, και αυτό είναι αρκετό για τα περισσότερα έργα. Για όσους θέλουν να χρησιμοποιήσουν πολλές βιβλιοθήκες και κώδικα με πολλές μεταβλητές, ωστόσο, μπορεί να είναι εύκολο να εξαντληθεί η SRAM, προκαλώντας την αποτυχία του προγράμματός σας.
Οι προγραμματιστές που εργάζονται με πλακέτες Arduino έχουν μεγάλο έλεγχο στη διαχείριση της μνήμης χάρη στη χρήση της C++. Κείμενο, εικόνες και άλλα προκατασκευασμένα στοιχεία μπορούν να αποθηκευτούν στη μνήμη flash ως ένας τρόπος για να ελευθερώσετε πρόσθετη μνήμη για τα προγράμματα που εκτελείτε, βελτιώνοντας τον προϋπολογισμό SRAM.
Περιορισμένη ισχύς επεξεργασίας
Η CPU 20Hz που βρίσκεται στο τσιπ ATmega328P είναι ιδανική για την εκτέλεση απλού κώδικα, αλλά προσφέρει περιορισμένη επεξεργαστική ισχύ για πολύπλοκες εφαρμογές. Αυτό σημαίνει ότι δεν είναι κατάλληλο για πράγματα όπως η αναγνώριση ομιλίας, η βαθιά εκμάθηση ή άλλες κοινές εργασίες μικροελεγκτή.
Η επίλυση αυτού του προβλήματος δεν είναι δυνατή με το ATmega328P. Εάν χρειάζεστε περισσότερη ισχύ, θα πρέπει να αναζητήσετε μια πιο κατάλληλη πλακέτα μικροελεγκτή για την εργασία σας θα ήθελα να παίξω, αλλά υπάρχουν πολλές επιλογές στην αγορά για να σας δώσουν πρόσβαση σε αυτό που χρειάζεστε.
Πλεονεκτήματα ATmega328P και Arduino Uno
Εκτός από τους περιορισμούς του ATmega328P, υπάρχουν επίσης πλεονεκτήματα που συνοδεύουν τη χρήση ενός τσιπ όπως αυτό. Αυτά συχνά υπερκαλύπτουν τους περιορισμούς του μικροελεγκτή για απλά έργα, ειδικά αν είστε νέος στην εργασία με μικροελεγκτές.
- Προσιτή τιμή: Το τσιπ ATmega328P είναι προσιτό και εύκολο να βρεθεί, καθιστώντας το ιδανικό για χαμηλού κόστους έργα DIY. Χάρη στη μεγάλη αξία αυτού του τσιπ, το Arduino Uno είναι επίσης μια πολύ προσιτή πλακέτα.
- Ευκολία στη χρήση: Κατασκευασμένο με γνώμονα τους καταναλωτές, το ATmega328P είναι εύκολο στη χρήση σε σύγκριση με άλλα τσιπ μικροελεγκτών, καθιστώντας το ιδανικό για όσους ξεκινούν με τα δικά τους έργα DIY.
- Αυτόνομο τσιπ: Το τσιπ ATmega328P μπορεί να χρησιμοποιηθεί μόνο του ή με μια πλακέτα μικροελεγκτή όπως το Arduino Uno.
Μάθετε για το ATmega328P και το Arduino Uno
Υπάρχουν πολλοί πόροι στον Ιστό που έχουν σχεδιαστεί για να σας βοηθήσουν να ξεκινήσετε με το Arduino Uno και το ATmega328P που χρησιμοποιεί. Αξίζει να αφιερώσετε χρόνο για να μάθετε για αυτό το υλικό προτού ξεκινήσετε το επόμενο έργο μικροελεγκτή, δίνοντας στον εαυτό σας μια ιδέα για τους περιορισμούς και τις προκλήσεις που ενδέχεται να αντιμετωπίσετε στην πορεία.