Stránka 1 z 1

BMX160 - data o orientaci

Napsal: 16 říj 2022, 13:38
od petrfilipi
Nazdar všem.

Nepracoval jste někdo s čipem BMX160?
Myslel jsem, že když je to "... 9-axis absolute orientation sensor from Bosch Sensortec ...", tak že z nějakých registrů vyčtu už hotové náklony (dopředu/dozadu, vlevo/vpravo) - např. ve °. Na webu jsou videa s krychlí a králíkem, jak se otáčejí v prostoru podle tohoto senzoru.
Na webu prodejce modulu je příklad (s chybami, takže nejde přeložit - nepochopitelné) - ale stáhl jsem knihovnu z Githubu i s funkčním příkladem - ale je tam jen čtení magnetometru, gyra a akcelerace.
Taktéž se mi moc nedaří vyčítat teplotu. Ze dvou registrů vyčtu číslo 8. Rozsah čísel je od -32767 do 32767 a tomu by měl odpovídat rozsah teploty od -41°C do 87°C. To mé číslo 8 odpovídá asi 23°C. Po dýchnutí na čip se teplota mění, ale asi jen do 15. Což je ve °C naprosto zanedbatelné.

Díky za odpovědi.

PF

Napsal: 16 říj 2022, 18:31
od Celeron
Sám jsem zvědavej, jak dopadneš. Hrál jsem si s GY-271 a GY-521 a ani jedno jsem nerozchodil do použitelnýho stavu. Asi jsem na to už moc starej. :oops:

Napsal: 16 říj 2022, 19:37
od passion
Nejak tomu nechápem, čo je v datasheete:

Value Temperature
0x7FFF 87 – ½9 °C
… …
0x0000 23 °C
… …
0x8001 -41 + ½9 °C
0x8000 Invalid

Ináč, akú chybu ti vypisuje pri kompilácii tvojho príkladu z uvedenej stránky? Aký program k tomu používaš? Nevidím tam zásadný problém.

Napsal: 16 říj 2022, 19:59
od Ruprecht
To "½ na devátou" je rozlišení LSB při 16bit čísle na rozsahu 128 ℃ (prostě +-1bit)

Napsal: 17 říj 2022, 08:19
od petrfilipi
passion píše:...
Ináč, akú chybu ti vypisuje pri kompilácii tvojho príkladu z uvedenej stránky? Aký program k tomu používaš? Nevidím tam zásadný problém.


Chybně je:
void loop(){
bmx160SensorData Omagn, Ogyro, Oaccel;

/* Get a new sensor event */
bmx160.getAllData(&Omagn, &Ogyro, &Oaccel);


Správně je:
void loop(){
sBmx160SensorData_t Omagn, Ogyro, Oaccel;

/* Get a new sensor event */
bmx160.getAllData(&Omagn, &Ogyro, &Oaccel);


Používám klasické Arduino IDE. Ale přestal jsem používat jejich speciální knihovny, které "vytáhnou" data najednou, to je lepší použít jen standardní I2C knihovnu a data vyčítat "ručně" a pak je spojit.

On ten modul stál 457 Kč s DPH, tedy nic závratného. Mám navíc 14 dní (resp. 30 dní u Botlandu) na vrácení bez důvodu, čili mám ještě čas na výzkum.
Ale nechápu, proč nemají kompletní příklad získání všech dat z čipu. Pak bych jen ubíral to, co nechci. Na fórum Bosche jsem napsal, zatím ani ten příspěvek neuveřejnili.

PF