< 返回

问题2:四轴飞行器程序——调试模式使用说明

本文最后更新时间:2026.8.25

版本说明

本文以“四轴飞行器程序-V1.0”版本为例进行讲解,相关程序可以在“四轴飞行器入门教程资料/程序源码/出厂测试程序”目录下找到。

调试模式说明

将OLED模块插在四轴的排座上,打开四轴电源开关,在四轴主界面长按四轴的K1按键,进入调试模式菜单。

在调试模式中,单击四轴K1按键,可以进行选择,长按四轴K1按键,可以进行确定。

另外按遥控器的K5、K6、K7、K8按键也可操作菜单,功能分别是向上选择、向下选择、返回、确认。

img

调试模式界面

硬件测试

硬件测试可以对平衡车硬件进行单独调试,验证硬件是否可以正常工作。在平衡车开发中,如果你怀疑硬件可能出现了问题,则可以到此硬件测试中,单独测试一下硬件。

在以下硬件测试程序中,按任意功能键退出。

1. LED

此处程序会让4个LED依次点亮,点亮顺序为左上LED1、右上LED2、左下LED3、右下LED4,观察4个LED的状态,以确定LED硬件是否正常。

2. Motor(电机)

此处程序会让4个电机依次旋转,旋转顺序为左上Motor1、右上Motor2、左下Motor3、右下Motor4,驱动电机的PWM占空比为20%,观察4个电机的状态,以确定电机硬件是否正常。

3. AD(电池电压)

此处程序会使用STM32的ADC读取电池端的模拟电压,显示的ADValue为原始AD值,Voltage为计算得到的电池电压值,电池电压正常在2.8V~4.2V。

4. NRF24L01(遥控器无线通信)

此处通过读写NRF24L01的寄存器判断硬件是否正常。

屏幕上W后的数值表示写入寄存器的值,R后的数值表示读取寄存器的值,程序每秒自动执行一次读写测试。

观察W和R的数值是否一致,若一致,则表示NRF24L01正常。

5. Serial(蓝牙串口)

屏幕上TxData为USART1发送数据,RxData为USART1接收数据,程序每秒自动执行一次串口发送。

测试时,可以用手机的“蓝牙串口-江协科技”小程序连接蓝牙,连接成功后,小程序接收区每秒会收到一个字节数据,切换为HEX显示,此数据会与四轴屏幕显示的发送数据一致。在小程序发送区随意写入一个字节数据,切换为HEX发送,发送后,四轴屏幕会显示此数据。

若可以进行收发,但是数据是错的,则可能是蓝牙串口的波特率未正确配置,可以在“蓝牙配置”中,执行“设波特率9600”,详细步骤参考本文章末尾。

6. QMI8658(加速度计陀螺仪)

屏幕第一行显示QMI8658的ID,应为“05”,下方显示QMI8658加速度计和陀螺仪的原始数据,靠左一列是加速度计数据,分别是AX、AY、AZ,靠右一列是陀螺仪数据,分别是GX、GY、GZ。水平静置时,只有AZ数据在2048附近,其他数据都在0附近,旋转四轴时,各个数据都会相应变化。

7. QMC6309(磁力计)

屏幕第一行显示QMC6309的ID,应为“90”,下方显示QMC6309磁力计的原始数据,分别是MX、MY、MZ。水平静置时,数据应基本不变,旋转四轴时,各个数据会因地磁相对传感器的角度变化而变化,拿磁铁靠近四轴时,数据也会有变化。

8. SPA06(气压计)

屏幕第一行显示SPA06的ID,应为“11”,下方显示的P为气压值,A为海拔高度。水平静置时,数据应基本不变,抬高四轴时,气压值会降低,对应海拔高度增加,反之,则气压值会升高,对应海拔高度降低。

气压值会随天气变化而缓慢漂移,属于正常现象。

9. VL53L1X(激光测距)

需要插上“激光+光流模块”并断电重启。

屏幕第一行显示VL53L1X的ID,应为“EACC”,下方显示的D为距离值,将四轴抬高,使激光传感器距离地面的距离变化,屏幕显示的距离值会对应变化,距离过远或测距出错时,显示的距离值为-1。

激光测距会受地面状态影响,也会受太阳光影响。

10. PAA3905(光流)

需要插上“激光+光流模块”并断电重启。

屏幕第一行显示PAA3905的ID,应为“A2”,下方显示的DX和DY分别为光流图像X轴和Y轴的像素变化速率,X和Y分别为DX和DY的累积,可表示位移。将四轴抬高并水平移动,使光流拍摄的图像变化,屏幕显示的值会对应变化。

光流的分辨率与距离呈反比,离得越近,分辨率越大,离得越远,分辨率越小,另外如果环境光线太暗,光流可能会失效。

IMU校准

由于姿态传感器QMI8658的原始数据有零偏,以及安装位置有误差等原因,使用四轴之前,需要对姿态传感器进行校准。

1. 重置校准参数

校准后的参数(包括微调参数)会保存在STM32的FLASH中,掉电不丢失,执行此项后,会将所有参数清零,恢复到校准之前的状态。

2. 加速度计校准

进入此项后,程序会自动读取加速度计原始数据并滤波,在校准完成时,得到当前加速度计的零偏。

校准时,务必保持四轴处于水平且静置状态,否则可能会写入错误的校准参数。

在校准完成之前,再次按任意功能键,可以取消校准。

3. 陀螺仪校准

进入此项后,程序会自动读取陀螺仪原始数据并滤波,在校准完成时,得到当前陀螺仪的零偏。

校准时,务必保持四轴处于静置状态,否则可能会写入错误的校准参数。

在校准完成之前,再次按任意功能键,可以取消校准。

蓝牙配置

此项用于给板载的CH9141蓝牙串口芯片进行AT配置。

1. 重置蓝牙参数

进入此项后,程序会给CH9141芯片发送AT指令"AT+RELOAD\r\n",重置芯片的各项配置参数。

若波特率不正确,程序会自动遍历波特率,直到通信成功。

2. 设波特率9600

进入此项后,程序会给CH9141芯片发送AT指令"AT+UART=9600,8,1,0,0\r\n",将蓝牙串口的波特率设置为9600,并且将其中的超时时间设置为0,这是视频教程中常用的参数。

若波特率不正确,程序会自动遍历波特率,直到通信成功。


< 返回