打印
[应用相关]

使用ARDUINO的环境开发STM32,搞一个四轴飞行器!

[复制链接]
楼主: wangjiahao88
手机看帖
扫描二维码
随时随地手机跟帖
21
wangjiahao88|  楼主 | 2019-8-12 15:15 | 只看该作者 |只看大图 回帖奖励 |倒序浏览
通过图2-24我们可以看出,采用互补滤波算法同样可以得融合出较为比较平稳的姿态角度,_巨跟踪性较好。但是互补滤波比较接近于加速度计的曲线。在某些情况下并未完全滤除干扰。在四轴飞行器的姿态数据中,加速度的数据变化剧烈,虽然没有累计误差的问题,但是在干扰强烈的时候,特别是在飞行时有风(如刚起飞时)的情况下,容易进入不稳定状态而坠机。对于同一组数据的处理结果的对比,我们会发现在同样的时间下,相比互补滤波算法,卡尔曼滤波算法更为平稳,可是可以看出,实时性较为不够理想,但是这可以通过调整其参数矩阵和调节PID参数来弥补。

使用特权

评论回复
22
wangjiahao88|  楼主 | 2019-8-12 15:24 | 只看该作者

使用特权

评论回复
23
wangjiahao88|  楼主 | 2019-8-12 15:52 | 只看该作者
通过对于同一组机体采集到的数据,在Matlab中的仿真对比,我们可以看出滤波法中的两个方案,一卜尔曼滤波更为平滑,其曲线与陀螺仪相关度较高,有效地去除了加速度计的噪声,融合出了有效的角度[[30]。而四元数计算后如果不经过滤波融合算法,同互补滤波一样更接近于加速度计,其调节速度更快,但是在长时一间的工作过程中,若在稳态中受到严重干扰,容易失去稳定的状态,而且其起始状态必须为稳定的初态,而且陀螺仪的累积误差始终存在。采用卡尔曼滤波算法,坛行器控制实时性会较差,也需要时间从稳态进入非稳态,但可以有效地解决飞行姿态的稳定性问题,抗十扰能力也比较强,在外力干扰较大的时候,稳定性较强。因此在本课题中,我们选择卡尔曼滤波算法来实现数据的滤波融合,以实现四轴飞行器的姿态运算。

使用特权

评论回复
24
wangjiahao88|  楼主 | 2019-8-12 15:54 | 只看该作者

使用特权

评论回复
25
wangjiahao88|  楼主 | 2019-8-12 15:56 | 只看该作者

使用特权

评论回复
26
wangjiahao88|  楼主 | 2019-8-12 16:40 | 只看该作者
四轴飞行器的硬件部分包括:控制电路部分、电机、驱动电路、电池、通讯模块、传感器模块。控制电路板是四轴飞行器硬件部分的控制核心,主要是MCU小系统板。传感器模块用来检测飞行器的姿态数据。系统板负责从传感器模块采集传感器的姿态数据,融合数据、计算姿态、接收并处理信令和输出控制信号到电机驱动电路。驱动电路用于驱动四个空心杯电机(0}3号电机)。蓝牙模块用来实现飞行器与上位机之间的通信四轴飞行器的电路设计,主要分为两大部分:

使用特权

评论回复
27
wangjiahao88|  楼主 | 2019-8-12 16:42 | 只看该作者
无刷电机动力强,效率高,负载能力强,耗电量大,需要较大较结实的机架。目前主流的中、大型多轴飞行器均采用无刷电机作为动力电机[[19]。无刷电机需要通过相对应的电子调速器电路对其进行驱动和控制,控制起来较为复杂,成本也比较高。而且由于动力大,需要一个更为专业和更多防护的开发调试和测试环境,否则存在一定安全性问题,调试过程中容易有安全隐患,比如容易被螺旋桨打伤。空心杯电机具有体积小、质量小、转速高、节能、驱动简便、控制简单、精度高等优点[[18],非常适合用于微型小型的四轴飞行器。但是其拉力较弱,负载能力也比较弱。但是可以通过减速齿轮组来转换力矩,使之具有一定的起飞拉力。因为是本课题是以低成本通用化小型四轴飞行器的为目标的,所以本次设计采用的是空心杯电机,通过减速齿轮组来提升拉力。本课题使用的空心杯电机额定电压3.3V,最大电流为1.2A,最大功率达到2.6W,额定转速34000,单电机最大拉力可达到S.**电机驱动电路如图3-S,

使用特权

评论回复
28
wangjiahao88|  楼主 | 2019-8-12 16:42 | 只看该作者

使用特权

评论回复
29
wangjiahao88|  楼主 | 2019-8-12 16:43 | 只看该作者

使用特权

评论回复
30
wangjiahao88|  楼主 | 2019-8-12 16:43 | 只看该作者
可以刷飞控库的电路板!

使用特权

评论回复
31
wangjiahao88|  楼主 | 2019-8-12 16:51 | 只看该作者

使用特权

评论回复
32
wangjiahao88|  楼主 | 2019-8-12 16:52 | 只看该作者
这三种系统板均带有IIG总线接口以及SPI接口,可以方便地实现与传感器模块之间的通信连接,通信速率满足要求。但是基于四轴飞行器飞行控制系统中的传感器数据的采集、数据的运算处理算法的实现。因此必须考虑到,传感器的数据量较大,传输速度快,卡尔曼滤波互补滤波等算法浮点运算大。所以,基于本课题的实现,我们应该选择主频高的MCU模块。基于32位嵌入式处理器的stm32核心的LeafMaplemini主频达到72MHzoAtmel的mega系列单片机的主频为20M,而且mega系列单片机为8位单片机,运算能力不如stm32系列。所以我们选择LeafMaple的stm32maplemini系统板来作为主控系统板,它的性能完全可满足可以满足本课题的要求。STM32maplemini是leaflabs组织开发的、基于arduino软硬件标准的、采用32位STM32单片机为控制核心的开源硬件平台,就是一个兼容arduino的小系统板。stm32比avrmega系列8位单片机拥有有更快的速度和更好的精度,硬件性能更强,接口资源也更为丰富。stm犯mini系统板引脚设计及结构符合arduino标准。stm32maplemini系统板结合了shn32嵌入式单片机的强大性能以及arduino易用、普及、开放的软硬件架构,可以实现快速、灵活兼顾强大性能的工程开发。

使用特权

评论回复
33
wangjiahao88|  楼主 | 2019-8-12 16:53 | 只看该作者

使用特权

评论回复
34
wangjiahao88|  楼主 | 2019-8-12 16:56 | 只看该作者

使用特权

评论回复
35
wangjiahao88|  楼主 | 2019-8-12 16:56 | 只看该作者

使用特权

评论回复
36
wangjiahao88|  楼主 | 2019-8-12 16:56 | 只看该作者

使用特权

评论回复
37
wangjiahao88|  楼主 | 2019-8-12 16:59 | 只看该作者

使用特权

评论回复
38
wangjiahao88|  楼主 | 2019-8-12 16:59 | 只看该作者

使用特权

评论回复
39
wangjiahao88|  楼主 | 2019-8-12 16:59 | 只看该作者

使用特权

评论回复
40
wangjiahao88|  楼主 | 2019-8-12 17:08 | 只看该作者

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则