Κεντρική | Άρθρα | Κατασκευές | Μεταφόρτωση | YouTube Κανάλι 

Select the desired language Greek English

Αρχική Κατασκευές [Είστε εδώ...]
BasAVRa LiTe

Πρόκειται για μια εναλλακτική πλακέτα προγραμματισμού του πασίγνωστου Basic Stamp 2 της parallax (έκδοση OEM). Έχουμε ήδη δει πως μπορούμε να φτιάξουμε μια αυτοσχέδια πλακέτα προγραμματισμού του Basic Stamp 2 (Board of Education) χρησιμοποιώντας την OEM έκδοση του τσιπ, στο άρθρο Πλακέτα προγραμματισμού του BS2.
Ο BasAVRA LiTe προχωρά ένα βήμα παραπέρα αντικαθιστώντας την ενσύρματη σειριακή διασύνδεση με μια ασύρματη, κάνοντας χρήση ενός μετατροπέα Bluetooth σε RS232. Με τον BasAVRa LiTe μπορείτε να προγραμματίζεται και να ελέγχετε εξ' αποστάσεως (π.χ. από το διπλανό δωμάτιο) τον Basic Stamp 2.

Σημειώσεις

Στον BasAVRa LiTe η ανταλλαγή δεδομένων μεταξύ Basic Stamp 2 και υπολογιστή γίνεται ασύρματα, μέσω BlueTooth, χρησιμοποιώντας τις εντολές DEBUG και DEBUGIN. Δεν χρειάζεται η χρήση κανενός επιπλέον πομποδέκτη.

Επειδή ο BasAVRa LiTe δεν είναι προϊόν της parallax, είναι αδύνατο να το αγοράσετε από την ιστοσελίδα τους (www.parallax.com). Φυσικά από εκεί θα αγοράσετε την OEM έκδοση του Basic Stamp 2.

Θυμηθείτε ότι δεν μπορείτε να χρησιμοποιήσετε τον κειμενογράφο της parallax για να προγραμματίζετε τον BasAVRa LiTe. Θα πρέπει να χρησιμοποιείτε τον BasAVRa Editor. Αυτή η κίνηση δεν έχει καμία επίπτωση στα προγράμματα PBasic που γράφετε, αφού ο BasAVRa Editor εκμεταλλεύεται τον tokenizer της parallax (κοντολογίς ο PBasic κώδικας παραμένει ίδιος).

Το περιβάλλον εργασίας του BasAVRa Editor είναι πολύ κοντά σε αυτό του κειμενογράφου της parallax, κάνοντας έτσι ευκολότερη τη χρήση του.
Κατεβάστε το πρόγραμμα από εδώ: BasAVRa Editor

Για να δουλέψει ο BasAVRa πρέπει να προγραμματίσετε τον μικροελεγκτή ATtiny2313 με το κατάλληλο πρόγραμμα (δείτε παρακάτω). Αυτό μπορεί να γίνει με οποιονδήποτε προγραμματιστή υποστηρίζει το ATtiny2313 (π.χ. STK500).

Εάν δεν έχετε έναν τέτοιο προγραμματιστή και δεν θέλετε να αγοράσετε έναν καινούργιο, υπάρχει μια εναλλακτική. Μπορείτε να φτιάξετε έναν μόνοι σας. Αν ψάξετε στο διαδίκτυο θα βρείτε πολλές υλοποιήσεις, αλλά προσωπικά σας προτείνω να φτιάξετε αυτόν που παρουσιάζεται στη σελίδα: Ένας απλός SI-Prog.
Για βοήθεια, έχω συμπεριλάβει ένα μικρό οδηγό για το πως να προγραμματίσετε το τσιπ με τον απαραίτητο κώδικα (βλέπε και παρακάτω).

