控制系统设计9195914.docx

上传人:b****5 文档编号:3348019 上传时间:2022-11-22 格式:DOCX 页数:39 大小:468.17KB
下载 相关 举报
控制系统设计9195914.docx_第1页
第1页 / 共39页
控制系统设计9195914.docx_第2页
第2页 / 共39页
控制系统设计9195914.docx_第3页
第3页 / 共39页
控制系统设计9195914.docx_第4页
第4页 / 共39页
控制系统设计9195914.docx_第5页
第5页 / 共39页
点击查看更多>>
下载资源
资源描述

控制系统设计9195914.docx

《控制系统设计9195914.docx》由会员分享,可在线阅读,更多相关《控制系统设计9195914.docx(39页珍藏版)》请在冰豆网上搜索。

控制系统设计9195914.docx

控制系统设计9195914

(此文档为word格式,下载后您可任意编辑修改!

第1章概述

控制系统设计是控制科学与工程系学生的一门必修专业基础课,课程中的一些概念相对比较抽象,如系统的稳定性、可控性、收敛速度和抗干扰能力等。

倒立摆系统是一个典型的非线性、强耦合、多变量和不稳定系统,作为控制系统的被控对象,它是一个理想的教学实验设备,许多抽象的控制概念都可以通过倒立摆直观地表现出来。

本课程设计的目的是让学生以一阶倒立摆为被控对象,了解用古典控制理论设计控制器(如PID控制器)的设计方法和用现代控制理论设计控制器(最优控制)的设计方法,掌握MATLAB仿真软件的使用方法及控制系统的调试方法,加深学生对所学课程的理解,培养学生理论联系实际的能力。

本课程设计的被控对象采用固高公司生产的GIP-100-L型一阶倒立摆系统,课程设计包括三方面的内容:

(1)建立一阶倒立摆的线性化数学模型;

(2)倒立摆系统的PID控制器设计、MATLAB仿真及实物调试;

(3)倒立摆系统的最优控制器设计、MATLAB仿真及实物调试。

1.1实验设备简介

一阶倒立摆系统的结构示意图如图1所示。

图1一阶倒立摆结构示意图

系统组成框图如图2所示。

图2一阶倒立摆系统组成框图

系统是由计算机、运动控制卡、伺服机构、倒立摆本体和光电码盘几大部分组成的闭环系统。

光电码盘1将小车的位移、速度信号反馈给伺服驱动器和运动控制卡,摆杆的角度、角速度信号由光电码盘2反馈给运动控制卡。

计算机从运动控制卡中读取实时数据,确定控制决策(小车运动方向、移动速度、加速度等),并由运动控制卡来实现该控制决策,产生相应的控制量,使电机转动,通过皮带,带动小车运动,保持摆杆平衡。

1.2设计内容

1.建立一阶倒立摆数学模型

在《自动控制理论》课程中,有一章专门讲述控制系统的数学模型的建立方法,并将非线性数学模型在一定条件下化简成线性数学模型,在此以一阶倒立摆为例,建立其数学模型,并在摆角附近将其非线性数学模型线性化,学生通过实际数学模型的推导,加深对所学内容的理解。

2.控制系统的MATLAB仿真

《自动控制理论》(古典部分)中所讲的控制器的设计方法很多,如根轨迹设计法、频率特性设计法和PID设计法,在实际系统中PID控制器应用最多,在本课程设计中选择PID控制器,PID控制器的特点是只能对单变量(此处为摆杆角度)进行控制。

在《现代控制理论》中,普遍采用的控制方法是最优控制(LQR控制),最优控制可对多变量进行控制(如同时控制摆杆角度和小车位置),由于《现代控制理论》课时较少,对最优控制的讲解也很少,在这里通过对倒立摆的控制,让学生理解单变量控制和多变量控制的差别。

本部分课程设计的目的是学习PID控制器和LQR控制器的设计方法,了解控制器参数对系统性能指标的影响,学会根据控制指标要求和实际响应调整控制器的参数,加深学生对所学内容的理解。

系统的MATLAB控制软件已编好,学生在进行控制系统设计时,只需将控制器参数输入,就可观察到控制系统的输出,仿真的目的一方面是让学生得到满足系统性能指标的控制器参数,另一方面是让学生将理论分析与仿真结果进行对比,更直观地理解各参数对控制性能的影响。

3.倒立摆控制系统实物调试

倒立摆系统实验装置如图3所示。

具体实验步骤如下:

(1)将小车推到导轨正中间位置,并且使摆杆处于自由下垂的静止状态。

(2)给计算机和电控箱通电。

(3)打开计算机,在DOS操作系统下启动程序,并使系统处于准备状态。

(4)起摆:

由于PID控制只能控制摆杆的摆角,不能控制小车的位置,若用PID控制方式起摆,可能在摆杆竖起前就已出现“撞墙”现象,因此先采用最优控制方式起摆,等摆杆立起来并稳定下来之后,选择控制器菜单中的控制方式,输入参数,观察小车和摆杆的运动。

由于PID控制器只对摆杆角度进行控制,所以在PID控制中小车可能向一个方向运动,此时需用手轻轻扶一下摆杆,以避免小车“撞墙”。

最优控制方式可同时对摆杆角度和小车位置进行控制,因此不会出现“撞墙”现象。

(5)观察控制效果:

用金属棒碰一下摆杆,观察倒立摆在干扰信号作用下的输出响应。

若不能达到指标要求,分析原因,重新设计,直到对实际系统的控制达到满意的结果。

具体实验操作见附录1。

图3倒立摆实验装置

1.3实验准备及注意事项

1.为了安全起见,在进行系统连线、拆卸与安装前,必须关闭系统所有电源。

2.使用前请仔细检查连线,确保接线正确无误。

如果码盘连线接反或断线,将会发生冲撞。

3.为了避免设备失控时造成人身伤害,操作时人员应该与设备保持安全距离,一定不要站在摆的两端。

4.如果发生异常,按下空格键,系统会提示“急停按钮被触发,无法继续控制系统,按任意键退出程序。

5.超速时,系统会自动关闭伺服电机,并出现“小车失速,系统被终止,按任意键退出程序。

1.4课程设计任务书

哈尔滨工业大学课程设计任务书

姓名:

院(系):

专业:

班号:

任务起至日期:

年月日至年月日

课程设计题目:

一阶倒立摆控制器设计

已知技术参数和设计要求:

本课程设计的被控对象采用固高公司的一阶倒立摆系统GIP-100-L。

系统内部各相关参数为:

小车质量0.5Kg;摆杆质量0.2Kg;小车摩擦系数0.1N/m/sec;摆杆转动轴心到杆质心的长度0.3m;摆杆惯量0.006kg*m*m;采样时间0.005秒。

设计要求:

1.推导出系统的传递函数和状态空间方程。

用Matlab进行脉冲输入仿真,验证系统的稳定性。

2.设计PID控制器,使得当在小车上施加1N的脉冲信号时,闭环系统的响应指标为:

(1)稳定时间小于5秒

(2)稳态时摆杆与垂直方向的夹角变化小于0.1弧度

3.设计最优控制器,使得当在小车上施加0.2m的阶跃信号时,闭环系统的响应指标为:

(1)摆杆角度和小车位移的稳定时间小于5秒

(2)的上升时间小于1秒

(3)的超调量小于20度(0.35弧度)

(4)稳态误差小于2%。

工作量:

1.建立一阶倒立摆的线性化数学模型;

2.倒立摆系统的PID控制器设计、MATLAB仿真及实物调试;

3.倒立摆系统的最优控制器设计、MATLAB仿真及实物调试。

工作计划安排:

同组设计者及分工:

各项工作独立完成

指导教师签字___________________

年月日

教研室主任意见:

教研室主任签字___________________

年月日

*注:

此任务书由课程设计指导教师填写。

第2章一阶倒立摆的数学模型

设计目的:

建立一阶倒立摆系统的数学模型,并在摆角附近将其非线性数学模型线性化,学生通过实际数学模型的推导,加深对系统建模和模型线性化问题的理解。

对系统加入输入信号,进行Matlab仿真,理解不稳定极点对系统稳定性的影响。

设计要求:

写出系统的动态方程,得出传递函数和状态空间方程。

用Matlab进行脉冲输入仿真,验证系统的稳定性。

2.1一阶倒立摆数学模型的推导

对系统建立数学模型是系统分析、设计的前提,而一个准确又简练的数学模型将大大简化后期的工作。

为了简化系统分析,在实际的模型建立过程中,要忽略空气流动阻力,以及各种次要的摩擦阻力。

这样,可将倒立摆系统抽象成小车和匀质刚性杆组成的系统,如下图所示。

本系统内部各相关参数定义如下:

小车质量

摆杆质量

小车摩擦系数

摆杆转动轴心到杆质心的长度

摆杆惯量

加在小车上的力

小车位置

摆杆与垂直向上方向的夹角

摆杆与垂直向下方向的夹角(考虑到摆杆初始位置为竖直向下)

下图是系统中小车和摆杆的受力分析图。

其中,和为小车与摆杆相互作用力的水平和垂直方向的分量。

注意:

在实际倒立摆系统中检测和执行装置的正负方向已经完全确定,因而矢量方向定义如图,图示方向为矢量正方向。

应用Newton方法来建立系统的动力学方程过程如下:

分析小车水平方向所受的合力,可以得到以下方程:

由摆杆水平方向的受力进行分析可以得到下面等式:

即:

把这个等式代入上式中,就得到系统的第一个运动方程:

(2-1)

为了推出系统的第二个运动方程,我们对摆杆垂直方向上的合力进行分析,可以得到下面方程:

即:

力矩平衡方程如下:

注意:

此方程中力矩的方向,由于

,故等式前面有负号。

合并这两个方程,约去和,得到第二个运动方程:

(2-2)

1.微分方程模型

设,当摆杆与垂直向上方向之间的夹角与1(单位是弧度)相比很小,即时,则可以进行近似处理:

,,。

为了与控制理论的表达习惯相统一,即一般表示控制量,用来代表被控对象的输入力,线性化后得到该系统数学模型的微分方程表达式:

(2-3)

2.传递函数模型

对方程组(2-3)进行拉普拉斯变换,得到

(2-4)

注意:

推导传递函数时假设初始条件为0。

由于输出为角度,求解方程组(2-4)的第一个方程,可以得到

把上式代入方程组(2-4)的第二个方程,得到

整理后得到以输入力为输入量,以摆杆摆角为输出量的传递函数:

其中

若取小车位移为输出量,可得传递函数:

3.状态空间数学模型

由现代控制理论原理可知,控制系统的状态空间方程可写成如下形式:

方程组(2-3)对解代数方程,得到如下解:

整理后得到系统状态空间方程:

以上就是一阶倒立摆小车系统的状态空间表达式。

2.2系统MATLAB仿真和开环响应

1.传递函数

在Matlab中,拉普拉斯变换后得到的传递函数可以通过计算并输入分子和分母矩阵来实现。

假设系统内部各相关参数为:

小车质量0.5Kg

摆杆质量0.2Kg

小车摩擦系数0.1N/m/sec

摆杆转动轴心到杆质心的长度0.3m

摆杆惯量0.006kg*m*m

采样时间0.005秒

文件trans.m用于求系统传递函数、传递函数的极点以及开环脉冲响应。

%——————trans.m——————

%倒立摆传递函数、开环极点及开环脉冲响应

%输入倒立摆传递函数G(S)=num/den

M=0.5;

m=0.2;

b=0.1;

I=0.006;

g=9.8;

l=0.3;

q=(M+m)*(I+m*l^2)-(m*l)^2;

%计算并显示多项式形式的传递函数

num=[m*l/q00]

den=[1b*(I+m*l^2)/q-(M+m)*m*g*l/q-b*m*g*l/q0]

%计算并显示传递函数的极点p

[r,p,k]=residue(num,den);

s=p

%求传递函数的脉冲响应并显示

t=0:

0.005:

5;

impulse(num,den,t)

%显示范围:

横坐标0-1,纵坐标0-60,此条语句参数可根据仿真输出曲线调整

axis([01060])

grid

%——————end——————

执行上面的文件,得到系统传递函数的分子(num)与分母(den)多项式的Matlab表示及系统的开环极点(s),显示结果如下所示:

>>trans

num=

4.545500

den=

1.00000.1818-31.1818-4.45450

s=

-5.6041

5.5651

-0.1428

0

>>

由此可知,系统传递函数的多项式表达式为:

系统的开环极点为、、、,由于有一个开环极点位于平面的右半部,开环系统不稳定。

MATLAB仿真的开环脉冲响应(即给系统加一个脉冲推力)曲线如下图所示,系统不稳定。

2.状态空间法

状态空间法可以进行单输入多输出系统设计,因此在这个实验中,我们将尝试同时对摆杆角度和小车位置进行控制。

为了更具挑战性,给小车加一个阶跃输入信号。

我们用Matlab求出系统的状态空间方程各矩阵,并仿真系统的开环阶跃响应。

在这里给出一个state.m文件,执行这个文件,Matlab将会给出系统状态空间方程的A,B,C和D矩阵,并绘出在给定输入为一个0.2m的阶跃信号时系统的响应曲线。

state.m程序如下:

%——————state.m——————

%倒立摆状态方程及开环阶跃响应

%输入倒立摆相关参数

M=0.5;

m=0.2;

b=0.1;

I=0.006;

g=9.8;

l=0.3;

%p用于状态方程计算

p=I*(M+m)+M*m*l^2;

%输入倒立摆状态方程并显示

A=[0100;

0-(I+m*l^2)*b/p(m^2*g*l^2)/p0;

0001;

0-(m*l*b)/pm*g*l*(M+m)/p0]

B=[0;

(I+m*l^2)/p;

0;

m*l/p]

C=[1000;

0010]

D=[0;

0]

%求开环系统的阶跃响应并显示

T=0:

0.005:

5;

U=0.2*ones(size(T));

[Y,X]=lsim(A,B,C,D,U,T);

plot(T,Y)

%显示范围:

横坐标0-2,纵坐标0-100,此条语句参数可根据仿真输出曲线调整

axis([020100])

grid

%——————end——————

执行上面的文件,得到系统的状态空间A、B、C、D矩阵,显示结果如下所示:

>>state

A=

01.000000

0-0.18182.67270

0001.0000

0-0.454531.18180

B=

0

1.8182

0

4.5455

C=

1000

0010

D=

0

0

>>

MATLAB仿真的开环阶跃响应曲线如下图所示,系统不稳定。

图中,实线是摆杆角度响应曲线,虚线是小车位置响应曲线。

2.3模型仿真实验

1.实验步骤

实际系统参数如下,按照上面给出的例子求系统的传递函数、状态空间方程,并进行脉冲响应和阶跃响应的Matlab仿真。

小车质量1.096Kg

摆杆质量0.109Kg

小车摩擦系数0.1N/m/sec

摆杆转动轴心到杆质心的长度0.25m

摆杆惯量0.0034kg*m*m

加在小车上的力

小车位置

摆杆与垂直方向的夹角

采样频率0.005秒

注意:

在进行实际系统的Matlab仿真时,请将采样频率改为实际系统的采样频率。

2.设计报告要求

(1)推导一阶倒立摆的数学模型,并将其在工作点线性化,给出微分方程、传递函数和状态空间表达式三种数学模型。

(2)给出仿真结果和响应曲线。

(3)分析系统的稳定性。

第3章倒立摆系统的PID控制算法设计

本章主要利用PID控制算法对一阶倒立摆系统进行控制器设计。

在设计的过程中,要求熟悉控制参数、、对系统性能的影响,然后按照所要求的控制指标并综合实际响应结果恰当地调整参数。

运用MATLAB仿真软件可以快捷地进行系统仿真和参数调整,本章第2节的内容即是运用MATLAB软件对PID控制系统的设计和仿真。

第3节中,将对控制系统进行实际的运行和参数调试,以获得一组最佳的PID控制参数。

设计目的:

学习PID控制器的设计方法,了解控制器各个参数对系统性能的影响,学会根据控制指标要求和实际响应调整PID控制器的参数。

设计要求:

设计PID控制器,使得当在小车上施加1N的脉冲信号时,闭环系统的响应指标为:

(1)稳定时间小于5秒

(2)稳态时摆杆与垂直方向的夹角变化小于0.1弧度

3.1理论分析

1.PID控制原理

在模拟控制系统中,控制器最常用的控制规律是PID控制。

常规PID控制系统原理框图如下图所示。

系统由模拟PID控制器KD(S)和被控对象G(S)组成。

PID控制器是一种线性控制器,它根据给定值与实际输出值构成控制偏差

将偏差的比例(P)、积分(I)和微分(D)通过线性组合构成控制量,对被控对象进行控制,故称PID控制器。

其控制规律为

或写成传递函数的形式

式中:

——比例系数;——积分时间常数;——微分时间常数。

在控制系统设计和仿真中,也将传递函数写成

式中:

——比例系数;——积分系数;——微分系数。

简单说来,PID控制器各校正环节的作用如下:

(1)比例环节:

成比例地反映控制系统的偏差信号,偏差一旦产生,控制器立即产生控制作用,以减少偏差。

(2)积分环节:

主要用于消除稳态误差,提高系统的型别。

积分作用的强弱取决于积分时间常数,越大,积分作用越弱,反之则越强。

(3)微分环节:

反映偏差信号的变化趋势(变化速率),并能在偏差信号值变得太大之前,在系统中引入一个有效的早期修正信号,从而加快系统的动作速度,减小调节时间。

2.摆杆角度控制

这个控制问题和我们以前遇到的标准控制问题有些不同,在这里输出量为摆杆的位置,它的初始位置为垂直向上,我们给系统施加一个扰动,观察摆杆的响应。

系统框图如下:

图中是控制器传递函数,是被控对象传递函数。

考虑到输入,结构图可以很容易地变换成

该系统的输出为

其中:

——被控对象传递函数的分子项

——被控对象传递函数的分母项

——PID控制器传递函数的分子项

——PID控制器传递函数的分母项

被控对象的传递函数是

其中

PID控制器的传递函数为

只需调节PID控制器的参数,就可以得到满意的控制效果。

3.小车位置控制

小车位置作为输出时,系统框图如下:

其中,是摆杆传递函数,是小车传递函数。

由于输入信号,所以可以把结构图转换成:

其中,反馈环代表我们前面设计的摆杆的控制器。

从此框图我们可以看出此处只对摆杆角度进行了控制,并没有对小车位置进行控制。

小车位置输出为:

其中,,,,分别代表被控对象1和被控对象2传递函数的分子和分母。

和代表PID控制器传递函数的分子和分母。

下面我们来求,根据前面实验二的推导,有

可以推出小车位置的传递函数为

其中

可以看出,==,小车的算式可以简化成:

3.2PID控制算法的MATLAB仿真

1.摆杆角度控制算法的仿真

文件pid1.m是输出为摆杆角度时系统的脉冲响应仿真软件,其中参数、、分别为PID控制器的比例、微分和积分参数。

文件如下:

%——————pid1.m——————

%摆杆角度PID控制

%输入倒立摆传递函数G1(S)=num1/den1

M=0.5;

m=0.2;

b=0.1;

I=0.006;

g=9.8;

l=0.3;

q=(M+m)*(I+m*l^2)-(m*l)^2;

num1=[m*l/q00];

den1=[1b*(I+m*l^2)/q-(M+m)*m*g*l/q-b*m*g*l/q0];

%输入控制器PID数学模型Gc(s)=numPID/denPID

Kp=1;

Ki=1;

Kd=1;

numPID=[KdKpKi];

denPID=[10];

%计算闭环系统传递函数G(s)=num/den

%多项式相乘

num=conv(num1,denPID);

%多项式相加

den=polyadd(conv(denPID,den1),conv(numPID,num1));

%求整个系统传递函数的极点

[r,p,k]=residue(num,den);

%显示极点

s=p

%求取多项式传递函数的脉冲响应

t=0:

0.005:

5;

impulse(num,den,t)

%显示范围:

横坐标0-5,纵坐标0-10,此条语句参数可根据仿真输出曲线调整

axis([05010])

grid

%——————end——————

文件中用到求两个多项式之和的函数polyadd,它不是Matlab工具,因此必须把它拷贝到polyadd.m文件中,并把该文件和源文件一起拷贝到MATLAB工作区。

polyadd.m文件如下:

%——————polyadd.m——————

%求两个多项式之和

function[poly]=polyadd(poly1,poly2)

iflength(poly1)

short=poly1;

long=poly2;

else

short=poly2;

long=poly1;

end

mz=length(long)-length(short);

ifmz>0

poly=[zeros(1,mz),short]+long;

else

poly=long+short;

end

%——————end——————

现在,就可以进行系统脉冲响应的PID控制仿真了。

PID控制参数取为,,,闭环系统极点为:

s=

-8.0412

3.3105

0.0034

0

脉冲响应曲线如下:

有2个闭环极点位于平面右半部,系统不稳定。

从系统响应曲线也可看出,系统响应是不稳定的,不能满足要求,需要调整参数、和,直到获得满意的控制结果。

首先增加比例系数,观察它对响应的影响,取,,,闭环极点为:

s=

-2.3635+20.4396i

-2.3635-20.4396i

-0.0001

-0.0001

系统脉冲响应曲线如下:

系统闭环极点均位于平面左半部,系统稳定。

系统稳定时间约为2秒,满足要求。

由于此时稳态误差为0,所以不需要改变积分环节(你可以改变积分系数,观察系统响应如何变化);系统响应的超调量比较大,为了减小超调,增加微分系数,取,观察响应曲线:

系统响应满足指标要求。

2.小车位置控制算法的仿真

pid2.m是仿真小车位置变化的m文件,文件如下:

%——————pid2.m——————

%小车位置PID控制

%输入倒立摆传递函数G1(s)=num1/den1,G2(s)=num2/den2

M=0.5;

m=0.2;

b=0.1;

I=0.006;

g=9.8;

l=0.3;

q=(M+m)*(I+m*l^2)-(m*l)^2;

num1=[m*l/q00];

den1=[1b*(I+m*l^2)/q-(M+m)*m*g*l/q-b*m*g*l/q0];

num2=[-(I+m*l^2)/q0m*g*l/q];

den2=den1;

%输入控制器PID数学模型Gc(s)=numPID/denPID

Kp=1;

Ki=1;

Kd=1;

numPID=[KdKpKi];

denPID=[10];

%计算闭环系统传递函数G(s)=num/den

%多项式相乘

num=conv(num2,denPID);

%多项式相加

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

当前位置:首页 > 小学教育 > 学科竞赛

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1