0
Εισαγωγή
Ανοίγω εδώ ένα βαρβάτο θέμα, με σκοπό να σχεδιάσω μαζί σας ένα USB αναπτυξιακό βασισμένο σε PIC, για πειραματισμούς σε breadboard αλλά και μετεξέλιξή του σε χίλιες δυο εφαρμογές.
Μέχρι τώρα είχα σχεδιάσει διάφορα USB περιφερειακά, όλα όμως βασίζονταν στο κλασικό FT232 της FTDI που μας δίνει μία εικονική σειριακή μέσω USB. Θέλω όμως τώρα να αξιοποιήσω τις τελευταίες εξελίξεις της τεχνολογίας, συνδυάζοντάς τες ώστε να φτιάξω ένα πραγματικά χρήσιμο πολυεργαλείο.
Ελπίζω ότι έτσι θα βοηθήσω αρκετούς στο να γνωρίσουν καινούριες γι αυτούς τεχνολογίες. Και οι πιο έμπειροι όμως θα μπορέσουν να αποκτήσουν ένα εργαλείο με σημαντικές ικανότητες.
Φυσικά, εννοείται ότι στην χειρότερη περίπτωση, την περισσότερη δουλειά (το χαμαλίκι δηλαδή) θα την κάνω εγώ. Θα ήθελα όμως να συζητάμε διεξοδικά το κάθε βήμα. Μπορείτε να σχολιάζετε και να προτείνετε, παρακαλώ όμως να είμαστε σύντομοι, περιεκτικοί και εντός θέματος για να μην μεγαλώσει δυσανάλογα το θέμα με άσχετες συζητήσεις.
Θα ήταν ωραίο αφού τελειώσει, να λέμε ότι το project αυτό ήταν ένα επιτυχημένο πείραμα συλλογικής προσπάθειας, της οποίας τα ωφέλη επιστρέφουν στην κοινότητα.
Προγραμματισμός εργασιών
Αρχικά πρέπει να συζητήσουμε τις απαιτήσεις που θέλουμε από ένα τέτοιο σύστημα, καθώς και τις λύσεις που έχει βρει ο καθένας μας για τα επιμέρους θέματα της σχεδίασης, πριν καταλήξουμε σε κάτι συγκεκριμένο.
Ύστερα, θα προχωρήσουμε στην επιλογή των υλικών, ένα θέμα καθοριστικό για την επιτυχία.
Κατόπιν, θα προχωρήσουμε στη σχεδίαση της πλακέτας.
Μετά, θα προχωρήσουμε στην ανάπτυξη του λογισμικού.
Τέλος, έχουμε την (αέναη ελπίζω) σχεδίαση περιφερειακών για το αναπτυξιακό αυτό.
Χαρακτηριστικά (v1):
Οι αρχικές μου σκέψεις είναι για ένα σύστημα με τα εξής χαρακτηριστικά:
Σύνδεση με PC μέσω USB 1.1 full speed (12MBps)
Θέλουμε να πετύχουμε την μεγαλύτερη δυνατή ταχύτητα, ξεφεύγοντας επιτέλους από την σειριακή. Το USB 2.0 (480 Mbps) δεν είναι εφικτό στο επίπεδο αυτό, μπορεί όμως να γίνει ξεχωριστό θέμα κάποτε.
Μικρό μέγεθος πλακέτας, με εξαρτήματα επιφανειακής στήριξης
Με μία λέξη: SMD! Τα δουλεύω (όπως και πολλοί από εμάς) αρκετά χρόνια τώρα. Όπως θα δείτε, δεν είναι τόσο δύσκολα όσο αρχικά φαίνονται. Ούτε απαιτούν ιδιαίτερο εξοπλισμό. Όπως και να το κάνουμε, οι μικρές και συμμαζεμένες πλακέτες είναι πιο ωραίες.
Αν κάποιος δεν μπορεί να φτιάξει τέτοια πλακέτα, είμαστε εδώ για να τον βοηθήσουμε. Και θα είναι μια καλή ευκαιρία για όσους θέλουν επιτέλους να ξεκινήσουν με τα SMD.
Μικροελεγκτής Microchip με ενσωματωμένη USB
Διότι για τη σύνδεσή τους θέλουν μόνο ένα βύσμα USB και τίποτε άλλο. Εμείς όμως θα βάλουμε και άλλα, γιατί τα χρειαζόμαστε.
Θύρα επέκτασης με μονή αρσενική ακιδοσειρά, ώστε να καρφώνουμε το αναπτυξιακό κατευθείαν σε breadboard
Στην ακιδοσειρά αυτή θα βγαίνουν όλα τα pins του μικροελεγκτή, εκτός από αυτά του USB.
Μπορούμε έτσι να πειραματιζόμαστε γρήγορα και εύκολα.
Μπορούμε ακόμη να σχεδιάσουμε επεκτάσεις (περιφερειακά) για την κατασκευή μας και να τις κουμπώνουμε εκεί.
Ρυθμιζόμενη τάση τροφοδοσίας (2V,2.5V,2.7V,3V, 3.3V, 5V)
Η USB δίνει 5 Volt και συνήθως μας αρκεί. Υπάρχουν όμως πλέον πολλά ολοκληρωμένα και περιφερειακά που δουλεύουν π.χ. μόνο σε 3.3V και που με την πλακέτα αυτή θα μπορέσουμε να χρησιμοποιήσουμε.
Τροφοδοσία της breadboard μέσω της USB
Επειδή δεν έχουμε πάντα πρόχειρο ένα τροφοδοτικό. Θα υπάρχει φυσικά προστασία από βραχυκύκλωμα, για να μην κάψουμε τίποτε στο PC.
Επαναφορτιζόμενη Li ion μπαταρία
Ξεκουμπώνουμε το αναπτυξιακό από τη USB, το παίρνουμε μαζί μας και συνεχίζει να δουλεύει! Είναι μαγικό!
Επιλογή υλικών που να μπορούν να βρεθούν
Πριν καταλήξω σε ένα εξάρτημα, θα πρέπει να έχω βρει τουλάχιστο ένα προμηθευτή (εγχώριο ή ξένο) ο οποίος να το έχει διαθέσιμο και ο οποίος να μπορεί να μας το πουλήσει. Ο καμένος στο χυλό φυσάει και το γιαούρτι..
Εύκολος προγραμματισμός μέσω της USB
Χωρίς να αποσυνδέσουμε τίποτε, να μπορούμε να κάνουμε αλλαγές στο πρόγραμμα και ανέβασμά του στον PIC, είτε ολόκληρο είτε κομμάτια του. Το κλειδί εδώ είναι να είναι εύκολο στη χρήση. Να μπορούμε φυσικά να χρησιμοποιήσουμε τον αγαπημένο μας compiler.
Περιφερειακά (V1):
Έχω κατά νου να σχεδιάσω τα παρακάτω περιφεριακά για το αναπτυξιακό αυτό:
Πληκτρολόγιο και LCD. Μπορεί να φαίνονται περιττά λόγω του PC, έχουμε όμως και μπαταρία...
RF modules, χρησιμοποιώντας π.χ. το Zigbee module της Microchip ή και άλλα
GPS module
Bluetooth module
Μίνι παλμογράφος/λογικός αναλυτής/βολτόμετρο/αμπερόμετρο/καπασιτόμετρο
Servo controller για σερβομηχανισμούς, βηματικά μοτέρ αλλά και μοτέρ DC
PIC programmer.
Διάφορα πρωτόκολλα επικοινωνίας (σειριακή, I2C, SPI, άλλα)
Διάφορα αισθητήρια για πειραματισμούς πριν τη σχεδίαση της τελικής τους πλακέτας
Περιμένω τα σχόλιά σας, τις απορίες σας και τις υποδείξεις σας....