Sisällysluettelo:

Thrustmaster Warthog Slew Sensor I2C -päivitys: 5 vaihetta
Thrustmaster Warthog Slew Sensor I2C -päivitys: 5 vaihetta

Video: Thrustmaster Warthog Slew Sensor I2C -päivitys: 5 vaihetta

Video: Thrustmaster Warthog Slew Sensor I2C -päivitys: 5 vaihetta
Video: Hardware Review: Delta Sim Electronics Thumbstick Upgrade für Thrustmaster HOTAS Warthog 2024, Marraskuu
Anonim
Thrustmaster Warthog Slew Sensor I2C -päivitys
Thrustmaster Warthog Slew Sensor I2C -päivitys

Tämä on karkea opas siitä, miten liittää ThrustmasterWarthog -kaasuvivun anturin I2C -protokollaan. Tätä voidaan käyttää päivittämään melko hyödyttömästä vakiomallista paremmaksi, mutta silti käyttämällä kaasun vakiomallista USB -ohjainta. Tämä perustuu alkuperäiseen viestiin:

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

Perustiedot, jos oletetaan I2C -protokolla useimpiin seuraaviin vaiheisiin, saat erinomaisen selityksen osoitteesta:

learn.sparkfun.com/tutorials/i2c

Jos sinulla on erityiskysymyksiä, kysy rohkeasti minulta, ja yritän tulevaisuudessa lisätä tähän vaikeaseen asiaan liittyvää tietoa. Tämä ei suinkaan ole täydellinen, mutta sen pitäisi olla hyvä lähtökohta.

Jotkut Arduino -demokoodit ovat saatavilla, mutta ota tämä vain viitteenä, koska tavallista 5 V: n Arduinoa ei voi käyttää ilman muutoksia.

Vaihe 1: Olemassa olevat anturin tiedot

Olemassa olevat anturin tiedot
Olemassa olevat anturin tiedot

Thrustmaster Wathog -kaasun mukana toimitettu ministerick -kääntöanturi on tunnetusti yksi suurimmista heikkouksista muuten erinomaisella tuotteella. Ihmiset ovat vuosien mittaan yrittäneet korvata sen jollakin paremmalla, mutta useimmat ovat joutuneet kohtaamaan vaikeudet, jotka liittyvät sen käyttämään digitaaliseen I2C -protokollaan.

Warthog -kaasun tarkka anturi on N35P112 - EasyPoint, joka käyttää AMS: n valmistamaa hallitehosteanturia AS5013.

Tuotesivu:

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

Mielenkiintoista on, että yksikkö oli kerran saatavana Sparkfunin purkausmoduulina:

www.sparkfun.com/products/retired/10835

Anturi on tarkoitettu navigointisovelluksiin, kuten matkapuhelimiin, ja se on erittäin halpa. Mielestäni ei voida hyväksyä sellaisessa, joka maksaa lähes 500 dollaria.

Vaihe 2: Pinout

Sokka irti
Sokka irti

Anturi kytkeytyy oikeanpuoleisen kaasuläpän piirilevyyn micro 5 -nastaisen liittimen kautta.

Pinout on seuraava:

  1. Vcc +3.3VDC (

    Paikallisesti säädetty 5 V: sta lineaarisella säätimellä levyn toisella puolella, juuri liittimen takana, pitäisi olla hyvä noin 20 mA: iin, mutta en ole mitenkään testannut tätä)

  2. I2C SDA
  3. I2C SCL
  4. GND
  5. Painike 1 (normaalisti korkea, sisäinen 5 V: n vetäminen)

Vaihe 3: Protokollan kuvaus

Protokolla Kuvaus
Protokolla Kuvaus

Anturi toimi I2C -osoitteella 0x41 - kaikki kirjoitus- tai lukukomennot alkavat tästä osoitteesta.

Kun kaasuvipu kytketään tietokoneeseen, I2C -väylällä on noin 250 ms: n johdanto -osoite osoitteeseen 0x40, oletan, että tämä koskee eri anturiversiota tai jotain vastaavaa, mutta se ei ole meille merkityksellistä.

Normaalikäytössä I2C -väylältä lähetetyt tiedot ovat alla, mikrokontrollerimme on simuloitava tämä, jotta voimme puhua kaasulle.

Asetukset - Nämä tiedot lähetetään kerran, noin 500 ms USB -liitännän jälkeen, jotta alkuperäinen anturi saadaan käyttöön.

Pääkirjoitus: 0x0F (ohjausrekisteri 1)

Tiedot: 0x02 0b0000 0010 (käynnistää pehmeän nollauksen)

Pääkirjoitus: 0x0F (ohjausrekisteri 1)

Päälukema: 0xF1 0b1111 0001 (palautuu arvoon 11110000, lsb 1 tarkoittaa, että kelvolliset tiedot ovat valmiita luettavaksi. Meidän on vastattava tähän komentoon oikein, jotta voimme tunnistaa kelvollisen orjalaitteen)

Pääkirjoitus: 0x2E (ohjausrekisteri 2)

Tiedot: 0x 86 (tämä vain asettaa magneetin suunnan alkuperäisessä anturissa)

Pääkirjoitus: 0x0F (ohjausrekisteri 1)

Tiedot: 0x 80 0b1000 0000 (Asettaa laitteen valmiustilaan (automaattinen mittaus, ei virransäästötilassa))

Silmukka: Tämä toistetaan noin 100 Hz: n taajuudella anturitietojen saamiseksi.

Pääkirjoitus: 0x10 (X -rekisteri)

Master Read: (orja lähettää X -dataa, 2: n komplementin 8 -bittinen arvo)

Pääkirjoitus: 0x11 (Y -rekisteri)

Master Read: (orja lähettää Y -dataa, 2: n komplementin 8 -bittinen arvo)

Asiaan liittyvä osa protokollavedosta logiikka -analysaattorista:

Asetus Kirjoita [0x82] + ACK

0x0F + ACK

0x02 + ACK

Asetus Kirjoita [0x82] + ACK

0x0F + ACK

Asetukset Lue [0x83] + ACK

0xF1 + NAK

Asetus Kirjoita [0x82] + ACK

0x2E + ACK

0x86 + ACK

Asetus Kirjoita [0x82] + ACK

0x0F + ACK

0x80 + ACK

Asetus Kirjoita [0x82] + ACK

0x10 + ACK

Asennus Lue [0x83] + ACK 0xFC + NAK

Asennus Kirjoita [0x82] + ACK 0x11 + ACK

Asetus Lue [0x83] + ACK 0xFF + NAK

Vaihe 4: Arduino -koodi

Arduino -koodi
Arduino -koodi

Liitettyä Arduino -koodia voidaan käyttää anturin simulointiin.

Huomaa: Useimmat Arduino -levyt toimivat 5 V: lla, tämä vaatii 3,3 V: n yhteensopivan tai muokatun levyn toimimaan, jotta vältytään ohjaussauvan vahingoittumiselta.

Vaihe 5: Kalibrointi

Kalibrointi
Kalibrointi

Kun uusi anturi on asennettu, kaasu on kalibroitava.

Kaasun kalibroimiseksi käytä kaasun kalibrointityökalua. Tämän voi ladata useista lähteistä, kuten:

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

Älä käytä ikkunoiden kalibrointia.

Jotta saat kaiken irti modista, sinun on muutettava muutamia kalibrointitiedostojen arvoja.

Muuta:

Vakio_DZ_SX = 0x10;

Vakio_DZ_SY = 0x10;

Rivit A10_calibration.txt -tiedostossa:

Vakio_DZ_SX = 0x01;

Vakio_DZ_SY = 0x01;

Tämä muuttuu kääntöohjaimen kuolleelle alueelle 10: stä 1: een ja antaa paljon paremman hallinnan. Voit pelata tällä asetuksella ja kalibroida sen jälkeen uudelleen ja katsoa mistä pidät eniten.

Suositeltava: