欢迎来到冰豆网! | 帮助中心 分享价值,成长自我!
冰豆网
全部分类
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • 党团工作>
  • ImageVerifierCode 换一换
    首页 冰豆网 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    基于MATLAB下的PID控制仿真.docx

    • 资源ID:7026444       资源大小:218.97KB        全文页数:11页
    • 资源格式: DOCX        下载积分:12金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要12金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    基于MATLAB下的PID控制仿真.docx

    1、基于MATLAB下的PID控制仿真基于MATLAB下的PID控制仿真【摘要】自动化控制的参数的定值控制系统多采用P、I、D的组合控制。本文通过MATLAB软件用于直流伺服电机对单位阶跃信号输入的PID控制进行动态仿真,显示了不同作用组合和不同增益设置时的动态过程,为系统控制规律的选择和参数设定提供了依据。【关键词】自动化控制 仿真 直流伺服电机 MATLAB PID【引言】现代自动化控制中,参数的自动控制占有很大的比例,这些控制多采用P、I、D的组合。通常情况下,对系统的动态过程利用微分方程经拉普拉斯变换导出时间函数,可得到输出量的时间函数,但要得到系统的动态响应曲线,其计算量庞大。因而在一般

    2、情况下对控制结果很难得到精确的预见。矩阵实验室(Matrix laboratory,MATLAB)软件是一个适用于科学计算和工程应用的数学软件系统,历尽20多年的发展,现已是IEEE组织认可的最优化的科技应用软件。该软件有以下特点:数值运算功能强大;编程环境简单;数据可视化功能强;丰富的程序工具箱;可扩展性能强等。在本文中以工程控制中常用的直流伺服电机的自动控制为例,演示MATLAB编程在自动控制系统动态仿真中的应用。【理论推断】1.直流伺服电机模型1.1直流伺服电机的物理模型图1 直流伺服电机的物理模型-电枢输入电压() -电枢电阻() -电枢电感(H)-感应电动势() -电机电磁转矩(N)

    3、 J-转动惯量() B-粘性阻尼系数() -流过电枢的电流(A)-电机输出的转角() 本文所采用的直流伺服电机的物理模型和参数如图1所示。1.2直流电机的数学模型1.2.1基本方程根据基尔霍夫定律和牛顿第二定律对图1所示的电机列基本方程: 式中:为电机的转动常数();为感应电动势常数()1.2.2电机的传递函数对上式进行拉普拉斯变换,得: 设,则图1所示的伺服直流电机模型的方框图如图2所示图2 直流伺服电机模型方框图消去方程组(2)的中间变量,整理得即G(S)为图2所示系统的开环传递函数设图2中的系统参数如下: 2.MATLATB 仿真 利用MATLAB软件对自动控制系统进行仿真的方法有多种,

    4、本文介绍一种比较简单的方法Mfile 方法,即新创建一个M程序文件,然后将其在MATLAB Windows 主界面内运行,MATLAB软件会自动绘制出系统对外界输入的响应曲线。2.1仿真系统的要求图1所示的直流伺服电机的电枢在外加控制电压前是停转状态的,当电枢外加阶跃电压后,由于电枢绕组有电感,电枢电流不能突然增加,有一个电气过程,响应的电磁转矩的增加也有一个过程。但是,为了满足自动控制系统快速响应的要求,只有伺服电机的转速变化应能够快速跟上控制信号的变化。所以本文所述系统(图2)要求在电压输入端输入单位阶跃电压(1V)后,直流伺服电机的转轴应能输出1rad转角,且该系统应同时满足下列要求:系

    5、统调整时间ts40ms,最大超调量MP15%,系统稳态误差ess=0.2.2系统阶跃输入响应仿真首先创建一个MATLAB文件motor.m,即将直流电机的传递函数转换为MATLAB可执行的命令。文件motor.m的内容如下:J=3.23E-6;B=3.51E-6;Ra=4;La=2.75E-6;Kt=0.03;num= Kt;den=(J*La) (J*Ra)+(La*B) (B*Ra)+Kt*Kt) 0;t=0:0.001:0.2;step(num,den,t);现在,在MATLAB的主界面中输入motor后,就可以得到直流伺服电机对单位阶跃输入的响应曲线,如图3所示。图3 系统阶跃响应(K

    6、p=10)图3显示的结果是图4所示开环系统对单位阶跃输入的响应,即直流伺服电机输入1V单位阶跃电压时,电机的转轴输出呈直线性上升。这个分析结果表明,该系统没有达到预期的设计要求。图4 开环系统对单位阶跃输入的响应2.3 PID校正为了使系统能够达到设计要求,可以在图4的前向通道上设置一个控制构成闭环系统来校正直流伺服电机,如图5所示。图5 PID校正2.3.1 比例控制校正为能在要求的40ms内达到设定的角位移,比例增益尽可能的大,以提高比例作用的强度,但必须同时考虑系统的稳定性。采用单纯的比例控制,器调整时间和超调量是一对矛盾,无法同时满足,要缩短调整时间,Kp要加大,但超调量也同时加大了。

    7、经过多次参数选择,但Kp=10时,阶跃响应曲线较为理想,呈现解决0.75衰减率的震荡过程。在图5的前向通道G(s)前加一个比例控制器,即G(c)=Kp,令Kp=10,则motor1为:J=3.23E-6;B=3.51E-6;Ra=4;La=2.75E-6;Kt=0.03;num= Kt;den=(J*La) (J*Ra)+(La*B) (B*Ra)+Kt*Kt) 0;t=0:0.001:0.2;step(num,den,t);Kp=10;numcf=Kp;dencf=1;numf=conv(numcf,num);denf=conv(dencf,den);numc,denc=cloop(numf

    8、,denf);t=0:0.001:0.1;step(numc,denc,t);图6 系统阶跃响应(Kp=10)在MATLAB界面下运行motor1得到图6,由图可知,此时的超调量为50.6%,40ms时的稳态误差为0.248,均不能满足设计要求,特别是调节过程,100ms后才能逐步进入稳态。经过上述分析,对图6所示的动态过程,首先要采取采取措施缩短调整时间,减小超调量。2.3.2比例微分控制校正微分作用具有超前控制能力,可抑制最大动态偏差,提高系统的稳定性。但微分作用有不能单独使用,因为它的输出仅和偏差的变化速度有关。现将比例和微分控制结合使用,取长补短,组成PD控制器。加入微分控制后,控制器

    9、的传递函数为Gc(s)=Kp+Kds,令Kp=10、Kd=0.2,得motor2文件如下修改:J=3.23E-6;B=3.51E-6;Ra=4;La=2.75E-6;Kt=0.03;num= Kt;den=(J*La) (J*Ra)+(La*B) (B*Ra)+Kt*Kt) 0;t=0:0.001:0.2;step(num,den,t);Kp=10;Kd=0.2;numcf=Kd Kp;dencf=1;numf=conv(numcf,num);denf=conv(dencf,den);numc,denc=cloop(numf,denf);t=0:0.001:0.04;step(numc,den

    10、c,t);图7 系统阶跃响应(Kp=10,Kd=0.2)运行motorm2文件,系统的阶跃响应曲线如图7所示,由图可知,此时动态过程的品质指标大幅度提高,其超调量、调整时间等均能满足设计要求,只是在调整时间范围内的稳态误差(10.992)尚需进一步减小。由于加入了D作用,系统的稳定性提高了,可适当增加比例增益Kp以减小稳态误差,通常可将Kp提高20%左右。令Kp=12、Kd=0.2,修改参数后再次模拟,得到图8所示的响应曲线,和图7相比,其稳态误差(10.997)减小了。图8 系统阶跃响应(Kp=12,Kd=0.2)2.3.3PID控制器校正 从比例、微分作用的原理可知,PD作用无法完全消除稳

    11、态误差。为此,在PD作用的基础上加入积分作用,以便稳态误差减至0。 加入积分控制后,控制器的传递函数令Kp=12、Kd=0.2、Ki=220,得motor4程序文件如下:J=3.23E-6;B=3.51E-6;Ra=4;La=2.75E-6;Kt=0.03;num= Kt;den=(J*La) (J*Ra)+(La*B) (B*Ra)+Kt*Kt) 0;t=0:0.001:0.2;step(num,den,t);Kp=12;Ki=220;Kd=0.2;numcf=Kd Kp Ki;dencf=1 0;numf=conv(numcf,num);denf=conv(dencf,den);numc,

    12、denc=cloop(numf,denf);t=0:0.001:0.04;step(numc,denc,t);图9 系统阶跃响应(Kp=12,Ki=220,Kd=0.2)运行motor4得到如图9所示的阶跃响应曲线。由曲线可知在40ms处的稳态误差为(11.03),未达到设计要求。同时其响应过程产生过调,究其原因,是积分作用太强而产生了过调或震荡负面影响,考虑到原PD控制时其稳态误差已很小,稍有积分作用即可,于是将Ki设为20.,得到motor5文件,运行得到图10所示的曲线,超调量为0,在35.2ms处的稳态误差已为0,性能远高于设计要求,稳定、准确、快速达到了完满的统一。图10 系统阶跃响

    13、应(Kp=12,Ki=20,Kd=0.2)【结语】通过上述的实例的演示可知,当采用不同控制方式及改变控制增益时,MATLAB都能准确、清晰地测绘出直流伺服电机对单位阶跃的输出响应曲线图,且具有很高的量化精度,同时也说明了MATLAB软件功能的强大,这种预见性,为系统控制规律的选择和参数设定提供了直观而准确的依据。通过本次对PID控制仿真,我们掌握了P、I、D的组合控制,通过MATLAB软件用于直流伺服电机对单位阶跃信号输入的PID控制进行动态仿真,显示了不同作用组合和不同增益设置时的动态过程,为系统控制规律的选择和参数设定提供了理论依据。【参考文献】 1张志勇、杨祖樱 MATLAB教程 北京航空航天大学出版社2黄坚 自动控制原理及其应用 高等教育出版社3魏克新 王云亮 MATLAB语言与自动控制系统设计 机械工业出版4梅晓榕 自动控制原理 科学出版社5郑阿奇 MATLAB实用教程 电子工业出版社


    注意事项

    本文(基于MATLAB下的PID控制仿真.docx)为本站会员主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2022 冰点文档网站版权所有

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

    收起
    展开