数字PID控制器的MATLAB仿真.docx

  1. 1、本文档共15页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
江苏科技大学 电子信息学院 实 验 报 告 评定成绩指导教师宋英磊 评定成绩 指导教师 宋英磊 实验名称:数字 PID 控制器的 MATLAB 仿真 学号: 1345733203 姓名: 胡文千 班级: 完成日期: 2015 年 11 月 16 日 一、 实验目的 掌握用SIMULINK 对系统进行仿真的基本方法。 对PID 数字控制器进行仿真。 二、 实验内容 1、基本的 PID 控制 在模拟控制系统中,控制器最常用的控制规律是 PID 控制。模拟 PID 控制系统原理框图如图 1-1 所示。 比例 比例 r(t) e(t) 微分 + u(t) y(t) 被控对象 - + 积分 图 1-1 模拟 PID 控制系统原理框图 PID 控制规律为: ?? 1 ? t ?  de(t) ? u(t) ? k p ? e(t) ? T I U (s) e(t)dt ? T 0 D I? 1 I dt ? ??? ? ? 或写成传递函数的形式G(s) ? E(s) ? k p ?1 ? T s T s D 仿真 1 以二阶线性传递函数  133 s 2 ? 25s ? ? 为被控对象,进行模拟 PID 控制。输入信号 r(t) ? sin(2? * 0.2t) ,仿真时取k ? 60, k ? 1, k ? 3 ,采用 ODE45 迭代方法,仿真时间 p i d 10s。 仿真方法:在 Simulink 下进行仿真,PID 控制由 Simulink Extras 节点中的 PID Controller 提供。 仿真程序:ex1_1.mdl,如图 1-2 所示。 图 1-2 连续系统 PID 的 Simulink 仿真程序 将该连续系统的模拟 PID 控制正弦响应结果截图后至于下面的空白处: 连续系统的模拟PID 控制正弦响应如图 1-3 所示。 图 1-3 连续系统的模拟PID 控制正弦响应 2、连续系统的数字 PID 控制仿真 计算机控制是一种采样控制,它只能根据采样时刻的偏差值计算控制量。因此连续PID 控制算法不能直接使用,需要采用离散化方法。在计算机 PID 控制中,使用的是数字 PID 控制器。 按模拟PID 控制算法,以一系列的采样时刻点 kT 代表连续时间t,以矩形法数值积分近 似代替积分,以一阶后向差分近似代替微分,可得离散PID 位置式表达式: T T ?k ?u(k ) ? k p ? e(k ) ? T ?  e( j) ? T ? D (e(k ) ? e(k ? 1))? I ? k e(k ) ? k ?k  j ?0 e( j)T ? k T ? e(k ) ? e(k ? 1) p i d T j ?0 k 式中,k i ? p , k T d I ? k T p D ,e 为误差信号(即PID 控制器的输入),u 为控制信号(即控制 器的输出)。 在仿真过程中,可根据实际情况,对控制器的输出进行限幅。连续系统的数字PID 控制可实现D/A 及 A/D 的功能,符合数字实时控制的真实情况,计算机及 DSP 的实时PID 控制都属于这种情况。 仿真 2 设被控对象为一个电机模型传递函数G(s) ? 1 Js 2 ? Bs  ,式中J=0.0067,B=0.1。输 入信号为0.5sin(2? t) ,采用 PID 控制,其中k p ? 20, k d ? 0.5 。采用 ODE45 方法求解连 续被控对象方程。 仿 真 方 法 : 因 为 G(s) ? Y (s) ? 1 , 所 以 J d 2 y ? B dy ? u , 另 U (s) Js 2 ?? y? ? y Bs dt 2 dt y1 ? y, y2 ? y?,则? y?2 ? ? 1 2 (1/J)*u ,因此连续对象微分方程函数ex3f.m 如下 ?? (B/J)y2 ? function dy = ex3f(t,y,flag,para) u=para; J=0.0067;B=0.1; dy=zeros(2,1); dy(1) = y(2); dy(2) = -(B/J)*y(2) + (1/J)*u; 控制主程序ex3.m clear all; close all; ts=0.001; %采样周期 xk=zeros(2,1);%被控对象经A/D转换器的输出信号y的初值e_1=0;%误差e(k-1)初值 u_1=0;%控制信号u(k-1)初值 for k=1:1:2000 %k为采样步数 time(k) = k*ts; %time中存放着各采样时刻 rin(k)=0.50*sin(1*2*pi*k*ts); %计算输入信号的采样值 para=u_1; % D/A tSpan=[0

文档评论(0)

hao187 + 关注
官方认证
内容提供者

该用户很懒,什么也没介绍

认证主体武汉豪锦宏商务信息咨询服务有限公司
IP属地上海
统一社会信用代码/组织机构代码
91420100MA4F3KHG8Q

1亿VIP精品文档

相关文档