在设备上,我想检测一系列力:小力(最小约 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。