Satura rādītājs:
- 1. darbība: esošā sensora informācija
- 2. darbība
- 3. darbība: protokola apraksts
- 4. solis: Arduino kods
- 5. solis: kalibrēšana
Video: Thrustmaster Warthog pagriešanas sensora I2C jaunināšana: 5 soļi
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:56
Šis ir aptuvens ceļvedis, kā saskarties ar I2C protokolu, kas tiek izmantots ThrustmasterWarthog droseļvārsta pagrieziena sensorā. To var izmantot, lai no diezgan bezjēdzīga standarta ministick pārietu uz kaut ko labāku, taču droseļvārsta blokā joprojām tiek izmantots standarta USB kontrolieris. Tas ir balstīts uz sākotnējo ziņu par:
forums.eagle.ru/showthread.php?t=200198
Pamata izpratne par to, vai I2C protokols tiek pieņemts lielākajai daļai no šīm darbībām, lai iegūtu lielisku skaidrojumu, dodieties uz:
learn.sparkfun.com/tutorials/i2c
Ja jums ir kādi konkrēti jautājumi, jautājiet man, un es centīšos nākotnē papildināt šo neatrisināmo jautājumu ar atbilstošāku informāciju. Tas nekādā ziņā nav pilnīgs, bet tam vajadzētu būt labam sākumpunktam.
Tiek piedāvāts kāds Arduino demonstrācijas kods, taču, lūdzu, ņemiet to tikai kā atsauci, jo parasto 5V Arduino nevar izmantot bez izmaiņām.
1. darbība: esošā sensora informācija
Ministick pagrieziena sensors, kas tiek piegādāts kopā ar Thrustmaster Wathog droseļvārstu, ir labi zināms, ka tas ir viens no lielākajiem trūkumiem ar citādi izcilu produktu. Gadu gaitā cilvēki ir mēģinājuši to aizstāt ar kaut ko labāku, taču lielākā daļa ir saskārušies ar grūtībām saskarties ar tā izmantoto digitālo I2C protokolu.
Precīzs sensors, ko izmanto Warthog droseļvārstā, ir N35P112 - EasyPoint, kurā tiek izmantots AMS izgatavotais zāles efekta sensora AS5013 IC.
Datu lapas:
ams.com/lat/Products/Magnetic-Position-Sens…
Interesanti, ka Sparkfun vienība savulaik bija pieejama kā izlaušanās modulis:
www.sparkfun.com/products/retired/10835
Sensors ir paredzēts navigācijas lietojumprogrammām, piemēram, mobilajiem tālruņiem, un tas ir ārkārtīgi lēts. Manuprāt, nepieņemami kaut kas tāds, kas maksā gandrīz 500 USD.
2. darbība
Sensors tiek savienots ar PCB labās puses droseļvārsta caur mikro 5 kontaktu savienotāju.
Pinout ir šāds:
-
Vcc +3.3VDC (
Vietēji regulējams no 5 V ar lineāru regulatoru, kas atrodas paneļa otrā pusē, tieši aiz savienotāja, vajadzētu būt labam līdz aptuveni 20 mA, bet es to nekādā veidā neesmu pārbaudījis)
- I2C SDA
- I2C SCL
- GND
- 1. poga (parasti augsts, iekšējais 5V pullup)
3. darbība: protokola apraksts
Sensors darbojās ar I2C adresi 0x41 - visas rakstīšanas vai lasīšanas komandas sākas ar šo adresi.
Kad droseļvārsts ir savienots ar datoru, I2C kopnē ir preambula aptuveni 250 ms, lai adresētu 0x40, es pieņemu, ka tas attiecas uz citu sensora versiju vai kaut ko līdzīgu, bet mums tas nav aktuāli.
Dati, kas nosūtīti uz I2C kopnes normālā lietošanā, ir zemāk, un tas ir jāmodelē mūsu mikrokontrolleram, lai sarunātos ar droseļvārstu.
Iestatīšana - šie dati tiek nosūtīti vienu reizi, apmēram 500 ms pēc USB pievienošanas, lai iestatītu sākotnējo sensoru lietošanai.
Galvenais raksts: 0x0F (1. kontroles reģistrs)
Dati: 0x02 0b0000 0010 (uzsāk mīksto atiestatīšanu)
Galvenais raksts: 0x0F (1. kontroles reģistrs)
Galvenais lasījums: 0xF1 0b1111 0001 (atiestatīts uz 11110000, lsb 1 nozīmē, ka derīgi dati ir gatavi lasīšanai. Mums ir pareizi jāatbild uz šo komandu, lai tos atpazītu kā derīgu vergu ierīci)
Galvenais raksts: 0x2E (vadības reģistrs 2)
Dati: 0x 86 (tas tikai nosaka magnēta orientāciju sākotnējā sensorā)
Galvenais raksts: 0x0F (1. kontroles reģistrs)
Dati: 0x 80 0b1000 0000 (Iestata ierīci gaidīšanas režīmā (automātiska mērīšana, nevis mazjaudas režīmā))
Cilpa: Tas tiek atkārtots aptuveni 100 Hz frekvencē, lai iegūtu sensora datus.
Galvenā rakstīšana: 0x10 (X reģistrs)
Galvenais lasījums: (vergs sūta X datus, 2 papildina 8 bitu vērtību)
Galvenā rakstīšana: 0x11 (Y reģistrs)
Galvenais lasījums: (vergs sūta Y datus, 2 papildina 8 bitu vērtību)
Atbilstošā protokola izmešanas daļa no loģikas analizatora:
Iestatīšana Rakstiet uz [0x82] + ACK
0x0F + ACK
0x02 + ACK
Iestatīšana Rakstiet uz [0x82] + ACK
0x0F + ACK
Iestatīšana Izlasiet līdz [0x83] + ACK
0xF1 + NAK
Iestatīšana Rakstiet uz [0x82] + ACK
0x2E + ACK
0x86 + ACK
Iestatīšana Rakstiet uz [0x82] + ACK
0x0F + ACK
0x80 + ACK
Iestatīšana Rakstiet uz [0x82] + ACK
0x10 + ACK
Iestatīšana Izlasiet līdz [0x83] + ACK 0xFC + NAK
Iestatīšana Rakstiet uz [0x82] + ACK 0x11 + ACK
Iestatīšana Izlasiet līdz [0x83] + ACK 0xFF + NAK
4. solis: Arduino kods
Pievienoto Arduino kodu var izmantot, lai simulētu sensoru.
Lūdzu, ņemiet vērā: lielākā daļa Arduino paneļu darbojas ar 5 V spriegumu, lai darbotos, lai darbvirsma netiktu bojāta, nepieciešama ar 3.3 V saderīga vai modificēta tāfele.
5. solis: kalibrēšana
Kad jaunais sensors ir uzstādīts, droseļvārsts būs jākalibrē.
Lai kalibrētu droseļvārstu, izmantojiet droseļvārsta kalibrēšanas rīku. To var lejupielādēt no vairākiem avotiem, piemēram:
forums.eagle.ru/showthread.php?t=65901
Nelietojiet logu kalibrēšanu.
Lai maksimāli izmantotu mod, jums ir jāmaina dažas vērtības kalibrēšanas konfigurācijas failā.
Nomaini:
Standarta_DZ_SX = 0x10;
Standarta_DZ_SY = 0x10;
A10_calibration.txt rindas uz:
Standarta_DZ_SX = 0x01;
Standarta_DZ_SY = 0x01;
Tas pagriešanās vadības ierīcē mainīsies uz mirušo zonu no 10 uz 1 un nodrošinās daudz labāku vadību. Jūs varat spēlēt ar šo iestatījumu un pēc tam pārkalibrēt un redzēt, kas jums patīk visvairāk.
Ieteicams:
Lēta bezvadu urbja jaunināšana!: 4 soļi
Lēta bezvadu urbja jaunināšana!: Šoreiz es dalīšos, kā uzlabot lētu bezvadu urbjmašīnas akumulatoru. Vienīgais, ko mēs uzlabosim, ir tikai pats akumulators, jo lētajam urbjmašīnai ir maza akumulatora jauda. Mēs pievienosim akumulatoram kādu funkciju ! Pievienotās funkcijas: uzlādējiet akumulatoru
Logitech G930 akumulatora jaunināšana: 5 soļi
Logitech G930 akumulatora jaunināšana: īss ceļvedis bezvadu logitech G930 austiņu akumulatora jaunināšanai
Sacīkšu drona jaunināšana: 10 soļi
Sacīkšu dronu jaunināšana: Šis ir mans soli pa solim process, kā es modernizēju sacīkšu dronu
Thrustmaster Warthog kursorsviras papildinājums: 5 soļi (ar attēliem)
Thrustmaster Warthog Joystick Addon: sveiki, lūdzu, esiet maigs pret mani .. šī ir mana pirmā pamācība. Man vajadzēja vēl dažas pogas un asis uz mana " warthog " kursorsviru, elites spēlēšanai bīstami. nav jautri pārslēgties starp kursorsviru un tastatūru, izmantojot " plaisu " uz tevi viņš
Kas ir pie Manām durvīm? PIR kustības sensora/diapazona sensora projekts: 5 soļi
Kas ir pie Manām durvīm? PIR kustības sensora/diapazona sensora projekts: Mūsu projekta mērķis ir uztvert kustību, izmantojot PIR un attāluma sensorus. Arduino kods izvadīs vizuālu un audio signālu, lai informētu lietotāju, ka kāds atrodas tuvumā. MATLAB kods nosūtīs e -pasta signālu, lai brīdinātu lietotāju, ka kāds atrodas tuvumā. Šī ierīce