风力摆控制系统分析

2021-03-17 07:41覃仕明
科学技术创新 2021年5期
关键词:目标值闭环控制单摆

覃仕明 玉 函

(1、广西壮族自治区特种设备检验研究院,广西 南宁530200 2、通力电梯有限公司南宁分公司,广西 南宁530200)

风力摆控制系统用来控制电机做单摆形式的运动,其简谐运动规律可涉及到物理领域的各个方面,如分子运动、电磁振荡等[1]。风力摆控制系统是物理研究理论与现代控制理论的结合,如何通过现代控制理论实现物理运动规律,对目前解决实际工业上遇到的问题有很大的研究意义,在经典控制理论和现代控制理论上非常值得探究。

1 控制系统分析

风力摆控制系统是一个伺服随动控制系统[2],伺服随动控制系统实现的要求是具备快速跟踪和精确定位,快速跟踪与伺服带宽有关系,带宽越大,快速性就会越好,而带宽主要会受到硬件的惯性限制,惯性越来越大,带宽越来越窄,所以风力摆控制系统的摆杆质量大小可影响其快速跟踪的性能。系统精确定位的实现则需要机械结构与硬件搭建合理,同时在软件上使用控制算法提高系统的整体抗干扰性。

1.1 风力摆简谐运动分析

风力摆控制系统是单摆运动的衍生,单摆运动属于简谐运动[3],所以本系统的运动本质为简谐运动,其数学方程为:

风力摆控制系统的所有运动轨迹都将以简谐运动作为实现依据。除此之外,单摆运动周期方程为:

式中的g 为重力加速度,L 为风力摆的摆杆长度。假设取L=0.3m,g 取10m/s2。

因此有:

式中的摆杆长度的选取是相对较短的,假设最长的情况下,当选取摆杆长度为2m,此时有

所以由式(3)和式(4)得出结论,单摆周期的范围大概在1.09s~2.81s 之间,其主要还是取决于摆杆的长度。

1.2 风力摆摆角分析

角度传感器MPU6050 中的三轴陀螺仪与三轴加速计测量出风力摆控制系统当前位置信息的原始数据,再通过自带的DMP 进行数据融合与转换,得出X 轴方向角为roll,Y 轴方向角为pitch,Z 轴方向角为yaw,在风力摆控制系统中,只利用到了X 轴与Y 轴方向角度进行分析计算,所以只对这两个方向角度分析。

角度roll(pitch)是风力摆发生在X 轴(Y 轴)上的偏转角度,风力摆离地面的高度为H,激光点与零点的距离为X(Y),目前已经知道角度roll(pitch)和离地面的高度H,得出:

根据公式得出的X(Y)就是激光点与零点的距离,也可以说是风力摆控制系统当前状态的测量值,但我们要控制激光点的位置满足单摆运动因此要有目标值,结合公式(6)可得出:

在得到目标值与测量值后,导入PID 控制算法,输出PWM控制电机转动就可以使风力摆控制系统每个方向完成系统要求的简谐运动了。如图1 中,为风力摆摆角图。

图1 风力摆摆角图

2 PID 控制算法分析

风力摆控制系统需要考虑抗扰动能力,如果不做抗干扰算法,风力摆的运动方程将不会是简谐运动方程,本系统设计的最大调节时间是4 秒,也就是风力摆控制系统能在4 秒内恢复简谐运动就可。选用经典的PID 算法能达到简单且快速的效果,能解决机械结构搭建不合理或硬件放置不合理产生的误差。

2.1 位置闭环控制

位置闭环控制是根据传感器反馈回来的电机位置信息,然后与目标值进行比较,得到偏差量,再经过对偏差的比例、积分、微分进行控制,使偏差量趋向于零的过程。

位置式PID 公式为:

e(k):代表本次偏差。

e(k-1):代表上一次偏差。

∑e(k):代表偏差的累计和。

PWM则代表输出。

2.2 速度闭环控制

速度闭环控制是在单位时间内获取的脉冲数所测量电机速度信息,再与目标值进行比较,得出控制偏差量,然后对偏差的PID 进行控制,让偏差趋向于零的过程。

增量式PID 公式为:

e(k):代表本次偏差。

e(k-1):代表上一次偏差。