Εξαρτήματα

  • Τέσσερις αντιστάσεις 10KΩ (1/4 Watt).
  • Τέσσερις αντιστάσεις 4.7KΩ (1/4 Watt).
  • Μια αντίσταση 180Ω (1/4 Watt).
  • Μια αντίσταση 240Ω (1/4 Watt).
    Προσοχή: Μην την αντικαταστήσετε με άλλη τιμή.
  • Μια αντίσταση 390Ω (1/4 Watt).
    Προσοχή: Μην την αντικαταστήσετε με άλλη τιμή.
  • Ένας ηλεκτρολυτικός πυκνωτής 1000μF (16 Volts).
  • Ένας ηλεκτρολυτικός πυκνωτής 330μF (16 Volts).
  • Ένας ηλεκτρολυτικός πυκνωτής 470μF (16 Volts).
  • Ένας ηλεκτρολυτικός πυκνωτής 1μF (16 Volts).
  • Επτά πυκνωτές 100nF.
  • Ένα τρανζίστορ BC557B.
  • Δύο διόδους 1N4148. Σημείωση: Μπορείτε να τις αντικαταστήσετε με δύο διόδους BAT85 Schottky.
  • Ένα κοινό κόκκινο LED.
  • Ένας πιεζοηλεκτρικός κρύσταλλος στα 20MHz.
  • Ένας πιεζοηλεκτρικός κρύσταλλος στα 8MHz.
  • Ένα τσιπ με τον μεταγλωττιστή Basic Stamp 2 (DIP).
  • Ένα ολοκληρωμένο μνήμης 24C16 (I2C).
  • Έναν AVR ATtiny2313.
  • Έναν LM2940 LDO σταθεροποιητή τάσης (με την κατάλληλη ψύκτρα, εάν σκοπεύετε να "τραβήξετε" περισσότερο από 500mA ρεύμα).
  • Έναν σταθεροποιητή τάσης LM317 (TO-92 package).
  • Ένα Bluetooth to serial μετατροπέα. (Μπορείτε να χρησιμοποιήσετε τον μετατροπέα της κατασκευάστριας Sure electronics ή οποιονδήποτε άλλο συμβατό με αυτόν). Σημείωση: Να θυμάστε ότι ο BasAVRa λειτουργεί στα 9600 baud. Αγοράστε έναν μετατροπέα που να υποστηρίζει το προηγούμενο ρυθμό baud.
  • Έναν διακόπτη ALPS (ψηφιακός διακόπτης πίεσης με αυτόματη επαναφορά) για χειροκίνητο reset.
  • Μια υποδοχή για το καλώδιο τροφοοδσίας.
  • (Προαιρετικό) Δύο θηλυκούς συνδετήρες μιας γραμμής (έναν με συνολικά 16 ακροδέκτες και έναν με 13. Αν έχετε συνδετήρες με περισσότερους ακροδέκτες απλά κόψτε τους). Χρειάζεστε 16 ακροδέκτες για τις θύρες I/O και 13 για την τροφοδοσία (βλέπε σχηματικό).
  • (Προαιρετικό) Έναν θηλυκό συνδετήρα δύο σειρών με συνολικά 20 ακροδέκτες (Εάν έχετε με περισσότερους απλά κόψτε τον).
  •  (Προαιρετικό) Ένα μικρό breadboard.
  • Μια βάση DIP 28 ακροδεκτών (για τον BS2).
  • Μια βάση DIP 20 ακροδεκτών (για τον AVR).
  • Μια βάση DIP 8 ακροδεκτών (για το ολοκληρωμένο μνήμης).
  • Μια διάτρητη πλακέτα (ή ένα PCB, αλλά δεν περικλείω σχέδιο. Φτιάξτε ένα δικό σας).
  • Καλώδια για τις συνδέσεις.
  • Κολλητήρι και καλάι.

Επίσης θα χρειαστείτε μια σταθεροποιημένη εξωτερική τροφοδοσία των 12V, 9 Volt ή ακόμη των 6Volt, εξαιτίας του low dropout σταθεροποιητή τάσης. Προτείνω τη χρήση έξι επαναφορτιζόμενων μπαταριών NiMH.

Σχηματικό διάγραμμα

Στην παρακάτω εικόνα φαίνεται η γενική ιδέα πίσω από τον BasAVR LiTe, καθώς και πόσο περίπου κοστίζει η κάθε επιμέρους μονάδα (Σημείωση: Οι τιμές στην εικόνα είναι παλιές και τώρα θα υπάρχει διαφοροποίηση. Το πιθανότερο να είναι φθηνότερες).

Αυτό είναι το σχηματικό διάγραμμα του κυκλώματος (Κάντε κλικ για μεγέθυνση)

Προσοχή: Κολλήστε τους πυκνωτές 100nF όσο κοντά στους ακροδέκτες τροφοδοσίας των ολοκληρωμένων γίνεται. Το ίδιο ισχύει και για τους πιεζοηλεκτρικούς κρυστάλλους. Κολλήστε τους κοντά στους ακροδέκτες XTAL των ολοκληρωμένων. Μην αντικαταστήσετε τις αντιστάσεις του σταθεροποιητή LM317 με άλλες τιμές. Ο σταθεροποιητής χρησιμοποιείται για να παράγει την απαραίτητη τάση των 3,3V για την μονάδα BlueTooth. Αν δεν έχετε έναν σταθεροποιητή LM2940 (low-dropout) μπορείτε να τον αντικαταστήσετε με έναν κοινό σταθεροποιητή 7805.

Μερικές σημειώσεις για τον μετατροπέα Bluetooth

Αρχικά είχα χρησιμοποιήσει τον μετατροπέα Bluetooth to serial της Sure electronics. Ωστόσο ο BasAVRa LiTe θα λειτουργήσει με χωρίς πρόβλημα με οποιονδήποτε μετατροπέα Bluetooth to serial, αρκεί να είναι συμβατός με αυτόν της Sure (εννοώντας να έχει την ίδια διάταξη ακροδεκτών και τον ίδιο ρυθμό baud). Σχεδόν όλοι οι μετατροπείς που θα βρείτε στο εμπόριο είναι συμβατοί και θα λειτουργήσουν χωρίς προβλήματα.


Μετατροπέας Bluetooth to serial
Διασύνδεση UART στα 9600 bps από την Sure electronics

Ερωτήσεις - Απαντήσεις.

Ερώτηση: Μπορώ να χρησιμοποιήσω έναν διαφορετικό τύπο μετατροπέα Bluetooth, ακόμα και αν δεν έχει την ίδια διάταξη ακροδεκτών ή τον ίδιο ρυθμό baud με αυτόν της Sure electronics;
 
Απάντηση: Ναι. Εάν ο μετατροπέας Bluetooth έχει διαφορετική διάταξη ακροδεκτών, πρέπει να προσέξετε πώς θα τον συνδέσετε στο κύκλωμα. Θυμηθείτε ότι ο ακροδέκτης 1 (βλέπε σχηματικό) είναι το UART-TX, ο ακροδέκτης 2 είναι το UART-RX, ο ακροδέκτης 12 είναι η τροφοδοσία (συνήθως 3.3V) και ο ακροδέκτης 13 είναι η γείωση (GND).
Εάν ο μετατροπέας Bluetooth έχει διαφορετικό ρυθμό baud (baud rate), τότε μπορείτε να "πειράξετε" τον πηγαίο κώδικα (βλέπε παρακάτω). Αναζητήστε την εντολή $baud = 9600 και αντικαταστήστε τον αριθμό με εκείνον τον ρυθμό baud που υποστηρίζει ο μετατροπέας σας.
 
