论文部分内容阅读
摘要:结合教学实例,利用MATLAB软件来处理“自动控制原理”课程中的时域分析、根轨迹绘制和频率域分析等三个重要问题。实践表明,这样不仅可以帮助学生加深对抽象理论的理解,还大大提高了课堂效率,取得了较好的教学效果。
关键词:MATLAB;自动控制原理;时域分析;根轨迹;频率域分析
作者简介:孙志富(1981-),男,河南安阳人,安阳师范学院物理与电气工程学院,助教,工学硕士,主要研究方向:控制理论与控制工程。(河南 安阳 455002)李辉(1980-),女,河南南阳人,郑州轻工业学院软件学院,助教,工学硕士,主要研究方向:模式识别与智能系统。(河南 郑州 450000)
“自动控制原理”是高等学校自动化专业、电气工程及其自动化专业的重要专业基础课。但由于该课程内容抽象,计算性强,作图方法多,学生不易理解和掌握,甚至产生厌学情绪。为了在教学中充分调动学生的积极性,提高教学质量,取得更好的教学效果,笔者尝试将控制系统仿真软件MATLAB引入到传统的教学方法上来,这样不仅可以简化做题过程,也可以充分利用计算机的表现能力,把抽象的问题具体化。
MATLAB软件是一种面向科学与工程的计算软件,集数值运算、矩阵预算、动态仿真和图形处理等强大功能于一体,已经成为自动控制理论、动态系统仿真、线性控制系统、模糊控制系统等高级课程的基本数学工具。MATLAB语言简洁紧凑,使用方便灵活,编程较为简单易学。授课过程中通过将MATLAB仿真与自动控制原理多媒体课件有机结合,实现自动控制原理教学项目的图形化和交互化,不仅使教学更为生动、形象,激发学生的学习兴趣,加深学生对抽象理论知识的理解,而且可以使学生获得一定的工程实践知识,增强学生分析问题的能力。通过实践,教学效果还是比较满意的。
本文就MATLAB软件在“自动控制原理”课程教学中的几个典型应用做了简要介绍。
一、MATLAB在时域分析中的应用
时域分析是控制系统中最基本的问题,其思路是分析在典型输入信号作用下,系统在时间域的响应(包括暂态响应和稳态响应)。具体的做法就是在已知系统模型结构的基础上,求出在典型输入信号下系统输出的拉氏变换,再通过求解拉氏逆变换得出解析表达式,进而通过绘制响应曲线求得对应的暂态指标和稳态指标。显然,在运用解析法进行分析时,需要很多很复杂的数学推导,并且往往伴随有大量的计算。如果将大量的时间用在计算和推导过程上,教学过程显得主次不清,而且有时候繁琐的运算会使学生感到枯燥,容易分神,甚至把太多注意力集中到运算上,从而忽略了对方法本身的理解。考虑到MATLAB强大的计算能力和绘图能力,可以直接用来辅助课堂教学,改善教学效果。
在控制系统的时域分析法中,MATLAB软件不仅提供了阶跃响应函数step、脉冲响应函数impulse等命令,而且还能够快捷地求出系统时域指标。比如在对高阶系统进行性能分析时,通常采用的方法是主导极点法,即只考虑离虚轴最近而且附近又没有零点的主导极点的影响,其他的零、极点都忽略不计。授课过程中,通常的做法是通过比较该高阶系统的阶跃响应曲线和只考虑其主导极点的低阶系统的阶跃响应曲线,去分析两个系统的各性能指标的差异。为了能够节省有限的课堂时间,这个时候就可以用MATLAB软件来快速地绘制出相应的阶跃响应曲线。
例如欲求闭环传递函数为F1(s)=的某高阶系统的阶跃响应指标。很显然,在系统的零、极点中,零点-2.1和极点-2可以作为一对偶极子,而极点-8对系统阶跃响应性能的影响我们可以忽略掉,所以系统的主导极点应当是:,因此在分析其性能指标时可以用闭环传递函数为F2(s)=的另外一个系统来代替。两个系统的阶跃响应曲线可以用MATLAB软件仿真出来(如图1所示,其中点线表示系统一的阶跃响应曲线sys1,实线表示系统二的阶跃响应曲线sys2)。由图1可知,这两个系统的阶跃响应曲线很接近,系统的调节时间分别为8.2s和8.08s,峰值时间分别为3.75s和3.64s,超调量也相差不多,分别为15.9%和16.3%。因此,用低阶系统近似代替高阶系统是可行的。
二、MATLAB在系统根轨迹分析中的应用
根轨迹分析法是经典控制理论中比较成熟的一种图解方法,它是指开环系统中某个参数从零变化到无穷时,闭环极点在复平面上的变化轨迹。利用根轨迹同样也可以分析系统的暂态性能和稳态性能。显然,如果是手动求解特征方程,然后逐个画出参数对应某一个值时的闭环极点,再把这些点连成线构成根轨迹,计算量很大,计算过程也很复杂。即使能够绘制出系统的根轨迹,也只是个概略图。如果稍有差错,可能会影响到学生对系统性能的判断,甚至会产生误判。因此在授课过程中,任课老师迫切希望寻找到一种方法,既能够根据基本法则绘出粗略的根轨迹图,又能方便快捷地得到准确的根轨迹图。
MATLAB软件由于具有较强的绘图能力,所以可以很好地解决这个问题。使用MATLAB软件的rlocus函数,就可以轻松绘制开环传递函数中某个参数在变化时的准确的根轨迹,这样就避免了由于手绘根轨迹而带来的一些问题。另外,通过调用rlocfind函数,还能够轻松获取根轨迹上某一点所对应的闭环极点和开环增益,极大地减少了计算量。
如绘制开环传递函数为G(s)=的负反馈系统在K从0→+∞变化时的根轨迹,可调用下列程序:
>> G=tf([1],[1 3 2 0]); %建立传递函数
>> rlocus(G)%绘制根轨迹
>>sgrid(0.7,10)
%绘制阻尼比ζ=0.7和ωn=10线
>> [k,p]=rlocfind(G)
%由鼠标在根轨迹上任选一点,进而求出该点对应的闭环极点p和增益k
Select a point in the graphics window
selected_point =
-0.2138 + 0.8949i
k = 2.1896
p= -2.5525, -0.2237 + 0.8988i, -0.2237 - 0.8988i
程序执行后,所绘根轨迹图如图2所示,其中ζ=0.7为系统的最佳阻尼比,三个“+”表示所选点对应的三个闭环极点。根据根轨迹与ζ=0.7的阻尼线的交点可得出使系统具有最佳阻尼比时的闭环极点为-0.375±0.382i,此时的超调量为4.59%,振荡频率为0.535,增益为0.655。而且因为有两条根轨迹随着K的增大越过虚轴向右伸展,也就是说系统有一对闭环极点的实部是由负数逐渐变化到正数的,所以系统的稳定性是在变差,经临界稳定最后变得不稳定。使系统稳定的开环增益K的范围可以很方便地求出,应为0 三、MATLAB在系统频率域分析中的应用
频率域分析法是应用频率特性研究控制系统的一种典型方法。采用这种方法可以直观地表达出系统的频率特性。通常将频率特性用曲线的形式进行表示,如Nyquist(乃奎斯特)曲线、Bode(伯德)图和Nichols(尼克尔斯)图等。这些曲线同样可以用来分析系统的稳态性能和动态性能。在MATLAB软件中,这三种曲线的绘制则可以通过调用bode、nyquist和nichols函数实现,频域指标的分析则可通过使用margin命令求得。
如欲绘制开环传递函数为G(s)=的负反馈系统的Nyquist曲线和Bode图,可以执行如下程序。
>> G=tf(10,conv([1 1],[5 1 0])); %建立传递函数
>> subplot(1,3,1);bode(G); subplot(1,3,2); nyquist(G)
%绘制Bode图和Nyquist曲线
>> subplot(1,3,3);margin(G)%绘制系统的Bode图并标出幅值裕度和相角裕度
>> [Gm,Pm,Wcg,Wcp]=margin(G)
%得出幅值裕度Gm和相角裕度Pm及相应的幅值穿越频率Wcg和相角穿越频率Wcp。
Warning: The closed-loop system is unstable.
Gm=0.1200,Pm=38.7743,Wc=0.4472,Wcp=1.1395
程序执行后的结果如图3所示。根据图3(b)所示系统的Nyquist曲线,可以判断,在角频率从0→+∞变化时,Nyquist曲线顺时针包围(-1,j0)点(图3中“+”所示),因此是不稳定系统。另外,根据margin命令的提示信息,相角裕度Pm<0也都可以说明系统为不稳定系统。
四、结束语
在“自动控制原理”的教学过程中,通过引入MATLAB软件,研究方法变得简单多样、方便、灵活。利用MATLAB的仿真,使原来很抽象的理论教学内容变得直观明了,有助于增进学生对理论知识的理解和掌握,提高学习的积极性和兴趣性,有效地改善了教学效果。如果将MATLAB软件应用于实验教学,也可以通过改变相应的参数和环节,得到更充分的结果,便于分析比较。
参考文献:
[1]程鹏.自动控制原理[M].北京:高等教育出版社,2003.
[2]曹弋.MATLAB教程及实训[M].北京:机械工业出版社,2008.
[3]薛定宇.控制系统计算机辅助设计——MATLAB语言与应用(第2版)[M].北京:清华大学出版社,2006.
(责任编辑:麻剑飞)
关键词:MATLAB;自动控制原理;时域分析;根轨迹;频率域分析
作者简介:孙志富(1981-),男,河南安阳人,安阳师范学院物理与电气工程学院,助教,工学硕士,主要研究方向:控制理论与控制工程。(河南 安阳 455002)李辉(1980-),女,河南南阳人,郑州轻工业学院软件学院,助教,工学硕士,主要研究方向:模式识别与智能系统。(河南 郑州 450000)
“自动控制原理”是高等学校自动化专业、电气工程及其自动化专业的重要专业基础课。但由于该课程内容抽象,计算性强,作图方法多,学生不易理解和掌握,甚至产生厌学情绪。为了在教学中充分调动学生的积极性,提高教学质量,取得更好的教学效果,笔者尝试将控制系统仿真软件MATLAB引入到传统的教学方法上来,这样不仅可以简化做题过程,也可以充分利用计算机的表现能力,把抽象的问题具体化。
MATLAB软件是一种面向科学与工程的计算软件,集数值运算、矩阵预算、动态仿真和图形处理等强大功能于一体,已经成为自动控制理论、动态系统仿真、线性控制系统、模糊控制系统等高级课程的基本数学工具。MATLAB语言简洁紧凑,使用方便灵活,编程较为简单易学。授课过程中通过将MATLAB仿真与自动控制原理多媒体课件有机结合,实现自动控制原理教学项目的图形化和交互化,不仅使教学更为生动、形象,激发学生的学习兴趣,加深学生对抽象理论知识的理解,而且可以使学生获得一定的工程实践知识,增强学生分析问题的能力。通过实践,教学效果还是比较满意的。
本文就MATLAB软件在“自动控制原理”课程教学中的几个典型应用做了简要介绍。
一、MATLAB在时域分析中的应用
时域分析是控制系统中最基本的问题,其思路是分析在典型输入信号作用下,系统在时间域的响应(包括暂态响应和稳态响应)。具体的做法就是在已知系统模型结构的基础上,求出在典型输入信号下系统输出的拉氏变换,再通过求解拉氏逆变换得出解析表达式,进而通过绘制响应曲线求得对应的暂态指标和稳态指标。显然,在运用解析法进行分析时,需要很多很复杂的数学推导,并且往往伴随有大量的计算。如果将大量的时间用在计算和推导过程上,教学过程显得主次不清,而且有时候繁琐的运算会使学生感到枯燥,容易分神,甚至把太多注意力集中到运算上,从而忽略了对方法本身的理解。考虑到MATLAB强大的计算能力和绘图能力,可以直接用来辅助课堂教学,改善教学效果。
在控制系统的时域分析法中,MATLAB软件不仅提供了阶跃响应函数step、脉冲响应函数impulse等命令,而且还能够快捷地求出系统时域指标。比如在对高阶系统进行性能分析时,通常采用的方法是主导极点法,即只考虑离虚轴最近而且附近又没有零点的主导极点的影响,其他的零、极点都忽略不计。授课过程中,通常的做法是通过比较该高阶系统的阶跃响应曲线和只考虑其主导极点的低阶系统的阶跃响应曲线,去分析两个系统的各性能指标的差异。为了能够节省有限的课堂时间,这个时候就可以用MATLAB软件来快速地绘制出相应的阶跃响应曲线。
例如欲求闭环传递函数为F1(s)=的某高阶系统的阶跃响应指标。很显然,在系统的零、极点中,零点-2.1和极点-2可以作为一对偶极子,而极点-8对系统阶跃响应性能的影响我们可以忽略掉,所以系统的主导极点应当是:,因此在分析其性能指标时可以用闭环传递函数为F2(s)=的另外一个系统来代替。两个系统的阶跃响应曲线可以用MATLAB软件仿真出来(如图1所示,其中点线表示系统一的阶跃响应曲线sys1,实线表示系统二的阶跃响应曲线sys2)。由图1可知,这两个系统的阶跃响应曲线很接近,系统的调节时间分别为8.2s和8.08s,峰值时间分别为3.75s和3.64s,超调量也相差不多,分别为15.9%和16.3%。因此,用低阶系统近似代替高阶系统是可行的。
二、MATLAB在系统根轨迹分析中的应用
根轨迹分析法是经典控制理论中比较成熟的一种图解方法,它是指开环系统中某个参数从零变化到无穷时,闭环极点在复平面上的变化轨迹。利用根轨迹同样也可以分析系统的暂态性能和稳态性能。显然,如果是手动求解特征方程,然后逐个画出参数对应某一个值时的闭环极点,再把这些点连成线构成根轨迹,计算量很大,计算过程也很复杂。即使能够绘制出系统的根轨迹,也只是个概略图。如果稍有差错,可能会影响到学生对系统性能的判断,甚至会产生误判。因此在授课过程中,任课老师迫切希望寻找到一种方法,既能够根据基本法则绘出粗略的根轨迹图,又能方便快捷地得到准确的根轨迹图。
MATLAB软件由于具有较强的绘图能力,所以可以很好地解决这个问题。使用MATLAB软件的rlocus函数,就可以轻松绘制开环传递函数中某个参数在变化时的准确的根轨迹,这样就避免了由于手绘根轨迹而带来的一些问题。另外,通过调用rlocfind函数,还能够轻松获取根轨迹上某一点所对应的闭环极点和开环增益,极大地减少了计算量。
如绘制开环传递函数为G(s)=的负反馈系统在K从0→+∞变化时的根轨迹,可调用下列程序:
>> G=tf([1],[1 3 2 0]); %建立传递函数
>> rlocus(G)%绘制根轨迹
>>sgrid(0.7,10)
%绘制阻尼比ζ=0.7和ωn=10线
>> [k,p]=rlocfind(G)
%由鼠标在根轨迹上任选一点,进而求出该点对应的闭环极点p和增益k
Select a point in the graphics window
selected_point =
-0.2138 + 0.8949i
k = 2.1896
p= -2.5525, -0.2237 + 0.8988i, -0.2237 - 0.8988i
程序执行后,所绘根轨迹图如图2所示,其中ζ=0.7为系统的最佳阻尼比,三个“+”表示所选点对应的三个闭环极点。根据根轨迹与ζ=0.7的阻尼线的交点可得出使系统具有最佳阻尼比时的闭环极点为-0.375±0.382i,此时的超调量为4.59%,振荡频率为0.535,增益为0.655。而且因为有两条根轨迹随着K的增大越过虚轴向右伸展,也就是说系统有一对闭环极点的实部是由负数逐渐变化到正数的,所以系统的稳定性是在变差,经临界稳定最后变得不稳定。使系统稳定的开环增益K的范围可以很方便地求出,应为0
频率域分析法是应用频率特性研究控制系统的一种典型方法。采用这种方法可以直观地表达出系统的频率特性。通常将频率特性用曲线的形式进行表示,如Nyquist(乃奎斯特)曲线、Bode(伯德)图和Nichols(尼克尔斯)图等。这些曲线同样可以用来分析系统的稳态性能和动态性能。在MATLAB软件中,这三种曲线的绘制则可以通过调用bode、nyquist和nichols函数实现,频域指标的分析则可通过使用margin命令求得。
如欲绘制开环传递函数为G(s)=的负反馈系统的Nyquist曲线和Bode图,可以执行如下程序。
>> G=tf(10,conv([1 1],[5 1 0])); %建立传递函数
>> subplot(1,3,1);bode(G); subplot(1,3,2); nyquist(G)
%绘制Bode图和Nyquist曲线
>> subplot(1,3,3);margin(G)%绘制系统的Bode图并标出幅值裕度和相角裕度
>> [Gm,Pm,Wcg,Wcp]=margin(G)
%得出幅值裕度Gm和相角裕度Pm及相应的幅值穿越频率Wcg和相角穿越频率Wcp。
Warning: The closed-loop system is unstable.
Gm=0.1200,Pm=38.7743,Wc=0.4472,Wcp=1.1395
程序执行后的结果如图3所示。根据图3(b)所示系统的Nyquist曲线,可以判断,在角频率从0→+∞变化时,Nyquist曲线顺时针包围(-1,j0)点(图3中“+”所示),因此是不稳定系统。另外,根据margin命令的提示信息,相角裕度Pm<0也都可以说明系统为不稳定系统。
四、结束语
在“自动控制原理”的教学过程中,通过引入MATLAB软件,研究方法变得简单多样、方便、灵活。利用MATLAB的仿真,使原来很抽象的理论教学内容变得直观明了,有助于增进学生对理论知识的理解和掌握,提高学习的积极性和兴趣性,有效地改善了教学效果。如果将MATLAB软件应用于实验教学,也可以通过改变相应的参数和环节,得到更充分的结果,便于分析比较。
参考文献:
[1]程鹏.自动控制原理[M].北京:高等教育出版社,2003.
[2]曹弋.MATLAB教程及实训[M].北京:机械工业出版社,2008.
[3]薛定宇.控制系统计算机辅助设计——MATLAB语言与应用(第2版)[M].北京:清华大学出版社,2006.
(责任编辑:麻剑飞)