e(k-2):代表上上次偏差。

PWM则代表输出。

根据对两种PID 闭环控制的对比分析,由于MPU6050 角度传感器已经能采集到风力摆的位置信息,则采用位置式闭环控制是风力摆控制系统最适合的方法。

3 软件分析

风力摆控制系统上电后开始执行系统初始化,之后进行按键判断,选择风力摆控制系统所要执行的功能,如摆动距离、摆动角度、风力摆制动、摆动画圆等功能,选择功能后风力摆控制系统开始执行动作,通过对功能设定的目标值与当前角度传感器检测到的测量值进行比较,得出偏差,之后输出PWM控制电机转动执行动作,同时上位机端实时显示测量值与目标值的运动波形轨迹,判断当前测量时是否达到目标值,如果未达到目标值则继续执行动作,达到目标值则结束。

3.1 姿态检测设计

风力摆控制系统使用的是MPU6050 作为姿态检测的传感器,首先,它是以IIC 的通信方式与单片机进行数据的传输,IIC通信是同步通信,收发双方需要一条时钟线(SCL)来控制收发双方的通信节奏。数据线(SDL)则在始终线的节奏基础上进行数据传输。MPU6050 通过加速度计和陀螺仪检测系统当前姿态得到的原始数据,然后使用其内部的数字运动处理器(DMP),将原始数据进行姿态融合解算转换成四元数,此时再将四元数数据传递给单片机,通过程序计算得出欧拉角,从而确定风力摆的当前姿态。图2 为IIC 通信时序图。

图2 IIC 通信时序图

如图中Start 部分,当SCL 为高电平,SDA 产生一个下降沿则代表通信开始,数据传输过程是当SCL 低电平时,SDA 才能变化,表示说发送方一定要先保持SCL 为低电平,SDA 才能变化,SDA 高电平时表明正在发送一位数据。当SCL 高电平时,SDA 绝对不能够出现变化,因为在这时,接收方要读取当前SDA 的信号为高电平还是低电平,所以要确保SDA 的稳定,从图3 中可知道每位数据的改变都处于SCL 的低电平处。当SCL为高电平时且SDA 产生一个上升沿时,说明一次通信过程的结束,也就是停止位如图3 中的Stop 部分所示。

MPU6050 是通过加速度计和陀螺仪检测系统当前姿态得到的原始数据,然后使用其内部的数字运动处理器(DMP),将原始数据进行姿态融合解算转换成四元数,此时再将四元数数据传递给单片机,通过程序计算得出欧拉角,从而确定风力摆的当前姿态。

如图3 所示,是四元数转换成欧拉角的转换代码。

图3 四元数转换欧拉角

DMP 解算得出的四元数原始数据存储在数组quat[0]~quat[3] 中,q30 是大小为1073741824(2 的30 次方)的一个常量,q0~q3 是四元数转换为浮点数的结果,将q0~q3 代入转换公式中,计算出欧拉角,通过得出的姿态角,既能够检测出风力摆控制系统当前的姿态。

3.2 PID 控制算法软件设计

通过对PID 控制算法的理论分析,风力摆控制系统采用的是位置PID 闭环控制,根据公式,分别对X 轴,Y 轴设计位置PID 闭环控制,通过对value 和Target 两个值的差值进行PID 算法处理,输出X 轴与Y 轴的PWM,实现对电机的控制。

4 结论

通过对风力摆控制系统简谐运动分析,同时对风力摆在摆动时的摆角计算进行分析,以及PID 控制算法控制位置和速度的过程,论文对风力摆控制系统的理论计算进行了详细说明,为风力摆控制系统的实际实现奠定了理论基础。

猜你喜欢
目标值闭环控制单摆
基于LMI的过渡态主控回路闭环控制律优化设计
AI讲座:ML的分类方法
ML的迭代学习过程
发挥等效法在单摆运动周期问题中的大作用
挖掘“小专业”赢得大市场
基于STM32的无位置传感器BLDCM控制系统设计
基于STC单片机的闭环反馈控制智能鞋柜系统设计
基于“闭环控制”原理的课程质量保障系统的构建与实践
对无固定悬挂点单摆周期的探讨
单摆周期公式的理解和应用