四轴无人机项目个人总结

很久以来都在飞大四轴,断过桨坠过机也割过手。所以当老师让我搞一个能飞的飞行器让本科生玩的时候,果断选择了匿名小四轴。废话不多说,往下看吧。

玩了一天,觉得匿名四轴这个项目真的不错,健全的硬件装置、强大的上位机使得这个项目的可参与性大大提升。茶不思和释迦摩尼(我在想和释迦牟尼有啥关系??)都是大神,感谢大神,哈哈哈!

这篇文章是写给新手的,以装载了蓝牙模块的mini飞控板为例介绍。有问题欢迎补充哈。


硬件装配
硬件装配主要以ANO Tech 匿名四轴 群号(190169595)内的《H型小四轴接口及电机安装说明》为主。一般都不会有什么问题的啦。
P.S. 在电池接口的上方有个滤波电感,我收到货的时候这个电感是断成两截的。后来仔细分析了下电路,这个电感的存在是冗余设计,完全可以不考虑它的。所以我把它拆掉,用一截导线短接就OK了。


蓝牙通信
蓝牙通讯模块包含主机和从机两个部分。
主机包含三种状态:
搜索附近蓝牙信号(这阶段指示灯会慢闪);
配对与自己蓝牙名字相同的从机(配对过程指示灯快闪);
配对后串口通信(指示灯恒亮);

从机包含三种与主机对应的状态:
广播自身的蓝牙信号(这阶段指示灯会慢闪);
与主机配对(配对过程指示灯快闪);
配对后串口通信(指示灯恒亮);

蓝牙模块未经设置前,默认串口协议是9600,N,8,1。可以通过串口精灵等软件与蓝牙模块通信,更改蓝牙模块的配置。
蓝牙模块最关键的3条指令分别为
①AT\n\r(在电脑串口精灵中可以表示为AT+回车,注意要有回车) 通信正常时返回 OK
②AT+BAUD8\n\r(注意要有回车) 通信正常时返回OK115200,表明串口波特率已经被改为115200.拔掉电脑上的蓝牙模块并重新插入时,将波特率更改为115200才能正常通信。
P.S.建议设置为115200,而不是更高的波特率,蓝牙里更高波特率容易引起通信误码。
③AT+NAMEANOTC\n\r(注意要有回车) 这句话的字符串可以分为“AT+NAME”和“ANOTC”两个部分,第一部分是指令,第二部分是自定义的模块名称,也就是主机和从机配对的关键,可以自行更改名字,但要保证主从机名称一致。

在匿名四轴中,机身上的是蓝牙从机,每次上电后均重新配置了蓝牙从机。
可以看到程序里main函数中刚开始设置的通讯波特率为9600,更改蓝牙波特率后,重新配置了板载串口的波特率,保障正常通信。


程序下载
笔者眼睛不好又爱偷懒,下载程序时很莫名其妙地吃了不小的亏。我拿到的开源程序工程里,芯片是STM32F103C8,下载时在Keil里设置ProgrammingAlgorithm为STM32F10xMed-density Flash,结果一直

报错。后来才发现匿名四轴飞控板使用的片是STM32F103CB,最终才下载成功。
添加下载时的Flash芯片的设置路径是在:Options forTarget->Utilities->Settings->Flash Download->Add
板载芯片选择的设置路径是在:Optionsfor Target->Device->STM32F103CB

程序在之后会详细介绍,在这里先注意一下匿名四轴飞控板的程序配置。在工程文件中包含sysconfig.h文件,点开后会发现它包含以下几条设置;
#define DATA_TRANSFER_USE_USART
#define DATA_TRANSFER_USE_SPI_NRF
#define CONTROL_USE_RC
#define CONTROL_USE_DATATRANSFER
分别表示是否进行串口通讯、是否设置NRF通信(NRF通过SPI通信的)、是否配置遥控接收机、是否通过数据传输控制。
由于我在程序中使用游戏手柄+蓝牙模块控制飞机,因此将第二条、第三条屏蔽掉了,这样在生成的固件中就不会包含这两个功能。


飞行前测试
使用这款飞行器的应该都是电子设计入了门的人,焊接电路应该没有什么问题。但为了保险起见,新手在使用过程中最好先做以下几步。
装桨叶之前,通电并在上位机上测试以下内容:

1.蓝牙配对成功后,在上位机上选择“打开串口”,并开启“基本收码”、“高级收码”功能。

2.在上位机上选择飞控状态模块,检查飞行器的姿态信息是否合理。
由于匿名四轴中没有磁力计,只有MPU6050(包含陀螺仪和加速度计)。
因此在俯仰、横滚方向上的姿态,在不晃动时会保持在一个较稳定的值上。而偏航角仅根据陀螺仪来做,陀螺仪有漂移噪声时偏航角的值一直在改变。如果这个角度改变过快,可以在飞机静止时点击传感器校准,重新统计陀螺仪的偏置。让漂移更小些。

3.如果使用游戏手柄或飞机手柄、键盘等控制飞行器。在这一步中要点击上位机上的“飞行控制”模块,在此过程中应确保上位机的“飞行控制”开关处于“off”的状态。
检查各控制通道的行程是否合理,更为重要的是,检查遥控器的中点是否为1500。如果不为1500,在程序中将中点改为你实际看到的值。(目前匿名四轴的上位机还没出现“中点校准”设置,其实可以将这个值也放到EEPROM里)因为匿名四轴的程序里严格规定了遥控器的中点为1500。(个人觉得在飞控程序里可以加一个死区,增强系统的鲁棒性,对传感器的波动误差不那么敏感。当然了,有很多学术狗为了发论文,把死区也改成模糊控制方法,无非就是换了个名词)

4.装上桨叶,将上位机的“飞行控制”开关拨至“on”的状态。
按照上面的硬件装置图装配好,将A桨和B桨设置正确以后,推动油门(thr),每个桨叶产生的风力都应该是向下的,如果不是说明桨叶装配错了。
在这里要提一下,

根据本人的经验,桨叶对飞行控制系统的影响是非常巨大的,建议新手测试时使用完好的桨叶来做。我平常在装配飞行器时,为了保障桨叶的重量,会用桨平衡器检测一下桨叶的两轴是否质量对称,如果不对称就给相应的地方贴胶带,这样才能保障飞行过程很平稳。另外,桨叶边缘有缺口或桨叶破损,都会对飞机有一定的影响。当你调节PID或飞控程序时,如果查不到问题可以从这方面想想。


上位机软件
之所以把上位机软件开个章节,是因为上位机绝对是研发或使用过程中最重要的助手!一定要善用这个上位机。
但由于这个软件操作确实比较简单,就不详述了。

相关文档
最新文档