Stránka 1 z 1

Čtení dat z akcelerometru MPU6050

Napsal: 08 dub 2019 19:59
od zezr
Ahoj,
Mám za úkol zjistit úhel natočení z akcelerometru/gyroskopu MPU 6050. To není nijak veliký problém. Ovšem když čidlem škubu v osách tak i přes, to že se úhel natočení nemění, se čtený úhel natočení mění. Mohl by mi někdo poradit jakým způsobem mám k problému přistoupit?
Programuji v pythonu pro raspberry pi 3+
V ustáleném stavu a když není škubnutí nijak drastické to funguje dobře.

Kód: Vybrat vše

   ax = (sensor.get_accel_data()["x"])  # údaje akcelerometru
    ay = (sensor.get_accel_data()["y"]) 
    az = (sensor.get_accel_data()["z"]) 

    grx = (sensor.get_gyro_data()["x"]) # údaje gyroskopu
    gry = (sensor.get_gyro_data()["y"])
    grz = (sensor.get_gyro_data()["z"])

    arx = 57.29 * (math.atan2(-ay, -az) + math.pi) #přepočet na úhel
    ary = 57.29 * (math.atan2(-ax, -az) + math.pi)
    arz = 57.29 * (math.atan2(-ay, -ax) + math.pi)

    AngleX = (0.96 * arx) + (0.04 * grx); # korekce pomocí jakéhosi filtru z internetu
    AngleY = (0.96 * ary) + (0.04 * gry);
    AngleZ = (0.96 * arz) + (0.04 * grz);

Děkuji

Re: Čtení dat z akcelerometru MPU6050

Napsal: 09 dub 2019 04:19
od faraon
Změní se úhel úplně, nebo se vrátí na původní hodnotu?

Re: Čtení dat z akcelerometru MPU6050

Napsal: 09 dub 2019 14:20
od zezr
po ustálení se opět vrátí na správnou hodnotu. Problém je že já ten úhel čtu 100x za vteřinu

Re: Čtení dat z akcelerometru MPU6050

Napsal: 09 dub 2019 20:27
od faraon
To stavíš kolibříka v životní velikosti? O jak velký úhel se ta hračka otočí za setinu sekundy? :shock:

Zkus se inspirovat třeba v ošetření zákmitů tlačítka, a informovat o změně tepve když přečteš aspoň tři (téměř) shodné údaje po sobě.

Jeden podobný pokus: https://www.root.cz/clanky/stavime-kvadrokopteru-3-digital-motion-processor-na-mpu-6050/