APP下载

基于STM32的风力摆控制系统设计

2021-08-04白彩波余红英庙要要方荣瑞

湖北理工学院学报 2021年4期
关键词:控制算法风力风机

白彩波,余红英,庙要要,方荣瑞

(1.芜湖职业技术学院 电气与自动化学院,安徽 芜湖 241006;2.安徽工程大学 电气工程学院,安徽 芜湖 241000;3.芜湖市计量测试研究所,安徽 芜湖 241000)

风力摆是一种依靠空气动力来实现物体摆动的经典控制装置,由4个空心杯电机驱动的风扇和支架连杆组成,通过控制各风机的转速形成风力,利用空气的流动性和力的相互作用完成指定的运动[1]。由于该系统具有多变量、非线性等特点,其控制过程可以有效地反映控制理论中的诸多关键问题,且风力摆的控制理论和算法可推广应用于工业、农业、航空航天等领域,亦可作为自动控制理论教学与科研的典型案例,是众多专家学者青睐的研究课题之一[2]。

1 风力摆结构设计

风力摆框架为铝型材,采用角码连接,稳定性强。碳纤维材质的摆杆质量轻、强度硬,能够有效降低风机振动对摆的影响。摆杆上端用万向节固定在支架上,下方悬挂4只由空心杯电机构成的风机,4个风机两两相对摆放成相互垂直的2条直线,与平面参考坐标轴重合。摆杆下端安装向下的激光笔。初始状态时,激光笔照射点与参考坐标原点重合,根据激光笔照射点的运动轨迹观察风力摆的运动状态。风力摆结构示意图如图1所示。

图1 风力摆结构示意图

2 风力摆控制系统原理分析

2.1 风力摆受力分析

风力摆装置的一端悬于固定点,另一端的4个风机转动产生一个垂直于摆杆的合力,使摆杆在平面内摆动。将摆杆底部等效为1个质点,对其进行受力分析。当摆杆摆动角度为α时,此时风力摆的受力包括垂直向下的重力G、沿摆杆方向的拉力T、1对风机产生平行于x轴的风力Fx、另1对风机产生平行于y轴的风力Fy,以及垂直于摆杆的合成风力F。风力摆的受力分析图如图2所示。

图2 风力摆的受力分析图

2.2 风力摆运动轨迹分析

假设风力摆的初始位置处于自由垂直状态,摆杆上端至地面的距离为L,当风力摆摆杆由初始位置摆动角度α时,激光笔在地面上画出的直线长度为X,那么摆角与所画直线长度的关系为:

X=L·tanα

(1)

风力摆的运动轨迹为规定的直线运动和圆周运动。在平面坐标系内分析其运动轨迹。人为设定与支架横杆平行的运动轴为y轴,与支架横杆垂直的运动轴为x轴,x轴正方向对应直线角度0°,依次类推。风机1和风机3控制风力摆沿x轴的运动,风机2和风机4控制风力摆沿y轴的运动,静止时风力摆位于原点。风力摆的平面坐标系示意图如图3所示。

图3 风力摆的平面坐标系示意图

风力摆实现规定的直线运动和圆周运动需借助利萨如图进行分析,即2个振动方向相互垂直的简谐运动所合成的特殊图像。风力摆参与2个垂直方向的运动时,摆动路径就是一个稳定且闭合的曲线。利萨如图的参数方程为:

(2)

圆周轨迹与直线轨迹的利萨如图如图4所示。当a=b,φ=π/2时,运动轨迹为顺时针画圆;当a=b,φ=3π/2时,运动轨迹为逆时针画圆;当φ=0或2π时,运动轨迹是斜率为b/a的直线。

(a) 圆周轨迹 (b) 有线轨迹

3 控制系统设计

风力摆控制系统控制2组风机运行轨迹的长度和方向,使其按照预设轨迹运动[4]。风力摆控制系统组成框图如图5所示。系统启动后,触摸屏输入设定轨迹参数,姿态检测传感器实时检测风力摆的摆角和方向,并反馈至主控制器。控制器对设定值和实时反馈值比较,得到偏差。两路偏差经PID运算计算出控制量,对控制量进行比较量化处理后转化成PWM波输出到电机驱动模块,驱动电机按照预设轨迹运动,显示模块显示当前系统的运行状态。

图5 风力摆控制系统组成框图

3.1 系统硬件设计

主控器模块选用性能高、成本低、功耗低的32位STM32F103RCT6单片机,具有运算速度快、软件编程灵活等特点。系统采用MPU6050作为风力摆姿态检测传感器,其内部整合了三轴陀螺仪(获得角速度信息)和三轴加速度传感器(获得加速度信息),能够输出六轴旋转矩阵、四元数、欧拉角的融合演算数据,可直接通过I2C协议与STM32单片机通信,数据经处理后获取风力摆的空间位置数据[5]。风机的驱动电机选用720空心杯电机,具有转速快、体积小、接线简单、启动和制动响应速度快的特点,适用于换向频繁的场合,通过BTN7971电机驱动模块,受控于STM32单片机[6]。显示模块选用TFTLCD液晶屏作为人机交互模块,具有320×240的高分辨率,16位真彩显示,集输入控制与显示功能为一体,可同时作为输入模块,采用16位并行方式与单片机的I/O端口相连。

3.2 控制算法选择

基于偏差的比例、积分和微分的PID控制算法简单、鲁棒性强,可应用于风力摆控制系统。将传感器采集的位置值与设定值进行比较获得偏差,采用PID控制算法分别计算出两路控制量,控制2组电机的转速,驱动风力摆按照设定轨迹运动。PID控制算法的公式为:

(3)

式(3)中,e(t)为输入信号和输出信号的差值;KP,KI和KD分别为比例运算系数、积分运算系数和微分运算系数;u(t)为经过PID算法处理后的控制量。

在程序设计时需对连续PID算法进行离散化处理即采用数字式PID控制器,控制系统选用位置式PID控制算法,公式为:

(4)

控制算法选定后,采用工程整定法确定各系数。首先确定比例系数。比例系数在初调时不要太大,容易造成系统不稳定。然后逐步加入积分作用消除余差,加入微分环节,提高系统的响应速度,最终经过大量实验调节确定PID控制器的比例、积分和微分系数[7]。

4 测试结果

为了验证风力摆系统的稳定性和快速性,对控制系统进行试验验证。现场测试时,在地面上铺设一张白纸板,绘制平面坐标系,准确画出不同长度及方向的直线和不同半径的圆,静止时激光笔的照射点对应白纸板坐标原点,4个风机的方向对应坐标轴,通过观察激光笔在白纸板上的位置轨迹,记录误差并加以分析。

当系统中各模块初始化完成后,设定轨迹参数测试3次,记录风力摆的平均稳定时间与偏差,测试试验结果见表1。由表1可知,风力摆控制系统能够在2 s内完成规定长度和角度的画直线运动,误差小于0.4 cm;风力摆控制系统能够在5 s内完成规定半径的画圆运动,半径误差小于0.2 cm。这表明风力摆控制系统基本达到了设定效果,如需进一步提高控制精度,可对控制算法进一步改进优化。

表1 测试试验结果

5 结论

风力摆控制系统能够完成预设的定直线运动和定圆运动,且系统性能稳定、精度高、界面友好、准确性和快速性良好、抗干扰能力强、可重复、便于二次开发和利用,可作为验证和研究控制理论的一种新的典型教学实验平台。

猜你喜欢

控制算法风力风机
基于模型预测控制算法的智能密度控制系统在选煤厂的应用
海上漂浮式风力发电机关键技术研究
基于改进的灰色-马尔科夫模型在风机沉降中的应用
汽轮机轴封风机疏水管线改造
高精度位置跟踪自适应增益调度滑模控制算法
大型风力发电设备润滑概要
基于Bladed与Matlab的风力发电机组控制器设计
某热电厂风机电机节能技术改造
TS3000系统防喘振控制在 AV80-14风机中的应用
基于航迹差和航向差的航迹自动控制算法