1、自动控制 直流电机PI控制器稳态误差分析 自动控制课程设计 直流电机PI控制器稳态误差分析 班 级: 11级电信班 学 号: 111102051 姓 名: 指导教师: 日 期: 2013.12.20 摘要扰动能够影响一个的反馈系统的正常运行,而且平时设计的自动控制系统有时难免会受到扰动的影响,这时就要能够很好的处理扰动这个外作用。只有处理好扰动对系统的影响,我们的系统才能像们所希望的那样很好的实现功能。本设计是一个直流电机控制系统,电机转速是系统的输出信号,负载转矩是系统的扰动信号,目的是为了探讨参考输入和扰动输入分别对系统的影响,当然这是完善系统的基本前奏。在本设计中,通过一些原理、方案,使
2、系统能够达到一定的要求。并用MATLAB软件验证自己的计算,从而进行校正、检验。可见,不仅要能够掌握自动控制原理的一些基本知识,还要有熟练运用MATLAB软件的能力,因此在做设计之前要查找充分的资料,并在设计中也勤查资料,只有这样才能全面的、准确的完成课程设计,并能运用MATLAB解决问题。作为学生,不要仅满足于运用MATLAB完成自己的任务,自己要利用这样的好机会,全面的掌握MATLAB的运用,为以后熟练运用MATLAB打下很好的基础。总之,不能仅满足于老师布置的任务,自己要想在课设中有很好的提高,就要勤查资料,严格要求自己,充分利用图书馆、同学一些资源。关键字:扰动 反馈系统 MATLAB
3、目 录1设计要求 12设计原理 13设计方案 24设计分析与计算 24.1系统微分方程 24.2 kP和ki的值 34.3稳态误差(以R为输入) 34.4稳态误差(以W为输入) 45仿真程序、波形及结果分析 55.1 MATLAB表示传递函数 55.2单位阶跃参考输入的系统响应曲线 55.3单位斜坡参考输入的系统响应曲线 75.4单位阶跃扰动输入的系统响应曲线 85.5单位斜坡扰动输入的系统响应曲线 96 心得体会 11参考文献 12直流电机PI控制器稳态误差分析1设计要求 已知一直流电机控制系统的方框图如图1-1所示,其中Y为电机转速,为电枢电压,W为负载转矩。令电枢电压由PI控制定律求取,
4、PI表达式为:,其中e=r-y。 图1-1 直流电机控制系统的方框图通过初始条件完成以下任务:(1)写出以R为输入的直流电机控制系统微分方程;(2)试求kP和kI的值,使闭环系统的特征方程的根包括;(3)计算在单位阶跃参考输入、单位斜坡参考输入、单位阶跃扰动输入、单位斜坡扰动输入时系统的稳态误差;(4)用Matlab证明你的上述答案,并画出系统响应曲线;(5)对上述任务写出完整的课程设计说明书,说明书中必须写清楚分析的过程,附Matlab源程序仿真模型,说明书的格式按照教务处标准书写。2设计原理 对于所给的系统得结构图,R(s)和W(s)都是施加于系统的外作用。R(s)是有用输入作用,简称输入
5、信号; W(s)是扰动信号;Y(s)是系统的输出信号。为了研究有用输入作用对系统的输出信号Y(s)的影响,需要求有用输入作用下的闭环传递函数Y(s)/ R(s)。同样为了研究扰动作用W(s)对系统输出信号Y(s)的影响,也需要求取扰动作用下的闭环传递函数Y(s)/ W(s)。此外,在控制系统的分析和设计中,还常用到在输入信号R(s)或扰动W(s)作用下,以误差信号E(s)作为输出量的闭环误差传递函数,即为E(s)/ R(s)或E(s)/ W(s),以此用于研究系统的稳态误差。其中,以误差信号E(s)作为输出量的传递函数称为误差传递函数。 可以应用叠加原理,在W(s)=0的条件下,求得输入信号下
6、闭环传递函数Y(s)/ R(s);在R(s)=0条件下,求得扰动作用下的闭环传递函数Y(s)/ W(s)。3设计方案可以应用叠加原理,在W(s)=0条件下,求得输入信号下的闭环传递函数Y(s)/ R(s);由传递函数与微分函数的相同性,用替换S,可以得到系统的微分方程;由题中要求的闭环系统的特征方程的根包括,写出一个方程,并由待定系数法,得出Kp、Ki的值。再由叠加原理,求得R(s)=0、扰动作用下的闭环传递函数Y(s)/ W(s)。也可求得以误差信号E(s)作为输出量,W(s)作为输入的误差函数E(s)/W(s)。再对输入W(s)进行讨论,利用终值定理求出误差。 由闭环传递函数Y(s)/ R
7、(s)和Y(s)/ W(s),并通过编程在MATLAB中仿真,把仿真结果和计算结果进行对比并验证。4设计分析与计算4.1系统微分方程 图4-1 W(s)=0时的系统结构图由PI表达式为:,其中e=r-y。可以得出相应的V(s)=Kp+Ki/S。 当负载转矩W(s)=0,有以R为输入的直流电机控制系统如上面图4-1所示,有开环传递函数G(s)H(s)= 同时,有以W(s)=0,R为输入的直流电机控制系统闭环传递函数:闭环传递函数可化为 Y(s)=300Kp*S+300KiR(s)由上面所求等式、传递函数与微分函数的相同性,用d/dt替换S,可以得到系统微分方程:4.2 kP和ki的值由上面所求出
8、的闭环传递函数Y(s)/ R(s),有直流电机控制系统闭环系统的特征方程: =0 (1)若使闭环系统的特征方程的根包括,由这两个根可得下面的方程:(S+30+30j)(S+30-30j)=0,即(2)对比(1)、(2)两式并由待定系数法有30+300Kp=60,300Ki=1800。解得Kp=0.1, Ki=64.3稳态误差(以R为输入)由上面知直流电机控制系统闭环传递函数: 。同时有开环传递函数G(s)H(s)= ,由开环传递函数知系统为1型系统,且有开环增益K=30*60/30=60。在单位阶跃参考输入下,位置误差系数Kp=,对应的稳态误差为0.在单位斜坡参考输入下,速度误差系数Kv=K=
9、60,对应的稳态误差为1/K,而1/K=1/60=0.0167,所以稳态误差为0.167。4.4稳态误差(以W为输入)图4-2 控制系统的信号流图由图4-2的控制系统信号流图,可以得出直流电机控制系统中R(s)=0,并以W(s)为输入的传递函数为: ,而在4.2节中已经求出:Kp=0.1, Ki=6。所以有 。以误差信号E(s)作为输出量,W(s)作为输入的误差函数可求得为:,即有误差函数:在单位阶跃扰动输入下,即W(s)=1/s,此时有,所以有稳态误差。在单位斜坡扰动输入下,即W(s)=,有,所以有稳态误差5仿真程序、波形及结果分析5.1 MATLAB表示传递函数 当负载转矩W(s)=0,有
10、以R为输入的直流电机控制系统闭环传递函数为利用MATLAB将上述模型表示出来,并将其建立在工作空间中有下面效果:图5-1 闭环传递函数模型MATLAB表示5.2单位阶跃参考输入的系统响应曲线负载转矩W(s)=0,输入为R(s)=1/s的直流电机控制系统所对应的情况,此时系统所对应的闭环传递函数为 。则在MATLAB的Editor/Debugger输入程序有: 图5-2 单位阶跃参考输入的系统响应曲线对应程序输入好程序后,在TOOLS菜单中选择RUN得到结果: 图5-3 单位阶跃参考输入的系统响应曲线 结果分析:由上面的单位阶跃参考输入的系统响应曲线图看出,当负载转矩W(s)=0,输入为R(s)
11、=1/s,直流电机控制系统的阶跃响应为衰减振荡过程,且最终稳定在1,此时输出减去输入等于0,即由MATLAB软件仿真得出此时的系统误差为0。而在4.3节求出在单位阶跃参考输入下,位置误差系数Kp=,对应的稳态误差为0。可见MATLAB分析和自己所求结果一样。5.3单位斜坡参考输入的系统响应曲线负载转矩W(s)=0,输入为R(s)=的直流电机控制系统所对应的情况,此时系统所对应的闭环传递函数为。则在MATLAB的Editor/Debugger输入程序有:图5-4 单位斜坡参考输入的系统响应曲线对应程序输入好程序后,在TOOLS菜单中选择RUN得到结果:图5-5 单位斜坡参考输入的系统响应曲线结果
12、分析:由上面单位斜坡参考输入的系统响应曲线看出,当负载转矩W(s)=0,输入为R(s)=,直流电机控制系统的输出能够很好的跟踪输入,即误差接近于零。由图中所取数据看出稳态误差为0.299-0.282=0.017。而在4.3节求出,在单位斜坡参考输入下,速度误差系数Kv=K=60,对应稳态误差0.167。可见MATLAB分析和自己所求结果一样。5.4单位阶跃扰动输入的系统响应曲线输入为R(s)=0,负载转矩W(s)=1/s的直流电机控制系统所对应的情况, 此时系统所对应的闭环传递函数为 。则在MATLAB的Editor/Debugger输入程序有:图5-6 单位阶跃扰动输入的系统响应曲线对应的程
13、序输入好程序后,在TOOLS菜单中选择RUN得到结果图5-7 单位阶跃扰动输入的系统响应曲线结果分析:由上面的单位阶跃扰动输入的系统响应曲线图看出,输入为R(s)=0,负载转矩W(s)=1/s时,直流电机控制系统的输出最终稳定在零,即单位阶跃扰动输入时系统的稳态误差为0。而在4.4节求出,在单位阶跃扰动输入下,即负载转矩W(s)=1/s,此时有 ,所以有稳态误差 。可见MATLAB分析和自己所求结果一样。5.5单位斜坡扰动输入的系统响应曲线输入R(s)=0,负载转矩W(s)=的直流电机控制系统所对应的情况, 此时系统所对应的闭环传递函数为。则在MATLAB的Editor/Debugger输入程
14、序有:图5-8 单位斜坡扰动输入的系统响应曲线对应的程序输入好程序后,在TOOLS菜单中选择RUN得到结果图5-9 单位斜坡扰动输入的系统响应曲线结果分析:由上面的单位斜坡扰动输入的系统响应曲线图看出,输入R(s)=0,负载转矩W(s)=时,直流电机控制系统的输出最终稳定在-0.667,即单位斜坡扰动输入时系统的稳态误差为0.667。而在4.4节求出,在单位斜坡扰动输入下,即负载转矩W(s)=,有,所以由上面所的结论有稳态误差。可见MATLAB分析和自己所求结果一样,从而验证了所求结果。6 心得体会 在现代科学技术的众多领域中,自动控制技术起着越来越重要的作用。自动控制是指在没有人直接参与的情
15、况下,利用外加的设备或装置(称控制装置或控制器),使机器,设备或生产过程(统称被控对象)的某个工作状态或参数(即被控制量)自动地按照预定的规律运行。自动控制系统已被广泛应用于人类社会的各个领域。在工业方面,对于化工、机械制造等生产过程中遇到的各种物理量,包括温度、流量、相位等,都有相应的控制系统。在农业方面的应用包括水位自动控制系统、农业机械的自动操作系统等。此外,在办公室自动化、图书管理 、交通 管 理乃至日常家务方面,自动控制技术也都有着实际的应用。随着控制理论和控制技术的发展,自动控制系统的应用领域还在不断扩大,几乎涉及生物、医学、生态、经济、社会等所有领域。自控涉及的只是很广,所需的知识较多。当然,由于本科阶段时间有限,我们不能很好的更深入的学习自动控制这门课。若想把它学好,在条件许可下,我们应该考上研究生,在研究生阶段更彻底的学习。参考文献1 胡寿松. 自动控制原理(第五版).北京:科学出版社,2006.2 魏克新,王云亮编著. MATLAB语言与自动控制系统设计.机械工业出版社,2000.3 王正林,王胜开编著. MATLAB/Simulink与控制系统仿真.电子工业出版社.