Ένα ιστολόγιο για όσους αγαπούν τις ηλεκτρονικές κατασκευές...

Σάββατο 27 Απριλίου 2024

ARDUINO ISP programmer shild

Όπως έχουμε αναφέρει και σε άλλα άρθρα στο blog δεν είναι πρακτικό να δεσμεύουμε μια πλακέτα arduino για κάθε εφαρμογή που κάνουμε. Αντίθετα μπορούμε να χρησιμοποιήσουμε μόνο τον μικροελεγκτή (Atmega328) από το arduino  και να κάνουμε την εφαρμογή μας σε μια δική μας πλακέτα μικρότερη σε μέγεθος και οικονομικότερη αφού θα χρησιμοποιήσουμε μόνο τον μικροελεγκτή στη θέση της πλακέτας arduino.

Έτσι λοιπόν μπορούμε να αγοράζουμε μόνο μικροελεγκές. Όμως θα πρεπει να τους εγγράψουμε τον bootloader και το sketch με το οποίο θα λειτουργεί η εφαρμογή μας. Παρότι υπάρχουν στην αγορά και μικροελεγκτές που με προ εγγεγραμμένο τον bootloader είναι πιο πρακτικό να μπορούμε να τον εγγράψουμε μόνοι μας. Σε αυτό θα μας βοηθήσει η πλακέτα που παρουσιάζουμε με αυτό το άρθρο.

Η ασπίδα αυτή για το arduino μας δίνει την δυνατότητα να εγγράφουμε πολλά τσίπ στη σειρά εύκολα και γρήγορα. Αυτήν χρησιμοποιώ και εγώ για να γράψω τον bootloader σε όλα τα νέα τσιπάκια που αγοράζω, αμέσως μόλις τα παραλάβω τα περνάω τον bootloader μαζικά και στην συνέχεια περνάω το sketch blink από τα παραδείγματα του arduino IDE για να ελέγξω ότι τα τσιπάκια λειτουργούν κανονικά.

Η κατασκευή είναι πολλή απλή. Διαθέτει βάση ZIF για να μπορούμε να εναλλάσουμε τα τσιπάκια πολύ εύκολα. Για τον ίδιο λόγο υπάρχει ο διακόπτης ON-OFF που διακόπτει την τροφοδοσια από τον μικροελεγκτή για να μην του προξενήσουμε κάποια βλάβη αφαιρώντας τον ή βάζοντας τον πάνω στην βάση την ώρα που το arduino τροφοδοτείται από την θύρα USB. 

το σχέδιο της κατασκευής


Διαθέτει επίσης 4 ενδεικτικά LED, Το πράσινο (+5V) ανάβει όταν ο διακόπτης είναι στο ΟΝ και ο μικροελεγκτής τροφοδοτείται με τάση 5V. το Μπλε (ΟΚ) αρχικά αναβοσβήνει τυχαία και στην συνέχεια αναβοσβήνει με ρυθμό (fade in - fade out) που μας δείχνει ότι ο προγραμματιστής είναι έτοιμος να γράψει στο τσιπ. Το κόκκινο (ERROR) ανάβει σε περίπτωση που κάτι δεν πάει καλά, και τέλος το κίτρινο (PROGRAM) αναβοσβήνει κατά τον προγραμματισμό και δείχνει την μεταφορά των DATA προς το τσιπ.

ΛΕΙΤΟΥΡΓΙΑ

Αρχικά σε ένα arduino uno εγγράφουμε το sketch arduino as ISP από τα παραδείγματα. Στην συνεχεια τοποθετούμε πάνω του την ασπίδα του προγραμματιστή έχοντας την τροφοδοσία του τσιπ OFF. Τοποθετούμε τον μικροελεγκτή στην βάση και ανοίγουμε τον διακόπτη τροφοδοσίας.

ΕΓΓΡΑΦΗ BOOTLOADER

Από το aduino IDE -> Εργαλεία -> Πλακέτα: -> επιλέγουμε arduino UNO. Τσεκάρουμε την θύρα USB και αν δεν είναι τικαρισμένη την επιλέγουμε. Σαν προγραμματιστή επιλέγουμε τον arduino as ISP. ΠΡΟΣΟΧΗ όχι το arduinoISP. Στη συνέχεια πατάμε από τα Εργαλεία  το Γράψιμο bootloader. Στην πράσινη κάτω μπάρα του arduino IDE θα μας δείξει αν έχει ολοκληρωθεί η εγγραφή του bootloader. Αυτό συνήθως παίρνει λίγα δευτερόλεπτα.

ΕΓΓΡΑΦΗ SKETCH 

Αφού τελειώσουμε με την εγγραφή του bootloader μπορούμε κατ' ευθειαν να ανεβάσουμε το sketch που μας ενδειαφέρει. Δεν αλλάζουμε τίποτε από το στήσιμο του hardware και από τις ρυθμίσεις. Απλά ανοίγουμε σε ένα άλλο παράθυρο το sketch που θέλουμε να γράψουμε και πατάμε aduino IDE -> Σχέδιο -> Ανέβασμα μέσω προγραμματιστή ή Ctrl +shift  + U. Μετά την μεταγλώτισση του σχεδιου θα ξεκινήσει το ανέβασμα του στον μικροελεγκτή.

Τέλος υπάρχουν μια πινοσειρές, αριστερά επάνω από την βάση όπου μπορούμε με καλώδια να συνδέσουμε τον προγραματιστή με αντίστοιχη πινοσειρά πάνω σε πλακέτα και να προγραμματίσουμε κάποιο τσιπάκι που είναι κολλημένο πάνω στην πλακέτα, όπως π.χ. το atmega328P - QFP32 (το τετράγωνο με 32 πόδια).

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



Δεν υπάρχουν σχόλια:

Δημοσίευση σχολίου

Count down timer - χρονικό αντίστροφης μέτρησης

Μια απλή κατασκευή χρονομέτρου με αντίστροφη μέτρηση. Μπορεί να μετρήσει μέχρι 100 λεπτά με βήμα του ενός δευτερολέπτου. Είναι ιδανικό για ...