Πίνακας περιεχομένων:

Thrustmaster Warthog Slew Sensor I2C Αναβάθμιση: 5 Βήματα
Thrustmaster Warthog Slew Sensor I2C Αναβάθμιση: 5 Βήματα

Βίντεο: Thrustmaster Warthog Slew Sensor I2C Αναβάθμιση: 5 Βήματα

Βίντεο: Thrustmaster Warthog Slew Sensor I2C Αναβάθμιση: 5 Βήματα
Βίντεο: Hardware Review: Delta Sim Electronics Thumbstick Upgrade für Thrustmaster HOTAS Warthog 2024, Ιούνιος
Anonim
Thrustmaster Warthog Slew Sensor I2C Αναβάθμιση
Thrustmaster Warthog Slew Sensor I2C Αναβάθμιση

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

forums.eagle.ru/showthread.php?t=200198

Μια βασική κατανόηση εάν το πρωτόκολλο I2C υποτίθεται για τα περισσότερα από τα ακόλουθα βήματα, για μια εξαιρετική εξήγηση πηγαίνετε στο:

learn.sparkfun.com/tutorials/i2c

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

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

Βήμα 1: Υφιστάμενες λεπτομέρειες αισθητήρα

Υφιστάμενες λεπτομέρειες αισθητήρα
Υφιστάμενες λεπτομέρειες αισθητήρα

Ο αισθητήρας στροβιλισμού ministick που συνοδεύει το γκάζι Thrustmaster Wathog είναι γνωστό ότι είναι μία από τις μεγαλύτερες αδυναμίες με ένα κατά τα άλλα εξαιρετικό προϊόν. Υπήρξαν μια σειρά από προσπάθειες ανθρώπων να το αντικαταστήσουν με κάτι καλύτερο όλα αυτά τα χρόνια, αλλά οι περισσότερες αντιμετώπισαν τις δυσκολίες διασύνδεσης με το ψηφιακό πρωτόκολλο I2C που χρησιμοποιείται από αυτό.

Ο ακριβής αισθητήρας που χρησιμοποιείται στο γκάζι Warthog είναι ο N35P112 - EasyPoint, ο οποίος χρησιμοποιεί τον αισθητήρα εφέ αίθουσας AS5013 IC κατασκευασμένος από την AMS.

Φύλλο δεδομένων:

ams.com/eng/Products/Magnetic-Position-Sens…

Είναι ενδιαφέρον ότι η μονάδα ήταν κάποτε διαθέσιμη ως ενότητα breakout από τον Sparkfun:

www.sparkfun.com/products/retired/10835

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

Βήμα 2: Pinout

Pinout
Pinout

Ο αισθητήρας συνδέεται με το PCB στη δεξιά μονάδα γκαζιού μέσω σύνδεσης micro 5 pin.

Το Pinout έχει ως εξής:

  1. Vcc +3.3VDC (

    Τοπικά ρυθμιζόμενο από 5V από έναν γραμμικό ρυθμιστή στην άλλη πλευρά του πίνακα, ακριβώς πίσω από το βύσμα, θα πρέπει να είναι καλό να φτάσει τα 20mA, αλλά δεν το έχω δοκιμάσει σε καμία περίπτωση)

  2. I2C SDA
  3. I2C SCL
  4. GND
  5. Κουμπί 1 (Κανονικά υψηλή, εσωτερική έλξη 5V)

Βήμα 3: Περιγραφή πρωτοκόλλου

Περιγραφή πρωτοκόλλου
Περιγραφή πρωτοκόλλου

Ο αισθητήρας λειτούργησε στη διεύθυνση I2C 0x41 - όλες οι εντολές εγγραφής ή ανάγνωσης ξεκινούν με αυτήν τη διεύθυνση.

Όταν το γκάζι συνδέεται με τον υπολογιστή, υπάρχει ένα προοίμιο περίπου 250ms στο δίαυλο I2C για τη διεύθυνση 0x40, υποθέτω ότι πρόκειται για διαφορετική έκδοση αισθητήρα ή κάτι παρόμοιο, αλλά δεν είναι σχετικό με εμάς.

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

