合肥工业大学自动控制理论综合实验球杆实验报告.doc_第1页
合肥工业大学自动控制理论综合实验球杆实验报告.doc_第2页
合肥工业大学自动控制理论综合实验球杆实验报告.doc_第3页
合肥工业大学自动控制理论综合实验球杆实验报告.doc_第4页
合肥工业大学自动控制理论综合实验球杆实验报告.doc_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

合肥工业大学 电气与自动化工程学院 专业中心实验室 李扬 20092178实验一 球杆系统的数学模型实验目的l 掌握对实际物理模型的建模方法l 掌握在Matlab 中利用Simulink 等工具对系统进行模型分析的方法。实验内容:1) 分析并推导系统的数学模型;2) 求解系统的状态空间方程和传递函数方程;在matlab中建立一下m文件并运行:m=0.028;R=0.0145;g=-9.8;J=0.4*m*R2;a=-m*g/(J/R2+m);A=0 1 0 0;0 0 a 0;0 0 0 1;0 0 0 0B=0;0;0;1C=1 0 0 0D=0n,d=ss2tf(A,B,C,D);G=tf(n,d);返回:A = 0 1.0000 0 0 0 0 7.0000 0 0 0 0 1.0000 0 0 0 0B = 0 0 0 1C = 1 0 0 0D = 0Transfer function:-4.441e-016 s3 + 1.998e-015 s2 + 3.997e-015 s + 7- s4上式即为传递函数方程。3) 在Matlab 下建立系统的模型并进行阶跃响应仿真。为得到阶跃响应,输入命令: step(G) 得到阶跃响应曲线如下:实验二 球杆系统的数字P 控制器设计实验目的了解P 控制器原理及其对球杆系统的控制作用实验原理:实验内容:1. 在matlab下仿真比例控制时系统的响应情况。在matlab中建立m文件并运行:m = 0.028;R = 0.0145;g = -9.8;L = 0.40;d = 0.045;J = 0.4*m*R2;K = (m*g*d)/(L*(J/R2+m); %simplifies inputnum = -K;den = 1 0 0;ball=tf(num,den)kp = 1;sys_cl=feedback(kp*ball,1) %建立闭环系统step(0.25*sys_cl) %阶跃响应2. 进入BallBeamControl 应用控制程序进行实时控制;实验步骤如下:1) 让小球稳定在一个位置,设为200;2) 设置Kp=const(常数),Kd=0,Ki=0(拖动相应滑块到最低位置即为0);3) 拖动小球目标位置滑块往右移动到需要位置,设置此处为300;4) 松开鼠标即刷新参数,系统开始运动5) 改变Kp 的值,观察响应变化从结构可以看出,系统实际输出和matlab仿真结果很相似,但是由于参数不一样,系统忽略了很多次要因素,而在实际系统中,这些因素又在起作用,所以有时候振幅会收敛(阻力),有时候发散9比例系数过大,并有迟延环节作用)(此处可能需要另外加图,以表示不同的kp对系统的影响)实验三 球杆系统的数字PD 控制器设计实验目的掌握PD 控制器的控制原理和对球杆系统的控制效果实验原理:实验内容:1、 在matlab中仿真PD控制器下球杆系统的响应情况。思路是选取同一个Kp(这里取kp=1),改变微分时间Td,以观察Td对系统的影响。m = 0.028;R = 0.0145;g = -9.8;L = 0.40;d = 0.045;J = 0.4*m*R2;K = (m*g*d)/(L*(J/R2+m);num1 = -K;den1 = 1 0 0;ball=tf(num1,den1)kp = 1;Td=10;num2=kp*Td kp;den2=1;PD=tf(num2,den2);sys_cl=feedback(PD*ball,1) %建立闭环系统step(0.25*sys_cl)%阶跃响应hold onTd=20;num3=kp*Td kp;den3=1;PD=tf(num3,den3);sys_cl=feedback(PD*ball,1) %建立闭环系统step(0.25*sys_cl,:)%阶跃响应hold onTd=30;num4=kp*Td kp;den4=1;PD=tf(num4,den4);sys_cl=feedback(PD*ball,1) %建立闭环系统step(0.25*sys_cl,-.)%阶跃响应legend(Td=10,Td=20,Td=30)Transfer function:0.7875- s2Transfer function: 7.875 s + 0.7875-s2 + 7.875 s + 0.7875Transfer function: 15.75 s + 0.7875-s2 + 15.75 s + 0.7875Transfer function: 23.63 s + 0.7875-s2 + 23.63 s + 0.7875实验结果分析:可以看出,系统在PD控制下是一个无振荡输出(也可能出现衰减振荡的情况,这种情况取决于kp),系统可以稳定。通过改变控制器的参数,可以调整系统的响应速度、稳定时间和超调等。具体改变情况是,增加Td(即增加Kd)可以减少调节时间。另外,由自控理论我们知道,增加Td可以减少调节时间,但也增大了超调量。实际系统中,存在一些阻力和摩擦,但在建模过程中为简单起见,忽略了这些阻力的影响,但是在实际系统中,因为这些因素的存在,系统在达到平衡状态时会存在一定的稳态误差。而且,对于控制问题通常有多个解决方案。2、利用固高科技球杆系统进行实验: 步骤如下1) 让小球稳定在一个位置,此处选50;2) 设置Kp=const(常数),Kd=const,Ki=0(拖动相应滑块到最低位置即为0)3) 拖动小球目标位置滑块往右移动到需要位置,此处选300;4) 松开鼠标即刷新参数,系统开始运动;5) 改变Kp、Kd 的值,观察响应变化。 可以看出,在PD 控制作用下,系统可以很快的稳定,但是明显的存在稳态误差,如上图,稳态误差为13.53mm,分析误差产生的原因,可以在平衡位置仔细观察小球位置改变和输入角的关系。实验四 球杆系统的数字PID 控制器设计实验目的掌握PID 控制算法的原理和实际应用实验原理:实验内容1) 利用齐格勒-尼赫尔斯法则设计PID 控制器,并在matlab下仿真系统性能。分析:经过“实验二”的验证,此球杆系统无法在纯比例控制下达到临界稳定,也就无法用稳定边界法设计控制,我这里面使用“凑试法”;经过多次调试,发现当Kp=40,Ti=Kp/Ki=4,Td=Kd/Kp=0.74时,控制效果比较好。Matlab程序如下:m = 0.028;R = 0.0145;g = -9.8;L = 0.40;d = 0.045;J = 0.4*m*R2;K = (m*g*d)/(L*(J/R2+m); %simplifies inputnum = -K;den = 1 0 0;ball=tf(num,den)kp1=40;Ti=4;Td=0.74;n=kp1*Ti*Td kp1*Ti kp1;d=Ti 0;PID=tf(n,d);sys_c1=feedback(PID*ball,1) %建立闭环系统step(sys_c1) %阶跃响应axis(0 3 0 1.2)返回:Transfer function:0.7875- s2 此为球杆系统传递函数。返回:Transfer function: 93.24 s2 + 126 s + 31.5-4 s3 + 93.24 s2 + 126 s + 31.5 此为带有PID控制器的闭环系统传递函数。2)利用仿真得到的PID参数在IPM MOTION软件中进行实时控制实验,并比较仿真结果与实际运行结果的差异,分析原因。取PID参数分别为:2,10,2运行IPM MOTION软件,得到以下结果: 从实验结果可以看出来,系统的稳态误差为1.31mm. 改变PID 参数进行实验,比较理论和实际实验结果的区别,分析各参数和性能指标的关系。对于不同的球杆系统,由于摩擦阻力和别的不确定因素,在相同的参数控制下,系统的响应可能不一样。此处增加Kp,Ti,Td对系统性能影响的叙述。实验五 根轨迹算法设计球杆系统控制器实验目的学习使用根轨迹法设计一个稳定的系统,进一步理解根轨迹的基本概念和根轨迹图所代表的含义,通过实验来验证增加零、极点以及开环增益对系统性能有何影响。实验原理:实验内容根轨迹的设计思想是:利用开环根轨迹来评估闭环系统响应,也就是通过在原系统上增加零、极点(增加补偿器)来修正根轨迹以及闭环响应。首先观察该系统的开环根轨迹。在matlab中建立以下m文件以建立系统模型和根轨迹。m = 0.028;R = 0.0145;g = -9.8;L = 0.40;d = 0.045;J = 0.4*m*R2;K = (m*g*d)/(L*(J/R2+m);num = -K;den = 1 0 0;ball=tf(num,den)rlocus(ball)运行m文件得到如下根轨迹: 可以看到系统在原点有两个极点沿虚轴伸向无穷远处。 使用sgrid 命令可以将设计目标也显示在根轨迹上。该命令生成阻尼比与自然频率的栅格。阻尼比和自然频率可以用以下方程求出,它们与超调量(PO)和稳定能时间(Ts)有关。 注意,Ts 被定义为:系统已经稳定下来,也就是响应余量在终值的2%以内时的时间。从上式可以得出阻尼比和自然频率分别为0.7和1.9。sgrid(0.70, 1.9)axis(-5 5 -2 2)在由点组成的两条斜线间的区域代表了超调量小于5%的范围。曲线外的区域代表了稳定时间小于3秒的范围。注意到根轨迹没有落到由这些线所形成的设计目标范围内,为了系统稳定性,要将根轨迹落到左侧区域,需要加一个超前补偿器。 超前补偿器超前补偿器有如下形式: 。其中zo 比 po小。观察加上补偿器后的根轨迹。将零点定位在原点附近以抵消一个极点。极点在原点左侧以便将根轨迹更远的拉到左侧区域。在m文件中继续输入以下代码并运行: zo = 0.01;po = 5;contr=tf(1 zo,1 po);rlocus(contr*ball)sgrid(0.70, 1.9)现在,根轨迹的分支已经在设计目标范围内。 确定增益使用 rlocfind 命令来确定系统的增益。在m文件中加入以下几行k,poles=rlocfind(contr*ball)到图形显示窗口选择用十字形光标一点。 返回:selected_point = -2.4988+ 1.2493ik =37.3131 poles = -2.4950+ 1.2493i -2.4950- 1.2493i -0.0101 现在,可以画出具有该增益的系统的响应。 画出闭环系统响应在m文件中加入以下几行: sys_cl=feedback(k*contr*ball,1);t=0:0.01:5;figurestep(sys_cl,t)运行m文件,在根轨迹上选择如上所示一点,就可以看到系统的阶跃响应。 可以看到超调量和稳定时间都符合要求。 实验六 频率响应法设计球杆系统控制器实验目的学习将系统的上升时间、超调量等性能指标与所要设计的目标参数联系起来,学习在频率域使用超前、滞后校正系统的方法;进一步加深对系统性能指标、相角裕度等概念的理解。实验原理及内容球杆系统的开环传递函数可以描述为:设计标准为:l 稳定时间不超过3sl 超调量小于5带有控制器的闭环系统如图所示:设计过程;开环波德图基于频率的设计思想,即使用开环传递函数的波德图得到闭环系统的响应。对一个系统增加控制器可以改变开环波德图,也就可以改变闭环响应。先绘制开环传递函数的波德图。建立以下m文件并在matlab command窗口运行:m=0.028;R=0.0145;g=-9.8;L=0.4;J=2/5*m*R2;d=0.045;K=(m*g*d)/(L*(J/R2+m);num=-K;den=1 0 0;ball=tf(num,den);bode(ball)然后看到以下波特图:从图上可以看出相位裕度是0。0 相位裕度意味着系统是不稳定的。要使用超前补偿控制器来增加相位裕度。相位超前控制器相位超前补偿器具有如下形式:通过频率范围1/aT和1/T(被称为角频率),相位超前补偿器将使系统增加正的相位。超前补偿器最大可补偿的相位是90度。在我们的控制器设计中,超调量要小于5%,即zeta为0.7,一般的,zeta * 100就是对应于期望超调量的最小的相位裕度。所以希望大于70度的相位裕度。使用以下步骤得到T 和a:1. 确定需要的正相位。需要大于70度的正相位。2. 确定相位要增加处的频率(中心频率)这一般很难确定,因为伯德图中的相频曲线是一条平坦的直线。不过,由于知道带宽频率(BW)和稳定时间的关系,BW近似1.92 rad/s,所以需要比他靠前的中心频率,取1。3. 从下式中确定常数a。这将确定在0和极点之间所需要的最大的可增加的相位。 表示需要的相位裕度,对于70度,a = 0.0311。4. 从以下方程确定T 和 aT 。: 对于70度和中心频率(w)=1,aT = 0.176 , T = 5.67 。可以把超前控制器加到我们的系统中。在m文件中去掉bode命令,加入以下内容:phi=70*pi/180;a=(1-sin(phi)/(1+sin(phi);w=1;T=1/(w*sqrt(a);k = 1;numlead = k*T 1;denlead = a*T 1;contr = tf(numlead,denlead);bode(contr*ball)得到:可以看到相位裕度70度左右。为了检查闭环系统对0.25m阶跃的响应,在m文件中增加以下内容:sys_cl = feedback(contr*ball,1);t = 0:0.01:5;step(0.25*sys_cl,t)得到:增加更多的相位为了减小超调量,相位可以更超前。为使前面的过程更简化,使用以下程序建立m文件。function = phaseball()%define TFm = 0.028;R = 0.0145;g = -9.8;L = 0.40;d = 0.045;J = 0.4*m*R2;K = (m*g*d)/(L*(J/R2+m); num = -K;den = 1 0 0;ball = tf(num,den);%ask user for controller informationpm = input(Phase Margin?.);w = input(Center Frequency?.);k = input(Gain?.);%view compensated system bode plotpmr = pm*pi/180;a = (1 - sin(pmr)/(1+sin(pmr);T = sqrt(a)/w;aT = 1/(w*sqrt(a);numlead = k*aT 1;denlead = T 1;contr = tf(numlead,de

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论