6077浏览
查看: 6077|回复: 0

[项目] 行空板——Micro:bit——加速度计计算倾斜方位

[复制链接]
本帖最后由 云天 于 2022-10-4 19:43 编辑



【行空板——加度计】
行空板上ICM-20689追踪物体运动6轴IMU惯性传感器在同一个硅芯片上配有3轴陀螺仪和3轴加速度计,是市场上性能的传感器,具有的噪音、的温度稳定性和的灵敏度精度。
IMG_20221004_105617.jpg






【Micro:bit——加速度计】
micro:bit主板上配备有一个加速度计,可以测量X,Y,Z轴的运动,横向左右移动为X轴,纵向前后移动为Y轴,高低上下移动为Z轴,可以很好的检测mincro:bit在空间中的位置以及移动方向。每一根轴都有一种方法,返回一个整数或者负数,当读数为0的时候,在该轴方向是水平的。

IMG_20221004_112701.jpg



【欧拉角】
pitch是俯仰角,是“点头“,(在固定翼飞机中则由升降舵舵机控制)
yaw是偏航角,是‘摇头’,(在固定翼飞机中则由方向舵舵机控制)
roll是旋转角,是“翻滚”,(在固定翼飞机中则由副翼舵机控制)
    欧拉角是表达旋转的最简单的一种方式,形式上它是一个三维向量,其值分别代表物体绕坐标系三个轴(x,y,z轴)的旋转角度。这样的话,很容易想到,同样的一个三维向量,代表了绕x,y,z的旋转值,先进行那个旋转是否对结果有影响呢?显然是有影响的,可以拿着你的手机试一下,不同的旋转顺序会代表不同的旋转结果。所以,一般引擎都会规定自己的旋转顺序。
    下面三张动图形象的表示了欧拉角的旋转方式。第一张是绕x轴旋转pitch,第二张绕y轴旋转yaw,第三张是绕z轴旋转roll。
1.gif
2.gif

3.gif





加速度计来计算侧倾和俯仰。以下是用于计算侧倾和俯仰的方程式。

pitch = 180 * atan (accelerationX/sqrt(accelerationY*accelerationY +accelerationZ*accelerationZ))/M_PI;

roll = 180 * atan (accelerationY/sqrt(accelerationX*accelerationX +accelerationZ*accelerationZ))/M_PI;

yaw = 180 * atan (accelerationZ/sqrt(accelerationX*accelerationX +accelerationY*accelerationY))/M_PI;

M_PI = 3.14159265358979323846


【行空板——图形化编程】
Mind+编程软件,Mind+是一款集成了包括行空板在内的大量开源硬件的编程软件,它拥有非常多的图形化基础指令和扩展库。

1、获取校准数据(零点漂移)
在传感器水平静止的放在桌面上时,陀螺仪角速度的值应该为零,加速度计的X轴,Y轴的值应该为0,Z轴的值应该为8192(重力加速度g,1/4量程)。
传感器安装在设备上总有一个初始的角度,我们设这个角度为0度,那我们每一次的数据都要减去这个初始数据,得到一个相对的角度。为了保证数据的准确性,我们在初始静止的状态测量大量数据(我取了1000个),用程序算出平均值,然后以后测量的数据都要减去这个平均值。


TueOctober-202210045673..png

2、完整程序
TueOctober-202210044360..png


【Micro:bit编程】
1、计算roll,pitch
TueOctober-202210045833..png

2、灯环共24灯,每个间隔15度,按平面直角坐标系分四个区。
TueOctober-202210046481..png

3、完整程序
TueOctober-202210049137..png

4、演示视频



您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2022 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail