簡體   English   中英

我可以只用陀螺儀和磁力計抵消重力嗎?

[英]Can I cancel out gravity only with gyro and magnetometer?

在設備上,我想檢測一系列力:小力(最小約 0.01g)但也有更強的力,如 0.1g - 0.15g。

該設備將在 3d 空間中具有不同的位置,因此為了檢測小力,我必須知道它的角度以便能夠減去 1g。 因為設備可以有一個隨機位置(角度位置)。

到目前為止我所做的:我使用了 MPU6050 並使用了帶有加速的互補濾波器。 和陀螺儀。 它是這樣的:

agnleX_k+1 = 0.98*(angle_k + deltaT * gyro_k+1) + 0.02*angle_acc_k+1;

angle_acc是從加速度計算的角度。 傳感器。 類似的東西:

arctan(accelX / sqrt(accelX^2 + accelY^2 + accelZ^2 + ))

所以我感興趣的是:

forceX_k+1 = accelX_k+1 - 1g*sin(agnleX_k+1)

問題是:

如果我想檢測到一個非常快的小力,假設在accelX_k+1我想檢測從 0g 到 0.01g 或更多但在非常小的時間范圍內的變化。 問題是我計算出的角度也會受到加速度的這種微小而快速的變化的影響。 傳感器雖然角度沒有真正改變。

我想我必須獨立於加速度進行角度計算。 傳感器。 我可以用陀螺儀和磁力計做類似互補濾波器的事情嗎? 這會和我上面描述的過濾器一樣工作,但只是使用 mag。 傳感器代替? 或者你會怎么做? 我在考慮使用 MPU9250。

你說使用 MPU6050,它包含一個加速度計和一個陀螺儀。 您可以獨立使用它們 - 從加速度計獲取加速度並從陀螺儀獲取角度,然后使用這些角度來補償旋轉。 角度不需要取決於您的加速度計。

使用來自Jeff Rowberg 的DMP 庫將為您完成這項工作。 它可以比Arduino代碼更快地在內部補償重力加速度。

鏈接到github

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM