基于模糊PID的简易风洞控制系统设计
2020-06-01余云飞李中望邓旭辉段争光
余云飞,李中望,邓旭辉,段争光,沈 璐
(芜湖职业技术学院 电气与自动化学院,安徽 芜湖 241006)
0 引言
风洞是通过人工产生气流的方法,观测气流或气流与物体之间相互作用的管道形实验装置,常用在交通运输、航天工程、船舶技术等各个领域。文献[1]中所用的风洞主要用于模拟高超声速下飞行器的来流状况。由于进行实际的吹风实验比较困难,加热系统中的电磁阀控制难以实现精准的闭环控制。文献[2]采用基于现场总线的控制系统来开展CTS实验,当加载较大转矩时,受传动部件精度等因素制约,前馈控制算法不能完全满足机构精度及系统响应速度要求。文献[3]中的风洞采用落差法测量风速,通过PSD神经网络算法来提高风速控制的精度。这些风洞设备成本高,尺寸庞大,操控复杂。为此,设计了常规风洞的简化模型,主体系统能用于模拟真实的气流环境。
从如何精确控制小球在风洞中所处的位置关键点着手,先用SolidWorks仿真进行风罩的选型,搭建风洞控制模型。提出基于STM32单片机和模糊PID控制方案,进行测试,同时在Simulink中建立模糊控制系统模型,并进行仿真。
1 系统整体方案设计
本设计中的风洞控制系统主要由竖直有机玻璃圆管、风罩连接部、系统电路等构成,风洞示意图如图1所示。系统电路主要由STM32开发板、红外测距模块、TFT-LCD显示模块、BTN7971电机驱动模块、双路直流稳压电源组成,如图2所示。单片机产生PWM信号控制直流风机的转速,红外测距传感器实时检测小球在竖直圆管中所处的位置,通过模糊PID来实现小球在简易风洞中的精确位置控制,由TFT液晶屏显示相应的参数。
图1 风洞示意图
图2系统电路结构
2 系统硬件设计
2.1 测距模块电路
文献[4]采用超声波进行测距,由于被测物小球表面是球面,测量时小球在圆管内上下翻滚,测量数据易产生错误。文献[5]采用在风洞管壁上安装多个红外对管的方法,对红外对管阵列的输出电平值进行编码,测试出小球停留的位置。这种方式测距范围受限,而且占用单片机多个I/O口。本系统设计采用夏普红外测距传感器GP2Y0A02YK0F[6]来检测小球在圆管中所处的位置。红外测距传感器根据光学三角法测距的原理来确定被测物体的位移大小,具有较高分辨率。
红外测距传感器的工作电压为5V,其数据线V0接STM32开发板的PA1口。测量中以红外传感器离工作台面的距离减去红外传感器与圆管中小球的距离为运动过程中小球的实时高度。
2.2 电机驱动电路
采用L298N模块作为电机驱动模块,能有效预防电机运行时产生的大电流波动造成烧毁电路主板的情况[7-8]。
电机驱动模块采用两片半桥驱动芯片BTN7971B组成H桥驱动电路,电路图如图3所示。引脚2(IN1)接STM32开发板的PB5引脚,接线端子P2与直流电机的两端相连。BTN7971B采用封装为T0-263,输出端的大面积表面贴装可减轻芯片的散热压力;BTN7971B具有较高的开关频率,调速范围宽,可以满足本系统的电机快速响应。模块中还采用HCPL-263型高速光耦,对输入输出的电信号起到与开发板相隔离的作用。
系统中电机的转速由PWM控制,通过调节STM32芯片输出到IN1的PWM的占空比,来实现直流电机的转速控制。
图3BTN7971B的H桥直流电机驱动电路图
2.3 显示模块电路
系统设计采用2.8寸34引脚的TFT液晶屏作为显示模块。液晶屏采用自带图像寄存器的NT35510作为LCD驱动器,它以16位8080并口与STM32F的FSMC总线连接。16位数据中,数据线高5位负责驱动红色像素,数据线低5位负责驱动蓝色像素,中间的6位数据线负责驱动绿色像素[9]。23引脚的BL_CTR与STM32F的PB0连接,用于控制液晶屏的背光的亮度。
2.4 直流电机的选择
经过多次反复实验,最终以两个直流电机相互作用来产生风洞所需的气流。直径12cm的台达FFC1212DE风扇水平置于风罩的正下方,设定风扇两端的电压,它所产生的气流刚好能使小球稳定悬浮于圆管最底部。风罩下方的系统底座上固定有线性度较好的N60微型直流电机,通过PID算法综合控制扇叶产生的气流,以实现小球在圆管中精确位置的变动。
2.5 风罩的选型与定型
实验初始阶段风罩采用圆锥台连接细软管设计方案。在电机额定功率下,电机产生的风力衰减严重,远远达不到设计要求。经多次实验结果比较,先用SolidWorks绘图软件仿真出风罩的3D模型,再用3D打印机做出风罩实物,如图4所示。风罩前端的出风口与圆管底部旋紧接上,风罩的底座与台达FFC1212DE风扇的固定框相连接。风罩中圆柱高度为8cm,圆柱上部特地添加了圆台部分,这样设计的组合体结构可大大延缓风力的衰减。两个电机共同产生的风力能最大限度的送达上部的竖直圆管中。
图4风罩3D模型
3 风洞控制系统软件设计
风洞及控制系统具有非线性、时变性、耦合性等特点,用传统的基于对象模型的控制方法难以进行有效的控制[10]。故采用模糊PID控制方式实现小球在风洞中的位置控制。
3.1 PWM控制电机风速
直流电机的速率公式为:n=(U-IaRa)/CEФ。因此通过改变电机端电压可以改变电机的速率[11]。在线性端区域,电机端电压增高,风扇的转速越快,风力越大。
本系统通过设置STM32定时器3的通道2来输出PWM。为防止调速过程中产生振荡,采用PWM技术中的定频调宽法来调节直流风机的速度[12]。当直流电机两端的电枢电压受“占空比”的变化而导致平均电压的均值发生变化时,就实现了控制电机转速的目的。
3.2 风洞控制系统算法设计
3.2.1 模糊PID控制的结构
PID中要调整的参数量很少,PID控制器设计的关键在于Kp、Ki、Kd三个参数的调试。
与常规PID控制器相比,模糊PID控制器,具有良好的性能。模糊PID控制原理如图5所示。
图5 模糊PID控制器结构图
PID控制的过程参数整定表达式如下:
式中,Kp、Ki、Kd为PID控制的过程参数;Kp1、Ki1、Kd1为PID控制的初始整定值[13]。
本文将误差e和误差变化率ec输入到模糊控制器中,对其模糊化、推理、清晰化处理后,以PID的三个参数增量ΔKp、ΔKi、ΔKd为模糊控制输出量[14]。最后,将常规PID调节器与模糊控制相结合作用于被控对象以提高系统性能。
3.2.2 输入输出语言变量的确定
模糊控制器作为整个系统的核心,将设定的小球位置与红外传感器采集到的小球高度进行比较,计算误差和误差变化率。输入语言变量选择设定高度与红外传感器实时检测高度之间误差e和误差变化率ec,输出语言变量选择控制电机转速的PWM占空比u。
3.2.3 模糊控制规则的建立
图6输入输出的隶属度函数
误差e和误差变化率ec两个输入数据需转换为合适的语言值。用语言变量论域定义为有限整数的离散论域[15]。设计的系统中,误差e的基本论域为[-6,6],误差变化率ec的基本论域为[-1,1],对应的模糊论域范围为 [-3,3]。e和ec语言标签为{负大,负中,负小,零,正小,正中,正大},即{NB,NM,NS,ZO,PS,PM,PB}。隶属度函数选用形状较尖的适用于单片机系统的三角形函数,如图6所示。
建立模糊控制规则是模糊控制系统的重要设计内容,每一条控制规则都是建立在实际操作经验上的。比如模糊条件语句可通过“ifeandecthenΔKp”来描述。表1、表2、表3分别为ΔKp、ΔKi、ΔKd的模糊控制(推理)规则表。隶属度函数需要经清晰化处理,映射到有代表性的数值上。
表1 ΔKp模糊控制(推理)规则表
续表1
e c(t)ΔKPeNBNMNSZOPSPMPBPSPSPSPSNSNSNMNMPMPSPSZONMNMNMNBPBZOZOZONMNMNBNB
表2 ΔKi模糊控制(推理)规则表
表3ΔKd模糊控制(推理)规则表
e c(t)ΔKdeNBNMNSZOPSPMPBNBPSNSNBNBNBNMPSNMPSNSNBNMNMNSZONSZONSNMNMNSNSZOZOZONSNSNSNSNSZOPSZOZOZOZOZOZOZOPMPBNSPSPSPSPSPBPBPBPMPMPMPSPSPB
从上面三个表可以构建出49条模糊控制规则。
图7系统模糊PID控制流程图
3.3 系统控制程序设计
风洞控制系统上电后,系统各个模块完成初始化。通过按键进行模式选择。红外测距模块实时检测风洞中小球所处的位置。当小球高度与预设高度有偏差时,通过模糊控制模块对PID参数进行优化,控制电机转速,改善风力大小,使系统快速达到预设值。TFT显示屏上显示当前的工作模式、小球高度、占空比大小等参数。系统模糊PID控制流程图如图7所示。
4 模糊PID控制的MATLAB仿真及实验数据
在Simulink设计环境中,运用各种模块搭建风洞系统仿真模型图,如图8所示。图8中双击Fuzzy Controller模块,弹出“Parameters”对话框,其中的“FIS name”需添加模糊控制规则生成的fis文件。
Simulink运行后,响应曲线结果如图9所示。与常规PID控制进行对比,得到两种PID响应对比图。模糊PID控制达到稳定时所需的时间为2.34s,而传统的PID控制达到稳定时所需的时间为4.02s。实验的部分关键数据如表4所示。由数据分析可知,模糊PID的风洞控制系统相比较于常规PID,响应速度较快,能较快达到稳定状态,超调量小,控制效果平稳。
图8风洞控制系统仿真模型
图9PID和模糊PID控制器的响应比较
表4 部分实验数据
5 结语
本文设计了一种能通过模糊PID算法实现自动控制的风洞系统。系统选用低功耗的STM32F103ZET6芯片作为系统的核心控制,根据小球高度与预设高度的偏差,通过模糊PID算法进行参数的优化,调节PWM控制电机转速大小,改变风罩出风口的风力,实现小球位置的精确控制。实验结果表明,该风洞系统达到了设计要求,同时实现了低功耗的自动、精准控制的目标,具有较大的实用意义。