1、计算机仿真及应用课程设计汇报书学号: 08057102, 08057127 班级: 自动化081 姓名 陈婷,万嘉 目 录一、设计思想二、设计步骤三、调试过程四、结果分析五、心得体会六、参考文件选题一、考虑以下图所表示电机拖动控制系统模型,该系统有双输入,给定输入和负载输入。1、 编制MATLAB程序推导出该系统传输函数矩阵。M(t)一2、 若常系数增益为:C1KaKm1,Kr3,C20.8,Kb1.5,时间常数T15,T20.5,绘制该系统根轨迹、求出闭环零极点,分析系统稳定性。若和分别为单位阶跃输入,绘制出该系统阶跃响应图。(要求C1,Ka,Km,Kr,C2,Kb, T1,T2全部参数全部
2、是可调)R(t)C1KaKrKmKbC2一一一设计思想 题目分析:系统为双输入单输出系统,采取分开计算,再叠加。要求参数均为可调,而matlb中不能计算未赋值函数,那么我们能够把参数设置为可输入变量,运行期间依据要求赋值。设计思绪:使用append命令连接系统框图。选择参数=input(inputanumber:)实现参数可调。采取方案:将结构框图每条支路稍作简化,建立各条支路连接关系结构函数,运行得出对应传输函数。在得出传输函数基础上,使用对应指令求出系统闭环零极点、画出其根轨迹。经过判定极点是否在左半平面来编程判定其系统是否稳定。二设计步骤 (1)将各模块通路排序编号(2)使用append
3、命令实现各模块未连接系统矩阵(3)指定连接关系(4)使用connect命令结构整个系统模型三调试过程出现问题分析及处理措施:在调试过程出现很多平时不注意且不易寻求问题,比如输入逗号和分号在系统运行时不支持汉字格式,这时需要将其全部换成英文格式,这类程序错误需要细心。 在实现参数可调时初始是将其设为常量,再将其赋值进行系统运行,这么参数可调性差,后用 参数=input(inputanumber:)实现。 最终是在建立通路连接关系时需要细心。四结果分析源代码:Syms C1 C2 Ka Kr Km Kb T1 T2C1=input(inputanumber:)C2=input(inputanumb
4、er:)Ka=input(inputanumber:)Kr=input(inputanumber:)Km=input(inputanumber:)Kb=input(inputanumber:)T1=input(inputanumber:)T2=input(inputanumber:)G1=tf(C1,0 1);G2=tf(Ka*Kr,0 1);G3=tf(Km,T1 1);G4=tf(1,T2 1);G5=tf(1,1 0);G6=tf(-C2,1);G7=tf(-Kb,1);G8=tf(-1,1);Sys=append(G1,G2,G3,G4,G5,G6,G7,G8)Q=1 0 0;2 1
5、6;3 2 7;4 3 8;5 4 0;6 5 0;7 4 0;8 0 0;INPUTS1=1;OUTPUTS=5;Ga=connect(Sys,Q,INPUTS1,OUTPUTS)INPUTS2=8;OUTPUTS=5;Gb=connect(Sys,Q,INPUTS2,OUTPUTS)rlocus(Ga)rlocus(Gb)step(Ga,Gb)Z1=tzero(Ga)Z2=tzero(Gb)p=pole(Ga)p=pole(Gb)if p(real)0 yeselse noend仿真框图: 函数Ga(R(t)为输入)根轨迹Ga传函及其表示式:Ga=connect(Sys,Q,INPUTS1
6、,OUTPUTS) Transfer function: 1.2-s3 + 2.2 s2 + s + 0.96 函数Gb(M(t)为输入)根轨迹 Gb 传函及其表示式: Gb=connect(Sys,Q,INPUTS2,OUTPUTS) Transfer function: -2 s - 0.4-s3 + 2.2 s2 + s + 0.96由图可知:闭环极点靠近虚轴,系统快速性不好函数Ga(上),Gb(下)阶跃响应曲线3仿真结果分析阶跃响应是衡量系统控制性能优劣和定义时域性能指标,所以可由此图得出两个函数性能指标。 G(a) 函数延迟时间: 上升时间:峰值时间:超调量: 调整时间:稳态误差:
7、G(b)函数:延迟时间: 上升时间:峰值时间:超调量: 调整时间:稳态误差:以上数据含有误差,其中,延迟时间,上升时间和峰值时间表征系统响应初始阶段快慢,调整时间表示系统过渡过程连续时间,是系统快速性指标,超调量反应系统响应过程平稳性,稳态误差反应系统复现输入最终精度。 选题二、考虑下列非线性系统,其数学描述为非线性微分方程组:其中a=b=0.2,c=5.7,利用Simulink仿真工具建模,并绘制出各个状态变量时间响应曲线。一 设计思想对分方程组在零初始条件下进行拉氏变换,并作出各元件方框图。根据系统中各变量传输次序,依次将各元件子结构图连接起来。 二 设计步骤依据动态结构图用simulin
8、k中元件画出系统仿真框图。三 调试过程具体调试过程:建立好模型后,点三角形运行键运行,在commend window中输入plot(tout,yout),运行,得到仿真输出波形。出现问题:三个输出波形全部在一个figure里面,不知道哪个输出对应哪个状态变量。分析及处理措施:在动态图中依次剪切掉两个输出,观察另一个输出波形。四 结果分析仿真框图;输出波形:选题三、对于时变受控对象模型,考虑一个PI控制系统模型,以下图所表示,其中控制器参数为:百分比常数Kp200,积分常数Ki10,饱和非线性步骤宽度,1、建模并绘制该闭环系统阶跃响应曲线。2、将PI控制器封装为一个PID控制器模块,参数Kp和K
9、i可调整。受控对象模 型饱和非线性步骤Sarurationy(t)r(t)一 设计思想将时变受控对象模型转化,使其输入为u(t),输出为y(t)并将其封装以方便实现系统整体建立,系统第一部分用函数任意命名方法实现。二 设计步骤(1) 用simulink把转化后受控对象关系式画成框图表示形式,并将其封装。(2) 饱和非线性步骤用Saturation,并分别赋值为(-1,1)以实现它宽度为2.(3) 系统第一部分用函数任意命名方法实现。其中,将Ki乘以一个积分步骤,后用加法器实现它和Kp和,这么,Kp,Ki可调,最终将其封装。(4) 将系统三部分封装,和输入,输出相连,将输入接入阶跃信号,输出接示
10、波器便可观察运行后结果。三 调试过程出现问题及处理方法:在调试过程中出现封装中子块错误。比如,相关e关系式中变量要换为u,因为函数子块f(u)中指定了变量为u,而不是t。其次是关系式输入中数和变量之间不能缺乏称号*,比如:写成2u是错误,应改为2* u。以上问题均已处理,未处理问题是无法保留 simulink建模*.dml文件。四 结果分析仿真框图:PID封装模块:PID内部:Kp,Ki,积分器组成子系统Subsystem模块:PI受控对象模型:(调用clock模块来给系统作时钟输入)Fcn1:Fcn:设定Kp,Ki值,Kp=200, Ki=10:把总系统输入接入阶跃信号,输出换为示波器:点开
11、示波器,点运行,出现整个系统阶跃响应输出波形:五、心得体会小组共两人,共经过此次matlab课程设计,我们培养了对课题分析能力、解题步骤设计能力,熟悉了matlab编程语句和对simulink使用方法。刚开始看第一个题目时,我们没怎么看懂,翻阅了书本以后,略悟了题目要求,两人综合意见,得出了第一个设计方案:把参量全部设置成变量形式,然后利用书本上编程语句得到含有未知参量符号形式传输函数表示式。不过经过实际编程尝试,并以出现错误宣告失败。两人分开外出查阅,花费了大量时间,明白了第一个思想是不可实现。求援了同学,又经过了本队思索以后,我们决定用具体数值形式带入编程计算,而这些数值全部经过语句设置为
12、可调。然后,第一个题目标剩下部分迎刃而解。我们明白到我们花费了大量时间是因为对matlab语法、语句不熟悉,因为平时疏于操演。画第二题时,因为想不出X和Z相乘怎么做,也花费了大量时间,最终开机动手开始操作,发觉模块里有相乘模块,我们深刻地明白到:做仿真、做设计,就是要边思索边动手,动手有利于促进问题处理。所以,我们要在实践中探索着前进,而不是等候思绪全部出来以后再动手完成操作。设计第三题过程中,我们学会了怎样使用clock时钟模块作为系统输入,而且观察到了自定义函数模块细节,认识到粗心危害,意识到细心检验关键。我们翻阅了书本,查阅了资料,这是一次对matlab实践学习。我们学会了观察波形输出两种方法:一个是接入示波器来看,一个是用PLOT系列语句来生成图形。我们掌握了子系统封装,熟悉了不少编程语句,经过了本身思索,得出了结果,体会到共同喜悦,增强了对仿真喜爱。老师博学和和蔼,同学互助精神,为小队学习注入了很大动力,经过此次课设,我们也被唤醒了勤奋意识,获益匪浅。六、参考文件郑阿奇主编.MATLAB实用教程第2版,电子工业出版社,.8王宏华主编.现代控制理论,电子工业出版社,.8程鹏主编.自动控制原理,高等教育出版社,.8