【发布时间】:2017-04-11 08:51:17
【问题描述】:
在设备上,我想检测一系列力:小力(最小约 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。
【问题讨论】:
标签: arduino raspberry-pi sensors mpu