Προσοχή: Εάν ο μετατροπέας Bluetooth to serial έχει υψηλό ρυθμό baud (π.χ. 56700) τότε ίσως χρειαστεί να αλλάξετε τον κρύσταλλο των 8MHz του ATtiny2313 με έναν άλλο διαφορετικής τιμής, για να μειώσετε τα σφάλματα μετάδοσης (baud error). Αν τελικά αντικαταστήσετε τον κρύσταλλο, μην ξεχάσετε να τον αλλάξετε και στον πηγαίο κώδικα (βρείτε την εντολή $crystal = 8000000 και αντικαταστήστε τον αριθμό με την καινούργια τιμή του κρυστάλλου. Η τιμή δηλώνεται σε Hz).
 
Σημείωση: Στους περισσότερους μετατροπείς Bluetooth to serial είστε σε θέση να αλλάζετε τον ρυθμό baud στην επιθυμητή τιμή (διαβάστε τις οδηγίες του κατασκευαστή).

 

Κατεβάζοντας τον πηγαίο κώδικα στο ATtiny2313 (μόνο για την πρώτη χρήση)

Προκειμένου να λειτουργήσει ο BasAVRa LiTe, χρειάζεται να προγραμματίσετε το ΑΤτινυ2313 με τον κατάλληλο κώδικα. Αυτό είναι απαραίτητο να το κάνετε μόνο την πρώτη φορά.
Φυσικά θα χρειαστείτε έναν προγραμματιστή για να κατεβάσετε τον κώδικα στο τσιπ. Μπορείτε να χρησιμοποιήσετε οποιονδήποτε προγραμματιστή επιθυμείτε, αρκεί να υποστηρίζει μικροελεγκτές AVR (π.χ. STK500). Αν δεν έχετε τέτοιον προγραμματιστή μπορείτε είτε να αγοράσετε είτε να φτιάξετε έναν μόνοι σας.
Προτείνω τον απλό SI-Prog που παρουσιάζεται σε αυτήν την ιστοσελίδα. Είναι πολύ εύκολο να φτιαχτεί και έχει πολύ χαμηλό συνολικό κόστος (κοντά στο μηδέν αν έχετε ήδη τα απαραίτητα εξαρτήματα). Θα χρειαστείτε επιπλέον να κατεβάσετε και να εγκαταστήσετε το PonyProg2000 από την ιστοσελίδα του κατασκευαστή (www.lancos.com/ppwin95.html).

Παρακάτω περιγράφω την διαδικασία προγραμματισμού σε μερικά βήματα, προυποθέτοντας ότι έχετε φτιάξει τον απλό SI-Prog.

Βήμα 1: Κατεβάστε τον πηγαίο κώδικα σε μορφή hex. BasAVRa LiTe firmware

Βήμα 2: Μετά την αποσυμπίεση του αρχείο, τρέξετε το PonyProg2000

Βήμα 3: Από το μενού επιλέξτε "Device" "AVR micro" "ATtiny2313"

Βήμα 4: Αφαιρέστε το ATTiny2313 από τον BASAVRa LiTe και τοποθετήστε τον στο κύκλωμα του προγραμματιστή. Στη συνέχεια συνδέστε τον προγραμματιστή με τη σειριακή θύρα του υπολογιστή σας. Τροφοδοτήστε το κύκλωμα. Από το μενού επιλέξτε "setup" "Interface setup..." και θα εμφανιστή το παράθυρο ρυθμίσεων I/O port.

Επιλέξτε τη σειριακή θύρα στην οποία συνδέσατε τον προγραμματιστή (συνήθως COM1). Από την αναδυόμενη λίστα επιλέξτε "JDM API" ή "SI-Prog API". Το παράθυρο ρυθμίσεων θα πρέπει να μοιάζει όπως στην παραπάνω εικόνα.

Προσοχή: Τα SI- Prog και PonyProg2000 απαιτούν την ύπαρξη "φυσικής" σειριακής θύρας στον υπολογιστή σας. ΔΕΝ ΘΑ ΔΟΥΛΕΨΟΥΝ με έναν μετατροπέα από USB σε σειριακή.

Βήμα 5: Επιλέξτε "Command" "Security and Configuration bits..." και θα εμφανιστεί το παράθυρο για τα Security και configuration bits, μετά από αυτόματη ανάγνωση της συσκευής. Αποεπιλέξτε όλα τα κουτάκια όπως φαίνεται στην παρακάτω εικόνα. Πατήστε το πλήκτρο "Write". Στη συνέχεια το πλήκτρο "OK"

Βήμα 6: Τώρα είστε έτοιμοι να φορτώσετε το αρχείο hex. Επιλέξτε "File" "Open Device File...". Βρείτε τον κατάλογο που αποσυμπιέσατε το αρχείο hex και ανοίξτε το με το "Open"

Βήμα 7: Θα προγραμματίσουμε το τσιπ. Επιλέξτε "Command" "Write All" και πατήστε "yes" στο παράθυρο που εμφανίζεται. Θα πρέπει να βλέπετε την διαδικασία να έχει ξεκινήσει. Πρώτα θα γραφεί ο κώδικας και στη συνέχει το πρόγραμμα θα κάνει αυτόματη εποαλήθευση.

Βήμα 8: Αν δείτε το μήνυμα επιτυχού6ς ολοκλήρωσης, τότε η διαδικασία έχει πλέον ολοκληρωθεί. Ο κώδικας έχει φορτωθεί στο τσιπ και είστε έτοιμη να ξεκινήσετε. Δεν θα χρειαστεί να επαναλάβετε αυτά τα 8 βήματα ποτέ ξανά.

Σημείωση: Αν εμφανιστεί μήνυμα λάθους εγγραφής, παρακαλούμε προσπαθήστε ξανά. Βεβαιωθείτε ότι τροφοδοτείται την συσκευή σε όλη τη διάρκεια της διαδικασίας προγραμματισμού.

 

Πηγαίος κώδικας

Ο BasAVRA LiTe είναι ανοιχτού κώδικα (ελεύθερο λογισμικό) και μπορείτε να κατεβάσετε τον κώδικα από το επόμενο σύνδεσμο. Το πρόγραμμα είναι γραμμένο με την δοκιμαστική έκδοση τους BASCOM-AVR της MCS Electronics.
Από το διπλανό σύνδεσμο μπορείτε να κατεβάσετε απ' ευθείας την δοκιμαστική έκδοση του BASCOM-AVR: BASCOM-AVR Demo

Κατεβάστε τον πηγαίο κώδικα του BasAVRa LiTe από εδώ: BasAVRa LiTe

Σημείωση: Μπορείτε να μεταγλωττίσετε τον κώδικα με το BASCOM-AVR Demo, αλλά να θυμάστε ότι ο κώδικας για την flash και την eeprom αποθηκεύονται σε διαφορετικά αρχεία. Το αρχείο hex είνα ιγια την μνήμη flash και το αρχείο eep είναι για την μνήμη eeprom. Πρέπει να κατεβάσετε και τα δύο αρχεία στον μικροελεγκτή, διαφορετικά δεν πρόκειται να λειτουργήσει.
Για να γλυτώσετε χρόνο από την επιπλέον δουλειά, έχω δημιουργήσει ένα γενικό hex αρχείο έτοιμο να προγραμματίσετε τον μικροελεγκτή (βλέπε παραπάνω).

 

Εικόνες

Στην παρακάτω εικόνα βλέπετε τον BasAVRa LiTe, υλοποιημένο σε μια διάτρητη πλακέτα. Δεν φαίνεται το κομμάτι της τροφοδοσίας, γιατί είναι φτιαγμένο σε διαφορετική διάτρητη πλακέτα. Επίσης δεν έχω προσθέσει και το μικρό bradboard (ωστόσο θα το προσθέσω μελλοντικά).

Δημιουργήθηκε: 10/05/2010
Ενημερώθηκε: -

Κεντρική | Άρθρα | Κατασκευές | Μεταφόρτωση | YouTube Κανάλι
Πνευματικά δικαιώματα © 1999-2010 Δημήτρης Πιπερίδης. Με επιφύλαξη κάθε νόμιμου δικαιώματος.