又一次尝试使用 Jy901 模块,没有成功应用,但是通过实验有一些心得记录如下。
1.模块默认使用输出 9600Hz 波特率通讯,10Hz回报;
2.恢复模块默认配置的方法有两种,一种是短接,另外一种是串口命令
3.一些串口配置的方法:
a. ff aa 03 03 00 设置回传速率为1Hz
b. ff aa 02 08 00 设置只输出0x53包(手册上提到JY901无法输出四元数)
c. ff aa 00 00 00 保存当前设置(比如,进行了上述设定之后,需要保存之后下一次上电才能继续使用)
4.使用的轴如下图所示(不要看模块PCB上的标注,是错的)
5.输出范围:X轴±180;Y轴±90;Z轴±180
6.DataSheet上描述的角度输出如下:
其中的计算方法有问题,按照它的方法不会有正负的区别:
例如: 55 53 A0 A1 B0 B1 C0 C1 T0 T1 SUM
其中的 0xA1A0 输出范围是 0000-7FFF ,对应着 -180~+180;0xB1B0 输出范围是 0000-7FFF ,对应着 -90~+90;0xC1C0 输出范围是 0000-7FFF ,对应着 -180~+180.
因此实际可以选择如下处理方法:
fX = JY901.stcAngle.Angle[0] - 0x4000;
fX = fX * 180.0 / 0x4000;
fY = JY901.stcAngle.Angle[1] - 0x4000;
fY = fY * 90.0 / 0x4000;
fZ = JY901.stcAngle.Angle[2] - 0x4000;
fZ = fZ * 180.0 / 0x4000;
符号和方向满足右手原则:拇指指向轴方向,然后四个手指方向是正,相反是负。
参考: