当前位置:   article > 正文

STM32F4四轴飞行器全套开发资料 源码+硬件原理图PCB+设计论文_四轴机器人源码

四轴机器人源码

1、摘要

        本设计是基于STM32F4的四轴航拍平台。以STM32F407为控制核心,四轴飞行器为载体,辅以云台的航拍系统。硬件上由飞控电路,电源管理,通信模块,动力系统,机架,云台伺服系统组成。算法上采用简洁稳定的四元数加互补滤波作为姿态解算算法,PID作为控制器,实现飞行,云台增稳等功能。具有灵活轻盈,延展性,适应性强好等特点。本设计是基于STM32F4的四轴航拍平台。以STM32F407为控制核心,四轴飞行器为载体,辅以云台的航拍系统。硬件上由飞控电路,电源管理,通信模块,动力系统,机架,云台伺服系统组成。算法上采用简洁稳定的四元数加互补滤波作为姿态解算算法,PID作为控制器,实现飞行,云台增稳等功能。具有灵活轻盈,延展性,适应性强好等特点。本设计是基于STM32F4的四轴航拍平台。以STM32F407为控制核心,四轴飞行器为载体,辅以云台的航拍系统。硬件上由飞控电路,电源管理,通信模块,动力系统,机架,云台伺服系统组成。算法上采用简洁稳定的四元数加互补滤波作为姿态解算算法,PID作为控制器,实现飞行,云台增稳等功能。具有灵活轻盈,延展性,适应性强好等特点。

1.1引言

        四轴飞行器是一种利用四个旋翼作为飞行引擎来进行空中飞行的飞行器。进入20世纪以来,电子技术飞速发展四轴飞行器开始走向小型化,并融入了人工智能,使其发展趋于无人机,智能机器人。
        四轴飞行器不但实现了直升机的垂直升降的飞行性能,同时也在一定程度上降低了飞行器机械结构的设计难度。四轴飞行器的平衡控制系统由各类惯性传感器组成。在制作过程中,对整体机身的中心、对称性以及电机性能要求较低,这也正是制作四轴飞行器的优势所在,而且相较于固定翼飞机,四轴也有着可垂直起降,机动性好,易维护等优点。
        在实际应用方面,四轴飞行器可以在复杂、危险的环境下可以完成特定的飞行任务,也可以用于监控交通,环境等。比如,在四轴飞行器上安装甲烷等有害气体的检测装置,则可以在高空定点地检测有害气体;进入辐射区检查核设施;做军事侦察;甚至搬运材料,搭建房屋等等。本设计利用四轴搭载云台实现航拍任务,当然经过改装也可以执行其他任务。
        本设计主要研究了四轴飞行器的姿态结算和飞行控制,并设计制作了一架四轴飞行器,对关键传感器做了标定,并利用用matlab分析数据,设计算法,还进行了单通道平衡试验调试,进行试飞实验取得了一定的效果。

2、系统方案

        本设计采用STM32F4作为核心处理器,该处理器内核架构   ARM  Cortex-M4,具有高性能、低成本、低功耗等特点。
        主控板包括传感器MPU6050电路模块、无线蓝牙模块、电机启动模块,电源管理模块等;遥控使用商品遥控及接收机。控制芯片捕获接收机的PPM命令信号,传感器与控制芯片之间采用IIC总线连接,MCU与电调之间用PWM传递控制信号。
        软件算法才用基于四元数的互补滤波解算姿态叫,控制算法才用经典PID控制器控制云台舵机和四轴电机。如图2-1为本设计总体框图。

3、系统硬件设计

        针对前面提出的整体设计方案,本设计采取模块化策略,将各个功能部分开来设计,最后组合起来。

3.1 电源管理模块

        四轴飞行器要求整体设计质量较轻,体积较小,因此在电池的选取方面,采用体积小、质量轻、容量大的锂电池供电最合适。系统的核心芯片为STM32F103,常用工作电压为3.3V,同时惯性测量传感器,蓝牙通信模块的常规供电电压也为3.3V,锂电池的电压为11.4V,要使系统正常工作,需要将11.4V的锂电池电压稳压到3.3V。常用的78系列稳压芯片已不再适用,必须选择性能更好的稳压芯片。
         经综合考虑,本电路采用LM1117-3.3和LM2940-5电源部分的核心芯片。电池电源经过LM2940-5降到5V后在输入LM1117-3.3稳压为3.3V。由于电机部分电流较大,故在飞控电路部分加入了过流保护,使用500mA的保险丝。电路图如        

表3-1 四轴飞行器硬件清单

器件

型号

主要参数

机架

四轴650机架

桨距650mm,碳纤维材料

电机

新西达2212

1000KV

螺旋桨

1045

直径10英寸,桨叶角45°

电子调速器

好赢天行者20A

额定电流20A

电池

锂聚合物电池

11.1V,2200mah,30C

MCU

STM32F407

主频168M

陀螺仪

MPU6050

+-2000dps,16位分辨率

加速度计

MPU6050

+-16g,13位分辨率

电源芯片

LM2940,LM1117

5V,3.3V

遥控器

Futaba

2.4M,6通道

舵机

Futaba3003

标准舵机

4.   系统软件设计

        软件设计上由控制核心STM32F4读取传感器信息,解算姿态角,以姿态角为被控制量融合遥控信息后,输出到四个电机及两个舵机以完成四轴飞行控制和云台的稳定补偿。下图是软件流程:

4.1.四元素计算姿态角的实现

  根据前面给出的姿态解算方程与四元数,即可得到姿态计算系统的计算原理如下图(4-1)

       图4-1 姿态算法流程图

        本设计基于互补滤波的思想上完成的四元素算法,其核心思路为利用加速度测得的重力向量与估计姿态得到重力向量的误差来矫正陀螺仪积分误差,然后利用矫正后的陀螺仪积分得到姿态角。
       

         数据流程图如下:

 4-5 数据流程图

        通过以上算法我成功得出了飞行器的姿态角,在开启电机的情况下,角度误 差在+/-2°以内,满足了控制要求。姿态计算效果如下图所示,其中红色和蓝色 是直接由加速度计算出的俯仰角和横滚角,青色和黄色为姿态结算后的俯仰角和 横滚角。由图中数据可看出,解算的姿态角不仅能即时的反应角度变化切曲线平 滑,说明姿态解算算法有效。

4.2.控制设计

        由于四轴飞行器独特的机械结构,即结构上的对称设计,使得四轴在俯仰角 的控制欲横滚角的控制上有这近乎相同的控制特性,且两者相对独立。四轴飞行 器的俯仰,横滚,偏航,升降可以通过四个输入量来控制。通过设定一个期望角 度,调整电机转速,使得测得的姿态角稳定在期望角。控制律的设计主要采用是 闭环控制。以姿态角做为被控制量,采用经典的 PID 控制算法。
四轴飞行器系统是一个时变且非线性的系统,采用传统 PID 算法的单一的反 馈控制会使系统存在不同程度的超调和振荡现象,无法得到理想的控制效果。本 文将前馈控制引入到了四轴飞行器系统的控制中,有效地改善了系统的实时性, 提高了系统的反应速度;并且根据四轴飞行器系统的特点,对数字 PID 算法进 行了改进,引入了微分先行环节,改善了系统的动态特性;使得控制器能够更好 地适应四轴飞行器系统的实际情况。
        在姿态角的控制中,本设计将控制器捕获到的遥控器信号转换为一个角度, 作为期望角,与解算出来的测量角作差,得到偏差 error。将 error 乘以一个比例 系数 kp 。在只有 kp 作用下,系统会有静差所以考虑利用积分 ki 控制消除稳态误 差。但积分控制会降低系统的动态性能,甚至造成闭环系统不稳定,因此要对积 分进行限幅,防止积分过大。
        对于微分,如果采用传统的 D 方法,在人为操纵四轴时会产生输入的设定值 变化频繁且幅度较大,从而造成系统的振荡。对人为控制十分不利,为了解决设 定值的频繁变化给系统带来的不良影响,本文在姿态角控制上引入了微分先行 PID 算法,其特点是只对输出量进行微分,即只对陀螺仪角速度测量值进行微分, 而不对姿态角的设定值进行微分。这样,在设定值发生变化时,输出量并不会改 变,而被控量的变化相对是比较缓和的,这就很好地避免了设定值的频繁变化给
系统造成的振荡,明显地改善了系统的动态性能。控制周期定为 4ms ,姿态控制 系统示意图如下:

4.3. PID 参数调节

        PID 参数的整定是 PID 控制的关键环节,直接影响到控制的效果。故一个 PID 设计的好不好往往要看其参数能否调节好,本设计的 PID 参数调节采用凑试法。 凑试法是通过实际的闭环系统,通过观察系统的响应曲线,在本设计中通过观察 被调量,PID 输出,设定值三条曲线,判断出 kp,ki,kd 对系统响应的影响,反复尝试,最终达到满意响应,从而达到确定控制参数的 kp,ki,kd 的目的。在参数调 节过程总遵循以下原则[17]:
1 )在输出不振荡时,增大比例增益 P
2 )在输出不振荡时,减小积分时间常数 Ti
3 )在输出不振荡时,增大微分时间常数 Td
4 )一般步骤:
        a. 确定比例增益 P
        确定比例增益 P 时,首先去掉 PID 的积分项和微分项,一般是令 Ti=0 、 Td=0(具体见 PID 的参数设定说明),使 PID 为纯比例调节。输入设定为系统 允许的最大值 的 60%~70% ,由 0 逐渐加大比例增益 P ,直至系统出现振荡;再反过来,从此时的比例增益 P 逐渐减小,直至系统振荡消失,记录此时的比例 增益 P ,设定 PID 的比例增益 P 为当前值的 60%~70% 。比例增益 P 调试完成。
        b. 确定积分时间常数 Ti
        比例增益 P 确定后,设定一个较大的积分时间常数 Ti 的初值,然后逐渐 减小 Ti ,直至系统出现振荡,之后在反过来,逐渐加大 Ti ,直至系统振荡消失。 记录此时的 Ti ,设定 PID 的积分时间常数 Ti 为当前值的 150%~180% 。积分时间 常数 Ti 调试完成。
        c. 确定积分时间常数 Td
        积分时间常数 Td 一般不用设定,为 0 即可。若要设定,与确定 P Ti 的方法相同,取不振荡时的 30%
        d. 系统空载、带载联调,再对 PID 参数进行微调,直至满足要求。
5 )最终调试好的标准应该是, PID 输出曲线在有一个阶跃响应来是,响 应一大一小两个波,小波是大波的四分之一。
        四轴飞行器的 PID 整定,我们首先四轴固定在单轴平衡平台上,让飞行器完
成单轴平衡,主要观察姿态角的( 1 )稳定性,能否平衡在期望角度;( 2 )响应 性,当操纵命令改变时,四轴能否即时的响应期望的变化;(3 )操纵性,由操 纵员感受四轴的姿态是否已与操纵,会不会产生响应过冲。在参数调整时,先调 P, I,D 0 ,先给一个小值 P1 ,如果飞行器不能稳定 在一个角度,则 P1 给小了,下一次给一个较大值 P2 ,如果飞行器产生震荡则证 明 P2 给大了,那么合适的 P P1-P2 之间,反复试验几次可找到 P 震荡的临界 点 P0, 然后保持 P0 不变按照调 P 的方法来调 D,D 是用来消除误差的,当抖动差 不多被消除时,此时我们有较合适的 P0,D0 ,在这两个值附近再试几组参数,观 察效果得到最优参数。调好 P,D 后此时四轴的稳定状态与期望状态间也学会有静 差,接下来加入 I ,参数有小到大,当静差差不多被消除时,我们再对 P,I,D 三 组参数在小范围内联调。最后确定恰当的积分限幅值,完成整个 PID 参数的整 定。

6. 评测与结论

6.1 姿态角调试

        在完成控制器底层的硬件驱动后,开始姿态角算法的调试。利用蓝牙模块将 解算出的姿态角数据发回上位机,摇动四轴机体,观察上位机数据曲线与姿态演 示立方块。
6-1 姿态角数据对比曲线
        图 6-1 中黄色和蓝色为直接由加速度计算出的俯仰与横滚角,红色和青色为 姿态解算后的姿态角,可明显看出直接由加速度计算出的姿态角噪声大,不平滑, 不能真实反映姿态角的变化。而由四元数算法解算后的姿态角反应快,噪声小, 足以满足控制要求。光观察曲线并不直观,还可以观察上位机中的立方块,当小 立方块的姿态与四轴机体能够保持一致变化时说明姿态解算良好。通过以上手段 可知姿态角解算满足需求。

 

 6.2.四轴飞行器的试飞

              当前面的各项调试都完成了之后,就准备要进行试飞实验。飞行试验是对控制系统的功能和技术指标进行验证的最终手段,也是衡量四轴设计是否成功的重要标志。
              试飞前要确保系统各部分工作正常,稳定。检查各个接口连接是否正确,各部件安装是否牢固,电池电量是否充足。打开电源前检查遥控器油门是否在最低位置,起飞前先轻推油门确保电机工作正常。一切准备就绪,即可进行试飞。将四种飞行器放在水平地面上,开始启动姿态初始化程序,听到电调提示音后,缓慢增加油门,螺旋桨转速上升,将飞机拉离地面。由实际情况可看出当姿态发生倾斜时,姿态解算及PID控制能够及时调整电机转速,稳定飞行姿态。飞行器还能根据遥控指令的变化完成相应的动作。本此设计的四轴飞行器可实现垂直升降的要求,能保持姿态的稳定,机体晃动小,在微风的干扰下能够自动调整姿态,确保平稳飞行,且系统响应快,续航时间大概在8分钟。因此本次的设计是有效的。

7、资料内容

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/正经夜光杯/article/detail/872668
推荐阅读
相关标签
  

闽ICP备14008679号