最新消息: USBMI致力于为网友们分享Windows、安卓、IOS等主流手机系统相关的资讯以及评测、同时提供相关教程、应用、软件下载等服务。

基于MatlabSimulink仿真的STM32F407VET6六轴无人飞行器PID控制

IT圈 admin 52浏览 0评论

2024年3月28日发(作者:臧清一)

ELECTRONICS WORLD

技术交流

基于Matlab/Simulink仿真的STM32F407VET6六轴无人飞行器PID控制

吉林大学珠海学院 刘梦亭 庾振邦

珠海全志科技股份有限公司 马一飞

本设计以STM32F407VET6控制芯片为核

心控制器实现了六轴飞行器的设计,通过中央

控制器控制陀螺仪等传感器采集自身的状态数

据,通过相应的姿态拟合,PID等算法,最终

控制电机转速实现飞行器的自身悬停,定点

飞行,路线规划飞行,自动返航飞行。采用

Matlab/Simulink对PID算法进行数学模型的建

立及仿真,结果表明能够满足要求。

随着近年来科技的高速发展,人们已

经迈入智能化时代。而作为智能化时代最突

出产物之一的旋翼无人飞行器,其应用领域

越来越广泛。旋翼无人飞行器按照旋翼的个

数,旋翼无人机可以划分为单旋翼无人机和

多旋翼无人机(多轴无人机)。其中多轴无

人机通过协调各个旋翼的转速,可以实现垂

直起降、悬停、侧飞、倒飞等多种飞行动

作。多轴无人机的飞行姿态十分稳定,能够

有效克服外界环境对飞行姿态的不良影响。

而多轴无人机一般分为四轴、六轴或八轴飞

行器,其稳定性一般来说是八轴大于六轴大

于四轴。四轴飞行器尚且是一个欠驱动系

统,而六轴飞行器是一个完全驱动系统了。因此六轴飞行器受到

许多无人机爱好者以及需要应用无人机的部门或企业的青睐。发

展六轴飞行器必将会成为当今社会发展的趋势所需,对六轴飞行

器的研究也将是科技创新的潮流。

本设计应用STM32F407VET6为主芯片作为飞行器的行为

控制器,控制器内集成了惯性传感器icm20602;1个磁场传感器

ak8975;1个气压传感器spl06;8路硬件PWM采集;8路硬件PWM

输出;5路串口。飞行器通过中央控制器控制陀螺仪等传感器采集

自身的状态数据,通过相应的姿态拟合,PID等算法,最终控制电

机转速实现飞行器的自身悬停,定点飞行,路线规划飞行,自动返

航飞行。采用Matlab/Simulink进行PID控制的仿真,对比参数变化

对飞行器的稳定性的影响。

图1 总硬件电路连接示意图

收机接口。经飞行控制器处理后将所对应的信号传输到电子调速器。

通过电子调速器控制相对应的无刷电机,带动螺旋桨实现飞行动作。

主控芯片在飞行器上起着至关重要的作用,采集ICM20602六

轴传感器,AK8975电子罗盘,SPL06-001气压传感器,GPS数据信

号和遥控信号,控制飞行器电调电机的稳定运行实现飞行器的飞行

姿态,同时控制LED为状态显示。

2 软件设计

系统软件设计主要包括飞行器中央控制器的程序设计,飞控一

方面要接收和解析遥控器发送的飞行命令,另一方面还要融合惯性

测量单元六轴传感器和电子罗盘的数据进行飞行姿态的检测和调整

控制,使飞行器能平稳悬停和执行飞行任务。飞行器软件流程图如

图2所示。

1 硬件设计

飞行器的控制实现方式:通过Devo10遥控将信号传输到rx1002接

收机上,接收机将获取的信号转换成PPM信号传输到飞行控制器的接

主程序首先单片机内部始终初始化、中断配置初始化和引脚功

能配置,接着进行各通讯串口的初始化与传感器进行对接,遥控器

接收和电调控制输出初始化等,再接着进行各通讯串口的初始化与

116

ELECTRONICS WORLD

技术交流

传感器进行对接,遥控器接收和电调控制输出初始化等,再接着进

行参数配置的读取,参数配置对于多旋翼无人机来说至关重要,不

同的飞行环境,不同的硬件安装,参数配置也会不尽相同,事先调

试好各个参数配置,无人机的飞行状态效果就会更好。

图2 飞行器软件流程图

飞行器飞起后,MCU不停接受惯性测量传感器传回来的飞行

器姿态数据,经过融合转换后,控制PWM波的输出从而控制电

调,控制电机和螺旋桨的转速,达到控制飞行器稳定悬停的作用,

在融合惯性测量的同时飞行器还一边等待遥控器是否发出遥控指

令,从而控制飞行器的飞行运动。进一步的再融合GPS模块的位置

信息既能进行自主巡航任务,流程图如图3所示。

STM32F407VE6芯片在接受到PC地面站发送的坐标信息后进行

存储,并用方向余弦算法计算出当前的起飞位置到设定的巡航点的

偏航交,自动巡航控制算法启动后,将控制飞行器起飞,期间不断

地调整飞行器达到预设的高度值,同时计算飞行器的偏航角,当实

际偏航角等于计算的理论值附近时,飞行器开始飞向事先设定的目

标巡航点,在向目标飞行的过程中,控制器将会不断地执行上述的

算法调整,保持飞行器的最佳飞行姿态,保证了飞行器在收到环境

外力的影响后依然也稳定地朝着设定目标巡航点前进。在达到目标

巡航点后,六轴飞行器执行降落命令。

图3 自主巡航程序流程图

3 仿真

飞行器应用的PID控制算法属于一种线性控制器,这种控制器

被广泛应用于多轴飞行器上。要控制多轴飞行器,显而易见的是控

制它的角度,那么最简单,同时也是最容易想到的一种控制策略就

是角度单级PID控制器,如图4所示。

图4 角度单级PID原理框图

角度单级PID算法只考虑到飞行器的角度信息,如果期望飞行

器稳定性更佳并提高其运动性能,我们可以再加一个PID算法控制

其角速度。那么将角度PID算法和角速度PID算法串起来,就成了

角度/角速度-串级PID算法了。

角度/角速度-串级PID原理框图如图5所示。

在MATLAB/SIMULINK环境下搭建仿真模型,对角度单级PID

算法进行Simulink建模如图6所示。

117

ELECTRONICS WORLD

技术交流

图5 角度/角速度-串级PID原理框图

图6 PID控制仿真系统

图7

图8

假设输入误差为6,调参后得时

图像最稳定,如图7所示。取参数

时,P直接影响是否达到或超过期望值,如图8所示。取参数

时,I影响系统追踪期望的速度快慢,即

118

响应快慢,如图9所示。取参数

时,D影响

系统阻尼大小,在PI调解后能润滑曲线,但影响不大,如图10所示。

图9

图10

4 结束语

本设计通过STM32F407VE6控制陀螺仪等传感器采集自身的状

态数据,通过相应的姿态拟合,PID等算法,最终控制电机转速实

现飞行器的自身悬停,定点飞行,路线规划飞行,自动返航飞行。

基金项目:2017年广东省大学生创新创业项目“基于STM32F4

的自动巡航六轴飞行器”(2);2018年吉林大学珠

海学院教学质量工程“基于Matlab的数字信号处理实践教学层次设

计”(ZLGC20180802)。

作者简介:

刘梦亭(1981—),女,江西景德镇人,工学硕士,讲师,主

要研究方向:系统工程,信号处理,智能控制。

庾振邦(1998—),男,广东广州人,在校大学生,主要研究

方向:自动控制,信号处理。

马一飞(1997—),男,广东广州人,工学学士,软件助理工

程师,主要研究方向:图像质量优化,ISP驱动算法。

2024年3月28日发(作者:臧清一)

ELECTRONICS WORLD

技术交流

基于Matlab/Simulink仿真的STM32F407VET6六轴无人飞行器PID控制

吉林大学珠海学院 刘梦亭 庾振邦

珠海全志科技股份有限公司 马一飞

本设计以STM32F407VET6控制芯片为核

心控制器实现了六轴飞行器的设计,通过中央

控制器控制陀螺仪等传感器采集自身的状态数

据,通过相应的姿态拟合,PID等算法,最终

控制电机转速实现飞行器的自身悬停,定点

飞行,路线规划飞行,自动返航飞行。采用

Matlab/Simulink对PID算法进行数学模型的建

立及仿真,结果表明能够满足要求。

随着近年来科技的高速发展,人们已

经迈入智能化时代。而作为智能化时代最突

出产物之一的旋翼无人飞行器,其应用领域

越来越广泛。旋翼无人飞行器按照旋翼的个

数,旋翼无人机可以划分为单旋翼无人机和

多旋翼无人机(多轴无人机)。其中多轴无

人机通过协调各个旋翼的转速,可以实现垂

直起降、悬停、侧飞、倒飞等多种飞行动

作。多轴无人机的飞行姿态十分稳定,能够

有效克服外界环境对飞行姿态的不良影响。

而多轴无人机一般分为四轴、六轴或八轴飞

行器,其稳定性一般来说是八轴大于六轴大

于四轴。四轴飞行器尚且是一个欠驱动系

统,而六轴飞行器是一个完全驱动系统了。因此六轴飞行器受到

许多无人机爱好者以及需要应用无人机的部门或企业的青睐。发

展六轴飞行器必将会成为当今社会发展的趋势所需,对六轴飞行

器的研究也将是科技创新的潮流。

本设计应用STM32F407VET6为主芯片作为飞行器的行为

控制器,控制器内集成了惯性传感器icm20602;1个磁场传感器

ak8975;1个气压传感器spl06;8路硬件PWM采集;8路硬件PWM

输出;5路串口。飞行器通过中央控制器控制陀螺仪等传感器采集

自身的状态数据,通过相应的姿态拟合,PID等算法,最终控制电

机转速实现飞行器的自身悬停,定点飞行,路线规划飞行,自动返

航飞行。采用Matlab/Simulink进行PID控制的仿真,对比参数变化

对飞行器的稳定性的影响。

图1 总硬件电路连接示意图

