Αισθητήρας Πυξίδας NXT (Compass Sensor)

Εισαγωγή

Ο Αισθητήρας Πυξίδας NXT περιέχει μια ψηφιακή μαγνητική πυξίδα που μέτρα το μαγνητικό πεδίο της Γης και υπολογίζει μία γωνία θέσης. Ο Αισθητήρας Πυξίδας NXT συνδέται σε μια θυρα εισόδου του NXT με τη χρήση τυποποιημένου 6-πλού καλωδίου και χρησιμοποιεί το ψηφιακό πρωτόκολλο επικοινωνιών I2C. Η τρέχουσα θέση υπολογίζονται με ακρίβεια 1° και ανανεώνονται 100 φορές το δευτερόλεπτο.

Ο Αισθητήρας Πυξίδας NXT είναι κατασκευασμένος σε ένα πρότυπη θήκη αισθητήρων Mindstorms για να ταιριάζει με τα υπόλοιπα στοιχεία Mindstorms.

Για να δοκιμάσετε το νέο σας αισθητήρα, συνδέστε τον στη θύρα 2 του NXT και επιλέξτε View > Ultrasonic cm > Port 2. Καθως κουνάτε γύρω – γύρω τον αισθητήρα, θα παρατηρήσετε ότι οι μετρήσεις θα αλλάζουν από 1 – 179. (Το 0 θα εμφανίσει ως ?????? στην κατάσταση Προβολή (View)).

Προγραμματισμός σε Mindstorms NXT-G

Η πυξίδα μπορεί να προγραμματιστεί με τη χρήση του μπλοκ λογισμικού LEGO Mindstorms NXT Compass*. Αν το μπλοκ δεν είναι διαθέσιμο μπορείτε επίσης να χρησιμοποιήσετε το πρότυπο μπλοκ Υπερήχων.
* Σημείωση:Το μπλοκ Αισθητήρα Πυξίδας NXT είναι διαθέσιμο για δωρεάν λήψη στον ιστοχώρο της HiTchnic http://www.hitechnic.com/contents/en-us/d17.html.

Μπλοκ  Αισθητήρα Υπερήχων

Εάν χρησιμοποιείτε το μπλοκ Αισθητήρα Υπερήχων για να προγραμματίσετε τον Αισθητήρα Πυξίδας NXT, ρυθμίστε το σε λειτουργία εκατοστών όπως φαίνεται στην εικόνα. Το μπλοκ θα επιστρέψει την τιμή του άξονα Χ  που θα είναι στην περιοχή 0 – 254.
Το μπλοκ Αισθητήρα Υπερήχων μπορεί μόνο να επιστρέψει τιμές από 0 έως 250 προκειμένου να επιστρέψει το πλήρες φάσμα των θέσεων, από 0 έως  360, η τιμή θέσης που επιστρέφεται όταν χρησημοποιείται το μπλοκ Αισθητήρα Υπερήχων θα είναι η τρέχουσα θέση διαιρεμένη δια 2. Για παράδειγμα, αν η τρέχουσα θεση είναι 220°, η τιμή που επιστρέφεται θα είναι 110. Ο Βορράς θα επιστρέψει την τιμή 0, η Ανατολή, μια τιμή των 45, ο Νότος, μια τιμη των 90 και Δύση, την τιμή 135. Για να λάβετε την πραγματική μαγνητική θέση, απλά πολαπλασιάστε την τιμές επι 2.

Μπλοκ Αισθητήρα Πυξίδας

Η Πυξίδα  έχει σχεδιαστεί για να υποστηρίξει τον Αισθητήρα Πυξίδας HiTechnic και υποστηρίζει όλες τις λειτουργίες πυξίδας.

  1. Αυτό το βύσμα συνδέει τον αριθμό της θύρας του ΝΧΤ σας στην οποία είναι συνδεδεμένος  ο αισθητήρας πυξίδας.
  2. Αυτό το βύσμα συνδέει τον αριθμό της δράσης που πρέπει να εκτελεστεί.
  3. Αυτό το βύσμα συνδέει τον Στόχο θεσης, βλέπε παράγραφο σχετικά με Σχετική κατηγορία πιο κάτω από αυτή τη σελίδα.
  4. Αυτό το βύσμα συνδέει την τιμή κατώτατου ορίου για τη λειτουργία σύγκρισης Εισόδου/Εξόδου.
  5. Αυτό το βύσμα συνδέει την τιμή ανώτατου ορίου για τη λειτουργία σύγκρισης Εισόδου/Εξόδου.
  6. Αυτό το βύσμα εξάγει την τρέχουσα τιμή της Απόλυτη Θέσης.
  7. Αυτό το βύσμα εξάγει την τρέχουσα τιμή της Σχετική Θέσης, βλέπε παράγραφο σχετικά με Σχετική Θέση πιο κάτω.
  8. Αυτό το βύσμα εξάγει τη λογική τιμή Εισόδου/Εξόδου.

Πανελ διαμόρφωσης πυξίδας

Θύρα (Port): σας επιτρέπει να επιλέξετε τη θύρα του NXT που είναι συνδεδεμένη η πυξίδα.

Ενέργια (Action): Η Ενέργια έχει τρεις επιλογές. Αυτές είναι:

Απόλυτη Ανάγνωση (Absolute Reading): Σας επιτρέπει να διαβάσετε το Απόλυτη Θέση, μια τιμή από 0 έως 359, που αντιστοιχεί στη τρέχουσα μαγνητική θέση σε βαθμούς. (Βύσμα 6 στο κουτί δεδομένων).

Σχετική Ανάγνωση (Relative Reading): Σας επιτρέπει να θέσει ένα Στόχο και να διαβάσετε την Σχετική Θέση (Βύσμα 3 και 7 στο κουτί δεδομένων). Ανατρέξτε στην ενότητα Χρήση Σχετικής Ανάγνωσης παρακάτω για περισσότερες πληροφορίες.

Βαθμονόμηση (Calibrate): Ρύθμιση του αισθητήρα πυξίδας που σας επιτρέπει να περάσετε από αλληλουχία βαθμονόμησηςι  ώστε να ελαχιστοποιείται η επίδραση των μετάλλων και άλλων πηγών μαγνητικών παρεμβολών, όπως κινητήρες ή μπαταρίες. Βλέπε Βαθμονόμηση του Αισθητήρα Πυξίδας παρακάτω.

Συγκρίση (Compare)

Συγκρίνει την Απόλυτη Θέση με μια περιοχή τιμών και θέτει τη λογική τιμή εάν η τιμή είναι εντός ή εκτός της περιοχής. Ανατρέξτε στην ενότητα Χρήση Περιοχών παρακάτω για περισσότερες πληροφορίες.

Χρησιμοποιώντας Σχετική Ανάγνωση

Η Σχετική Ανάγνωση καθιστά εύκολο να μείνετε σε μία επιλεγμένη θέση. Για να χρησιμοποιήσετε αυτήν τη δυνατότητα, επιλέξτε την Ενέργια (Action)  Σχετική Ανάγνωσης (Relative Reading). Στη συνέχεια, εισάγετε ένα Στόχο που είναι η θέση που θέλετε να διατηρηθεί.

Εάν θελετε να πλοηγηθείται Νότια, θα πρέπει να εισάγγεται στον Στόχο 180 (Νότια είναι 180 μοίρες). Το μπλοκ  αισθητήρα πυξίδας στη συνέχεια θα υπολογίζει τη διαφορά μεταξύ της  Απόλυτης Θέσης και του Στόχου και θα επιστρεφει τη διαφορά ως Σχετική Θέση. (βύσμα 7). Για παράδειγμα, με το στόχο σας στο 180, εάν η Απόλυτη Θέση είναι 175, τότε η Σχετική Θέση θα είναι 5 (Στόχος – Απόλυτη Ονομασία ή 180 – 175 = 5). Αυτό δείχνει μια στροφή προς τα δεξιά ή οτι απαιτουνται 5 βαθμοί δεξιόστροφα για να επιτευχθεί ο Στόχος.

Εάν η Απόλυτη Θέση ήταν 185, τότε η Σχετική Θέση θα είναι -5 (Στόχος – Απόλυτη Θέση ή 180 – 185 = -5). Αυτό δείχνει μια στροφή προς τα αριστερά ή οτι απαιτούνται 5 βαθμοί αριστερόστροφα για να επιτευχθεί ο Στόχος. Παράδειγμα.

Βαθμονόμηση του Αισθητήρα Πυξίδας

Ο Αισθητήρα Πυξίδας HiTechnic  θα επηρεαστεί από τις τοπικές μαγνητικές παρεμβολές με τον ίδιο τρόπο όπως οποιαδήποτε άλλη μαγνητική πυξίδα. Αντικείμενα όπως τα μεταλλικά αντικείμενα, οι κινητήρες, οι μπαταρίες και καλώδια μπορεί να προκαλέσουν μαγνητικές παρεμβολές. Τοπικός μαγνητισμός μπορεί να προκαλέσει στη πυξίδα μιας θέση αρκετές μοίρες διαφορετικές από τις πραγματική μαγνητική θέση. Αυτό ονομάζεται απόκλιση πυξίδας. Για να διορθωθεί η απόκλιση, ο αισθητήρας πυξίδας HiTechnic διαθέτει ενσωματωμένο συστημα βαθμονόμησης που υπολογίζει την τιμή διόρθωσης και την αποθηκεύει σε πυξίδα.

Η βαθμονόμηση είναι προαιρετική και συνήθως δεν απαιτείται για την κανονική λειτουργία του. Για να ελαχιστοποιηθεί η ανάγκη για τη βαθμονόμηση, βεβαιωθείτε ότι έχετε τοποθετήσει την πυξίδα τουλάχιστον 10 – 15 cm (4 – 6 ίντσες) μακριά από το τούβλο NXT και τους κινητήρες.

Για τη βαθμονόμηση της πυξίδας στο πλαίσιο του προγράμματος ελέγχου, επιλέξτε  κατάσταση βαθμονόμησης (calibration mode) ( τιμή 2 στο βύσμα Action) και, στη συνέχεια, πρόγραμματίστε τορομπότ σας να περιστραφεί (στροφή σε ένα στενό κύκλο) μεταξύ 1 ½ και 2 φορές (πάνω από 360 μοίρες) μέχρι την ολοκλήρωση της μια πλήρη στροφή σε περίπου 20 δευτερόλεπτα. Μόλις οι στροφές έχουν ολοκληρωθεί, θέστε το Δράση Action σε λειτουργία Ανάγνωσης (Απόλυτη ή Σχετική) και η πυξίδα θα βαθμονομηθεί. Η πυξίδα θα διατηρήσει τις ρυθμίσεις βαθμονόσμησης  μέχρι να εκτελεστεί μία νέα, ακόμη και αν ΑΠΟΣΥΝΔΕΘΕΙ ο αισθητήρας.

Χρησιμοποιώντας την Περιοχή (Range)

Η Σύγκριση σας επιτρέπει να ορίσετε μια περιοχή και εύκολα να διαπιστώσετε εάν η τρέχουσα θεση είναι εντός ή εκτός αυτής. Τα Στοιχεία που χρησιμοποιούνται στη λειτουργία Περιοχής είναι:

Εντός Περιοχής / Εκτός Περιοχής: Επιλέξτε εάν θέλετε να ελέχξετε για μιια Απόλυτη Θέση εντός ή εκτός της περιοχής.

Α: Το κατώτερο όριο της περιοχής (0 – 359)

Β: Το ανώτατο όριο της περιοχής (0 – 359)

Για να χρησιμοποιήσετε τη λειτουργία Περιοχη Range, θέστε το πάνω και κάτω όριο της περιοχή σας και αν θέλετε να το ελέγχετε για εντός ή εκτός αυτής.

Τα παραδείγματα που δείχνουν το λογικό αποτέλεσμα.

A

B

Εύρος

Απόλυτος Τομέας

Λογική τιμή

85

95

Inside Range

90

85

95

Inside Range

100

85

95

Outside Range

90

85

95

Outside Range

100

Πίνακας Καταχωρητών Αισθητήρα

Διεύθυνση

Τύπος

Περιεχόμενα

00 – 07H

chars

Αριθμός έκδοσης αισθητήρα Sensor version number

08 – 0FH

chars

Κατασκευαστής Manufacturer

10 – 17H

chars

Τύπος Αισθητήρας Sensor type

18 – 3DH

bytes

Δεν χρησιμοποιείται Not used

3E, 3FH

chars

Κρατημένο Reserved

40H

byte

Δεν χρησιμοποιείται Not used

41η

byte

Κατάσταση ελέγχου Mode control

42η

byte

Τομέας) δύο βαθμό κλάσηςHeading }  two degree heading

43H

byte

Τομέας) ένα βαθμό αθροιστής Heading }  one degree adder

44, 45η

word

Τομέας) (χαμηλό byte, υψηλό byte) Heading (low byte, high byte)

46 – 7FH

bytes

Δεν χρησιμοποιείται Not used

Το πεδίο αριθμός έκδοσης Αισθητήρα θα αναφέρει ένα αριθμό αναθεώρησης με τη μορφή “²Vn.m”όπου n είναι ο μεγαλύτερος αριθμός έκδοσης και m είναι το επίπεδο αναθεώρησης . Οι αριθμοί αναθεώρησης συνήθως αντικατοπτρίζουν το επίπεδο firmware – υλικολογισμικού. Ο αριθμός έκδοσης θα χρησιμοποιηθεί για να υποδεικνύει το επίπεδο υλικoού .

Το πεδίο κατασκευαστής θα περιέχει «HiTechnc».

Το πεδίο τύπος αισθητήρα θα περιέχει «Compass«.

Το πεδίο τρόπος ελέγχου μπορεί να τεθεί σε 0x00 ή 0x43 για να καθορίσει ο τρόπος της μέτρηση ή   λειτουργία βαθμονόμησης hard-iron.

Τα πεδία Τομέας θα επιστρέψουν την τρέχουσα τιμή τομέα που μετράται κατά τη διάρκεια του τρόπου λειτουργίας μετρήσεων . Κατά τη διάρκεια της  βαθμονόμησης τα πεδία είναι εκτός.

Ο τομέας προέρχεται από την ανάγνωση της 0x42 θέσης για την απόκτηση τομέα δύο βαθμών και της 0x43 για να αποκτήσετε την προσθήκη ενός βαθμού. Ο τομέας μπορεί στη συνέχεια να υπολογίζεται ως. Τομέας = (τομέας δύο βαθμών * 2) + ένα βαθμό προσθήκη.

Εάν το σήμα είναι ένα πρόβλημα, τότε η16 bit συμβατική τιμή μπορεί να ληφθεί από τη 0x44 (χαμηλό byte) και τη 0x45 (υψηλό byte).


Η θέση 0x41 είναι ο τρόπος ελέγχου. Προεπιλεγμένη σε 0, που είναι τρόπος μετρήσεων. Αλλαγή σε 0x43 για να ορίσετε  λειτουργία βαθμονόμησης. Πρέπει να αλλαχθεί πίσω σε 0  όταν ολοκληρωθεί η βαθμονόμηση. ( Αν η βαθμονόμηση αποτύχει, η θέση 0x41 θα τεθεί σε 2 μετά την τοποθέτηση σε 0 από το ΝΧΤ στο τέλος της αποτυχημένης προσπάθειας βαθμονόμησης).

Άλλα περιβάλλοντα προγραμματισμού

RobotC

Όλα τα χαρακτηριστικά της Πυξίδας HiTechnic μπορούν να προσπελαστούν με τη χρήση της RobotC. Για περισσότερες πληροφορίες, μεταβείτε στο http://www-education.rec.ri.cmu.edu/robotc/.

NBC

Η Next Byte Code (NBC) είναι μια απλή γλώσσα προγραμματισμού που μπορεί να έχει πρόσβαση σε όλα τα χαρακτηριστικά της πυξίδα. Για περισσότερες πληροφορίες, μεταβείτε στο http://bricxcc.sourceforge.net/nbc/.

Σημειώσεις:

  • Ο αισθητήρας πυξίδας HiTechnic  θα λειτουργήσει σωστά μόνο σε οριζόντιο επίπεδο, κρατήστε την πυξίδα σε αυτό το επίπεδο για να διαβάσει σωστά. Αυτό είναι πολύ σημαντικό να το  θυμόμαστε όταν κατασκευάζετε το ρομπότ σας.
  • Η έκδοση 1,03 του NXT Firmware , πρέπει να υπάρχει στο NXT για να λειτουργεί σωστά η πυξίδα. Μπορείτε να ελέγξετε την έκδοση firmware από την εμφάνιση του παράθυρου NXT  στο λογισμικό Mindstorms .
  • Είναι ιδιαίτερα επιθυμητό να στεραιώνετε  την πυξίδα τουλάχιστον 15 εκατοστά μακριά από τους κινητήρες και 10 εκατοστά μακριά από το ίδιο το τούβλο NXT.
  • Δοκιμάστε για να βεβαιωθείτε ότι είναι σταθερά τοποθετημένη, αν αναπηδά γύρω γύρω , και οι αναγνώσεις θα μεταβάλλονται το ίδιο.

Leave a Reply

You must be logged in to post a comment.