Εισαγωγή στους περιστροφικούς κωδικοποιητές (rotary encoders)

Μπορεί η φράση “περιστροφικός κωδικοποιητής” να ακούγεται σαν κάποια συσκευή απο το Star Trek, όμως πρόκειται για ομάδα σχετικά απλών μηχανισμών ελέγχου με άπειρες εφαρμογές, ακόμα και σε συσκευές που χρησιμοποιούμε καθημερινά.

 

1. Παραδείγματα

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

Μερικές καθημερινές εφαρμογές:

multimeter

Ο κεντρικός διακόπτης ενός πολύμετρου

abs sensor

Ο αισθητήρας ABS σε ένα αυτοκίνητο ή μοτοσυκλέτα

volume

Το κουμπί ελέγχου της έντασης ήχου σε ένα στερεοφωνικό

mouse

Ο αισθητήρας κίνησης σε ένα παλιό ποντίκι υπολογιστή με μπίλια.

 

2. Είδη και αρχή λειτουργίας

Οι π/κ χωρίζονται σε δύο βασικές κατηγορίες, τους αθροιστικούς (incremental) και τους απόλυτους (absolute).

Οι αθροιστικοί είναι απλοί στην κατασκευή τους όμως μπορούν να εντοπίσουν στην πιό απλή μορφή τους μόνο ταχύτητα περιστροφής, ενώ οι πιό εξελιγμένοι, φορά και ταχύτητα περιστροφής.

Οι απόλυτοι έχουν πιό πολύπλοκη κατασκευή όμως μπορούν επιπλέον να εντοπίσουν και το ακριβές σημείο στο οποίο είναι περιστραμένος ο άξονας τους ανα πάσα στιγμή.

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

Ανάλογα με τον τρόπο που δημιουργούνται αυτά τα σήματα, οι π/κ χωρίζονται στους μηχανικούς (mechanical), οπτικούς (optical), μαγνητικούς (magnetic) και χωρητικούς (capacitive).

Γενικά οι π/κ κατατάσονται στα παθητικά στοιχεία (passive components). Όμως υπάρχουν και πιό εξελιγμένοι π/κ τους οποίους θα μπορούσαμε να χαρακτηρίσουμε ως “ενεργούς” οι οποίοι κάνουν κάποια προ-επεξεργασία των σημάτων πρίν τα στείλουν στον μικροελεγκτή.

3. Πρακτικές εφαρμογές

ABS

Ο π/κ του ABS είναι αθροιστικός, μαγνητικού τύπου. Αποτελείται απο ένα δίσκο απο φερρομαγνητικό υλικό με δόντια ή εγκοπές που βρίσκεται πάνω στον τροχό και έναν μαγνητικό αισθητήρα ο οποίος βρίσκεται σε κάποιο σταθερό σημείο. Καθώς ο τροχός περιστρέφεται, τα δόντια ή οι εγκοπές του δίσκου περνάνε μπροστά απο τον αισθητήρα και προκαλούν έναν τετράγωνο παλμό. Ανάλογα με τον αριθμό των εγκοπών και την ταχύτητα περιστροφής, μεταβάλλεται και η συχνότητα του παλμού.

Κάποιοι αισθητήρες ABS είναι παθητικού τύπου και παράγουν ημιτονοειδές σήμα, όμως αυτό πιθανόν να προκαλέι προβλήματα, ειδικά στις χαμηλές ταχύτητες, γιατι το σήμα μπορεί να μήν είναι πολύ καθαρό και έτσι ο μικροελεγκτής να μήν έχει ξεκάθαρη εικόνα για την ταχύτητα του τροχού. Άλλοι αισθητήρες είναι ενεργοί, δηλαδή έχουν ενσωματωμένα κυκλώματα τα οποία ενισχύουν και διαμορφώνουν το σήμα έτσι ωστε ο μικροελεγκτής να δέχεται ένα καθαρό τετράγωνο παλμό.

Ας πάρουμε ώς παράδειγμα τον τροχό της μοτοσυκλέτας της εικόνας. Η διάμετρος του τροχού είναι 60cm και ο δίσκος έχει περίπου 60 εγκοπές. Αυτό σημαίνει οτι σε κάθε πλήρη περιστροφή του τροχού δημιουργούνται 60 παλμοί. Καθώς η περίμετρος του τροχού είναι 1,9m (60*π), αυτό μεταφράζεται οτι 1,9m διανυόμενης απόστασης ισοδυναμούν με 60 παλμούς.

Διαιρώντας και τα δύο μέρη της ισοδυναμίας με 1,9 και το χρόνο, παίρνουμε τη σχέση ταχύτητας της μοτοσυκλέτας και συχνότητας παλμού, δηλαδή 1m/s ισοδυναμεί με 31,57Hz. Σε ταχύτητα 300km/h (84m/s) η συχνότητα του παλμού θα είναι αντίστοιχα 84*31,57 = 2,9KHz.

