西北工业大学明德学院本科毕业设计论文
??s??U?s?ml2sq (2-11)
??M?mmglbmgls3?s2?sqqG1?bI?ml2s?q4??将上述参数代入得:
??s?1.7397s2G1??U?s?s4?0.1482s3?18.7543s2?2.5574s (2-12)
若取小车的位移为输入量,可得传递函数:
?I?ml2?s2?mglG?X?s?U?s??qq2s4?b?I?ml2??M?m?mglbmgl (2-13) qs3?qs2?qs其中
q?[(M?m)(I?ml2)?(ml)2] 将上述参数代入得:
GX?s?0.9882s2?17.04942?U?s??s4?0.1482s3?18.754s2?2.5574s (2-14)
摆杆角度和小车位移的传递函数为:
?(s)mls2X(s)?(I?ml2)s2?mgl (2-15) 将上述参数代入,摆杆角度和小车位移的传递函数为:
?(s)X(s)?0.05s20.0284s2?0.49 (2-16) 摆杆角度和小车加速度之间的传递函数为:
?(s)A(s)??mlI?ml2?s2?mgl (2-17) 将上述参数代入,摆杆角度和小车加速度之间的传递函数为:
?(s)0.05A(s)?0.0284s2?0.49 2.3.3 状态空间方程 系统状态空间方程为
????X?AX?Bu (2-19) ??y?CX?Du- 13 -
(2-18)
西北工业大学明德学院本科毕业设计论文
???,?x 方程组(2-7)对?解代数方程,得到解如下:
??x??x?2222?(I?ml)bmgl(I?ml)?????xx???u222?I(M?m)?MmlI(M?m)?MmlI(M?m)?Mml??????????mlbmgl(M?m)ml????x???u??222?I(M?m)?MmlI(M?m)?MmlI(M?m)?Mml? (2-20)
整理后得到系统状态空间方程:
?0????x?????0x???????0????????0??????1?(I?ml2)bI(M?m)?Mml20?mlbI(M?m)?Mml20mgl2I(M?m)?Mml20mgl(M?m)I(M?m)?Mml220?0??2x?????I?ml0??x??2??I(M?m)?Mml????u??1?????0?ml??????0?????2???I(M?m)?Mml?? ??x?????x??1000??x?0??y???????????0?u?0010?????????????? (2-21)
将上述参数代入得:
A=[0 1 0 0;0 -0.1482 0.8525 0;0 0 0 1;0 -0.2610 18.7543 0]; B=[0;0.9882;0;1.7397]; C=[1 0 0 0;0 0 1 0]; D=[0;0];
2.3.4 系统MATLAB仿真和开环响应 1. 从传递函数考虑:
在Matlab中,拉普拉斯变换后得到的传递函数可以通过计算并输入分子和分母矩阵来实现。求系统传递函数的m-文件内容如下: >>M =1.000; m = 0.100; b = 0.150; I = 0.0034; g = 9.800; l = 0.500;
q = (M+m)*(I+m*l^2)-(m*l)^2; num = [m*l/q 0 0]
den = [1 b*(I+m*l^2)/q -(M+m)*m*g*l/q -b*m*g*l/q 0]
- 14 -
西北工业大学明德学院本科毕业设计论文
执行上面文件,就可以求出系统传函分子与分母多项式的Matlab 表示。 num = 1.7397 0 0
den =1.0000 0.1482 -18.7543 -2.5574 0
更进一步,给小车施加一个脉冲推力,要得到系统的开环脉冲响应,可以在上面的m-文件后加上几行: t = 0 : 0.01 : 5; impulse ( num , den , t ) axis ( [ 0 1 0 20 ]) grid
可以得到系统开环脉冲响应的曲线如下:
图2-3 系统开环脉冲响应的曲线
从系统的开环脉冲响应曲线可以看出:此倒立摆系统是一个不稳定的系统。 2. 从状态空间法考虑:
状态空间法可以进行单输入多输出系统设计,因此我们尝试同时对摆杆角度和小车位置进行控制。为了更具挑战性,给小车一个阶跃输入信号。
我们用 Matlab [20]求出系统的状态空间方程各矩阵,并仿真系统的开环阶跃响应。在这里同样给出了一个m-文件,执行这个文件,Matlab将会给出系统状态空间方程的A,B,C和D矩阵,并可以绘出在给定输入为一个0.2 m的阶跃信号时系统的响应曲线。 >> M =1.000; m = 0.100; b = 0.150; I = 0.0034;
- 15 -
西北工业大学明德学院本科毕业设计论文
g = 9.800; l = 0.500;
p = I*(M+m)+M*m*l^2;
A = [0 1 0 0; 0 -(I+m*l^2)*b/p (m^2*g*l^2)/p 0; 0 0 0 1; 0 -(m*l*b)/p m*g*l*(M+m)/p 0] B = [ 0; (I+m*l^2)/p; 0; m*l/p ] C = [ 1 0 0 0; 0 0 1 0 ] D = [ 0; 0 ] T=0:0.05:10;
U=0.2*ones(size(T)); [Y,X]=lsim(A,B,C,D,U,T); plot(T,Y)
legend('小车位置响应曲线','摆杆角度响应曲线') grid on
axis([0 3 0 100])
图2-4 系统响应曲线
2.4 一级倒立摆系统稳定性分析
我们都知道控制系统的稳定性是其能否正常工作的首要条件,是分析其他特性的基础,也是系统一个最基本的性能要求。在控制领域中,判断系统是否稳定有许多方法比如劳斯判据,赫尔维茨判据,最传统也最简单的方法就是判断系统
- 16 -
西北工业大学明德学院本科毕业设计论文
的特征根是否都具有负实部,如是,系统稳定;不是,即特征根有在坐标轴右边的,则系统不稳定。
在本论文中,我们采用的方法就是 判断特征根法。 把实际参数代入(2-21),利用MATLAB求得: A =
0 1.0000 0 0 0 -0.1482 0.8525 0 0 0 0 1.0000 0 -0.2610 18.7543 0 B = 0 0.9882 0
1.7397
C = 1 0 0 0 0 0 1 0 D = 0 0
求极点的m-文件程序如下:
A=[0 1 0 0;0 -0.1482 0.8525 0;0 0 0 1;0 -0.2610 18.7543 0]; B=[0;0.9882;0;1.7397]; C=[1 0 0 0;0 0 1 0]; D=[0;0];
[z,p,k]=ss2zp(A,B,C,D) 结果:
z = -4.1537 0.0001 4.1537 0.0000 p = 0 -0.1363 -4.3368 4.3249 k = 0.9882
1.7397
因系统有一个极点在[s]平面的右半平面上,有一个极点在原点,如图2-5,所以系统不稳定。
- 17 -