球杆系统实验指导书 (1)_第1页
球杆系统实验指导书 (1)_第2页
球杆系统实验指导书 (1)_第3页
球杆系统实验指导书 (1)_第4页
球杆系统实验指导书 (1)_第5页
已阅读5页,还剩49页未读 继续免费阅读

下载本文档

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

文档简介

1、球杆系统GBB1004实验指导书V2.0一、系统建模1.球杆系统的机械模型:球杆系统机械结构原理图如图1-1:图1-1 球杆系统机械结构 连线(连杆和同步带轮的连接点与齿轮中心的连线)和水平线的夹角为(的角度存在一定的限制,在最小和最大的范围之间),它作为连杆的输入,横杆的 倾斜角和之间的有如下的数学关系:角度和电机轴之间存在一个减速比n=4的同步带,控制器设计的任务是通过调 整齿轮的角度,使得小球在某一位置平衡。小球在横杆上滚动的加速度如下式:其中 : 小球在横杆上的位置r为输出 小球的质量m = 0.11公斤;小球的半径R = 0.015米; 重力加速度g = -9.8米/秒2; 横杆长L

2、 = 0.4米;连杆和齿轮的连接点与齿轮中心的距离为d = 0.04米;小球的转动惯量J = 2*m*R2/5牛顿.秒2。 我们假设小球在横杆上的运动为滚动,且摩擦力可以忽略不计。因为我们期望角度在0附近,因此我们可以在0附近对其进行线性化,得到近 似的线性方程:拉氏变换得: r (s) = mgd 1 = 0.722 (s)L( J + m) ssR 21.2 在Simulink中建立球杆系统的模型我们将直接建模运动学的非线性方程,系统方程包含r, d/dt(r), alpha, and d/dt(alpha),我们将使用非线性函数模块来描述这些函数,首先,我们要描述系统 的输出r。 在Si

3、mulink中打开一个新的模型。 从线性模块库中插入一个积分模块。 在上面的积分模块右边再添加一个积分模块,并把两个模块连接起来。 在连接线上加上"d/dt(r)"的注释,在连接线的附近双击就可以添加文字。 从第二个积分模块的输出端画一条线,并标识为"r" 从Connections模块库中插入一个Out模块并和"r"信号线连接。这就是系统的 输出。 更改"Out"的标识为"r"。图1-2 积分模块现在,我们插入一个包含向量 r d/dt(r) alpha d/dt(alpha)的函数,输出 为d

4、/dt(r)。 模块库中插入一个Fcn模块,并把它的输出和第一个积分模块的输入相连。 双击Fcn模块,修改函数如下:(-1/ (J/(R2) +m)*(m*g*sin (u 3)-m*u 1*(u 4) 2) 此函数模块的输入为向量u,每个元素被指定u1,u2等,我们设定,u1=r,u2=d/d(r), u3=alpha, 4=d/dt(alpha).图1-3 MODEL FUCITION 关闭对话框,改变Fcn模块的名称为"Ball-Beam Lagrangian Model"。图1-4 ADD MODEL TO THE SYSTEM 现在,我们将构造函数的输入向量u,它

5、可以通过积分器的输出信号以及使用一个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模

6、块的输出和Mux模块的第三个输入相连,标注为"alpha". 从Linear模块库中插入一个Derivative模块,并置于alpha信号线的下面。 将Derivative模块的输入和Gain模块的输出相连。 将Derivative模块的输出和Mux模块的第四个输入相连。图1-6 ADD THETA SIGNS TO THE SYSTEM 保存模型为"ball.mdl", 运行开环仿真可以得到系统的开环响应,下一步我们把它封装为一个子模块。 创建一个新的模型窗口(从Simulink的File菜单选择New或是按下Ctrl-N)。 从”Connection

7、s”模块库中插入一个“Subsystem”模块。 双击”Subsystem”模块打开,可以看到一个新的模块窗口,标题 为”Subsystem”。 打开前面的ball.mdl窗口,选择所有的模块和连线。 复制所有的模块和连线到粘贴缓冲区中。 粘贴到”Subsystem”窗口中。 关闭”Subsystem”窗口,可以看到一个没有标题的子模块,该模块有一个标 识为“theta”的输入和一个标识为“r”的输出。 选择模块并拖动角点,改变模块的大小,使得 改变“Subsystem”的模块名称为"Ball and Beam Model"。图1-7 BUILD BALL AND BEAM

8、 MODEL 从“Sources”模块库中插入一个“Step”模块,并将它和“Ball and Beam” 模块的输入相连。 双击“Step”模块,修改“Step Time”为0,然后关闭。 从“Sinks”模块中插入一个“Scope”模块,并将它和“Ball and Beam”模 块相连。图1-8 OPEN-LOOP SYSTEM OF BALL AND BEAM 在得到阶跃信号响应前,需要先设置系统的物理参数,在MATLAB的命令行中输入:m = 0.11;R = 0.015;g = -9.8; L = 0.4;d = 0.04;J = 2*m*R2/5; 现在可以开始仿真,点击“Simu

9、lation”菜单的“Start”开始仿真,运行完成后,双击“Scope”打开运行结果。图1-9 RESPONSE OF OPEN-LOOP SYSTEM从上图中可以看出,开环系统是一个不稳定的系统,小球将滚动到横杆的 一端,这样,需要对小球的位置添加一些控制方法,在本手册中, 我们将添 加一些控制器。在MATLAB中,这个模型可以转化为相应的状态空间模型或是传递函数模 型。通过使用“In”和“Out”模块以及MATLAB函数linmod。为了转化一个模型,需要一个含有“In”和“Out”模块作为输入输出的 模型文件,就是前面我们已经完成了的Ball.mdl,在这个模型中,一个输入为 thet

10、a(齿轮的转角),一个输出为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都很小,伺服电机可以看作为一个积分器。 球杆系统采用电位计检测小球的位置,电位计安装在横杆上,小球位置对应 的电压信号输送

11、给IPM100智能驱动的AD转换器。图1-12 小球的位置信号采集原理1.4 控制结构 球杆系统的闭环控制系统结构图如下:图1-13 系统控制结构 直流马达通过一个减速皮带轮带动横杆运动,IPM100智能驱动器内部包一个PID控制算法,用于控制电机的位置,PID控制器的参数已经调整,保证电机具有较快的 响应并没有超调。系统通过以下步骤来实现控制:i. 通过RS232下载控制程序到智能伺服驱动器的板载内部寄存器中。ii. 电机编码器的信号和小球的位置信号每隔一定时间反馈给系统,(伺服时 间可设置,默认为5ms)iii. 板载的DSP对下载的程序进行解码,然后计算根据反馈的位置信息和控制 算法计算

12、控制量。iv. 计算得到的控制量被放大并通过IPM的电源驱动模块作用给电机。v. 这样,通过控制电机的位置,使得小球在设定的位置保持平衡。控制系统的流程图如图1-14所示:图1-14 控制程序流程图二、实验2.1 数据采集和处理我们将通过IPM Motion Studio和MATLAB采集小球的位置信号,以及对其进行数 字滤波器的设计。小球的位置通过电位计的输出电压来检测,它和IPM100的AD转换通道AD5相连, AD5(16位)的范围为065535,对应的电压为05V,相应的小球位置为0400mm。通过IPM Motion Studio采集数据IPM Motion Studio是一个专业的

13、运动控制开发平台,适合于IPM100运动控制器, IPM Motion Studio的简单使用请参见附录A,更多的详细资料请参考 P091.069.UM.1001.PDF.根据附录A的描述,可以得到反馈的电压信号,为了得到小球的实际位置,可以 参考以下的步骤:i. 声明一个实型的用户变量例如:UserVar ii. 赋值:UserVar(L)=AD5iii. UserVar*400 转化UserVar为小球的实际位置。 运行程序,观察采集得到的数据,更多的滤波器设计请参考“Application DataCollection And Filter Design” 。图2-1 IPM MOTIO

14、N STUDIO 界面 MATLAB Simuink环境下的数据采集在 实 验 前 , 请 设 置 MATLAB 路 径 为 球 杆 系 统 文 件 所 在 的 路 径 , 例 如 : “C:MATLAB6p5 toolbox googoltechball&beam”图2-2 MATLAB 路径MATLAB的数据采集和处理工具箱提供了强大的数据采集功能,可以很方便的进 行数据采集和处理的工作。请参考以下步骤:i. 在Simulink中打开”Googol Educational Products”工具箱,打开 “Ball&Beam Control DemoBall&Bea

15、m Data Collection And Filter Design”演示程序:图2-3 MATLAB 示例 图2-3 中各部分的意义如下:“Feedback Voltage”模块用于采集IPM100控制器的AD5通道的数值,“RealPosition ”模块用于转化AD5通道的数值为小球的实际位置(0400mm),“NoiseFilter1”为根据需要而设计的滤波器,点击“Scope”可以观测到滤波前后的差异, 可以作为一个在MATLAB Simulink环境下的滤波器的设计与实时控制的实验。ii. 运行控制程序,使小球在横杆上滚动,可以得到如下的实验结果:图4-4EXPERIMENT R

16、ESULT2.2 球杆系统的开环模型球杆系统是一个典型的单输入单输出系统,其传递函数可以近似为一个两阶的 积分器:图2-5 开环系统 其中:为开环传递函数的拉普拉斯变换。X(s) 和(s)分别为系统输出(小球的位置)和输入(齿轮的角度)的拉普拉 斯变换。 开环系统的阶跃响应如图2-6所示,可以看出,系统不稳定,需要对其添 加控制器。图2-6 球杆系统的开环响应假设控制的指标要求如下: 调整时间小于1秒(2误差) 超调量小于10下面将介绍几种适合于此类问题的控制器设计方法: PID控制根轨迹法 频率响应法虽然IPM100是一个数字的(离散)智能控制器,为不失一般性,我们还是采用连续 的传递函数,

17、相同的设计方法可以很容易的转化到离散系统中。在MATLAB Simulink环境的下实例仿真,可以形象地理解系统的特性。2.3 球杆系统的PID控制 在这个实验中,我们将采用PID控制方法设计数字控制器。PID控制器的传递函数为:其中,K , K和K 为PID控制器的比例,积分和微分参数。PID2.3.1 P控制首先, 我们将分析在添加P控制器后,系统的闭环响应,然后,微分和积分控 制器将在需要时加。理论 含有控制器、球杆系统结构和小球位置反馈的系统框图如下所示:图2-7 闭环比例控制结构图 其中,Xd(s)为小球目标位置的拉普拉斯变换,P控制器为:闭环系统的传递函数为:GP (s)=KP可以

18、比较明显的看出,这是一个二阶系统。 仿真假设比例增益K 3,闭环系统的传递函数可以通过以下的MATLAB命令进行仿真。Pm = 0.11;R = 0.015;g = -9.8; L = 0.4;d = 0.04;J = 2*m*R2/5;K = (m*g*d)/(L*(J/R2+m); %simplifies input num = -K;den = 1 0 0;plant=tf(num,den);kp = 3;sys_cl=feedback (kp*plant, 1);step(0.2*sys_cl) 在MATLAB环境下运行文件。阶跃信号的响应如下图所示:图2-8 P控制下的响应可以看出,

19、添加P控制器后,系统并不能稳定。改变Kp 的值后,系统还是不稳 定的,可以看出,对于一个惯性系统,在P控制器作用下,系统会保持一个等幅振荡。实验i. 按照第二章描述的步骤,在MATLAB Simulink环境下运行演示程序。图2-9 PID控制演示界面ii. 将控制器设置为P控制器。图2-10 切换控制器iii. 设置目标位置为200mmiv. 用手指将小球拨动到100mm的地方。v. 松开小球,系统将对小球的位置进行平衡。vi. 改变并观察其响应,实验结果如下,比较实验结果和仿真结果的区别。(建 议参数不要设置过大)图2-11 实验结果2.3.2 PD控制 理论给控制器添加一个微分控制,闭环

20、系统的结构图如下:图2-12 PD控制器闭环结构PD控制器的传递函数为:GPD (s) = K P + K D s为简单起见,我们假设固定比例增益K ,调整K的大小。闭环系统的传递函数为: X (s) =PGPD (s)W (s)D.2=c(K P + K D s)仿真 X d (s)1 + GPD (s)W (s)s + cK D s + cK P将下列程序输入到MATLAB的M文件中,运行仿真观察阶跃响应的仿真结果。m = 0.11;R = 0.015;g = -9.8; L = 0.4;d = 0.04;J = 2*m*R2/5;K = (m*g*d)/(L*(J/R2+m); %sim

21、plifies input num = -K;den = 1 0 0; plant=tf(num,den); kp = 6;kd = 6;contr=tf(kd kp,1);sys_cl=feedback(contr*plant,1);t=0:0.01:5;step(0.2*sys_cl)仿真结果如图2-13所示: 可以看出,闭环系统是一个稳定的系统,但是超调和稳定时间都过大。图2-13 SIMULATION RESULT OF STEP RESPONSE UNDER PD CONTROLLER 实验i. 按照第二章开始使用的内容,在MATLAB Simulink中运行演示程序。ii. 切换控

22、制器为PD控制器,并设置如下的参数。图2-14 控制器选择以及参数iii. 设置目标位置为200mmiv. 移动小球的位置,使其大概在50mm的地方。v. 松开小球,系统将试图稳定小球的位置。 vi. 改变KP和KD ,观察其响应。 在PD控制器的作用下,系统可以很快的平衡,但是稳态误差比较大,分析小球的位置改变和齿轮转动角度的变化之间的关系,对比实验结果和仿真结果的区别。图2-15 PD控制器控制结果2.3.3 PID控制分析 理论 下一步的实验将研究PID控制器的特性,添加PID控制器后,闭环系统的结构图 如下:图2-16 PID控制器闭环结构图PID控制器的传递函数为:GPID2(s)

23、= K D s+ K P s + K IsK 和 KDI对应于积分和微分控制,KP为比例增益。闭环系统的传递函数如下所示: X (s) =GPID (s)W (s)=2c(K D s3+ K P s + K I )2X d (s)仿真1 + GPID (s)W (s)s + cK D s+ cK P s + cK I在MATLAB 仿真程序中,设置控制参数: KP=10, KI=1, KD =10kp3 = 10; % PID Controller kd3 = 10;Ki=1;contrPID=tf(kd3 kp3 Ki,1 0); sys_cl_PID=feedback(contrPID*b

24、all,1); t=0:0.01:10;SUBPLOT(3,1,3)step(0.2*sys_cl_PID,t)title('Step Response of PID Controller') 从仿真结果可以看出,增大KD可以减少超调量,设置KD=20 ,系统的阶跃信号响应如图2-17所示。可以看出,超调已经满足要求,但是调整时间还需要减少,为减少调整时间, 我们可以稍增大KP。图217 PID控制器下的仿真结果可以增大微分控制KD以减少因增大KP引起的超调,在对参数进行多次调整,并观 察仿真结果,可以得到如图2-8所示的阶跃响应,KP= 15 ,KD= 4 0。系统的参数可

25、以基本认为是正确的。图2-28 调整参数后的PID控制器仿真结果实验 i. 按照前面的实验步骤,参考前面的示例进行球杆系统的实验,选择PID 控制器为: KP =10, KI =1, KD =10,实际的控制效果如下:图2-39 PID控制实验结果1ii. 改变控制器参数,设KP =15, KI =0.5, KD =10,结果如下。图2-20 PID控制实验结果2可以看出,明显的减少了系统的稳态误差,基本上满足了设计要求,对于这个 特定的控制问题,不需要积分控制就可以稳定系统,但是,对于一个控制系统,往 往会有很多的控制器设计方法,可以尝试不同的控制参数,直到得到满意的控制效 果。2.4 根轨

26、迹控制 根轨迹的主要思想就是通过分析系统的开环零极点位置,来分析闭环系统的特性,通过增加极点或零点的方法(校正器),根轨迹以及闭环系统的响应都将发生改变。添加控制器后,一个典型的闭环系统如下:图2-21典型的闭环系统 设计要求如下:调整时间少于1s超调少于10在MATLAB中建立一个新的M文件,以便仿真和绘制系统的根轨迹图。m = 0.11;R = 0.015;g = -9.8; L = 0.4;d = 0.04;J = 2*m*R2/5K = (m*g*d)/(L*(J/R2+m); %simplifies input num = -K;den = 1 0 0; plant=tf(num,d

27、en); rlocus(plant)在MATLAB Simulink环境下运行M文件,可以看出,系统具有两个极点,其根轨 迹从原点开始沿虚轴指向无穷。图2-22 系统根轨迹图球杆系统的根轨迹校正可以转化为如下的问题: 对于传递函数为:的系统,设计控制器,使得校正后系统的要求如下: 调整时间; ts=1s(2 %)最大超调量Mp10 %根轨迹设计步骤如下:1) 确定闭环期望极点的位置,由最大超调量可以得到:=0.591155,近似取=0. 6。 由=Cos()可以得到: =0.938306 (弧度) 其中为位于第二象限的极点和o点的连线与实轴负方向的夹角。图2-23 性能指标与根轨迹关系图 又由

28、:可以得到:n =,于是可以得到期望的闭环极点为:6.76641 (Cos±jSin)2) 未校正系统的根轨迹在实轴和虚轴上,不通过闭环期望极点,因此需要对系 统进行超前校正,设控制器为:3) 计算超前校正装置应提供的相角,已知期望的闭环主导极点和系统原来的极 点的相角和为:G(sd ) = 2( + ) = 4.40657因此校正装置提供的相角为: = - - G(sd ) = - - 2( + ) = - 2 = 1.264894) 设计超前校正装置,已知:=0. 938306 对于最大的a值的角度可由下式计算得到:图2-24 球杆系统根轨迹计算图 按最佳确定法作图规则,在上图中

29、画出相应的直线,求出超前校正装置的零点和极点,分别为:校正后系统的开环传递函数为:5) 由幅值条件,并设反馈为单位反馈,所以有; K =142.7376) 于是我们得到了系统的控制器:K (s) = 142.737(s + 3.10057)s + 14.76647) 上述过程手动计算比较复杂,可以采用编程程序自动计算得到:在Mathematica中编写如下所示的程序,计算以上步骤: 计算文件请参见光盘内“ModelFile”中的“GBBRLocusCompute.nb”文件。图2-25在MATLAB Simulink中打开仿真的M文件,双击如下图的“Root Locus M File“:图2-

30、26打开如下的M文件界面:图2-27点击运行程序,若出现如下的界面:图2-28点击“OK“就可。注意,在运行仿真后,将MATLAB的路径改为如下的” Current Directory”路径,以便实时控制程序可以顺利运行。图2-29 运行结果如下:图2-30也可以点击“Root Locus Simu “打开仿真界面:图2-31 点击“运行,得到仿真结果:实验 图2-32i. 在MATLAB Simulink的Googol Educational Products 工具箱中,点击 “Root Locus Demo“打开根轨迹控制程序:图2-33 根轨迹控制界面ii. 把控制器的参数设置为计算得到

31、的值,点击运行程序,得到如下的 控制结果。图2-34 EXPERIMENT RUSULT OF ROOT LOCUS CONTROLLER (I)iii. 改变控制器参数, 设置:zo = 0.5;po = 4;selected_point = -3.7270 + 2.1250ik =14.5801poles =-1.6842 + 2.2895i, -1.6842 - 2.2895i, -0.6317 得到如下的响应:图2-35 根轨迹控制实验结果 (II) 分析实际控制结果和仿真结果的区别,并分析区别产生的原因。2.5 频率响应法频率响应法的主要思想是根据开环传递函数的Bode图,给系统添加

32、一个控制器, 改变开环系统的Bode图,从而改变闭环系统的响应,使其达到期望的性能。首先,我们绘制开环传递函数所示的W(s)的Bode图,创建一个如下的M文件并在MATLAB的命令窗口中运行。m = 0.11;R = 0.015;g = -9.8; L = 0.4;d = 0.04;J = 2*m*R2/5;K = (m*g*d)/(L*(J/R2+m); %simplifies input num = -K;den = 1 0 0;plant=tf(num,den);bode(plant)运行结果如图2-36所示:图2-36 开环系统的BODE图从上图可以看出,系统的相位裕量为0,从相位裕量

33、的定义可以得到,开环系统 需要一定的相位裕量,才能使闭环系统稳定,因此,开环系统是不稳定的,需要增 加系统的相位裕量,我们可以给系统添加一个超前校正器。我们可以给系统添加如下的超前控制器,改善系统的响应。校正器将给系统在1/aT 至 1/T的转角频率范围内增加相位裕量,设控制系统需 要的超调量少于5%,对应于zeta0.7,zeta*100就是满足系统超调的最小相位裕量,所以系统最终需要的相位裕量为大于70度。 下面的式子用于计算T 和a的值。i. 确定需要的相位裕量(如前所述,不小于70度)。ii. 确定增加的相位的中间频率,如理想的频率带宽为1.9rad/s,选择其中心 频率为1.0rad

34、/s。iii. 通过以下的式子计算常数a:其中 为期望的相位裕量,如70度,a=0.0311 iv. 通过下式计算T 和 aT其中 w为中心频率。w=1, aT=0,176 and T=5.67.最后得到的超前校正器为:在MATLAB中输入如下的程序。phi=70*pi/180;a=(1-sin(phi)/(1+sin(phi);w=1; T=1/(w*sqrt(a);kk= 1;numlead = k*T 1;denlead = a*T 1;contr = tf(numlead,denlead);bode(contr*ball)可以得到如图2-37所示的Bode图,我们可以看出,系统的相位裕

35、量为70度。图2-37 添加超前校正器后的系统BODE图 为得到系统的阶跃信号响应,可以添加如下的代码:sys_cl = feedback(contr*ball,1);t = 0:0.01:5;step(0.25*sys_cl,t)结果如图2-38所示:图2-38添加超前校正器后的系统闭环响应虽然系统已经稳定并且超调也不是很大,但是稳定时间有点过长,增大系统的 增益,使系统的响应加快。设 kk=4 系统响应如下:图2-39 修改控制参数后的开环BODE图图2-40 修改控制参数后的闭环阶跃响应可以看出,系统的响应加快,但是,超调也增加了很多,加大控制器的增益会 增加系统的超调,设置不同的参数,

36、并观察结果变化,如设置相位裕量为80度,中 心频率为1.9rad/s,增益kk=2,可以得到如下的Bode图以及响应曲线:图2-41 修改控制参数后的开环BODE图2图2-42 修改控制参数后的闭环阶跃响应2实验i. 打开 MATLAB Simulink 环 境下的 “Googol Educational ProductsToolbox”的球杆系统频率响应控制程序:图2-43MATLAB SIMULINK 中频率响应控制界面ii. 设置控制器的参数为刚才的仿真结果,运行程序,得到如下的结果:图2-44 频率响应控制结果三、常见问题处理现象原因解决办法“Board NOT Found” 显示在I

37、PM Motion Studio 的状态栏或是 MATLAB中找不到 控制卡。IPM100 没有和计算机 通讯上。1. 请确定电源已经打开,检查通讯电缆,重新进入程序或是利用IPM Motion Studio 菜单中的“Tools | Refresh SerialSettings” 重新建立通讯,如果问题依然存在,请参考下面 的内容。.2. 从 Tools 菜单选择 Options. 打开 Options 对话框. 选择 Serial Port. 确认Serial Type中选择的是 “RS232” ,且 COM端口和对应的计算机串口相连. Axis ID 设置为 255, 点击 “OK按钮.

38、 点击 “Tools | Refresh Serial Settings” 重 新 建 立 通 讯 . 如 果 通 讯 正 常 , 设 备 ID ( 如 P069.001.C01.S000A) 将再状态栏中显示. 如果问题还存 在,请按步骤3进行。3. 打开 “Tools | Options | Serial Port” 选择小一点的 BaudRate (如 9600). 点击 “OK” 按钮. 点击 “Tools | Refresh Serial Settings” 重新 建 立通讯 , 更 多说明 请参 考 “IPM Motion Studio 用户手册” 。和计算机之间出现间断性的通讯错

39、 误。因为一些干扰或是过载 等造成等。1. 如第三步中所描述的,减小通讯波特率。.2. 增加“Options | Serial Port” 对话框中的 “Read Interval Timeout”, “Timeout multiplier” 和 “Timeout Constant” 参数,建议用户最好不要更改默认的值。电机运动出现异常。电机损坏或是和驱动器 之间连接不 正常。检验电机是否完好,并按照电路图检查电机和驱动之间的连接是否正确。小球不能平衡在指定的位置。位置误差过大或是传感 器噪声过 大。1. 请按照第二章的描述,在进行球杆系统控制前,将齿轮放到正确的初始位置,重新开始实验。2.

40、改变PID参数,参数可能过大或是过小。3. 小球和导轨之间的存在灰尘等杂质,影响传感器的性能。用干净的绒布擦拭干净即可。APPENDIXAIPMMOTION STUDIO控制实验IPM Motion Studio 环境中安装步骤请按以下步骤进行球杆系统的安装: Step 1: 安装控制程序Step 2: 建立通讯Step 3: 运行程序Step 4: 分析实验结果Step 1: 安装控制程序软件的安装步骤:.i. 将随机附带的CD插入CDROM中。.ii.从 “Control SoftwareIPM_motion_studio” 目 录 中 , 运 行 IPM_MotionStudio_V2_

41、1_1_8.exe安装IPM Motion Studio 软件. 如果 您使用的是 Windows NT/2K/XP 请确认您拥有管理员的使用权限,安 装成功后,将生成IPM Motion Studio程序组件。iii. 复制光盘中的 “ Control SoftwareBallBeam” 中全部文件到 “IPM Motion StudioProjects” 或是硬盘的其它目录。Step 2: 建立通讯图A-1 IPM MOTION STUDIO 主窗口i. 打开计算机电源。ii. 然后打开球杆系统的电源。iii. 从 “Start | Programs | IPM Motion Studio

42、 | IPM Motion Studio” 菜单 中运行IPM Motion Studio (见 Figure A-1)iv. 如果系统正常运行,控制器将会找到并在状态栏的窗口中显示, 如果显 示的信息是 “Board NOT found” . 参考常见问题处理.。请注意和计算 机连接的串口号(如COM1或COM2)是否设置正确。v. 如果找到智能伺服驱动器,则设备 ID (如 P069.001.C01.S000A) 将会显 示在状态栏中,如 Figure A-1所示. 说明系统通讯正常,可以运行程序。Step 3: 运行控制程序IPM Motion Studio中的控制程序都为project

43、的形式. 每个工程都和相应的伺服 驱动以及电机对应 (直流有刷电机或是无刷电机). 控制程序 “BallBeam” 中的应用程序已经对一些参数进行了设置和配,在用户对系统参数不是很清楚的情况下,不 要更改系统的一些配置参数,以免产生意外的控制效果。但是用户可以在一定的范 围内自由的调整控制器的参数。图A-2 打开工程文件i. 打开工程文件点击主窗口中的 “Open Project” 按钮. “Open an Existing Project”窗口将显示( 见Figure A-2). 窗口中包含了“ IPM MotionStudioProjects” 目录下的 IPM Motion Studio

44、 应用程序 . 双击 “BallBeam” 打开控制程序. 如果您将控制程序复制到硬盘的其它目 录,请点击 “Browse” 按钮查找相关的工程文件。图A-3 打开的工程界面ii. 熟悉工程结构Studying the project diagram structure在窗口的主菜单中选择“View | Project”,打开如Figure A-3所示的界 面,它包含了控制系统的一些基本参数,包括、驱动器以及传感器等, 作为一个相对独立的模块,点击其图标可以打开相应的参数设置界面。 如果用户需要建立一个新的工程,则需要根据实际系统的参数,对工程中的参数进行修改。图A-4 IPM MOTION

45、STUDIO 中的工程窗口在“BallBeamProject”演示程序中,所有的参数都已经根据球杆系统设 置好,您可以点击打开并观察其参数。如上所述,请尽量不要更改参 数。例如,点击“Motion”模块,将打开一个如图 A-5 所示的图形化编程界 面,展开“Variables declarations” and “Main loop” 程序,它包含了球杆 系统控制程序的TML代码,程序的详细代码在附录B中。图A-5 控制程序编写窗口点击 “OK” 按钮返回到主程序界面。iii. 机械部分初始状态 转动皮带轮,使得皮带轮的中心和支撑杆的中心线重合,即保持横杆右端处理最低的位置,如图A-6:图A-

46、6 运行前初始位置iv. 开始运行程序 点击工具条上的按钮运行程序。系统将把小球的 位置平衡在目标位置上。您可以给系统施加一定的干扰,如用手指沿 着导杆拨动小球,松开手指后,控制系统将很快的恢复到平衡位置, 并将小球稳定在平衡位置。可以点击工具条上的或按钮, 或是在紧急情况下直接关闭系统 的电源,来停止系统的控制。Step 4: 实验结果分析a)球杆位置反馈测试:图 A-7点击 Drive 图标,照如图 A-8 调出球杆位置反馈界面,拨动小球,观察电压值和位置量是否跟 随变化,如果变化,说明反馈信号正常;如果不正常,则需检查相应的硬件连接。b)在运行程序时, 选择 “View | Contro

47、l Panel | Ball&Beam” 打开如图A-9所示的界面。.图A-9 打开球杆系统图形化显示界面如图A-10所示,图形化界面分为两个部分,左边的部分主要用于显示小球位置,电 机位置以及位置误差等,右边部分主要用于设置各种参数,如小球的目标位置,PID 控制参数等。图A-10 图形化控制界面将鼠标移动到界面内,点击鼠标右键,选择“Start” 开始运行。图A-11 开始数据采集在此图形化显示界面中,小球的实际位置和参考位置,位置误差,小球的速度以及 点击运动的位置和速度都可以很形象的显示。图A-12 控制实验结果点击 “Break” 暂时停止控制, 点击“Continue” 继

48、续控制 ,点击“Axis off” 停止马 达。.在控制界面的右边部分改变小球的参考位置,观察系统的响应。 完成实验后,点击 “Axis off” 按钮关闭电机,并退出系统。APPENDIX B程序代码Part one: variables declarationint Kp; /proportional gain of PID controller int Ki; /integral gain of PID controllerint Kd; /differential gain of PID controller fixed BallRefPos; /target positionfixe

49、d FeedbackVol; /feedback voltage fixed BallActPos; /actual positionfixed BallPosErrNew; /current position error fixed BallPosErrOld; /last position error fixed BallPosErrDot; /velocity of the ballfixed PIDMotorPos; /position of the motor caused by proportion fixed PIDErrDot; /position of the motor c

50、aused by differentalfixed BallPosErrIntegral; /target position of the motor caused by integral long MulResult; /multiplication result(used in DSP)int MulTran; /multiplication transfer variablefixed PD_PID_Select; /PD or PID controllers selection int MotorTPos; /target position of the motorBallRefPos

51、 = 200; /Set 32 bit variable BallRefPos with value/32 bit variable200Kp = 16; /Set variable Kp with value/16 bit variable/label 4Ki = 20; /Set variable Ki with value/16 bit variable/label 8Kd = 16; /Set variable Kd with value/16 bit variable/label 4Part two: The main control looploop:FeedbackVol(H)

52、= 0;/Set HIGH part of variable FeedbackVol with value/16 bit variable 0FeedbackVol(L) = AD5;/Set LOW part of variable FeedbackVol with value/16 bit variable AD5FeedBackVol*400 << 0;/Set P register with the product of variable FeedBackVol with value/variable 400 LEFT shifted with 0 bits.MulResult = PROD(L);/Set 32

温馨提示

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

评论

0/150

提交评论