Με αυτή τη διάταξη η οποία παράγει μόνο ένα παλμό, μπορούμε να μετρήσουμε την ταχύτητα αλλά όχι τη φορά περιστροφής. Αυτό βεβαίως δέν είναι πρόβλημα για ενα σύστημα ABS, γιατί μόνο η ταχύτητα του τροχού έχει σημασία για τον ελεγκτή. Όμως υπάρχουν περιπτώσεις που θέλουμε να γνωρίζουμε και την φορά περιστροφής, για παράδειγμα στο ποντίκι.

 

Ποντίκι με μπίλια

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

mouse2

Στη φωτογραφία τα LED είναι τα διάφανα κουτάκια, ενώ οι φωτοδίοδοι είναι τα κόκκινα (Η δεύτερη φωτοδίοδος κρύβεται απο τον δίσκο). Καθώς ο δίσκος περιστρέφεται, το φώς που δέχοται οι φωτοδίοδοι είναι διακεκομμένο. Έτσι η τάση που παράγεται στα άκρα τους είναι ουσιαστικά ένας τετράγωνος παλμός. Το σύστημα δηλαδή λειτουργεί όπως και ο αισθητήρας ABS και μπορεί έτσι να μετρηθεί η ταχύτητα περιστροφής.

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

Encoder_diagram

Έτσι όταν ο άξονας περιστρέφεται κατα τη μία φορά, ο παλμός Α προηγείται του Β ενώ κατα την αντίστροφη φορά ο παλμός Β προηγείται του Α. Με αυτόν τον τρόπο μπορεί ο μικροελεγκτής του ποντικιού να εντοπίσει εκτός απο την ταχύτητα περιστροφής και την φορά περιστροφής.

 

Ηχοσύστημα

Οι π/κ των ηχοσυστημάτων είναι παρόμοιας λειτουργίας με αυτούς των ποντικιών, όμως συνήθως είναι φτηνότεροι μηχανικοί, καθώς χρησιμοποιούνται λιγότερο και δέν απαιτείται μεγάλη ακρίβεια και αντοχή στη χρήση. Και εδώ δηλαδή παράγονται δύο παλμοί με κάποια διαφορά φάσης, όμως ο τρόπος παραγωγής τους είναι με ηλεκτρικές επαφές. Αυτού του τύπου ήταν και στο Philips MCM204 που επισκεύασα πρόσφατα.

IMG_20140208_163127

Οι μεταλλικές επαφές δέν είναι απολύτως συμμετρικές και έτσι δημιουργείται η διαφορά φάσης μεταξύ των δύο παλμών.

Κάποιοι π/κ αυτού του τύπου κάνουν διακριτά “κλίκ” κατα την περιστροφή τους, σηνήθως 6, 8 ή 12 σε μία πλήρη περιστροφή. Άλλοι, όπως ο παραπάνω, έχουν ομαλή περιστροφή.

 

Πολύμετρο

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

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

Multimeter rotary encoder

 

Όπως όλοι οι μηχανικοί διακόπτες, έτσι και εδώ υπάρχει το πρόβλημα του contact bouncing, δηλαδή το έλασμα κυριολεκτικά αναπηδά (bounce) ελάχιστα πάνω στην επαφή για τα πρώτα ms της ενεργοποίησης και το σήμα που παράγεται αρχικά δέν είναι ξεκάθαρο.

Bouncy_Switch

 

Το πρόβλημα αυτό γενικά είναι αντιμετωπίσιμο, όμως στην περίπτωση του μηχανικού π/κ έχουμε το επιπλέον πρόβλημα οτι πιθανόν πολλές επαφές να αναπηδούν ταυτόχρονα.

Για παράδειγμα έστω οτι έχουμε έναν π/κ με δύο ομόκεντρους κύκλους – επαφές και τέσσερις θέσεις A,B,C και D, και χρησιμοποιούμε δυαδικά νούμερα για να αναπαραστήσουμε πότε η κάθε επαφή είναι ανοιχτή ή κλειστή

2 bit rotary encoder

 

 

encoder truth table

Το πρόβλημα είναι οτι κατα τη μετάβαση απο B σε C και D σε A, και οι δύο επαφές αλλάζουν κατάσταση ταυτόχρονα.

Αυτό λύνεται με μια μικρή αλλαγή στη σειρά, δηλαδή:

greycode-rotary-encoder

grey-code-truth-table

Με αυτό τον τρόπο σε οποιαδήποτε φορά περιστροφής μόνο ένα bit αλλάζει κατάσταση κάθε φορά. Αυτή η κωδικοποίηση ονομάζεται grey code.

You may also like...

Leave a Reply

Your email address will not be published. Required fields are marked *