Ρύθμιση - Αυτά τα δεδομένα αποστέλλονται μία φορά, περίπου 500ms μετά τη σύνδεση του USB, για να ρυθμίσετε τον αρχικό αισθητήρα για χρήση.

Master Write: 0x0F (Control Register 1)

Δεδομένα: 0x02 0b0000 0010 (ξεκινά μια μαλακή επαναφορά)

Master Write: 0x0F (Control Register 1)

Κύρια ανάγνωση: 0xF1 0b1111 0001 (επαναφέρει στο 11110000, το lsb 1 σημαίνει ότι τα έγκυρα δεδομένα είναι έτοιμα για ανάγνωση. Πρέπει να απαντήσουμε σωστά σε αυτήν την εντολή για να αναγνωριστούμε ως έγκυρη βοηθητική συσκευή)

Master Write: 0x2E (Control Register 2)

Δεδομένα: 0x 86 (αυτό απλώς ορίζει τον προσανατολισμό του μαγνήτη στον αρχικό αισθητήρα)

Master Write: 0x0F (Control Register 1)

Δεδομένα: 0x 80 0b1000 0000 (Ρυθμίζει τη συσκευή σε κατάσταση αναμονής (αυτόματη μέτρηση, όχι σε κατάσταση χαμηλής κατανάλωσης ενέργειας))

Βρόχος: Αυτό επαναλαμβάνεται σε περίπου 100Hz για λήψη δεδομένων αισθητήρα.

Master Writ: 0x10 (X μητρώο)

Κύρια ανάγνωση: (ο σκλάβος στέλνει δεδομένα X, τιμή συμπληρώματος 8 bit 2 του 2)

Master Writ: 0x11 (Y μητρώο)

Κύρια ανάγνωση: (ο υποτελής στέλνει δεδομένα Y, τιμή συμπληρώματος 8 bit 2 του 2)

Σχετικό μέρος της απόρριψης πρωτοκόλλου από τον αναλυτή λογικής:

Ρύθμιση Εγγραφή σε [0x82] + ACK

0x0F + ACK

0x02 + ACK

Ρύθμιση Εγγραφή σε [0x82] + ACK

0x0F + ACK

Ρύθμιση Διαβάστε σε [0x83] + ACK

0xF1 + NAK

Ρύθμιση Εγγραφή σε [0x82] + ACK

0x2E + ACK

0x86 + ACK

Ρύθμιση Εγγραφή σε [0x82] + ACK

0x0F + ACK

0x80 + ACK

Ρύθμιση Εγγραφή σε [0x82] + ACK

0x10 + ACK

Ρύθμιση Ανάγνωση σε [0x83] + ACK 0xFC + NAK

Ρύθμιση Γράψτε σε [0x82] + ACK 0x11 + ACK

Ρύθμιση Διαβάστε σε [0x83] + ACK 0xFF + NAK

Βήμα 4: Κωδικός Arduino

Κωδικός Arduino
Κωδικός Arduino

Ο συνημμένος κώδικας Arduino μπορεί να χρησιμοποιηθεί για την προσομοίωση του αισθητήρα.

Παρακαλώ σημειώστε: Οι περισσότεροι πίνακες Arduino λειτουργούν με τάση 5V, αυτό χρειάζεται συμβατό ή τροποποιημένο πίνακα 3.3V για να λειτουργήσει για να αποφευχθεί ζημιά στο χειριστήριο σας.

Βήμα 5: Βαθμονόμηση

Βαθμονόμηση
Βαθμονόμηση

Μόλις τοποθετηθεί ο νέος σας αισθητήρας, το γκάζι θα χρειαστεί βαθμονόμηση.

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

forums.eagle.ru/showthread.php?t=65901

Μη χρησιμοποιείτε βαθμονόμηση παραθύρων.

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

Αλλαξε το:

Standard_DZ_SX = 0x10;

Standard_DZ_SY = 0x10;

Γραμμές στο A10_calibration.txt σε:

Standard_DZ_SX = 0x01;

Standard_DZ_SY = 0x01;

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

Συνιστάται: