Σ' αυτό το άρθρο θα παρουσιάσω την κατασκευή μιας κάρτας επέκτασης εισόδου / εξόδου της σειριακής θύρας του PC. Η κάρτα διαθέτει μόνο ψηφιακές εισόδους - εξόδους και συγκεκριμένα 8 bit για είσοδο και 8 bit για έξοδο. Εύκολα μπορεί να τροποποιηθεί ώστε να υποστηρίζει 16 ή και 32 bit. Η κατασκευή αυτή, έχει σκοπό την εκμάθηση προγραμματισμού σε ηλεκτρονικούς. Η γλώσσα που χρησιμοποίησα είναι η Visual Basic 6, αλλά με μικρές αλλαγές μπορούμε να γράψουμε σε VB .NET ή Free Pascal - Lazarus.
Επειδή το πρόγραμμα ελέγχει απευθείας τα σήματα RTS, CTS, DTR, DSR, χρειάζεται φυσική σειριακή θύρα και όχι USB to RS232 adaptor. Αν συνδεθεί σε μετατροπέα USB, λειτουργεί με πολύ μικρότερη ταχύτητα.
Ακολουθεί η περιγραφή του κυκλώματος της κατασκευής.
Τροφοδοσία 5V παίρνει από μια θύρα USB του PC μέσω του Usb connector X2. Η αντίσταση R20 χρησιμοποιήται σαν ασφάλεια. Το X1 είναι ένα θηλυκό D9 connector στο οποίο συνδέεται καλώδιο UTP μήκους περίπου 1m (Εικόνα 1 & Εικόνα 2). Από την άλλη πλευρά υπάρχει θηλυκό head 2x4. Το SV1 είναι αρσενικό head 2x4 όπου βυσματώνει το καλώδιο.
Τροφοδοσία 5V παίρνει από μια θύρα USB του PC μέσω του Usb connector X2. Η αντίσταση R20 χρησιμοποιήται σαν ασφάλεια. Το X1 είναι ένα θηλυκό D9 connector στο οποίο συνδέεται καλώδιο UTP μήκους περίπου 1m (Εικόνα 1 & Εικόνα 2). Από την άλλη πλευρά υπάρχει θηλυκό head 2x4. Το SV1 είναι αρσενικό head 2x4 όπου βυσματώνει το καλώδιο.
Τα σήματα που χρησιμοποιούμε είναι το RTS (έξοδος από το PC) για τα σειριακά δεδομένα, DTR (έξοδος από το PC) για το Clock, TxD (έξοδος από το PC) για το σήμα Latch Enable του HC595 και τέλος CTS (είσοδος στο PC) με τα σειριακά δεδομένα από τις 8 εισόδους.
Οι αντιστάσεις R9, R10, R11 και οι zener D1, D2, D3 κάνουν προσαρμογή λογικών επιπέδων από +12, -12V της RS232 σε 0-5V TTL που θέλουν τα δύο chip.
Τώρα για την έξοδο έχουμε το 74HC595 που είναι Shift Register από σειριακό σε παράλληλο με latch το οποίο οδηγεί και ανάβει τα LED (Led1 - Led8) μέσω των αντιστάσεων R1-R8. Αν θέλουμε περισσότερα bits εξόδου μπορούμε να βάλουμε κι άλλα HC595 όπου το pin 9 του ενός συνδέεται στο 14 του επόμενου. (Απαιτείται τροποποίηση του προγράμματος).
Για την είσοδο των δεδομένων χρησιμοποιούμε το 74HC165 που είναι Shift Register από παράλληλο σε σειριακό. Αν θέλουμε άλλα 8 bit μπορούμε να συνδέσουμε άλλο ένα HC165 όπου το pin 9 του πρώτου πάει στο pin 10 του επόμενου και το 9 του δεύτερου στο CTS της RS232.
Το θεωρητικό κύκλωμα της κατασκευής |
Εικόνα 1 - Το καλώδιο σύνδεσης | Εικόνα 2 - Σύνδεση με την κάρτα |
Η κατσκευή έγινε σ' ένα μικρό κομμάτι διάτρητης πλακέτας πρωτοτύπων (Εικόνα 3). Οι διασυνδέσεις έγιναν με πηνιόσυρμα αλλά μπορεί να χρησιμοποιηθεί και wire wrap (Εικόνα 4). Φυσικά μπορεί να συναρμολογηθεί και πάνω σε breadboard για μεγαλύτερη ευκολία.
Εικόνα 3 - Η κάρτα έτοιμη για δοκιμή | Εικόνα 4 - Η κάτω πλευρά |
Το πρόγραμμα ελέγχου σε λειτουργία |
Ο προγραμματισμός έγινε σε visual basic 6. Πρέπει να γνωρίζετε βασικές αρχές προγραμματισμού και οπτικού προγραμματισμού καθοδηγούμενου από συμβάντα.
Διαβάστε εδώ περισσότερες πληροφορίες για την κατασκευή του προγράμματος σε Visual Basic 6.0.
Κατεβάστε από εδώ το αρχείο εγκατάστασης για όλες τις εκδόσεις των windows.
Επίσης εδώ υπάρχει ο πηγαίος κώδικας όλου του Project σε VB6.
(c)2014 SV6GMP
Δεν υπάρχουν σχόλια:
Δημοσίευση σχολίου