APP下载

基于串级PID四旋翼飞行器控制系统设计与实现*

2018-12-26肖秋霞池庆黄昌文陈冠华

福建轻纺 2018年12期
关键词:无刷电机外设旋翼

肖秋霞,池庆,黄昌文,陈冠华

(厦门理工学院电气工程与自动化学院,福建 厦门 361024)

当前我国智能制造产业正处于新一轮技术革命的10年周期起点上,而无人飞行器特别是四旋翼飞行器站在了这场变革的前沿,越来越受到人们的关注。进入新世纪以来,我国无人飞行器产业得到了空前发展,不同于传统的固定翼飞行器,四旋翼飞行器不仅体积小、而且质量轻,更重要的是有着对起飞场地要求不高、零部件容易更换等一系列突出优势。

基于传统PID控制理念本文设计了飞行器闭环调速控制系统,通过内外环串级PID控制电机转速从而改变相应旋翼产生的升力并最终达到飞行器飞行姿态控制的目的。首先,在MATLAB中搭建闭环调速系统仿真模型并得到相应变量输出曲线,在理论层面验证本文所提方案的可行性。其次,在对飞行器硬件平台进行整体设计的同时对其组成部件进行选型与组装,同时进行调速系统原理图绘制工作,为系统软件实现做好准备。最后,编写闭环调速系统软件相应算法以及进行飞行器试飞调试,在实际调试中验证整体方案可行。本文的研究为四旋翼飞行器在自动飞行领域的扩展提供了基础。

1 飞行器的调速系统控制原理

飞行器飞行时以直流无刷电机作为驱动源,所需全部驱动力由螺旋桨提供。飞行控制板通过采集外设传感器模块反馈来的数据并通过无刷电机驱动器将其输入到四个无刷电机中,因4个电机固定在各旋翼轴的顶点处,各旋翼的倾斜角、螺距角均相同因此要实现飞行器姿态控制只能通过改变电机转速使得旋翼升力改变来获得。在无人飞行器领域中飞行器的运动状态通过机体坐标系(o-xyz)中沿着坐标轴方向的平动和绕着坐标轴的转动来描述。其中平动运动有前后运动、左右运动和升降运动;转动运动有横滚运动、俯仰运动和偏航运动,各自形成的姿态角分别称为横滚角、俯仰角和偏航角。

在目前的工业领域里PID控制是最常用的控制算法之一。图1为控制器原理框图,其中e(t)为给定的期望值;d(t)是控制输入偏差,作为PID控制器的输入;u(t)为PID控制器的输出;y(t)是控制对象的实际控制输出量。PID控制的原理是通过偏差计算得到给定期望与实际输出之间的差值,这个差值输入到控制器中经变换得到一个输出值作用于对控制对象,同时这个输出值又返回控制器输入端进行再一次的偏差调节,最终使得整个控制系统的输出值达到或保持在期望值附近,从而达到稳定控制的效果。

图1 PID控制器原理框图

2 数学建模仿真平台搭建

2.1 数学建模

四旋翼飞行器有4个输入、6个自由度的输出,对其进行数学建模之前必须首先确立2种坐标系:地理坐标系(O-XYZ)和机体坐标系(o-xyz)。(OXYZ)的作用是确立重心坐标(x,y,z)在地理坐标系中的坐标值从而用来体现飞行器在地理空间中的具体位置;(o-xyz)的作用则是用来确定飞行器飞行时两坐标系之间形成姿态角从而用来描述相应的飞行状态。建模时用6个相互独立的坐标变量(x,y,z,α,β,γ)来描述飞行器的运动。其中飞行器机体在地理空间中的具体位置通过平动坐标变量ξ=(x,y,z)来体现,转动坐标变量η=(α,β,γ)则用来描述飞行器具有的飞行姿态。确定飞行器在地理空间中的具体位置时通过欧拉角法计算两坐标系间的旋转变换矩阵的方式来获得。

仿真模型如图2所示:

图2 无刷电机SIMULINK 仿真模型

图3 空间坐标系各坐标轴姿态角变化速率曲线

2.2 PID闭环调速系统外环控制

外环控制的输入量为通过偏差计算得到给定期望与飞行器模型的实际输出两者之差,外环控制的输出为水平面上横滚、俯仰角位移和飞行器总升力U1。

2.3 PID闭环调速系统内环控制

内环控制输入量为外环控制输出量即飞行器各旋翼产生的总升力和机体坐标系(o-xyz)各坐标轴上的角速度ang_xs,ang_ys,ang_zs,各轴的角速度分量经分配后作用到各无刷电机中实现预期的控制效果。利用上述串级PID的内外环控制算法在simulink中完成四旋翼飞行器控制系统搭建,经过仿真,得到图3所示仿真结果。仿真结果表明本文所设计的闭环调速系统能保证四旋翼飞行器的飞行稳定,并且在外界有一定程度的干扰时仍能保持自稳,达到了姿态控制的目的,各参数具体数值表1所示。

表1 各PID控制器参数具体数值

3 飞行器的调速系统硬件结构平台

本文所设计的闭环调速系统能保证四旋翼飞行器的飞行稳定,并且在外界有一定程度的干扰时仍能保持自稳,达到了姿态控制的目的。四旋翼闭环调速系统硬件平台搭建,它是检验建模仿真结果可行性的验证环节,同时也为软件平台搭建提供实物基础。飞行器硬件平台整体框架如图4所示,工作时MCU对遥控器发来的PWM控制信号进行接收与处理,同时通过C接口采集各外设传感器模块的数据。

图4 飞行器硬件平台框架

在硬件平台包括下列各个器件选型:

⑴ 机架结构:四旋翼飞行器旋翼轴选用尼龙加碳纤维复合材料,强度高耐摔适合多次试飞调试;无刷电机选用新西达2212/1400KV系列,其中第一个数字代表电机转子直径与高度,即线圈外径22 mm,长度12 mm,第二个数字代表当外界供给电压值为1 V时电机的空转转速为1400 r/min;螺旋桨选用8045全碳纤维系列,突出优点是质量轻且韧度大,保证四旋翼飞行器飞行稳定。

⑵ 微处理器(MCU):微处理器理念于上世纪70年代提出,是一种集成度高的整合多种功能的单芯片微型计算机。本文MCU最终STM32F407VGT6高性能信号控制器核心板系列。

⑶ 外设传感器模块:由于飞行器机体的载重及放置空间有限,因此所选择的传感器模块体积与质量不能过于庞大,故将范围确定在微电子机械系统(Micro Electro Mechanical System,MEMS)惯性传感器范围内。表2为最终选择的外设传感器模块。

STM32 最小系统板由电源、时钟、复位、JTAG下载、启动5 部分电路组成,是指让STM32 芯片能正常工作所需的最基本组成电路。

电源电路进行降压转化,将高电平5 V信号转化成低电平3.3 V信号用来给最小系统板核心芯片供电,同时在高电平端并入一个二极管为的是防止出现电源正负极反接而烧坏最小系统板的情况;时钟电路由外接的晶振及电容组成,作为最小系统板各组成电路正常工作的驱动力通过晶振产生时钟周期使最小系统板执行操作;复位电路连接最小板核心芯片上的NRST管脚,由电容、电阻、按键帽组成。上电时给核心芯片发送信号让其开始执行程序直至断电,同时电阻给电容充电此时NRST之间无高电平电压信号,断电复位时通过按键帽按压重新对核心芯片NRST管脚供电;JTAG下载电路用于调试及烧录仿真程序;启动电路BOOT0/BOOT1模式,具体模式的选择是通过跳线帽在3.3V和接地端间的引接来完成。

4 飞行器的调速系统软件设计

四旋翼飞行器闭环调速系统软件部分由主程序和中断程序2部分组成,下图5为闭环系统软件整体框架。四旋翼飞行器系统对实时控制要求很高,因此必须设定好系统响应时间,故采用5 ms更新一次的中断处理作为整个系统的时间基准,所有的控制算法都在中断时间里分时段完成,主函数的作用则是进行中断优先组别设置、外设传感器模块初始化以及接收遥控器传来的姿态控制指令。

图5 程序控制流程图

表2 外设传感模块产品参数

系统工作时主程序首先进行初始化环节,而后通过期望值输入进入PID控制器调节得到实际值输出,微处理器MCU对实际值进行PWM 调制最终作用于电机进行调速。同时输出值经PID闭环控制反馈回输入端及中断处理程序中,实现电机闭环调速功能;定时中断处理实时更新各外设传感器模块测量数据以及对各传感器测量数据进行融合并输入到PID控制器中。

4.1 初始化环节

闭环调速系统初始化环节包含了2部分,分别是微处理器(MCU)内部模块的初始化以及外设传感器模块的初始化。其中串口初始化、C接口和GPIO接口初始化、定时器初始化、PWM输入捕捉、输出初始化共同组成MCU内部模块初始化;外设传感器模块的初始化主要是三维角度传感器MPU6050初始化和电子罗盘AK8975初始化。串口初始化是上位机通信与SPL06模块读取数据所需,上位机通信的实时性要求高故波特率采用115200 bps,SPL06波特率设置较低,为9600 bps;GPIO用来控制指示灯;PWM输入捕获用来捕捉遥控器初始化信号,PWM输出用来驱动电调给无刷电机供电;I2C端口主要是用来给外设传感器读取数据。

4.2 系统总中断程序

闭环调速系统中总中断程序的作用主要是收集各外设传感器模块测得的数据而后进行数据融合并最终作用于无刷电机进行调速。四旋翼飞行器起飞时系统初始化环节完成后系统总中断程序也开始工作,且根据需要设置系统中断固定扫描周期5 ms。在收集各外设传感器模块所测数据前必须进行锁定状态下的校准工作,主要是对三维角度传感器MPU6050进行校准。校准完成后进行数据融合并最终传送到PID控制器对无刷电机进行调速。

4.3 闭环调速系统中断环节

四旋翼飞行器闭环调速系统里需用到多个中断,因此需要根据任务的先后和重要性设置中断优先级。共4个中断源:TIM IN用于执行单片机的输入捕获,以便获取遥控器输入指令;USART2用于执行数据接收串口通信功能;TIM OUT用于执行单片机的输出比较,以便输出4个PWM值控制无刷电机;TIM用于执行单片机5 ms更新中断,实现计数功能,优先级由高至低。

4.4 PID闭环控制算法

PID闭环控制系统中通过期望值输入到PID控制器进行偏差计算和控制器各组成环节运算后输入到无刷电机实现调速的功能。同时输出值又反馈回控制器输入端为下一次期望值输入进行偏差计算时做准备。在控制算法中对输入变量设置限幅标志以防止变量积分时出现过饱和的现象。每次控制时在PID控制器各组成单元中均会进行本次计算偏差与上次保留偏差之间的大小比较以确定最新一次的各环节输出值。这样层层往复使得控制更为精准与稳定。

4.5 PWM调制控制电机转速程序

PWM(Pulse Width Modulation)称为脉冲宽度调制,在四旋翼飞行器中PWM输出波形的占空比越大,则施加在无刷电机两端等效的电压越高,从而对应的电机转速就越大。STM32F407VGT6系列核心板微处理器模块(MCU)接收来自遥控器和串级PID控制器的信号通过配置GPIO接口而输出PWM信号,PWM信号经无刷电机驱动器中的MOS管放大电路放大电压后驱动无刷电机工作。

5 实物测试结果

PWM波形输出通过RIGOL DS1102E示波器测量。为能在示波器上能有直观显示变化情况,本文设计的四旋翼飞行器PWM波形输出占空比范围为40%~75%,测量PWM波形输出时引出STM32单片机上输入到对应无刷电机驱动器的信号线及接地引线,分别与示波器的正负引线相连,测得的PWM波形如图6中所。

图6 PWM输出波形显示(占空比40%)

飞行器飞行时通过施加油门输入增大PWM波形占空比从而改变无刷电机两端等效电压最终实现电机转速的改变。图7两幅图是实际测试过程中增加油门输入时对应的PWM波形变化情况。

6. 总结

本文针对四旋翼飞行器无刷电机调速,设计了一种比现有控制策略更为简便的控制算法为其在自动飞行方面的扩展提供基础,通过内外环串级控制的方式解决了飞行器在变量耦合方面的问题,可大范围用于无刷电机调速。确立四旋翼飞行器闭环调速系统整体框架,设计系统初始化初始化环节、中断环节、PID闭环调速系统算法,并进行最终的试飞调试,验证了本文所提的方案。

图7 实际测试加以油门输入的PWM波形变化情况

猜你喜欢

无刷电机外设旋翼
基于STM32F407的无刷电机调速系统设计
基于无迹卡尔曼滤波的永磁无刷电机转矩脉动抑制研究
改进型自抗扰四旋翼无人机控制系统设计与实现
大载重长航时油动多旋翼无人机
基于DSP的直流无刷电机电子控制方法研究
基于STM32的四旋翼飞行器的设计
四旋翼无人机动态面控制
基于ARM的无传感器无刷电机水泵控制系统研究
Microchip推出具备双ADC外设的全新器件,扩展其低成本8位PIC®单片机产品线
外设天地行情