当前位置:   article > 正文

ICM20948九轴传感器角速度读取与实际单位转化的换算关系_icm20948 偏航角

icm20948 偏航角

  在制作倒立摆数字孪生示范项目中要读取单摆摆动的角度问题,在黑胡桃实验室开发的waffle nano开发版中集成了ICM20948这个九轴传感器,本项目中需要读取三个坐标轴中的角速度值,并作合成计算。

  在读取角速度的返回值中,发现数值并不是角速度的国际单位制,查阅用户手册得知:

  由于ICM20948数据寄存器是一个16位的,由于最高位是符号位,故而数据寄存器的输出范围是-7FFF~7FFF ,也既是-32767~32767。
  如果选择陀螺仪范围是±2000,那么意味着-32767对应的是-2000(°/s),32767对应是2000(°/s),当读取陀螺仪的值是1000时,对应的角速度计算如下:32767/2000 =1000/x; 既x = 1000/16.4(°/s),可以看出32767/2000 = 16.4 ,对应手册中的精度 16.4 LSB/(°/s),其他范围也是如此。

  在本项目中,我调整的精确度为2000dpi

imu = icm20948.ICM20948(I2C(0),gyro_scale=icm20948.DPS_2000,accel_scale=icm20948.GPM_2,dmp=False)

  由于waffle nano开发板中已对数值进行了单位换算,我的板子中读取出来的数值是角度/秒,即°/s,我换算成弧度制只需要借助以下公式:

 Omiga表示角速度,我希望用到的单位是国际单位rad/s,故使用以下代码进行换算:

 Omiga =sensor_read()*math.pi/180

保存代码,上传到开发板中,即可读出期望的数值。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Gausst松鼠会/article/detail/246471
推荐阅读
相关标签
  

闽ICP备14008679号