PID控制及仿真_第1页
PID控制及仿真_第2页
PID控制及仿真_第3页
PID控制及仿真_第4页
PID控制及仿真_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、精选优质文档-倾情为你奉上成绩广州航海学院计算机控制的理论基础 实验报告专心-专注-专业专业班级 电气16 姓名学号 冯 实验名称 PID控制及仿真 实验日期 2019.12.20 实验组号 指导教师 李老师 (报告内容包括:实验目的、实验设备及器材、实验步骤、实验数据、图标及曲线处理、实验小结等)一、实验目的1了解常用的计算机控制算法;2熟悉模拟PID控制的基本原理及控制参数的作用;3掌握数字PID控制算法及其仿真。二、实验设备及器材PC机一台三、实验步骤及内容1. 位置式PID控制仿真1.1位置式PID控制程序如下:1.1.1创建PlantModel的M文件并保存function dy=P

2、lantModel(t,y,flag,para) %定义PlantModel函数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;1.1.2位置式PID程序如下clear all; %清除所有close all; %关闭所有ts=0.001; %设置采样时间xk=zeros(2,1); %设置矩阵e_1=0;u_1=0;for k=1:1:2000 %设置循环函数以及采样时刻 time(k)=k*ts; rin(k)=0.50*sin(1*2*pi*k*ts); %设置输入为正弦函数 para=u_

3、1; tSpan=0 ts; tt,xx=ode45('PlantModel',tSpan,xk, ,para); %调用PlantModel函数 xk=xx(length(xx),:); %输出xx的长度 yout(k)=xk(1); e(k)=rin(k)-yout(k); %求出e(k)的表达式 de(k)=(e(k)-e_1)/ts; %求出de(k)的表达式 u(k)=20.0*e(k)+0.50*de(k); %求出u(k)的表达式 if u(k)>10.0 %通过if函数取u(k)上限值或者下限值 u(k)=10.0; end u_1=u(k); e_1=e

4、(k);endfigure(1); %第一涨图片的命名plot(time,yout,'k'); %输出横坐标为时间t,纵坐标为输出响应,并且曲线为黑色xlabel('time(s)'),ylabel('yout');figure(2); %第一涨图片的命名plot(time,rin-yout,'k'); %输出横坐标为时间t,纵坐标为偏差变化,并且曲线为黑色xlabel('time(s)'),ylabel('error'); %设置横坐标为时间t,纵坐标为偏差变化1.1.3仿真结果如下输出相应曲线偏

5、差曲线1.2位置式PID控制小结通过仿真结果可以看出只要PID参数设置合适,参考输入为正弦函数信号,系统输出能够较好地跟踪参考输入。2. 增量式PID控制仿真。2.1增量式PID控制程序如下clear all;%清除所有close all; %关闭所有ts=0.001; %设置采样时间sys=tf(400,1,50,0); %设置连续对象的传递函数dsys=c2d(sys,ts,'z'); %传递函数进行z变换num,den=tfdata(dsys,'v'); %设置传递函数的分子分母变量u_1=0.0;u_2=0.0;u_3=0.0;y_1=0;y_2=0;y

6、_3=0;x=0,0,0'error_1=0;error_2=0;for k=1:1:1000 %设置仿真时间 time(k)=k*ts; rin(k)=1.0; %设置输入为单位阶跃信号 kp=8; %分别设置比例、积分、微分参数 ki=0.10; kd=10; du(k)=kp*x(1)+kd*x(2)+ki*x(3); %求出du(k)的表达式 u(k)=u_1+du(k); %求出u(k)的表达式 if u(k)>=10 %通过if函数取u(k)上限值或者下限值 u(k)=10; endif u(k)<=-10 u(k)=-10;endyout(k)=-den(2)

7、*y_1-den(3)*y_2+num(2)*u_1+num(3)*u_2;error=rin(k)-yout(k); %计算偏差u_3=u_2;u_2=u_1;u_1=u(k); %数据储存y_3=y_2;y_2=y_1;y_1=yout(k);x(1)=error-error_1; %计算比例项x(2)=error-2*error_1+error_2; %计算积分项x(3)=error; %计算微分项error_2=error_1;error_1=error;endplot(time,rin,'b',time,yout,'r'); %输出横坐标为时间t,纵坐标为阶跃信号,并且曲线为红色xlabel('time(s)');ylabel('rin,yout'); %设置横坐标为时间t,纵坐标为阶跃信号,2.2仿真结果如下2.3增量式PID控制小结由仿真结果可以看出参考输入为阶跃信号,只要增量式PID参数设置合适,系统输出也能够较好地跟踪参考输入。四、实验总结通过本次实验,了解常用的计算机控制算法;熟悉模拟PID控制的基本原理及控制参数的作用;掌握数字PID控制算法及其仿真。同时

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论