数字PID控制算法及Matlab仿真

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

数字PID控制算法及Matlab仿真一.实验目的:1.学习数字PID算法的基本原理。2.学习数字PID调节器参数调节方法。二.实验属性及设备:验证性实验,使用电脑及相关专业软件。三.实验原理:1.概述首先建立数字PID直流电机控制模型,然后用Matlab的LTI状态分析工具箱进行仿真,并绘制转速及控制电压变化图形。图:kkkyre2.位置式数字PID算法公式010j)(ueeKeKeKukkDkkIkPk3.增量式数字PID算法公式)2()(211kkkDkIkkPkeeeKeKeeKukkkuuu14.MatlabLTI工具箱函数(作为了解内容)例:一台150kW直流电动机,额定电压220V,额定转速1000r/min,额定电流700A,Ra=0.05Ω,Ld=2mH,假设负载及电动机转动总惯量GD2=125kg·m2,则:)min/185.0100005.0*700220rVnRIUCNaNNeAmNCCeT/767.155.9sRLTaaa04.005.01023sCCRGDTTeam051.0767.1185.037505.01253752mAkgCCeM18.003.1传递函数为4902526521051.000204.041.51/1)()(222sssssTsTTCsusymmae利用Matlab建立传递函数方法为:sys=tf(270.5,[1,40,50])当采样间隔为ts=0.01s时,则其z变换(离散)传递函数为:dsys=c2d(sys,ts,'z')Matlab输出为(Transferfunction):0.1217z+0.112-----------------------------z^2-1.736z+0.7788Samplingtime:0.01获得分子和分母的函数为:[num,den]=tfdata(dsys,'v')如果电机输入电压状态为uk,输出转速状态为yk。则2121)3()2()3()2(kkkkkunumunumydenydeny5.Matlab绘图:plot(时间数组,y数组,'颜色及标记')表:plot函数标示符色彩说明标记说明r红色.为点。默认为连续线g绿色b蓝色k黑色四.实验内容:1.位置数字PID算法程序clearall;closeall;ts=0.01;%采样时间=0.001ssys=tf(2652,[1,25,490]);%建立被控对象传递函数dsys=c2d(sys,ts,'z');%把传递函数离散化[num,den]=tfdata(dsys,'v');%离散化后提取分子、分母e_1=0%上一偏差Ee=0;%偏差累计u_1=0.0;%上一状态电压u_2=0.0;y_1=0;%上一状态输出y_2=0;kp=;%PID参数ki=;%;kd=;%;fork=1:100time(k)=k*ts;%时间参数r(k)=500;%给定值y(k)=-1*den(2)*y_1-den(3)*y_2+num(2)*u_1+num(3)*u_2;e(k)=r(k)-y(k);%偏差u(k)=kp*e(k)+ki*Ee+kd*(e(k)-e_1);ifu(k)220u(k)=220;endifu(k)=0u(k)=0;endEe=Ee+e(k);u_2=u_1;u_1=u(k);y_2=y_1;y_1=y(k);e_2=e_1;e_1=e(k);endholdon;plot(time,r,'r',time,y,'b',time,u,'r');%[kp,ki,kd]2.增量数字PID算法程序依据上述方法自己编写增量式PID算法程序。3.程序调试好后,分别改变KP、KI和KD参数值,看输出图形有何变化,理解PID控制中比例、积分和微分对控制系统的作用。图:4.程序中可加入如下语句ifk50r(k)=400;elser(k)=800;end然后观察连续调速时图形变化的情况。图:五.实验要求:复习理解数字PID控制算法,及matlab使用方法,编制位置式和增量式算法控制程序。

1 / 4
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功