arduino-imu
Toto je starší verze dokumentu!
Head Tracking
- plán:
- vzít arduino a nějaký obvod akcelerometrem, gyroskopem… použít pro rozhlížení v kokpitu
- MPU 9250
- lehce sehnatelný na ebay, kolem 120 kč
- MPU 9255
- kolem 150 kč, prý nástupce 9250, 9150?
- The new MPU-9255 is the company’s first generation 9-axis activity detection part, working in conjunction with the AAR™ activity detection library.
- The AAR library is required to leverage the full capabilities of this chip. The AAR library is compiled with ATMEL studios for Cortex M4 (ATSAM4LS4A) chipset only.
- The AAR library can be downloaded in our Developers Corner, after signing a click through SLA along with API Document and Integration Guide.
- GY-85 9DOF IMU
- The MPU-9150 is the MPU-6050 with an extra magnetometer in the chip.
-
- The MPU-6050 is higher power, lower noise, and larger package versus the MPU-6500. Most of your code should port over, but some low power features are different and will need to be recoded in. Basic data acquisitions shouldn’t have changed.
- The MPU-9150 contains the MPU-6050 and an AK8975 magnetometer from AKM. The MPU-9250 contains a MPU-6500 and AK8963. The same differences between gyro/accel are the same you see with 6050 v. 6500. The magnetometer on the MPU-9250 is a little better across the board.
- If I understood the datasheet correctly I think the MPU6050 only has gyro and accelerometer (6 DOF) while the GY-86 is 10DOF and has compass (which helps IMU headtracking alot)
- FreeIMU
- nějaký open hardware + knihovny
- FreePIE
- sw emulátor různých zařízení.. zkrátka simulace třeba TrackIR, vstup z libovolného zařízení
- EDTRACKER
- vypadá zajímavě, využívá MPU 9250 + arduino
EDTracker
- vypadá zajímavě, využívá MPU 9250 + arduino
- zapojení je velice jednoduché, pouze se spojí arduino s MPU
- Arduino VCC (5v USB power) –> VCC pin on MPU board
- Arduino pin 10 –> one side of switch (button)
- Arduino Pin 7 –> INT pin on MPU board
- Arduino Pin 3 –> SCL pin on MPU board
- Arduino Pin 2 –> SDA pin on MPU board
- Finally, join all the following pins as a common earth/ground
- 3x GND pins on Arduino
- GND on MPU board
- AD0 on MPU board
- The *other* side of the switch that you wired up to pin 10 above
- edtracker předpokládá, že MPU je čipem nahorů, jinak se to chová dívně
- firmware lze nahrát přes arduino IDE nebo EDTracker GUI
- EDTracker GUI slouží také pro kalibraci, je pouze pro Windows
- kalibruje se magneto,
- detekuje se min/max otáčením ve všech možných směrech
- a nastavením citlivosti (cca 75%)
- následně se klikne na save a vykreslí se model koule
- červená je původní, zelená je nová kalibrace
- body by měly být zhruba rovnoměrně rozložené, jinak opakovat
- autogyro - 20s se nesmí hýbat s MPU
- EDTracker GUI komunikuje přes sériovou linku příkazy:
- r\n - provede 20s autogyro
- R\n - provede vycentrování (jako stisk tlačítka)
- I\n - vypíše fw a hodnoty
- identifikátor firmware
- Yaw scale (115.19), Pitch scale (50.19), Smoothing (36)
I EDTrackerMag V4.0.5 s 0 115.19 50.19 0.36 q -97.843750 18.796875 0.203125 0.9837646484375 0.0091552734375 0.0192871093750 0.0091552734375 0.9210205078125 0.0181884765625 0.0192871093750 0.0181884765625 0.9653320312500 O 2
- CXXYYZZ\n - nastaví scale a smoothing
- XX je Yaw scale, 2B int
- YY je Pitch scale, 2B int
- ZZ je Smoothing, 2B číslo
- t\n - přepíná lineární/exponenciální osy
- P\n - v dalším přenosu je přemapování os, například
50 0A P.
24 8A E7 B3 04 0D 00 85 E0 B5 FF 9E 00 B6 FF 87 $Šçł...…ŕµ˙ž.¶˙‡
E2 95 00 63 FF 6B FF E4 1E 7B 1F 4B 00 9E 00 4B â•.c˙k˙ä.{.K.ž.K
00 79 1D 95 00 9E 00 95 00 E4 1E 0A .y.•.ž.•.ä..
- problémy
- ve Windows i Linux blbne inicializace.
- pokud odpojím zařízení a znovu připojím, tak někdy pouze 3x červeně blikne a pak už nic
- vypadá to, jakoby nefungovala komunikace mezi MCU a MPU
- nevím kdy to udělá, ani jak ten stav opravit
- někdy pomůže
- dát bezpečně odebrat před odpojením z USB
- připojit do jiného USB portu
- zkoušet to prostě pořád dokola s různými prodlevy mezi připojením
- v linuxu nejde použít v xplane
- v kalibraci to ještě tak nějak funguje, ale jak zapnu hru, tak se to úplně zblázní
- v tom zblázněném režimu už nic nepomáhá
- xpl nejspíš provede nějakou divnou akci.. třeba moc rychlé odpojení a připojení?
- TODO
- zkusit nahrát novější fw (GUI má jen 4.0.5, github má 4.1.0) přes arduino IDE
- zkusit upgradovat ostatní knihovny
- zda není nějaký fix v usbhid atd…
- zjistit z jaké verze arduina to vychází, zjistit si diff, a pak aktualizovat :)
- udělat vlastní kalibrační software přes sériovou linku
- vymodelovat krabičku pro moje prototypové PCB
- držák na krabičku na sluchátka https://www.thingiverse.com/thing:2069608
arduino-imu.1554045296.txt.gz · Poslední úprava: (upraveno mimo DokuWiki)
