MATLAB是Math Works公司开发的,目前国际上最流行,应用最广泛的科学与工程计算软件。MATLAB又称为“矩阵实验室”,其强项就是高效的矩阵计算。MATLAB集成了二维和三维图形功能,以完成相应数值可视化的工作,并且提供了一种交互式的高级编程语言—M语言,利用M明天。语言可以通过编写脚本或者函数文件实现用户自己的算法。
Simulink是基于MATLAB的框图设计环境,可以用来对各种动态系统进行建模分析和仿真。Simulink提供了利用鼠标拖拽的方法建立系统框图模型的图形界面,而且Simulink还提供了丰富的功能块和不同的专业模块集合,利用Simulink几乎可以做到不书写一行代码完成整个动态系统的建模工作。
1.2 倒立摆简介倒立摆是自动控制领域典型的控制对象,为众多研究人员验证控制理论及算法所采用。本实验的便携式倒立摆系统,是一个具有多控制对象、模块化、多实验环境、拆装方便等特点的典型对象。近年来,新的控制方法不断出现,人们试图通过倒立摆这样一个典型的控制对象,检验新的控制方法是否有较强的处理多变量、非线性和绝对不稳定系统的能力,从而从中找出最优秀的控制方法。倒立摆系统作为控制理论研究中的一种比较理想的实验手段,为自动控制理论的教学、实验和科研构建一个良好的实验平台,以用来检验某种控制理论和方法的典型方案,促进了控制系统新理论、新思想的发展。
由于控制理论的广泛应用,由此系统研究产生的方法和技术将在半导体及精密仪器加工、机器人控制技术、人工智能、导弹拦截控制系统、航空对决控制技术、火箭发射中的垂直度控制、卫星飞行中的姿态控制和一般工业应用等方面具有广阔的利用开发前景。
1.2.2 直线一级倒立摆直线一级倒立摆由直线运动模块和一级摆体组件组成,是最常见的倒立摆之一。该系统相对其他倒立摆较为简单,但能体现倒立摆系统控制的基本思想,故主要针对直线一级倒立摆进行设计。
倒立摆的控制目标:倒立摆的控制问题就是使摆杆尽快的达到一个平衡位置,并且使之没有大的振荡和过大的角度和速度。当摆杆达到期望的位置后,系统能克服随机扰动而保持稳定的位置。
倒立摆控制系统输出为摆杆角度和小车位置,通过对控制对象设计合适的校正环节,使得摆杆起摆后保持稳摆,设计方式有跟轨迹法、频域法、PID法,串联校正方式又有超前校正、滞后矫正、滞后—超前矫正。不同分析方式的特点选择合适校矫正方法,设计合适的控制器,使系统满足相应的指标。本设计主要是采用根轨迹法和PID法。
1.3 旋转编码器旋转编码器是一种角度传感器,它分为光电式、接触式和电磁感应式三种。我们在闭环系统中常用光电式编码器来测角度。旋转编码器有增量编码器和绝对编码器两种,它由发光元件、光电码盘、光敏元件和光电检测装置组成。由于光电式脉冲编码盘每转过一个分辨角就发出一个脉冲信号,因此,根据脉冲数目可得出工作轴的回转角度,由传动比换算出直线位移距离;根据脉冲频率可得工作轴的转速;根据、
两相信号的相位先后,可判断光电码盘的正、反转,以得到待测装置转向。
由于光电编码器输出的检测信号是数字信号,因此可以直接进入计算机进行处理,不需放大和转换等过程,使用非常方便,因此应用越来越广泛。
由于状态反馈要求被控系统是一个线性系统,而倒立摆系统本身是一个非线性的系统,因此用状态反馈来控制倒立摆系统,首先要将这个非线性系统近似成为一个线性系统。在忽略了空气流动和各种摩擦之后,可将倒立摆系统抽象成小车和匀质杆组成的系统。
图2.1 直线一级倒立摆运动示意图
M 小车质量
m 摆杆质量
b 小车摩擦系数
l 摆杆转动轴心到杆质心的长度
I 摆杆惯量
F 加在小车上的力
x 小车位置
摆杆与垂直向上方向的夹角
摆杆与垂直向下方向的夹角(考虑到摆杆初始位置为竖直向下)
图2.2 小车受力图 图2.3 摆杆受力图
图2.2和图2.3是系统中小车和摆杆的受力分析图。其中N 和P 为小车与摆杆相互作用力的水平和垂直方向的分量,图示方向为矢量正方向。
分析小车水平方向所受的合力,可以得到以下方程:
(1)
由摆杆水平方向的受力进行分析可以得到下面等式:
(2)
即: (3)
把这个等式代入(1)式中,就得到系统的水平方向运动方程:
(4)
对摆杆垂直方向上的合力进行分析,可以得到:
(5)
(6)
力矩平衡方程:
(7)
合并式(6)、(7)消去P和N得到第二个方程:
(8)
设(
是摆杆与垂直向上方向之间的夹角),假设
与1(单位是弧度)相比很小,即
<<1,则可以进行近似处理:
(9)
用u来代表被控对象的输入力F,线性化后两个运动方程如下:
(10)
对方程组(9)式进行拉普拉斯变换,得到方程组:
(11)
注意:推导传递函数时假设初始条件为0。由于输出为角度,求解方程组的第一个方程,可以得到:
(12)
如果令 ,则有:
(13)
把上式代入方程组的第二个方程,得到:
(14)
整理后得到传递函数:
(15)
其中
设系统状态空间方程为:
(16)
方程组对解代数方程,得到解如下:
(17)
整理后得到以外界作用力(u来代表被控对象的输入力F)作为输入的系统状态方程:
(18)
(19)
由方程组(9)得第一个方程为:
(20)
对于质量均匀分布的摆杆有:
(21)
于是可以得到:
(22)
化简得到:
(23)
设,则可以得到以小车加速度作为输入的系统状态方程:
(24)
(25)
以小车加速度为控制量,摆杆角度为被控对象,此时系统的传递函数为:
(26)
将物理参数代入上面的系统状态方程和传递函数中得到系统精确模型。系统状态空间方程:
:(27)
(28)
系统传递函数:
(29)
上面已经得到系统的状态方程式,对其进行阶跃响应分析,在MATLAB命令窗口键入以下命令:
A=[0 1 0 0;0 0 0 0;0 0 0 1;0 0 60 0];
B=[0 1 0 6.122]’;
C=[1 0 0 0;0 0 1 0];
D=[0 0]’;
step(A,B,C,D);
图2.4 阶跃响应曲线
从图中分析,未校正前系统是不稳定的。
2.2.2 稳定性分析由系统传递函数(29)式可得其特征方程为:
(30)
可得其特征根为:。显然,有一个特征根位于s平面的右半平面,所以便携式直线一级倒立摆系统是不稳定的。
根据传递函数式 ,利用MATLAB得到原系统的根轨迹,如图3.1,有两个极点
,无零点。
MATLAB程序设计如下:
num=[6.122];
den=[1,0,-60];
rlocus(num,den);
z=roots(num);
p=roots(den)
图3.1 校正前的根轨迹图
从根轨迹上可以看出,有一条根轨迹起始于右半平面的极点,两条根轨迹沿着虚轴向无限远处延伸,这意味着无论增益如何变化,这条根轨迹总是位于右半平面,即系统总是不稳定的,必须增加控制器对其进行校正。
从根轨迹图中可得,系统并不稳定,因此需要对系统进行超前校正,对于传递函数为:
设计控制器使得校正后系统的性能指标如下:
调整时间、最大超调量,
;
确定闭环期望极点的位置,由最大超调量:
可以得到,取
,由
得
rad,其中
为位于第二象限的极点和原点的连线与实轴负方向的夹角。
又由,可以得到
,取
,于是可以得到期望的闭环极点
=
未校正系统的根轨迹在实轴和虚轴上,不通过闭环期望极点,因此需要对系统进行超前校正,设控制器为:
计算超前校正装置应提供的相角,已知系统原来的极点在主导极点产生的滞后相角和为:
所以一次校正装置提供的相角为:
设计超前校正装置,已知,对于最大的
值的
角度:
图3.2 根轨迹校正计算图
按最佳确定法作图规则,在上图中画出相应的直线,求出超前校正装置的零点和极点,分别为:
校正后系统的开环传递函数为:
由幅值条件,并设反馈为单位反馈,即
。
求得:
于是我们得到了系统的控制器:
校正后用Matlab绘制根轨迹和阶跃响应曲线的程序如下:
num=[6.122];
den=[1 0 -60];
numlead=-7.0675;
denlead=-21.4332;
[Z,P,K]=tf2zp(num,den);
Za=[Z;numlead];
Pa=[P;denlead];
[num2,den2]=zp2tf(Za,Pa,K);
sys=tf(num2,den2);
rlocus(sys);
figure
KK=48.6810;
sys2=zpk(Za,Pa,KK*K);
sysc=sys2/(1+sys2);
t=0:0.01:3;
step(sysc,t);
在第一次调试时,选择的时,得到的根轨迹以及阶跃响应曲线如图3.3所示,可得,出现了超调,若要解决此问题则要重新选择
进行设计,可以采用增加阻尼
,重复上面的设计方法,重新设计,直到系统的响应满足要求。或者在保持
角不变的情况下,将校正装置的零点向左侧偏移,以减少闭环零点和极点的影响。
图3.3 出现超调现象图
图3.4 校正后根轨迹图
图3.5 校正后系统阶跃响应曲线
根据以上两图可以看出,校正后具有很好的稳定性,但在实际调试过程中发现存在一定的稳态误差,通过对倒立摆的实物调试,寻找最优的K值。在调试时,发现K值越大出现倒立摆剧烈抖动,不稳定,出现超调现象,所以根据倒立摆的实际情况最终选择K=48.7915。因与理论计算的结果相差不大,故而,不再重新设计。
在Simulink中进行仿真,设置好设计所得的参数。如图3.6所示为Simulink模型搭建图。
图3.6 根轨迹模型搭建
运行以后得到如图3.7所示的仿真结果。
图3.7 摆杆角度响应曲线
根轨迹法控制器设计实物调节及参数设置见附录1。
3.3 PID控制设计PID控制器因其结构简单,容易调节,且不需要对系统建立精确的模型,在实际控制中应用较广。
PID调节器各校正环节的作用是:
比例环节:即时成比例的反映控制系统偏差信号;偏差一旦产生,调节器立即产生控制作用以减小偏差,产生过调;
积分环节:主要用于消除静差,提高系统的无差度,当积分环节过大时会产生振荡;
微分环节:能反映偏差信号的变化趋势,并能在偏差信号的值变得太大之前,在系统中引入一个有效的早期修正信号,从而加快系统的动作速度,减少调节时间。
此次实验只考虑控制摆杆的角度,小车的位置是不受控的,即摆杆角度的单闭环控制,立起摆杆后,会发现小车向一个方向运动直到碰到限位信号。那么要使倒立摆稳定在固定位置,还需要增加对电机位置的闭环控制,这就形成了摆杆角度和电机位置的双闭环控制。立摆后表现为电机在固定位置左右移动控制摆杆不倒。
3.3.2 PID控制参数设计及仿真如图3.8所示,为PID控制仿真模型。
图3.8 PID仿真模型
如图3.9所示,可以通过双击PID控制模型进行参数设置。
图3.9 PID参数设置
先设置相关参数为,得到如图3.10所示的摆杆角度响应曲线。
图3.10 摆杆角度响应曲线
通过调节参数,设置,得到图3.11所示曲线。
图3.11 调整参数后曲线
从图中可以看出闭环控制系统持续振荡,应增加微分控制参数,经过三个参数的慢慢调节,最终设定参数为,得到如图3.12所示曲线。
图3.12 增加微分,积分参数后曲线图
可以看出,其在1秒内达到平衡,系统稳态误差比较小,但存在超调现象。
图3.13 小车位置响应曲线
从图3.13可得,由于PID控制器为单输入单输出系统,所以只能控制摆杆的角度,并不能控制小车的位置,所以小车会往一个方向运动,PID控制分析中的最后一段,若是想控制电机的位置,使得倒立摆系统稳定在固定位置附近,那么还需要设计位置PID闭环。
图3.14 最优参数图
当设置参数为时得到如图3.14所示曲线,并取值为本次设计PID控制的最优参数。
PID控制法控制器设计实物调节见附录2。
在本次设计中,发现直线一级倒立摆本身是不稳定的系统,但通过数学建模分析可以建立起小车加速度与摆杆角度间的传递函数,然后应用控制理论的方法,借助MATLAB及Simulink软件,可以分析出系统的特性一级调节方向。设置的参数调整时间为0.9s,最大超调量为25.4%,经过计算得出阻尼比和固有频率,阻尼比与最大超调量有关,当最大超调量比较大时,系统稳态误差较大,在MATLAB中利用计算所得的参数绘制根轨迹图和系统阶跃响应曲线,分析曲线、系统的稳定性。若系统出现超调,则应该调节阻尼比,进行重新设计计算,直到得到最优参数为止。
直线一级倒立摆的校正有三种方式,分别是根轨迹法、频率法、以及PID调节法。通过实际对比发现PID调节法设计的控制器比较稳定,摆杆振荡小,校正效果好。根轨迹法设计的控制器与选择的参数最大超调量和调整时间有关,即最大超调量越大,系统越不稳定,摆杆振荡大,达到平衡所需的时间多,且摆杆不容易调整到平衡状态。
本次的课程设计很好的锻炼了我的动手能力和选择最优参数方法,了解了自动控制原理这门课程,知道了直线一级倒立摆在科研教学中的重要作用。本次课设最大的难度在于数学模型的建立以及最优参数的选择。我们必须掌握基本概念,才能将选择到最优参数,设计好控制器。通过不断地更改参数,绘制根轨迹图、系统阶跃响应图来分析系统是否达到平衡,若不平衡则需要重新调整参数。
图附录1.1 根轨迹法参数设置
图附录1.2 根轨迹法实物调试
图附录2.1 PID控制法参数设置
欢迎光临 (http://www.51hei.com/bbs/) | Powered by Discuz! X3.1 |