维特HWT101陀螺仪问题解决

静止状态下Z轴角度一直增大的解决方案

在使用HWT101陀螺仪的时候,由于有些陀螺仪是一年前买的,拿出来用的时候,发现一个陀螺仪的角度在自增,一直增,不停止,另外一个恰恰相反,一直减,所以找了客服寻求了解决办法,根据官方给出的办法,问题也得到了解决,我在此作为学习过程中的一个记录

步骤

①陀螺仪与TTL的连线

TTL                           HWT101
5V                            5V
GND                           GND
TX                            RX
RX                            TX

②打开官方提供的上位机
③搜索框找到HWT101,单击选择
在这里插入图片描述
找到陀螺仪所连接的串口号,打勾进行连接,出现下图所示的角度变化,则连接成功
在这里插入图片描述
⑤查看模块是否在线
一定要保证在线的情况下进行操作,否则无效
在这里插入图片描述

④点击设置图标,进行零偏获取
在这里插入图片描述
页面提示完成以后,就可以看到角度不再自增或者自减了

运动过程中角度出现不精确,适当进行Z轴清零

在项目中,发现模块在静止状态时,角度一动不动,在小车跑起来以后,会有相应的偏差,目前没有找到好的解决方案,只有Z轴清零,在我自己的小车上面看起来效果还不错,Z轴清零前,需要保证角度没有出现较大的偏差,如果清零前已经出现偏差,清零以后,只会偏差越来越大。不足以提供更高的手段,我把Z轴清零的步骤,做一个简单的学习记录。
Z轴清零时,不太建议使用printf发送指令到HWT101,因为我自己发送的时候,出现了无法清零的情况,用串口调试助手查看的时候,发现发出来的数据用16进制显示时,是它对应的ASCII码,所以我换用串口发送函数给HWT101发送Z轴清零指令

步骤

在代码中加入下面代码:

void WHT101_ANGLEZCali(void)                 
{
	uint8_t command[] = {0xFF, 0xAA, 0x76, 0x00, 0x00};
	HAL_UART_Transmit(&g_uart2_handle, command, sizeof(command), HAL_MAX_DELAY); // 发送字节
}

因为我用的串口2连接的陀螺仪,所以我就选择用串口2发,读者自行更改即可
在需要Z轴清零的地方,调用该函数即可完成Z轴清零
希望对大家提供一点力所能及的帮助,当然也是自己学习的一点记录

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