收机接口。经飞行控制器处理后将所对应的信号传输到电子调速器。

通过电子调速器控制相对应的无刷电机,带动螺旋桨实现飞行动作。

主控芯片在飞行器上起着至关重要的作用,采集ICM20602六

轴传感器,AK8975电子罗盘,SPL06-001气压传感器,GPS数据信

号和遥控信号,控制飞行器电调电机的稳定运行实现飞行器的飞行

姿态,同时控制LED为状态显示。

2 软件设计

系统软件设计主要包括飞行器中央控制器的程序设计,飞控一

方面要接收和解析遥控器发送的飞行命令,另一方面还要融合惯性

测量单元六轴传感器和电子罗盘的数据进行飞行姿态的检测和调整

控制,使飞行器能平稳悬停和执行飞行任务。飞行器软件流程图如

图2所示。

1 硬件设计

飞行器的控制实现方式:通过Devo10遥控将信号传输到rx1002接

收机上,接收机将获取的信号转换成PPM信号传输到飞行控制器的接

主程序首先单片机内部始终初始化、中断配置初始化和引脚功

能配置,接着进行各通讯串口的初始化与传感器进行对接,遥控器

接收和电调控制输出初始化等,再接着进行各通讯串口的初始化与

116

ELECTRONICS WORLD

技术交流

传感器进行对接,遥控器接收和电调控制输出初始化等,再接着进

行参数配置的读取,参数配置对于多旋翼无人机来说至关重要,不

同的飞行环境,不同的硬件安装,参数配置也会不尽相同,事先调

试好各个参数配置,无人机的飞行状态效果就会更好。

图2 飞行器软件流程图

飞行器飞起后,MCU不停接受惯性测量传感器传回来的飞行

器姿态数据,经过融合转换后,控制PWM波的输出从而控制电

调,控制电机和螺旋桨的转速,达到控制飞行器稳定悬停的作用,

在融合惯性测量的同时飞行器还一边等待遥控器是否发出遥控指

令,从而控制飞行器的飞行运动。进一步的再融合GPS模块的位置

信息既能进行自主巡航任务,流程图如图3所示。

STM32F407VE6芯片在接受到PC地面站发送的坐标信息后进行

存储,并用方向余弦算法计算出当前的起飞位置到设定的巡航点的

偏航交,自动巡航控制算法启动后,将控制飞行器起飞,期间不断

地调整飞行器达到预设的高度值,同时计算飞行器的偏航角,当实

际偏航角等于计算的理论值附近时,飞行器开始飞向事先设定的目

标巡航点,在向目标飞行的过程中,控制器将会不断地执行上述的

算法调整,保持飞行器的最佳飞行姿态,保证了飞行器在收到环境

外力的影响后依然也稳定地朝着设定目标巡航点前进。在达到目标

巡航点后,六轴飞行器执行降落命令。

图3 自主巡航程序流程图

3 仿真

飞行器应用的PID控制算法属于一种线性控制器,这种控制器

被广泛应用于多轴飞行器上。要控制多轴飞行器,显而易见的是控

制它的角度,那么最简单,同时也是最容易想到的一种控制策略就

是角度单级PID控制器,如图4所示。

图4 角度单级PID原理框图

角度单级PID算法只考虑到飞行器的角度信息,如果期望飞行

器稳定性更佳并提高其运动性能,我们可以再加一个PID算法控制

其角速度。那么将角度PID算法和角速度PID算法串起来,就成了

角度/角速度-串级PID算法了。

角度/角速度-串级PID原理框图如图5所示。

在MATLAB/SIMULINK环境下搭建仿真模型,对角度单级PID

算法进行Simulink建模如图6所示。

117

ELECTRONICS WORLD

技术交流

图5 角度/角速度-串级PID原理框图

图6 PID控制仿真系统

图7

图8

假设输入误差为6,调参后得时

图像最稳定,如图7所示。取参数

时,P直接影响是否达到或超过期望值,如图8所示。取参数

时,I影响系统追踪期望的速度快慢,即

118

响应快慢,如图9所示。取参数

时,D影响

系统阻尼大小,在PI调解后能润滑曲线,但影响不大,如图10所示。

图9

图10

4 结束语

本设计通过STM32F407VE6控制陀螺仪等传感器采集自身的状

态数据,通过相应的姿态拟合,PID等算法,最终控制电机转速实

现飞行器的自身悬停,定点飞行,路线规划飞行,自动返航飞行。

基金项目:2017年广东省大学生创新创业项目“基于STM32F4

的自动巡航六轴飞行器”(2);2018年吉林大学珠

海学院教学质量工程“基于Matlab的数字信号处理实践教学层次设

计”(ZLGC20180802)。

作者简介:

刘梦亭(1981—),女,江西景德镇人,工学硕士,讲师,主

要研究方向:系统工程,信号处理,智能控制。

庾振邦(1998—),男,广东广州人,在校大学生,主要研究

方向:自动控制,信号处理。

马一飞(1997—),男,广东广州人,工学学士,软件助理工

程师,主要研究方向:图像质量优化,ISP驱动算法。

发布评论

评论列表 (0)

  1. 暂无评论