先进PID控制及MATLAB仿真第3章专家PID学习心得及疑问.pdfVIP

  • 123
  • 0
  • 约5.11万字
  • 约 50页
  • 2021-12-01 发布于天津
  • 举报

先进PID控制及MATLAB仿真第3章专家PID学习心得及疑问.pdf

先进 PID 控制及 MATLAB仿真第 3 章专家 PID 学习心 得及疑问 因为课题需要,刚开始学习专家控制器 matlab 仿真,用的是刘金锟 先进 PID 控 制及 MATLAB仿真。有一些问题想和大家交流,向大家请教。 1、第三章 专家 PID 中,第一条规则应按最大输出。在 p96 例 3-1 中输出分别为 0.45、0.40、0.12、0.01。如果我的输入信号不是阶跃信号,而是从 0 到 1 缓慢变 化的 s 形曲线,如 v=[1-cos(pi/50*t)]*735 。输出还可以设定为 0.45、0.40、0.12、 0.01 吗? 2、专家 PID 控制中第二条规则当误差处在增大阶段,前面讲的输出为 , 而例 3-1 中 rule2 输出 u(k)=u_1+1.5*kp*x(1) 。这与上式为什么不同?我觉得 kp*x(2)+ki*x(1)+kd*[x(2)-x2_1] 等于 u(k) 的导数,对不对?它与 kp*x(1) 相等吗? 为什么在例 3-1 中不用 ? 3、假设某时刻误差处在变大阶段,且 x (1)=0.25。程序执行时首先执行 rule1, 因为误差大于 0.2,则 u(k)= 0.12 。然后再判断 rule2,因为条件也满足,误差值在 变大,也大于 0.05 所以 u(k)又变为 u_1+1.5*kp*x(1) 。这样程序是不是存在二义 性?而且在我应用此算法仿真一五阶系统时 (详见附件),rule5 误差值小于 0.001, 则输出震荡,而改为 0.1,则输出正常。这样,很多时候,只要误差小于 0.1,则 执行 rule1,u(k)先等于 0.1,再执行 rule2,等于 u_1+1.5*kp*x(1) ,再执行 rule5, 等于 0.4*x(1)+0.475*x(3) 。这样,使得 rule2、rule4 根本就不起作用。我觉得各 误差段应既无遗漏又不重叠。不知我的理解对否? 4 、本来我对采样时间的理解是采样时间越短,仿真精度越高。但我发现只改变 采样时间,其它不变,则输出大不相同,甚至震荡。一开始我以为我的控制器没 设计好,后来我找了书上不少例子试了试,例 3-1、1-9、1-12 都有此现象。这怎 么解释?那这样仿真, 和其他控制方法比较时还有可信度吗?也必须在相同采样 时间下吗? 5、在 simulink 模型仿真时,怎样设置采样时间?在 configuration parameter 中, 有 sample time,但都不能设定具体值。在 solver 中,当采用固定步长时,不能设 置采样时间。当采用变步长 ode45 时, max step time 和 min step time 又不能设 置为相等。难道只有采用默认采样时间?而默认的又是多少呢? 6、input delay 和 transport delay 、iodelay 到底有什么区别啊?带延迟环节的传 递函数应该用哪个来表示,还是都可以? 7、在例 3-1 加入滞后, sys=tf(5.235e005,[1,87.35,1.047e004,0],inputdelay; 结果输 出和不加滞后完全一样,不管滞后有多大。我自己的控制器也是如此。是专家 PID 抵抗滞 后能力强,还是滞后加的不对? 8、例 3-2.s.m 中最后一句 sys=[sys; x(3)]; 是什么意思?输出为什么是加上 x(3) 的增广矩阵? 这些问题困扰我好长时间了,百思不得其解, 书上也找不到相关的资料。如能解惑,不胜感 激。谢谢 我的专家控制器 附:我的专家控制器 %Ex

文档评论(0)

1亿VIP精品文档

相关文档