基于风力摆的教学实践平台设计
2019-05-23吴博文吴陈毅
吴博文,吴陈毅
(西南科技大学 信息工程学院,四川 绵阳 621010)
1 引言
风力摆作为电子设计大赛控制系统的一个题目备受关注,如今风力摆控制系统作为一个典型的实验对象,为理论教学和课外实践搭建了良好的操作平台。该项目将理论和实践结合在一起,极大地锻炼了学生工程实验与实践的能力,具有重要研究意义[1]。各院校、实验室为此开展了风力摆项目的研究。
风力摆控制系统的搭建,旨在训练大学生理论思维、培养动手以及分析解决问题的能力。其核心为PID的控制,三角函数的熟练运用以及李萨如模型的搭建。其中PID广泛运用于各闭环控制系统,原理简单,通过调节参数即可维持系统的稳定。李萨如图形的花样由两个相互垂直的简谐振动的频率和相位差决定[2]。
2 方案设计
该系统主要由控制模块、电机驱动模块、风机模块、键盘模块、显示模块等模块组成。各模块的系统框图如图1所示。题目中要求风力摆做类似自由摆运动,使激光笔稳定地在地面画出一定误差范围内的直线和圆,并且具有较好的重复性。系统采用单片机控制器读取风力摆上参数来调节四个风机的转速,构成闭环控制系统,从而实现风力摆在一定的角度范围内做类似自由摆动以及幅度可控摆动,并且具有可靠的稳定性。
3 理论分析
3.1 PID控制
(1)采用并联PID控制系统。通过改变i对角度进行控制,PD对角速度环进行控制的双闭环控制系统。
(1)
式(1)中,ki是积分系数,eer1(t)是目标角度与当前角度之差。
对于速度:u2(t)=kp×eer2+kd×(eer2(t)-eer2(t-1))
(2)
式(2)中,kp是比例系数,kd是微分系数,eer2(t)是当前角速度与目标角速度之差,eer2(t-1)是上一时刻目标角速度与当前角速度之差。
因此,将角度环和速度环并联融合:
u(t)=u1(t)+u2(t)
(3)
u(t)即为当前风机转速。
(2)采用串级PID控制系统。将角度环作为外环,角速度环作为内环,通过外环比较角度偏差,将角度输出作为角速度输入实现PID的串联。
(4)
对于角速度:eer2(t)=w+u1(t)×P
(5)
u1(t)=kp×eer2(t)+kd×(eer2(t)-eer2(t-1))
(6)
式(5)、(6)中,w为当前角速度,P为可调常数,u(t)为风机转速。
3.2 自由摆运动
自由摆运动是非线性运动,但是摆动过程中保证单片机每隔一个很短的时间段快速采样,那么两相邻采样点之间可近似成线性,所以可以将风力摆的自由摆运动近似成“简谐运动”[3]。对于“简谐运动”,其运动轨迹可描述为:
θ=Asin(ωt+φ)
(7)
(8)
(9)
式(7)、(8)、(9)中,θ为摆动角度,A为最大摆角,ω为角频率,φ为初相位,T为摆动周期,dis为摆动长度,T为杆长,由此通过控制设置A来设置摆动的最长距离,通过读取θ可得知当前摆角,再测量相应的周期,在一个周期结束时利用读取的θ和A进行比较,通过PID算法,即可实现风力摆某一方向的单摆运动。为提高系统稳定性,若在x方向做单摆运动,y方向可通过PID算法将其摆动角度及角速度设置为0。
在摆动角度要求不大时,风力摆简谐运动可单摆运动,其公式为:
(10)
式(10)其中g是重力加速度。
3.3 李萨如模型绘图
两个相互垂直的简谐运动的融合即可构成李萨如模型,对于两个垂直方向的摆角与,当其满足一定条件时可构成特殊的图形:
对于x、y轴方向的运动:
θx=Asin(ωt+φx)
(11)
θy=Bsin(ωt+φy)
(12)
(2)绘制方向可设置的直线。对于XOY平面上任意方向的直线可将其分解在x轴方向和y轴方向上,因此,对于该平面任意方向的摆角θ在x轴与y轴方向的分量分别为:
θx=θcosα
(13)
θy=θsinα
(14)
其中为设定方向与x轴正方向的夹角。因此,结合简谐运动得出摆角为:
θx=Asin(ωt+φx)cosα
(15)
θy=Bsin(ωt+φy)sinα
(16)
令A=B,ω的值随时间成线性变化,φx+φy=0,通过控制α即完成了对直线方向的控制。
R=LtanA
(17)
因此通过设置A即可完成半径的设置,最后,x方向与y方向的角度可表示为:
(18)
(19)
4 总设计实现
4.1 硬件电路设计
主控板采用STM32F103ZET6单片机,用于控制各种模块并完成相应功能。键盘电路设计采用4×4矩阵键盘,这种行列式键盘结构能够有效地提高单片机系统中I/O口的利用率,用于控制模式切换以及要求参数的设定。显示电路采用基于IIC协议的OLED,用于显示当前角度、设定角度、设定长度、设定半径以及所选模式和风机转速。数据采集模块采用MPU6050,可通过串口直接打印当前风力摆角度、加速度以及加速度等相关参数。采用12V航模电池对电调进行供电。
4.2 软件设计
当系统上电后,OLED显示屏将呈现较好的人机界面,与此同时STM32对按键检测,选择工作状态,设定起摆方式。通过闭环PID调节及姿态解算实现相应的功能。
5 仿真结果与测试
对于画圆采用matlab仿真结果和实际测试结果如图2。
图2理论值与实测数据对比
6 结语
该系统很好地完成了自由摆运动、设定长度、角度划线、快速悬停以及画圆等功能,具有较强的稳定性。基于风力摆的教学实践平台将实践与理论想结合,不仅增强了学生的学习的自产性,而且可为学生提供一个亲身体验、自主学习的机会,提高了学生的学习兴趣。