Αναπτυξιακή Πλακέτα-Μικροελεγκτής

 

Συγγραφέας: Πορλιδάς Δημήτριος

Βιογραφικό Σημείωμα

electronics@porlidas.gr

Facebook

Linkedin


 

 

Τα υλικά που θα χρειαστούμε είναι ένα αναπτυξιακό σύστημα (πλακέτα) και ένας μικροελεγκτής AVR. Τα πιο δημοφιλή αναπτυξιακά είναι το STK500 και ο διάδοχός του STK600. Έχουν τη δυνατότητα να φιλοξενήσουν ένα μεγάλο αριθμό μικροελεγκτών, διαθέτουν διακόπτες, LED, θύρες εισόδου-εξόδου, ενσωματωμένο προγραμματιστή για προγραμματισμό του μικροελεγκτή και γενικά εξοπλισμό προσαρμοσμένο στις ανάγκες ανάπτυξης εφαρμογών με μικροελεγκτές.

Εναλλακτικά, ως πιο οικονομική λύση, μπορούμε να κατασκευάσουμε το δικό μας αναπτυξιακό σύστημα: http://www.porlidas.gr/ATmegaDev/ATmegaDevGr.htm με τον προγραμματιστή: http://www.porlidas.gr/USBISP/USBISPGr.htm ή να προμηθευτούμε ένα φθηνό αναπτυξιακό και προγραμματιστή από αυτά που παρουσιάζονται στο: http://www.porlidas.gr/MSC/Intro2018.pdf και http://www.porlidas.gr/MSC/Intro2017.pdf

Τα αναπτυξιακά που παρουσιάζονται στους παραπάνω συνδέσμους δεν μπορούν σε καμία περίπτωση να αντικαταστήσουν τα STK500 και STK600, γιατί διαθέτουν ελάχιστες ευκολίες ελέγχου και διασύνδεσης (στην ουσία είναι πλακέτες για τον μικροελεγκτή με αναμονές για σύνδεση με εξωτερικές συσκευές μέσω καλωδίων). Η χαμηλή τιμή τους όμως τα καθιστά εξαιρετικά δημοφιλή στην ερασιτεχνική ανάπτυξη εφαρμογών. Οι σειρές ARDUINO διαθέτουν ενσωματωμένο προγραμματιστή για προγραμματισμό του μικροελεγκτή μέσα από την πλατφόρμα ARDUINO IDE[1]. Η πλακέτα ARDUINO MEGA 2560 (εικόνα 1) συνδυάζει τη βέλτιστη σχέση τιμής-απόδοσης, καθώς διαθέτει έναν πανίσχυρο μικροελεγκτή (ATmega2560) ενώ το κόστος της μπορεί να περιοριστεί σε 6 δολάρια αν προέρχεται από τρίτο κατασκευαστή.

Εικόνα 1: Πλακέτα ARDUINO MEGA2560

 

Υπάρχει δυνατότητα να χρησιμοποιήσουμε τις πλακέτες ARDUINO για ανάπτυξη εφαρμογών στο περιβάλλον εργασίας Atmel Studio 7 με γλώσσα προγραμματισμού C. Δεν υπάρχει όμως η δυνατότητα σε αυτή την περίπτωση να γίνει χρήση του ενσωματωμένου προγραμματιστή, καθώς δεν τον αναγνωρίζει το Atmel Studio, αλλά ούτε υπάρχει, για την ώρα, κάποιο πρόγραμμα να τον αναγνωρίζει και για αυτό το λόγο θα χρειαστεί εξωτερικός προγραμματιστής. Ο προγραμματιστής http://www.porlidas.gr/USBISP/USBISPGr.htm μπορεί να συνδεθεί στον connector ISP της πλακέτας και με το πρόγραμμα AvrProg ή AvrOspII να γίνει ο προγραμματισμός του μικροελεγκτή. Επίσης υπάρχει δυνατότητα να χρησιμοποιήσουμε τον προγραμματιστή USBASP, με τη βοήθεια ενός μετατροπέα ASP 10pin to ISP 6pin να συνδεθεί στον connector ISP της πλακέτας (Εικόνα 2) -κάτι που θα ανεβάσει το κόστος κατά 2-3 δολάρια- και με το πρόγραμμα khazama AVR Programmer να γίνει ο προγραμματισμός του μικροελεγκτή, λύση την οποία θα χρησιμοποιήσουμε στα επόμενα κεφάλαια. Όλα τα προγράμματα που αναφέρθηκαν παραπάνω υπάρχουν ελεύθερα στο Internet και τα υλικά στις περισσότερες ηλεκτρονικές αγορές.

 

Εικόνα 2: Σύνδεση του προγραμματιστή USBASP στη θύρα ISP της πλακέτας μέσω μετατροπέα ASP 10pin to ISP 6pin

 

Για να μπορέσει να λειτουργήσει σωστά στις πλακέτες ARDUINO ο κώδικας θα αναπτύξουμε στο Atmel Studio 7 σε γλώσσα προγραμματισμού C θα χρειαστεί να απενεργοποιήσουμε τον Boot Loader που είναι φορτωμένος στον μικροελεγκτή της πλακέτας[2]. Αυτό μπορεί να γίνει μέσα από khazama ρυθμίζοντας τα κατάλληλα Fuses (Εικόνα 3) -πληροφορίες χρήσης του khazama υπάρχουν στο http://www.porlidas.gr/AVR/IDEGr.htm-. 

 

Εικόνα 3: Ρύθμιση των Fuses για απενεργοποίηση του Boot Loader

 


 

[1] Το περιβάλλον εργασίας ARDUINO IDE διαθέτει Embedded εντολές και πλούσιες βιβλιοθήκες ώστε να γίνεται με ευκολία η ανάπτυξη εφαρμογών χωρίς να απαιτείται πολύπλοκος προγραμματισμός σε κάποια γλώσσα προγραμματισμού.

 

[2] Μετά την απενεργοποίηση μπορούμε να ελαττώσουμε τον χώρο που δεσμεύεται για τον Boot Loader ώστε να μεγιστοποιήσουμε τη διαθέσιμη μνήμη για τις εφαρμογές. Αν χρειαστεί να χρησιμοποιήσουμε την πλακέτα με το ARDUINO θα πρέπει να ενεργοποιήσουμε ξανά τον Boot Loader, να επαναφέρουμε την δεσμευμένη μνήμη στο απαραίτητο μέγεθος και τον φορτώσουμε ξανά μέσα από το ARDUINO IDE.

 

Σας ευχαριστώ για την υποστήριξή σας ώστε να γίνει η ιστοσελίδα μου καλύτερη.

© 2018 Πορλιδάς Δημήτριος