球杆系统实验指导书 1.docx

上传人:b****6 文档编号:12783627 上传时间:2023-06-08 格式:DOCX 页数:60 大小:1.07MB
下载 相关 举报
球杆系统实验指导书 1.docx_第1页
第1页 / 共60页
球杆系统实验指导书 1.docx_第2页
第2页 / 共60页
球杆系统实验指导书 1.docx_第3页
第3页 / 共60页
球杆系统实验指导书 1.docx_第4页
第4页 / 共60页
球杆系统实验指导书 1.docx_第5页
第5页 / 共60页
球杆系统实验指导书 1.docx_第6页
第6页 / 共60页
球杆系统实验指导书 1.docx_第7页
第7页 / 共60页
球杆系统实验指导书 1.docx_第8页
第8页 / 共60页
球杆系统实验指导书 1.docx_第9页
第9页 / 共60页
球杆系统实验指导书 1.docx_第10页
第10页 / 共60页
球杆系统实验指导书 1.docx_第11页
第11页 / 共60页
球杆系统实验指导书 1.docx_第12页
第12页 / 共60页
球杆系统实验指导书 1.docx_第13页
第13页 / 共60页
球杆系统实验指导书 1.docx_第14页
第14页 / 共60页
球杆系统实验指导书 1.docx_第15页
第15页 / 共60页
球杆系统实验指导书 1.docx_第16页
第16页 / 共60页
球杆系统实验指导书 1.docx_第17页
第17页 / 共60页
球杆系统实验指导书 1.docx_第18页
第18页 / 共60页
球杆系统实验指导书 1.docx_第19页
第19页 / 共60页
球杆系统实验指导书 1.docx_第20页
第20页 / 共60页
亲,该文档总共60页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

球杆系统实验指导书 1.docx

《球杆系统实验指导书 1.docx》由会员分享,可在线阅读,更多相关《球杆系统实验指导书 1.docx(60页珍藏版)》请在冰点文库上搜索。

球杆系统实验指导书 1.docx

球杆系统实验指导书1

 

球杆系统GBB1004

实验指导书V2..0

 

一、系统建模

1.球杆系统的机械模型:

球杆系统机械结构原理图如图1-1:

图1-1球杆系统机械结构连线(连杆和同步带轮的连接点与齿轮中心的连线)和水平线的夹角为θ(θ

的角度存在一定的限制,在最小和最大的范围之间),它作为连杆的输入,横杆的倾斜角α和θ之间的有如下的数学关系:

角度θ和电机轴之间存在一个减速比n=4的同步带,控制器设计的任务是通过调整齿轮的角度θ,使得小球在某一位置平衡。

小球在横杆上滚动的加速度如下式:

 

其中:

小球在横杆上的位置r为输出小球的质量m=0.11公斤;

小球的半径R=0.015米;重力加速度g=-9.8米/秒2;横杆长L=0.4米;

连杆和齿轮的连接点与齿轮中心的距离为d=0.04米;

小球的转动惯量J=2*m*R^2/5牛顿.秒2。

我们假设小球在横杆上的运动为滚动,且摩擦力可以忽略不计。

因为我们期望角度α在0附近,因此我们可以在0附近对其进行线性化,得到近似的线性方程:

拉氏变换得:

r(s)=mgd⋅1=0.7

θ(s)

L(J+m)ss

R2

 

1.2在Simulink中建立球杆系统的模型

我们将直接建模运动学的非线性方程,系统方程包含r,d/dt(r),alpha,andd/dt(alpha),我们将使用非线性函数模块来描述这些函数,首先,我们要描述系统的输出r。

•在Simulink中打开一个新的模型。

•从线性模块库中插入一个积分模块。

•在上面的积分模块右边再添加一个积分模块,并把两个模块连接起来。

•在连接线上加上"d/dt(r)"的注释,在连接线的附近双击就可以添加文字。

•从第二个积分模块的输出端画一条线,并标识为"r"

•从Connections模块库中插入一个Out模块并和"r"信号线连接。

这就是系统的输出。

•更改"Out"的标识为"r"。

图1-2积分模块

现在,我们插入一个包含向量[rd/dt(r)alphad/dt(alpha)]的函数,输出为d/dt(r)。

•模块库中插入一个Fcn模块,并把它的输出和第一个积分模块的输入相连。

•双击Fcn模块,修改函数如下:

(-1/(J/(R^2)+m))*(m*g*sin(u[3])-m*u[1]*(u[4])^2)此函数模块的输入为向量u,每个元素被指定u[1],u[2]等,我们设定,u[1]=r,

u[2]=d/d(r),u[3]=alpha,[4]=d/dt(alpha).

图1-3MODELFUCITION

•关闭对话框,改变Fcn模块的名称为"Ball-BeamLagrangianModel"。

 

图1-4ADDMODELTOTHESYSTEM现在,我们将构造函数的输入向量u,它可以通过积分器的输出信号以及使用

一个Mux模块实现。

•模块库中插入一个Mux模块,并把其输出和Ball-Beam的输入相连。

•双击Mux模块,改变输入的个数为4,这样,Mux模块就有了4个输入。

•将Mux模块的第二个输入和d/dt(r)信号相连(移动鼠标时按住Ctrl键即可绘制分岔线)。

•将Mux模块的第一个输入和r信号相连。

3-5添加乘积模块现在我们通过theta信号构造alpha和d/dt(alpha)信号。

•在窗口的左边插入一个模块,改变名称为"theta"。

•插入一个Gain模块并和theta模块相连,改变名称为"d/L"。

•将Gain模块的输出和Mux模块的第三个输入相连,标注为"alpha".

•从Linear模块库中插入一个Derivative模块,并置于alpha信号线的下面。

•将Derivative模块的输入和Gain模块的输出相连。

•将Derivative模块的输出和Mux模块的第四个输入相连。

 

图1-6ADDTHETASIGNSTOTHESYSTEM保存模型为"ball.mdl",运行开环仿真可以得到系统的开环响应,下一步我们

把它封装为一个子模块。

•创建一个新的模型窗口(从Simulink的File菜单选择New或是按下Ctrl-N)。

•从”Connections”模块库中插入一个“Subsystem”模块。

•双击”Subsystem”模块打开,可以看到一个新的模块窗口,标题为”Subsystem”。

•打开前面的ball.mdl窗口,选择所有的模块和连线。

•复制所有的模块和连线到粘贴缓冲区中。

•粘贴到”Subsystem”窗口中。

•关闭”Subsystem”窗口,可以看到一个没有标题的子模块,该模块有一个标识为“theta”的输入和一个标识为“r”的输出。

•选择模块并拖动角点,改变模块的大小,使得

•改变“Subsystem”的模块名称为"BallandBeamModel"。

图1-7BUILDBALLANDBEAMMODEL

•从“Sources”模块库中插入一个“Step”模块,并将它和“BallandBeam”模块的输入相连。

•双击“Step”模块,修改“StepTime”为0,然后关闭。

•从“Sinks”模块中插入一个“Scope”模块,并将它和“BallandBeam”模块相连。

 

图1-8OPEN-LOOPSYSTEMOFBALLANDBEAM在得到阶跃信号响应前,需要先设置系统的物理参数,在MATLAB的命令行中输

入:

m=0.11;

R=0.015;

g=-9.8;L=0.4;

d=0.04;

J=2*m*R^2/5;现在可以开始仿真,点击“Simulation”菜单的“Start”开始仿真,运

行完成后,双击“Scope”打开运行结果。

图1-9RESPONSEOFOPEN-LOOPSYSTEM

从上图中可以看出,开环系统是一个不稳定的系统,小球将滚动到横杆的一端,这样,需要对小球的位置添加一些控制方法,在本手册中,我们将添加一些控制器。

在MATLAB中,这个模型可以转化为相应的状态空间模型或是传递函数模型。

通过使用“In”和“Out”模块以及MATLAB函数linmod。

为了转化一个模型,需要一个含有“In”和“Out”模块作为输入输出的模型文件,就是前面我们已经完成了的Ball.mdl,在这个模型中,一个输入为theta(齿轮的转角),一个输出为r(小球的位置)。

在MATLAB命令行,键入:

[A,B,C,D]=linmod('ball')

[num,den]=ss2tf(A,B,C,D)

step(num,den);

可以得到如下的开环响应:

图1-10系统开环响应

 

1.3电机模型

伺服系统的闭环结构图如下:

 

图1-11闭环系统结构图设皮带轮的减速比为n,因为La很小,因此简化可以得到:

 

上式可以简化如下:

 

其中,传递函数包含一个积分项1/s,具有积分的特性,通常Ra、J0和Tm都很小,伺服

电机可以看作为一个积分器。

♦球杆系统采用电位计检测小球的位置,电位计安装在横杆上,小球位置对应的电压信号输送给IPM100智能驱动的AD转换器。

图1-12小球的位置信号采集原理

 

1.4控制结构球杆系统的闭环控制系统结构图如下:

 

图1-13系统控制结构直流马达通过一个减速皮带轮带动横杆运动,IPM100智能驱动器内部包一个PID

控制算法,用于控制电机的位置,PID控制器的参数已经调整,保证电机具有较快的响应并没有超调。

系统通过以下步骤来实现控制:

i.通过RS232下载控制程序到智能伺服驱动器的板载内部寄存器中。

ii.电机编码器的信号和小球的位置信号每隔一定时间反馈给系统,(伺服时间可设置,默认为5ms)

iii.板载的DSP对下载的程序进行解码,然后计算根据反馈的位置信息和控制算法计算控制量。

iv.计算得到的控制量被放大并通过IPM的电源驱动模块作用给电机。

v.这样,通过控制电机的位置,使得小球在设定的位置保持平衡。

控制系统的流程图如图1-14所示:

图1-14控制程序流程图

 

二、实验

2.1数据采集和处理

我们将通过IPMMotionStudio和MATLAB采集小球的位置信号,以及对其进行数字滤波器的设计。

小球的位置通过电位计的输出电压来检测,它和IPM100的AD转换通道AD5相连,AD5(16位)的范围为0-65535,对应的电压为0-5V,相应的小球位置为0-400mm。

通过IPMMotionStudio采集数据

IPMMotionStudio是一个专业的运动控制开发平台,适合于IPM100运动控制器,IPMMotionStudio的简单使用请参见附录A,更多的详细资料请参考P091.069.UM.1001.PDF.

根据附录A的描述,可以得到反馈的电压信号,为了得到小球的实际位置,可以参考以下的步骤:

i.声明一个实型的用户变量例如:

UserVarii.赋值:

UserVar(L)=AD5

iii.UserVar*400转化UserVar为小球的实际位置。

运行程序,观察采集得到的数据,更多的滤波器设计请参考“ApplicationData

CollectionAndFilterDesign”。

 

图2-1IPMMOTIONSTUDIO界面MATLABSimuink环境下的数据采集

在实验前,请设置MATLAB路径为球杆系统文件所在的路径,例如:

“C:

\MATLAB6p5\toolbox\googoltech\ball&beam”

图2-2MATLAB路径

MATLAB的数据采集和处理工具箱提供了强大的数据采集功能,可以很方便的进行数据采集和处理的工作。

请参考以下步骤:

i.在Simulink中打开”GoogolEducationalProducts”工具箱,打开“Ball&Beam\ControlDemo\Ball&BeamDataCollectionAndFilterDesign”演示程序:

图2-3MATLAB示例图2-3中各部分的意义如下:

“FeedbackVoltage”模块用于采集IPM100控制器的AD5通道的数值,“Real

Position”模块用于转化AD5通道的数值为小球的实际位置(0-400mm),“Noise

Filter1”为根据需要而设计的滤波器,点击“Scope”可以观测到滤波前后的差异,可以作为一个在MATLABSimulink环境下的滤波器的设计与实时控制的实验。

ii.运行控制程序,使小球在横杆上滚动,可以得到如下的实验结果:

图4-4EXPERIMENTRESULT

2.2球杆系统的开环模型

球杆系统是一个典型的单输入单输出系统,其传递函数可以近似为一个两阶的积分器:

图2-5开环系统其中:

 

为开环传递函数的拉普拉斯变换。

X(s)和θ(s)分别为系统输出(小球的位置)和输入(齿轮的角度)的拉普拉斯变换。

开环系统的阶跃响应如图2-6所示,可以看出,系统不稳定,需要对其添加控制器。

图2-6球杆系统的开环响应

 

假设控制的指标要求如下:

♦调整时间小于1秒(2%误差)

♦超调量小于10%

下面将介绍几种适合于此类问题的控制器设计方法:

PID控制

根轨迹法频率响应法

虽然IPM100是一个数字的(离散)智能控制器,为不失一般性,我们还是采用连续的传递函数,相同的设计方法可以很容易的转化到离散系统中。

在MATLABSimulink环境的下实例仿真,可以形象地理解系统的特性。

2.3球杆系统的PID控制在这个实验中,我们将采用PID控制方法设计数字控制器。

PID控制器的传递函

数为:

其中,K,K

和K为PID控制器的比例,积分和微分参数。

PID

2.3.1P控制

首先,我们将分析在添加P控制器后,系统的闭环响应,然后,微分和积分控制器将在需要时加。

理论含有控制器、球杆系统结构和小球位置反馈的系统框图如下所示:

图2-7闭环比例控制结构图其中,Xd(s)为小球目标位置的拉普拉斯变换,

P控制器为:

 

闭环系统的传递函数为:

GP(s)=KP

可以比较明显的看出,这是一个二阶系统。

仿真

假设比例增益K=3,闭环系统的传递函数可以通过以下的MATLAB命令进行仿真。

P

m=0.11;

R=0.015;

g=-9.8;L=0.4;

d=0.04;

J=2*m*R^2/5;

K=(m*g*d)/(L*(J/R^2+m));%simplifiesinputnum=[-K];

den=[100];

plant=tf(num,den);

kp=3;

sys_cl=feedback(kp*plant,1);

step(0.2*sys_cl)在MATLAB环境下运行文件。

阶跃信号的响应如下图所示:

 

图2-8P控制下的响应

可以看出,添加P控制器后,系统并不能稳定。

改变Kp的值后,系统还是不稳定的,可以看出,对于一个惯性系统,在P控制器作用下,系统会保持一个等幅振荡。

实验

i.按照第二章描述的步骤,在MATLABSimulink环境下运行演示程序。

图2-9PID控制演示界面

ii.将控制器设置为P控制器。

图2-10切换控制器

iii.设置目标位置为200mm

iv.用手指将小球拨动到100mm的地方。

v.松开小球,系统将对小球的位置进行平衡。

vi.改变并观察其响应,实验结果如下,比较实验结果和仿真结果的区别。

(建议参数不要设置过大)

图2-11实验结果

2.3.2PD控制理论

给控制器添加一个微分控制,闭环系统的结构图如下:

图2-12PD控制器闭环结构

 

PD控制器的传递函数为:

GPD(s)=KP+KDs

为简单起见,我们假设固定比例增益K,调整K

的大小。

闭环系统的传递函数为:

X(s)=

P

 

GPD(s)W(s)

D.

 

=c(KP+KDs)

仿真

Xd(s)

1+GPD(s)W(s)

s+cKDs+cKP

将下列程序输入到MATLAB的M文件中,运行仿真观察阶跃响应的仿真结果。

m=0.11;

R=0.015;

g=-9.8;L=0.4;

d=0.04;

J=2*m*R^2/5;

K=(m*g*d)/(L*(J/R^2+m));%simplifiesinputnum=[-K];

den=[100];plant=tf(num,den);kp=6;

kd=6;

contr=tf([kdkp],1);

sys_cl=feedback(contr*plant,1);

t=0:

0.01:

5;

step(0.2*sys_cl)

仿真结果如图2-13所示:

可以看出,闭环系统是一个稳定的系统,但是超调和稳定时间都过大。

图2-13SIMULATIONRESULTOFSTEPRESPONSEUNDERPDCONTROLLER实验

i.按照第二章——开始使用的内容,在MATLABSimulink中运行演示程序。

ii.切换控制器为PD控制器,并设置如下的参数。

图2-14控制器选择以及参数

iii.设置目标位置为200mm

iv.移动小球的位置,使其大概在50mm的地方。

v.松开小球,系统将试图稳定小球的位置。

vi.改变KP和KD,观察其响应。

在PD控制器的作用下,系统可以很快的平衡,但是稳态误差比较大,分析小球

的位置改变和齿轮转动角度的变化之间的关系,对比实验结果和仿真结果的区别。

图2-15PD控制器控制结果

2.3.3PID控制分析理论

下一步的实验将研究PID控制器的特性,添加PID控制器后,闭环系统的结构图如下:

图2-16PID控制器闭环结构图

PID控制器的传递函数为:

 

GPID

2

(s)=KDs

+KPs+KI

s

 

K和K

DI

对应于积分和微分控制,K

P

为比例增益。

闭环系统的传递函数如下所示:

X(s)=

GPID(s)W(s)

c(KDs

3

+KPs+KI)

2

Xd(s)

仿真

1+GPID(s)W(s)

s+cKDs

+cKPs+cKI

在MATLAB仿真程序中,设置控制参数:

KP=10,KI=1,KD=10

kp3=10;%PIDControllerkd3=10;

Ki=1;

contrPID=tf([kd3kp3Ki],[10]);sys_cl_PID=feedback(contrPID*ball,1);t=0:

0.01:

10;

SUBPLOT(3,1,3)

step(0.2*sys_cl_PID,t)

title('StepResponseofPIDController')从仿真结果可以看出,增大KD可以减少超调量,设置KD=20,系统的阶跃信号响

应如图2-17所示。

可以看出,超调已经满足要求,但是调整时间还需要减少,为减少调整时间,我们可以稍增大KP。

图217PID控制器下的仿真结果

可以增大微分控制KD以减少因增大KP引起的超调,在对参数进行多次调整,并观察仿真结果,可以得到如图2-8所示的阶跃响应,KP=15,KD=40。

系统的参数可以基本认为是正确的。

图2-28调整参数后的PID控制器仿真结果

 

实验

i.按照前面的实验步骤,参考前面的示例进行球杆系统的实验,选择PID控制器为:

KP=10,KI=1,KD=10,实际的控制效果如下:

 

图2-39PID控制实验结果1

ii.改变控制器参数,设KP=15,KI=0.5,KD=10,结果如下。

图2-20PID控制实验结果2

可以看出,明显的减少了系统的稳态误差,基本上满足了设计要求,对于这个特定的控制问题,不需要积分控制就可以稳定系统,但是,对于一个控制系统,往往会有很多的控制器设计方法,可以尝试不同的控制参数,直到得到满意的控制效果。

2.4根轨迹控制根轨迹的主要思想就是通过分析系统的开环零极点位置,来分析闭环系统的特

性,通过增加极点或零点的方法(校正器),根轨迹以及闭环系统的响应都将发生

改变。

添加控制器后,一个典型的闭环系统如下:

 

图2-21典型的闭环系统设计要求如下:

调整时间少于1s

超调少于10%

在MATLAB中建立一个新的M文件,以便仿真和绘制系统的根轨迹图。

m=0.11;

R=0.015;

g=-9.8;L=0.4;

d=0.04;

J=2*m*R^2/5

K=(m*g*d)/(L*(J/R^2+m));%simplifiesinputnum=[-K];

den=[100];plant=tf(num,den);rlocus(plant)

在MATLABSimulink环境下运行M文件,可以看出,系统具有两个极点,其根轨迹从原点开始沿虚轴指向无穷。

图2-22系统根轨迹图

球杆系统的根轨迹校正可以转化为如下的问题:

对于传递函数为:

 

的系统,设计控制器,使得校正后系统的要求如下:

调整时间;ts=1s(2%)

最大超调量Mp≤10%

根轨迹设计步骤如下:

1)确定闭环期望极点的位置,由最大超调量

 

可以得到:

ζ=0.591155,近似取ζ=0.6。

由ζ=Cos(θ)可以得到:

θ=0.938306(弧度)其中θ为位于第二象限的极点和o点的连线与实轴负方向的夹角。

图2-23性能指标与根轨迹关系图又由:

可以得到:

ωn=,于是可以得到期望的闭环极点为:

6.76641(−Cosθ±jSinθ)

2)未校正系统的根轨迹在实轴和虚轴上,不通过闭环期望极点,因此需要对系统进行超前校正,设控制器为:

 

3)计算超前校正装置应提供的相角,已知期望的闭环主导极点和系统原来的极点的相角和为:

G(sd)=2(−π+θ)=−4.40657

因此校正装置提供的相角为:

φ=-π-G(sd)=-π-2(−π+θ)=π-2θ=1.26489

4)设计超前校正装置,已知:

θ=0.938306对于最大的a值的γ角度可由下式计算得到:

 

图2-24球杆系统根轨迹计算图按最佳确定法作图规则,在上图中画出相应的直线,求出超前校正装置的零点和极

点,分别为:

 

校正后系统的开环传递函数为:

5)由幅值条件,并设反馈为单位反馈,所以有;K=142.737

6)于是我们得到了系统的控制器:

K(s)=142.737(s+3.10057)

s+14.7664

7)上述过程手动计算比较复杂,可以采用编程程序自动计算得到:

在Mathematica中编写如下所示的程序,计算以上步骤:

计算文件请参见光盘内“…\ModelFile”中的“GBBRLocusCompute.nb”文件。

图2-25

在MATLABSimulink中打开仿真的M文件,双击如下图的“RootLocusMFile“:

图2-26

 

打开如下的M文件界面:

 

图2-27

点击运行程序,若出现如下的界面:

图2-28

点击“OK“就可。

注意,在运行仿真后,将MATLAB的路径改为如下的”CurrentDirectory

”路径,以便实时控制程序可以顺利运行。

图2-29运行结果如下:

图2-30

也可以点击“RootLocusSimu“打开仿真界面:

 

图2-31点击““运行,得到仿真结果:

实验

图2-32

 

i.在MATLABSimulink的GoogolEducationalProducts工具箱中,点击“RootLocusDemo“打开根轨迹控制程序:

图2-33根轨迹控制界面

 

ii.把控制器的参数设置为计算得到的值,点击

运行程序,得到如下的控制结果。

图2-34EXPERIMENTRUSULTOFROOTLOCUSCONTROLLER

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2