学生--PID控制MATLAB仿真实验
PID控制算法的MATLAB仿真研究Word版
计算机控制技术实验报告题目PID控制算法的MATLAB仿真研究班级姓名学号一、 目的和要求1. 目的(1) 通过本课程设计进一步巩固PID 算法基本理论及数字控制器实现的认识和掌握,归纳和总结PID 控制算法在实际运用中的一些特性。
(2) 熟悉MATLAB 语言及其在控制系统设计中的应用,提高学生设计控制系统程序的能力。
2. 要求通过查阅资料,了解PID 算法的研究现状和研究领域,充分理解设计内容,对PID 算法的基本原理与运用进行归纳和总结,并独立完成设计实验和总结报告。
二、 基本内容及步骤1. 任务的提出采用纯滞后的一阶惯性环节作为系统的被控对象模型,传递函数为()1d sf Ke G s T sτ-=+,其中各参数分别为:, 630f T =,60d τ=。
对PID 控制算法的仿真研究可从以下四个方面展开。
(1) PID 控制器调节参数的整定。
PID 参数的整定对控制系统能否得到较好的控制效果是至关重要的,PID 参数的整定方法有很多种,可采用理论整定法(如ZN 法)或者实验确定法(如扩充临界比例度法、试凑法等),也可采用模糊自适应参数整定、遗传算法参数整定等新型的PID 参数整定方法。
选择某种方法对参数整定后,在MATLAB 上对系统进行数字仿真,绘制系统的阶跃响应曲线,从动态特性的性能指标评价系统控制效果的优劣。
(2)改变对象模型参数,通过仿真实验讨论PID 控制参数在被控对象模型失配情况下的控制效果。
由于在实际生产过程的控制中,用模型表示被控对象时往往存在一定误差,且参数也不可能是固定不变的。
在已确定控制器最优PID 调节参数下,仿真验证对象模型的三个参数()中某一个参数变化(不超过原值的±5%)时,系统出现模型失配时控制效果改变的现象并分析原因。
(3)执行机构非线性对PID 控制器控制效果的分析研究。
在控制器输出后加入非线性环节(如饱和非线性、死去非线性等),从仿真结果分析,讨论执行机构的非线性对控制效果的影响。
基于matlab的pid控制仿真课程设计
这篇文章是关于基于Matlab的PID控制仿真课程设计的,主要内容包括PID控制的基本原理、Matlab的应用、课程设计的目的和意义、课程设计的具体步骤和具体操作步骤。
文章采用客观正式的语气,结构合理,旨在解释基于Matlab的PID控制仿真课程设计的重要性和实施方法。
1. 简介PID控制是一种常见的控制算法,由比例项(P)、积分项(I)和微分项(D)组成,可以根据被控对象的实际输出与期望输出的偏差来调整控制器的输出,从而实现对被控对象的精确控制。
Matlab是一种强大的数学建模与仿真软件,广泛应用于工程领域,尤其在控制系统设计和仿真方面具有独特优势。
2. PID控制的基本原理PID控制算法根据被控对象的实际输出与期望输出的偏差来调整控制器的输出。
具体来说,比例项根据偏差的大小直接调整输出,积分项根据偏差的积累情况调整输出,微分项根据偏差的变化速度调整输出。
三者综合起来,可以实现对被控对象的精确控制。
3. Matlab在PID控制中的应用Matlab提供了丰富的工具箱,其中包括控制系统工具箱,可以方便地进行PID控制算法的设计、仿真和调试。
利用Matlab,可以快速建立被控对象的数学模型,设计PID控制器,并进行系统的仿真和性能分析,为工程实践提供重要支持。
4. 课程设计的目的和意义基于Matlab的PID控制仿真课程设计,旨在帮助学生深入理解PID控制算法的原理和实现方法,掌握Matlab在控制系统设计中的应用技能,提高学生的工程实践能力和创新思维。
5. 课程设计的具体步骤(1)理论学习:学生首先需要学习PID控制算法的基本原理和Matlab在控制系统设计中的应用知识,包括控制系统的建模、PID控制器的设计原理、Matlab的控制系统工具箱的基本使用方法等。
(2)案例分析:学生根据教师提供的PID控制实例,在Matlab环境下进行仿真分析,了解PID控制算法的具体应用场景和性能指标。
(3)课程设计任务:学生根据所学知识,选择一个具体的控制对象,如温度控制系统、水位控制系统等,利用Matlab建立其数学模型,设计PID控制器,并进行系统的仿真和性能分析。
学生--PID控制MATLAB仿真实验
计算机控制技术实验指导书(MATLAB版)机电学院杨蜀秦编2012-11-19实验一 连续系统的模拟PID 仿真一、基本的PID 控制 在模拟控制系统中,控制器最常用的控制规律是PID 控制。
模拟PID 控制系统原理框图如图1-1所示。
图1-1 模拟PID 控制系统原理框图PID 控制规律为:⎪⎪⎭⎫⎝⎛++=⎰dt t de T dt t e T t e k t u DtI p )()(1)()(0或写成传递函数的形式⎪⎪⎭⎫ ⎝⎛++==s T s T k s E s U s G D I p 11)()()( Ex1 以二阶线性传递函数ss 251332+为被控对象,进行模拟PID 控制。
输入信号)2.0*2sin()(t t r π=,仿真时取3,1,60===d i p k k k ,采用ODE45迭代方法,仿真时间10s 。
仿真方法一:在Simulink 下进行仿真,PID 控制由Simulink Extras 节点中的PID Controller 提供。
仿真程序:ex1_1.mdl ,如图1-2所示。
图1-2 连续系统PID 的Simulink 仿真程序连续系统的模拟PID 控制正弦响应结果如图1-3所示。
图1-3 连续系统的模拟PID 控制正弦响应仿真方法二:在仿真一的基础上,将仿真结果输出到工作空间中,并利用m 文件作图。
仿真程序:ex1_2.mdl ,程序中同时采用了传递函数的另一种表达方式,即状态方程的形式,其中[]0,01,1330,25010==⎥⎦⎤⎢⎣⎡=⎥⎦⎤⎢⎣⎡-=D C B A ,如图1-4所示。
m 文件作图程序:ex1_2plot.mclose all ;plot(t,rin,'k',t,yout,'k'); xlabel('time(s)'); ylabel('r,y');二、线性时变系统的PID 控制 Ex2 设被控对象为Jss Ks G +=2)(,其中)2sin(300400),6sin(1020t K t J ππ+=+=,输入信号为)2sin(5.0t π。
PID控制器MATLAB仿真
实验4 PID 控制器一、 实验目的1. 了解PID 控制器中P ,I ,D 三种基本控制作用对控制系统性能的影响。
2. 进行PID 控制器参数工程整定技能训练。
二、实验内容:题目1 了解P 、I 、D 三种控制器的作用:. )11(s T sT K G d i p c ++= 已知被控对象传递函数为3)1(1+sA 获取比例系数为1的系统阶跃响应曲线;实验步骤:在matlab 命令窗口中键入: clcclear allg0=tf(1,conv([1 2 1],[1 1])); kp=1;sys=feedback(kp*g0,1); step(sys);legend('Kp=1');grid on 运行得到的图象如图一:Step ResponseTime (sec)A m p l i t u d e图一B 调节比例系数,分析p K 过大和过小对系统动态性能(s p t t ,,σ)有何影响?稳态性能(稳定/ss e )的影响;实验步骤:在matlab 命令窗口中键入: clcclear allg0=tf(1,conv([1 2 1],[1 1])); kp=0.1:0.6:3;for i=1:length(kp)sys=feedback(kp(i)*g0,1); step(sys);legend('first','second','third','four','five'); grid on hold onend 运行之后得到的图象如图二:0246810121416180.10.20.30.40.50.60.70.80.91Step ResponseTime (sec)A m p l i t u d e图二分析:图二中绘制了Kp 从0.1到3时的系统单位阶跃响应曲线,可以看到,当比例作用增大时,闭环系统稳态误差变小,响应的震荡加剧,响应速度变快。
PID控制算法及MATLAB仿真分析
题目:以PID控制进行系统仿真学院自动化学院专业班级工业自动化111班学生姓名黄熙晴目录1 引言 (1)1.1本论文研究内容 (1)2 PID控制算法 (1)2.1模拟PID控制算法 (1)2.2数字式PID控制算法 (3)2.3PID控制算法的改进 (5)2.3.1微分项的改进 (5)2.3.2积分项的改进 (9)2.4模糊PID控制算法 (11)2.4.1模糊推理的系统结构 (12)2.4.2 PID参数在线整定原则 (12)2.5PID控制器研究面临的主要问题 .................................. 错误!未定义书签。
3 MATLAB编程和仿真 (13)3.1PID控制算法分析 (13)3.2MATLAB仿真 (15)4结语 (20)参考文献...................................................................................... 错误!未定义书签。
1 引言PID控制器以其结构简单、稳定性好、工作可靠、调整方便而成为工业控制的主要技术之一。
光学表面等离子共振生物传感技术受温度影响很大,因此设计高精度的温度控制器对于生物分析仪十分重要。
研究PID的控制算法是PID控制器整定参数优化和设定的关键技术之一。
在工业过程控制中,目前采用最多的控制方式依然是PID方式。
它具有容易实现、控制效果好、鲁棒性强等特点,同时它原理简单,参数物理意义明确,理论分析体系完整,并为工程界所熟悉,因而在工业过程控制中得到了广泛应用。
在实际的应用中,许多被控过程机理复杂,具有高度非线性、时变不确定性和纯滞后等特点,特别是在噪声、负载扰动等因素的影响下,参数复杂烦琐的整定过程一直困扰着工程技术人员。
为了减少参数整定的工作量,克服因环境变化或扰动作用造成系统性能的降低,就要提出一种PID控制参数的自动整定。
1.2本论文研究内容本文在介绍传统的PID控制算法,并对传统算法改进后,在学习的基础上提出一种模糊参数自整定方法,这种模糊控制的PID算法必须精确地确定对象模型。
数字PID控制算法及Matlab仿真
数字PID 控制算法及Matlab 仿真一.实验目的:1.学习数字PID 算法的基本原理。
2.学习数字PID 调节器参数调节方法。
二.实验属性及设备:验证性实验,使用电脑及相关专业软件。
三.实验原理:1.概述首先建立数字PID 直流电机控制模型,然后用Matlab 的LTI 状态分析工具箱进行仿真,并绘制转速及控制电压变化图形。
图:kk k y r e -=2.位置式数字PID 算法公式010j )(u e e K e K e K u k k D kk I k P k +-⨯+⨯+⨯=-=∑3.增量式数字PID 算法公式)2()(211---+-⨯+⨯+-⨯=∆k k k D k I k k P k e e e K e K e e K u kk k u u u ∆+=-14.Matlab LTI 工具箱函数(作为了解内容)例:一台150kW 直流电动机,额定电压220V ,额定转速1000r/min ,额定电流700A ,R a =0.05Ω,L d =2mH ,假设负载及电动机转动总惯量GD 2=125kg ·m 2,则:)min/185.0100005.0*700220r V n R I U C N a N N e ⋅=-=-=Am N C C e T /767.155.9⋅==s R L T a a a 04.005.01023=⨯==-s C C R GD T T e a m 051.0767.1185.037505.01253752=⨯⨯⨯==mA kg C C e M ⋅==18.003.1传递函数为4902526521051.000204.041.51/1)()(222++=++=++=s s s s s T s T T C s u s y m m a e利用Matlab 建立传递函数方法为:sys=tf(270.5,[1,40,50])当采样间隔为ts=0.01s 时,则其z 变换(离散)传递函数为:dsys=c2d(sys,ts,'z')Matlab 输出为(Transfer function):0.1217z +0.112-----------------------------z^2-1.736z +0.7788Sampling time:0.01获得分子和分母的函数为:[num,den]=tfdata(dsys,'v')如果电机输入电压状态为u k ,输出转速状态为y k 。
matlab实验四基于Matlab的PID控制器实验
实验四 基于Matlab 的PID 控制器实验一、实验目的1、掌握使用MATLAB 进行根轨迹法的控制系统设计2、掌握使用MATLAB 进行Bode 图法的系统的控制系统设计3、掌握使用MATLAB 进行PID 控制器设计 二、实验内容和要求1. 实验内容(1)练习MATLAB6.5或以上版本(2)练习掌握MATLAB 进行控制系统的设计 2. 实验要求:每位学生独立完成。
三、实验主要仪器设备和材料装有MATLAB6.5或以上版本的PC 机一台。
四、实验方法、步骤及结果测试1. 实验方法:上机练习。
2.实验步骤:(1)根据如图二阶系统,其中,0.7,0.5/n rad s ζω==,当有一阶跃信号作用于系统时,试计算特征量r p s p t t t σ、、、。
程序源代码: Wn=0.5; Rr=0.7; numo=[Wn^2];deno=conv([1,0],[1,2*Wn*Rr]); [num,den]=cloop(numo,deno,-1); G=tf(num,den); step(G); [Y ,T] =step(G);[pos,tp,tr,ts2]=stepchar(Y,T);pos =4.7092tp =8.8343tr =4.2594ts2 =11.8317其中stepchar函数如下function [pos,tp,tr,ts2]=stepchar(y,t)%find pos and tp%返回阶跃响应输出y列向量的最大值mp及对应下标值ind [mp,ind]=max(y);%求取时间向量的长度dimtdimt=length(t);%确定最终的稳定值yssyss=y(dimt);pos=100*(mp-yss)/yss;tp=t(ind);% find rise time tr%确定输出为0.1时的时刻i=1;j=1;k=1;q=1;while y(i)<0.1i=i+1;endt1=t(i);%确定输出为0.9时的时刻 while y(j)<0.9 j=j+1; end t2=t(j); tr=t2-t1; % find ts2 i=dimt+1; n=0; while n==0 i=i-1; if i==1 n=1; elseif y(i)>=1.02 n=1; end endt1=t(i);i=dimt+1;n=0; while n==0 i=i-1; if y(i)<=0.98 n=1; end t2=t(i); if t1>t2 ts2=t1; else ts2=t2; end end(2)设被控对象的传递函数为0()(1)(0.51)kG s s s s =++试其设计要求:1v K s -=10,相角裕度为50度,幅值裕度为10dB ,试确定一个校正装置,以满足性能指标。
用MATLAB对PID控制做简单的仿真
⽤MATLAB 对PID 控制做简单的仿真PID 控制是⽬前⼯程上应⽤最⼴的⼀种控制⽅法,其结构简单,且不依赖被控对象模型,控制所需的信息量也很少,因⽽易于⼯程实现,同时也可获得较好的控制效果。
PID 控制是将误差信号e(t)的⽐例(P),积分(I)和微分(D)通过线性组合构成控制量进⾏控制,其输出信号为:下⾯⽤MATLAB 软件对PID 控制做简单的仿真描述。
1. 建⽴⼆阶负反馈控制系统,其开环传递函数为:clc; clear all; close all;Go = tf(1,conv([2,1],[5,1]));2. ⽐例控制,输出与输⼊偏差成⽐例,即直接将误差信号放⼤或缩⼩。
⽐例控制的传递函数为:取不同的⽐例系数,绘制系统的单位阶跃响应曲线:Kp = [0.5,2,5,10];for m = 1:4 sys = feedback(Kp(m)*Go,1); step(sys); hold on;end随着K P 值的增⼤,系统响应速度加快,但系统的超调也随着增加,调节时间也随着增长。
当K P 增⼤到⼀定值后,闭环系统将趋于不稳定。
⽐例控制具有抗⼲扰能⼒强、控制及时、过渡时间短的优点,但存在稳态误差,增⼤⽐例系数可提⾼系统的开环增益,减⼩系统的稳态误差,从⽽提⾼系统的控制精度,但这会降低系统的相对稳定性,甚⾄可能造成闭环系统的不稳定,因此,在系统校正和设计中,⽐例控制⼀般不单独使⽤。
3. 微分控制,输出与输⼊偏差的微分成⽐例,即与偏差的变化速度成⽐例。
微分控制(与⽐例控制同时使⽤)的传递函数为:取不同的微分系数,绘制系统的单位阶跃响应曲线:Kp = 10;u(t)=[e(t)+e(t)dt +]K P 1T I ∫t 0T D de(t)dt(s)=G O 1(2s +1)(5s +1)(s)=G C K P(s)=(1+s)G C K P T DTd = [0,0.4,1,4];for m = 1:4 G1 = tf([Kp*Td(m),Kp],[0,1]); sys = feedback(G1*Go,1); step(sys); hold on;end随着T D 值的增⼤,系统超调量逐渐减⼩,动态特征有改善。
PID控制算法matlab仿真实验
1 数字PID控制在MATLAB仿真实验下图为数字PID控制算法仿真实验的示意图:
在模拟的过程中,我们分别改变其中的一个参数,而其他的两个参数不变的情况下,观测他的图像变化。
1、当改变比例时:
分析结果:当只改变比例,积分和微分都不变的情况下,比例系数越大,调节作用越强,但是存在调节误差。
2、当只改变积分时
分析结果:当系统中只改变积分,而比例和微风都不变时,可以减少或消除误差,但响应慢。
3、当只改变微分时
分析结果:当系统中加入了微分环节时,改善了系统的稳定性能和动态性能,但是,它的响应比较慢。
大作业 基于matlab的PID控制算法仿真 深圳大学
大作业基于matlab的PID控制算法仿真深圳大学大作业-基于matlab的pid控制算法仿真-深圳大学基于MATLAB的PID控制算法仿真要求:(1)利用MATLAB仿真工具Simulink制作了两种数字PID控制器算法(位置式和增量式)进行仿真(2)受控对象为一阶惯性连杆D(s)=1/(5S+1)(3)采样周期T=1s(4)仿真结果:确定pid相关参数,使得系统的输出能够很快的跟随给定数值变化,给出示例,输入和输出波形,程序列表和必要的分析。
首先,d(s)=1/(5s+1)Simulink模型建立如下:准备工作:(1)双击步骤并将sampletime设置为1,以满足采样周期T=1s的要求(2)选择的模拟时间为500图中\为积分器,\为微分器,\为比例系数。
\为积分时间常数,\为积分时间常数。
当P控制器的参数调整时,微分器和积分器的输出与系统断开。
在smulink中,断开微分器和积分器之间的输出连接。
同样,在设置PI控制器的参数时,断开微分器的输出连接。
第一步是先获取开环系统的单位阶跃响应,在simulink中,把反馈连线、微分器、积分器的输出连线都断开,并将’kp’的值置为1,连线如下图(下载)后,图片可调节变大)模拟完成后,双击“范围”得到下图将kp的值置为2,并连上反馈连线,得下图:上图显示了P控制下系统的单步响应。
接下来对pi控制整定,比例放大系数仍为kp=2,经多次输入ti的值,发现ti=2,即1/ti=0.5时,系统的输出最理想,如下图(下载后,图片可以调整和放大)选定仿真时间,仿真运行,运行元毕后.双击\得到以下结果当响应曲线有一定的超调量,系统响应因积分时间过长而不能稳定时,应缩短积分时间。
相反,如果过冲过大,则应增加积分时间,最后Ti=2最后,连上微分器,经多次输入调试,td的值置为2时,系统能最快地趋向稳定。
如下图双击范围以获取:(下载后,图片可调节变大)从以上三幅图可以看出,PI和PID控制的响应速度基本相同,系统的稳定输出值也相同。
pid控制及其matlab仿真-详细
在MATLAB中搭建仿真模型,验证PID控制器对复杂系统的控制 效果。
PID控制器的参数优化
参数优化方法
采用智能优化算法(如遗传算法、粒子群算法等)对PID 控制器参数进行优化,以进一步提高控制性能。
01
MATLAB实现
在MATLAB中编写优化算法程序,通过 Simulink仿真模型进行测试和验证。
积分控制
02
03
微分控制
通过累积输入信号的变化量来控 制输出信号,以减小输出信号的 误差。
通过预测输入信号的变化趋势来 控制输出信号,以减小输出信号 的超调和响应时间。
PID控制器的参数整定
比例系数
影响控制器的增益,比例系数越 大,控制器的增益越大,输出信 号变化越快。
积分系数
影响积分控制的强度,积分系数 越大,积分控制作用越强,误差 减小越快。
温度控制系统中的应用
温度控制系统是PID控制器的另一个重要应用领域。在工 业和科学实验中,温度控制对于保持恒定的实验条件和产 品质量至关重要。
PID控制器用于温度控制系统的目的是通过自动调节加热 元件的功率或冷却介质的流量,将温度维持在设定的范围 内。
PID控制器通过比较温度传感器的实际测量值与期望值之 间的误差,来调整加热元件或冷却介质的控制信号,以减 小误差并实现稳定的温度控制。
pid控制及其 matlab仿真-详细
目 录
• PID控制理论简介 • MATLAB仿真环境介绍 • PID控制器在MATLAB中的实现 • PID控制器的性能分析 • PID控制器的应用实例 • 结论与展望
01
CATALOGUE
PID控制理论简介
控制系统pid参数整定方法的matlab仿真实验报告
控制系统pid参数整定方法的matlab仿真实验报告一、引言PID控制器是广泛应用于工业控制系统中的一种常见控制算法。
PID 控制器通过对系统的误差、误差积分和误差变化率进行调节,实现对系统的稳定性和动态性能的控制。
而PID参数的整定是保证系统控制性能良好的关键。
本实验旨在利用Matlab仿真,研究控制系统PID参数整定的方法,探讨不同整定策略对系统稳定性和动态性能的影响,为工程实际应用提供理论依据。
二、控制系统模型本实验采用了以二阶惯性环节为例的控制系统模型,其传递函数为:G(s) = K / (s^2 + 2ξω_ns + ω_n^2)其中,K为系统增益,ξ为阻尼比,ω_n为自然频率。
三、PID参数整定方法实验中我们探讨了几种典型的PID参数整定方法,包括经验法、Ziegler-Nichols方法和遗传算法。
1. 经验法经验法是一种简单粗糙的PID参数整定方法,根据实际系统的性质进行经验性调试。
常见的经验法包括手动调整法和试探法。
在手动调整法中,我们通过调整PID参数的大小,观察系统的响应曲线,从而找到满足系统性能要求的参数。
这种方法需要操作者有一定的经验和直觉,且对系统有一定的了解。
试探法是通过试验和试验的结果来确定PID参数的值。
在试探过程中,我们可以逐渐逼近最佳参数,直到满足系统性能要求。
2. Ziegler-Nichols方法Ziegler-Nichols方法是一种广泛应用的PID参数整定方法。
该方法通过系统的临界增益和临界周期来确定PID参数。
首先,在开环状态下,逐渐增加系统增益,当系统开始出现振荡时,记录下此时的增益值和周期。
然后根据临界增益和临界周期的数值关系,计算出PID参数。
3. 遗传算法遗传算法是一种基于生物进化原理的优化算法,可以用于自动化调整PID参数。
该方法通过对参数的种群进行进化迭代,逐渐找到最优的PID参数。
四、实验结果与分析我们利用Matlab进行了控制系统的PID参数整定仿真实验,并得到了不同整定方法下的系统响应曲线。
pid控制器matlab仿真
pid控制器matlab仿真PID控制是最早发展的自动控制策略之一,PID控制系统由比例单元(P)、积分单元(I)和微分单元(D)组成。
具有简单易懂,使用中不需精确的系统模型等先决条件,因而成为应用最为广泛的控制器。
PID控制的参数自动调整是通过智能化调整或自校正、自适应算法来实现。
当被控对象的结构和参数不能完全掌握,或得不到精确的数学模型时,控制理论的其它技术难以采用时,系统控制器的结构和参数必须依靠经验和现场调试来确定,这时应用PID控制技术最为方便。
即当我们不完全了解一个系统和被控对象,或不能通过有效的测量手段来获得系统参数时,最适合用PID控制技术。
PID控制,实际中也有PI和PD控制。
PID控制器就是根据系统的误差,利用比例、积分、微分计算出控制量进行控制的。
本文首先从PID理论出发,建立模型,讨论系统的稳定性,快速性,准确性。
利用MATLAB对PID控制的参数进行仿真,设计不同的参数,以使系统满足所要求的性能指标。
2、控制领域有一个很重要的概念是反馈,它通过各种输出值和它们各自所需值的实时比较的度量―各种误差,再以这些误差进行反馈控制来减少误差。
这样形成的因果链是输入、动态系统、输出、测量、比较、误差、输入构成的一个环路,因而也构成了包含原动态系统在内的一个新的动态闭环系统。
采用反馈的基本原因是要在不确定性存在的条件下达到性能目标。
许多情况下,对于系统的了解是不全面的,或者可用的模型是基于许多简化的假设而使它们变得不透彻。
系统也可能承受外界干扰,输出的观测常受噪声干扰。
有效的反馈能减少这些不确定性的影响,因为它们可以补偿任何原因引起的误差。
反馈概括了很广泛的概念,包括当前系统中的许多回路、非线性和自适应反馈,以及将来的智能反馈。
广义的讲,反馈可以作为描述和理解许多复杂物理系统中发生的循环交互作用的方式。
在实际的过程控制和运动控制系统中,PID占有相当的地位,据统计,工业控制中PID 类控制器占有90%以上。
基于matlab的pid控制仿真课程设计
基于matlab的pid控制仿真课程设计PID(比例-积分-微分)控制器是一种常见的控制算法,被广泛应用于工业控制系统中。
在本文中,我们将介绍基于MATLAB的PID控制仿真课程设计。
首先,我们将简要介绍PID控制器的原理和特点,然后介绍如何使用MATLAB进行PID控制的仿真。
PID控制器是一种反馈控制器,可以通过比例、积分和微分三部分来调节控制系统的输出。
比例部分根据误差的大小进行调节,积分部分用于消除稳态误差,微分部分用于抑制系统振荡。
通过调节PID控制器的参数,可以使系统的稳定性、响应速度和稳态误差达到预期的要求。
在MATLAB中,可以使用控制系统工具箱来进行PID控制的仿真。
首先,我们需要定义一个系统模型,可以是连续时间系统或离散时间系统。
然后,我们可以使用PID控制器对象来创建一个PID控制器。
PID控制器的参数可以通过试错法、模型辨识等方法进行调节。
一旦系统模型和PID控制器被定义,我们可以使用MATLAB中的仿真工具来进行PID控制器的仿真。
通常,我们将输入信号作为控制器的参考信号,将输出信号作为系统的输出,并将控制器的输出作为系统的输入。
然后,我们可以观察系统的响应,并根据需要调整控制器的参数。
在进行PID控制仿真实验时,我们可以通过选择不同的控制器参数、改变控制器的结构、调整参考信号等方式来研究控制系统的性能。
例如,我们可以改变比例增益来改变系统的稳定性和响应速度,增加积分时间常数来减小稳态误差,增加微分时间常数来抑制系统振荡等。
在课程设计中,我们可以设计不同的控制实验,并分析不同参数对系统性能的影响。
例如,可以研究比例增益对系统稳定性和响应速度的影响,或者研究积分时间常数对稳态误差的影响等。
同时,我们还可以通过比较PID控制和其他控制算法(如PI控制、PD控制等)来评估PID控制的优势和局限性。
在进行PID控制仿真实验时,我们应该注意以下几点。
首先,选择合适的系统模型,确保模型能够准确地描述实际系统的行为。
《过程控制及其MATLAB实现》PID控制器参数自整定实验
《过程控制及其MATLAB实现》PID控制器参数自整定实验课程名称:过程控制及其MATLAB实现实验类型:验证性实验项目名称: PID控制器参数自整定一、实验目的1.熟悉PID控制器参数的自整定法;2.学会利用MATLAB实现对控制器参数进行整定。
二、实验设备安装Windows系统和MATLAB软件的计算机一台。
三、实验内容1、某液位控制系统,在控制阀开度增加10%后,液位的响应数据如下:如果用具有延迟的一阶惯性环节近似,确定其参数K、T和t 并根据这些参数整定PI控制器的参数,用仿真结果验证之。
2、已知被控对象的传递面数为G(s)分别用动态特性参款法、稳定边界法,衰减曲线法以及MATLAB的pidtune面数确定PID控制器参数,并用单位阶跃响应比较整定结果。
四、实验原理任务一:该曲线可以近似用带纯延迟的一阶惯性环节式子来拟合,即依据书中公式增益可以用切线法、两点法等方法来求传递函数参数:任务二:1、动态特性参数法:该方法通过观察被控对象的单位阶跃响应曲线,提取出关键的动态特性参数,然后根据这些参数结合经验公式计算出 PID 控制器的参数;2、稳定边界法:该方法是基于被控对象的频域特性进行整定的,它通过绘制被控对象的开环频率响应曲线,找到最接近于稳定极点的相位交点,然后利用该相位交点计算出相位裕度和增益裕度,再根据一定的经验公式计算出 P ID 控制器的参数;3、衰减曲线法:该方法也是基于被控对象的单位阶跃响应曲线进行整定的,它通过绘制被控对象的阶跃响应曲线,根据经验公式计算出该曲线的衰减系数和周期,然后利用这些参数计算出 PID 控制器的参数;4、 MATLAB 的 pidtune 函数:该函数是 MATLAB 提供的自动 PID 控制器设计工具,它可以根据用户指定的性能要求(如超调量、调节时间等)以及被控对象的传递函数,自动计算出最优的 PID 控制器参数。
五、实验步骤任务一:某液位控制系统,在控制阀开度增加10%后,液位的响应数据如下:由数据两点法计算可得可知:t=9,T=18,K=6.3/0.1=63。
MATLAB仿真连续PID控制
4. 连接各个模块,模拟仿真,观察输出的波形。调整 PID 三个参数的值,直到调整到一个 振荡小,反应快的参数为止。 5. 依次改变 PID 的 P、I、D 的值,观察其对输出的影响,记录下波形。
MATLAB 仿真实验图:
仿真实验数据:
1.经过调试后,选择 P=10,I=8,D=20。先改变 P 的值,使依次 P=10,P=20,P=5,可得:
仿真实验步骤:
1. 打开电脑中的 matlab 软件,输入 simulink,打开 matlab 自带的 simulink 模块。 2. 在 simulink 中新建一个 model 文件,将阶跃信号源、PID、传递函数、Scope 等移入软件 中。 3. 在传递函数中键入正确的传递函数。G(s)=
MATLAB 仿真连续 PID 控制
姓 学 学 年级: 专
名: 号: 院: 机械工程学院
业:
PID 控制原理:
PID 控制器(比例-积分-微分控制器)是一个在工业控制应用中常见的反馈回路部件, 由比例单元 P、积分单元 I 和微分单元 D 组成。其输入 e(t)与输出 u(t)的关系为: u(t)=kp[e(t)+1/TI∫e(t)dt+TD*de(t)/dt] 式中积分的上下限分别是 0 和 t 其中 kp 为比例系数;TI 为积分时间常数;TD 为微分时间常数。 由此可得它的传递函数为: G(s)=U(s)/E(s)=kp[1+1/(TI*s)+TD*s] PID 控制理论和应用的关键是,利用比例、积分、微分计算出控制量,做出正确的测量 和比较后,如何才能更好地纠正系统。 1)比例(P)控制 比例控制是一种最简单的控制方式。 其控制器的输出与输入误差信号成比例关系。 当仅 有比例控制时系统输出存在稳态误差: 2)积分(I)控制 在积分控制中, 控制器的输出与输入误差信号的积分成正比关系。 对一个自动控制系统, 如果在进入稳态后存在稳态误差, 则称这个控制系统是有稳态误差的或简称有差系统。 为了 消除稳态误差,在控制器中必须引入“积分项” 。积分项对误差取决于时间的积分,随着时 间的增加,积分项会增大。这样,即便误差很小,积分项也会随着时间的增加而加大,它推 动控制器的输出增大使稳态误差进一步减小,直到等于零。因此,比例+积分(PI)控制器, 可以使系统在进入稳态后无稳态误差。 3)微分(D)控制 在微分控制中,控制器的输出与输入误差信号的微分(即误差的变化率)成正比关系。 自动控制系统在克服误差的调节过程中可能会出现振荡甚至失稳。 其原因是由于存在有较大 惯性组件(环节)或有滞后(delay)组件,具有抑制误差的作用,其变化总是落后于误差 的变化。解决的办法是使抑制误差的作用的变化“超前” ,即在误差接近零时,抑制误差的 作用就应该是零。这就是说,在控制器中仅引入“比例”项往往是不够的,比例项的作用仅 是放大误差的幅值,而目前需要增加的是“微分项” ,它能预测误差变化的趋势,这样,具 有比例+微分的控制器,就能够提前使抑制误差的控制作用等于零,甚至为负值,从而避免 了被控量的严重超调。所以对有较大惯性或滞后的被控对象,比例+微分(PD)控制器能改 善系统在调节过程中的动态特性。 PID 控制器的参数整定是控制系统设计的核心内容。它是根据被控过程的特性确定 PID 控制器的比例系数、积分时间和微分时间的大小。 PID 控制器参数整定的方法很多,概括起来有两大类:一是理论计算整定法。它主要是 依据系统的数学模型, 经过理论计算确定控制器参数。 这种方法所得到的计算数据未必可以 直接用,还必须通过工程实际进行调整和修改。二是工程整定方法,它主要依赖工程经验, 直接在控制系统的试验中进行,且方法简单、易于掌握,在工程实际中被广泛采用。 PID 控制器参数的工程整定方法,主要有临界比例法、反应曲线法和衰减法。三种方法 各有其特点,其共同点都是通过试验,然后按照工程经验公式对控制器参数进行整定。但无
学生--PID控制MATLAB仿真实验-推荐下载
控制主程序ex3.m clear all; close all;
ts=0.001; %采样周期 xk=zeros(2,1);%被控对象经A/D转换器的输出信号y的初值
3
dt 2
对全部高中资料试卷电气设备,在安装过程中以及安装结束后进行高中资料试卷调整试验;通电检查所有设备高中资料电试力卷保相护互装作置用调与试相技互术通关,1系电过,力管根保线据护敷生高设产中技工资术艺料0不高试仅中卷可资配以料置解试技决卷术吊要是顶求指层,机配对组置电在不气进规设行范备继高进电中行保资空护料载高试与中卷带资问负料题荷试2下卷2,高总而中体且资配可料置保试时障卷,各调需类控要管试在路验最习;大题对限到设度位备内。进来在行确管调保路整机敷使组设其高过在中程正资1常料中工试,况卷要下安加与全强过,看度并22工且22作尽22下可22都能22可地护以缩1关正小于常故管工障路作高高;中中对资资于料料继试试电卷卷保破连护坏接进范管行围口整,处核或理对者高定对中值某资,些料审异试核常卷与高弯校中扁对资度图料固纸试定,卷盒编工位写况置复进.杂行保设自护备动层与处防装理腐置,跨高尤接中其地资要线料避弯试免曲卷错半调误径试高标方中高案资等,料,编试要5写、卷求重电保技要气护术设设装交备备置底4高调、动。中试电作管资高气,线料中课并敷3试资件且、设卷料中拒管技试试调绝路术验卷试动敷中方技作设包案术,技含以来术线及避槽系免、统不管启必架动要等方高多案中项;资方对料式整试,套卷为启突解动然决过停高程机中中。语高因文中此电资,气料电课试力件卷高中电中管气资壁设料薄备试、进卷接行保口调护不试装严工置等作调问并试题且技,进术合行,理过要利关求用运电管行力线高保敷中护设资装技料置术试做。卷到线技准缆术确敷指灵设导活原。。则对对:于于在调差分试动线过保盒程护处中装,高置当中高不资中同料资电试料压卷试回技卷路术调交问试叉题技时,术,作是应为指采调发用试电金人机属员一隔,变板需压进要器行在组隔事在开前发处掌生理握内;图部同纸故一资障线料时槽、,内设需,备要强制进电造行回厂外路家部须出电同具源时高高切中中断资资习料料题试试电卷卷源试切,验除线报从缆告而敷与采设相用完关高毕技中,术资要资料进料试行,卷检并主查且要和了保检解护测现装处场置理设。备高中资料试卷布置情况与有关高中资料试卷电气系统接线等情况,然后根据规范与规程规定,制定设备调试高中资料试卷方案。
PID控制算法的MATLAB仿真
PID控制算法的MATLAB仿真假设我们现在要设计一个PID控制器来控制一个被控对象,该对象的传递函数为G(s)。
首先,我们需要确定PID控制器的参数。
这些参数包括比例增益Kp、积分时间Ti和微分时间Td。
在Simulink中,我们可以使用以下步骤来进行PID控制的仿真:1. 打开MATLAB,并在工具栏上选择Simulink模块。
2. 在Simulink模块中,选择一个PID控制器模块,并将其拖放到工作区域中。
4.将被控对象的传递函数G(s)添加到工作区域中,并将其与PID控制器模块连接起来。
5.添加一个把期望值作为输入的信号源,并将其连接到PID控制器模块的输入端口上。
6.添加一个作为输出的信号源,并将其与被控对象的输出端口连接起来。
7. 在Simulink模块中运行仿真。
下面以一个简单的例子来说明PID控制的仿真过程。
假设我们要控制一个小车的速度,将其速度控制在一个期望值上。
小车的动力学方程可以表示为:m * V_dot = F - B * V其中,m为小车的质量,V为小车的速度,F为施加在小车上的力,B 为摩擦系数。
首先,我们需要将动力学方程转化为传递函数的形式。
假设小车的传递函数为:G(s)=1/(m*s+B)在Simulink中,可以通过使用Transfer Fcn模块来表示传递函数。
在工作区域中添加该模块,并设置其参数为1 / (m * s + B)。
接下来,我们需要添加PID控制器模块,并设置其参数。
假设我们选择Kp=1,Ti=0.5,Td=0.1作为PID控制器的参数。
将信号源(期望值)和输出信号(小车速度)连接到PID控制器模块。
然后,将PID控制器的输出连接到小车动力学方程的输入端口。
最后,点击Simulink模块中的“运行”按钮,即可开始仿真。
在进行仿真时,可以观察小车速度是否能够达到期望值,并调整PID控制器的参数以获得更好的控制效果。
通过以上步骤,在MATLAB中可以很方便地进行PID控制的仿真。
计算机控制课程设计--PID控制算法的MATLAB仿真研究
计算机控制课程设计--PID控制算法的MATLAB仿真研究《计算机控制技术》课程设计题目:PID控制算法的MATLAB仿真研究专业:自动化班级:三班学号:姓名:时间:2012年12月24日--2012年12月29日PID 控制算法的MATLAB 仿真研究一、课程设计目的和要求1.目的1)通过本课程设计进一步巩固PID 算法基本理论以及数字控制器实现的认识和掌握,归纳和总结PID 控制算法在实际运用中的一些特性; 2) 熟悉MATLAB 语言及其在控制系统设计中的应用,提高学生对控制系统程序设计的能力。
2.要求通过查阅资料,了解PID 算法研究现状和研究领域,充分理解设计内容,对PID 算法的基本原理与运用进行归纳和总结,并独立完成设计实验和总结报告。
二、课程设计的基本内容及步骤1. 任务的提出PID 控制算法是实际工业控制中应用最为广泛的控制算法,它具有控制器设计简单,控制效果好等优点。
PID 控制器参数的设置是否合适对其控制效果具有很大的影响,在本课设计中采用带纯滞后的一阶惯性环节作为系统的被控对象模型,传递函数为()1d sf Ke G s T sτ-=+,其中各参数分别为:30K =, 630fT=,60dτ=。
MATLAB 仿真框图如图1所示。
图12.对PID 控制算法的仿真研究从以下4个方面展开:(1)PID 控制器调节参数,,PI DKK K 的整定PID 参数的选定对控制系统能否得到好的控制效果是至关重要的,PID 参数的整定方法有很多种,可采用理论整定法(如ZN 法)或者实验确定法(比如扩充临界比例度法、试凑法等),也可采用如模糊自适应参数整定、遗传算法参数整定等新型的PID 参数整定方法。
在此处选用扩充临界比例度法对PID 进行整定,其过程如下:1Out1Zero-Order HoldTransport Delay30630s+1Transfer FcnStepScope1Kp1Kd1KI(z-1)zDiscrete Zero-Pole1z (z-1)Discrete Zero-PoleAdda) 选择一个足够短的采样周期Ts ,由于被控对象中含有纯滞后,且其滞后时间常数为τd =60,故可选择采样周期T s =1。
PID控制特性的实验研究实验
PID 控制特性的实验研究实验一、实验目的1、学习并掌握利用MATLAB 编程平台进行控制系统复数域和频率域仿真的方法。
2、通过仿真实验研究并总结PID 控制规律及参数对系统特性影响的规律。
3、实验研究并总结PID 控制规律及参数对系统根轨迹、频率特性影响的规律,并总结系统特定性能指标下根据根轨迹图、频率响应图选择PID 控制规律和参数的规则。
二、实验设备安装了MATLAB 软件的电脑三、实验原理实验对象的结构框图:如图3.1-1 所示。
图3.1-1Gc(s)为控制器,改变控制器的控制规律,就可以得到不同的输出 Y(s)曲线。
控制器的控制规律常见的有比例控制P ,比例积分控制 PI ,比例微分控制 PD 和比例积分微分控制 PID 这几种。
在工业过程控制中广泛使用的控制器形式叫做 PID 控制器。
它的传递函数为: K i G (s ) = K + + K s c p sd 该控制器包括比例项,积分项和微分项。
时域的输出是:u (t ) = Ke (t ) + K ∫ e (t )dt + K de (t )工程上可以根据需要将PID 控制器分开分别使用:p i d dt 比例控制器(P ,Ki,Kd=0) G c (s ) = K p比例积分控制器(PI ,Kd=0) G (s ) = K + K ic p s比例微分控制器(PD, Ki=0) G c (s ) = K p + K d sPID 控制器在工业上广泛应用一方面是由于它能在各种不同的工作条件下保持良好的控制性能,即鲁棒性好;另一方面是由于其结构简单,便于参数调整和使用。
为了有效使用这种控制器,必须根据给定的对象确定它的三个参数:比例增益、积分增益和微分增益。
工程上称为参数整定。
采用根轨迹分析 PID 控制的控制作用时,PID 控制器传递函数:G (s ) = K + K i + K s = c p s d K d s 2 + K p s + K i = s K d (s 2 + as + b ) = sK d (s + z 1)(s + z 2)s式中 a =Kp/Kd, b=Ki/Kd 。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
计算机控制技术实验指导书(MATLAB版)机电学院杨蜀秦编2012-11-19实验一 连续系统的模拟PID 仿真一、基本的PID 控制 在模拟控制系统中,控制器最常用的控制规律是PID 控制。
模拟PID 控制系统原理框图如图1-1所示。
比例微分积分被控对象r(t)-y(t)u(t)e(t)++图1-1 模拟PID 控制系统原理框图PID 控制规律为:⎪⎪⎭⎫⎝⎛++=⎰dt t de T dt t e T t e k t u DtI p )()(1)()(0或写成传递函数的形式⎪⎪⎭⎫ ⎝⎛++==s T s T k s E s U s G D I p 11)()()( Ex1 以二阶线性传递函数ss 251332+为被控对象,进行模拟PID 控制。
输入信号)2.0*2sin()(t t r π=,仿真时取3,1,60===d i p k k k ,采用ODE45迭代方法,仿真时间10s 。
仿真方法一:在Simulink 下进行仿真,PID 控制由Simulink Extras 节点中的PID Controller 提供。
仿真程序:ex1_1.mdl ,如图1-2所示。
图1-2 连续系统PID 的Simulink 仿真程序连续系统的模拟PID 控制正弦响应结果如图1-3所示。
图1-3 连续系统的模拟PID 控制正弦响应仿真方法二:在仿真一的基础上,将仿真结果输出到工作空间中,并利用m 文件作图。
仿真程序:ex1_2.mdl ,程序中同时采用了传递函数的另一种表达方式,即状态方程的形式,其中[]0,01,1330,25010==⎥⎦⎤⎢⎣⎡=⎥⎦⎤⎢⎣⎡-=D C B A ,如图1-4所示。
m 文件作图程序:ex1_2plot.mclose all ;plot(t,rin,'k',t,yout,'k'); xlabel('time(s)'); ylabel('r,y');二、线性时变系统的PID 控制 Ex2 设被控对象为Jss Ks G +=2)(,其中)2sin(300400),6sin(1020t K t J ππ+=+=,输入信号为)2sin(5.0t π。
采用PD 控制,取1,0,10===d i p k k k 。
仿真程序:ex2.mdl ,如图1-4和图1-5所示。
图1-4 ex2的Simulink 程序图1-5 Simulink 子系统实验二 数字PID 控制计算机控制是一种采样控制,它只能根据采样时刻的偏差值计算控制量。
因此连续PID 控制算法不能直接使用,需要采用离散化方法。
在计算机PID 控制中,使用的是数字PID 控制器。
一、位置式PID 控制算法按模拟PID 控制算法,以一系列的采样时刻点kT 代表连续时间t ,以矩形法数值积分近似代替积分,以一阶后向差分近似代替微分,可得离散PID 位置式表达式:∑∑==--++=⎪⎪⎭⎫ ⎝⎛--++=kj di p kj DIp Tk e k e k T j e k k e k k e k e T T j e T Tk e k k u 00)1()()()())1()(()()()(式中,D p d Ip i T k k T k k ==,,e 为误差信号(即PID 控制器的输入),u 为控制信号(即控制器的输出)。
在仿真过程中,可根据实际情况,对控制器的输出进行限幅。
二、连续系统的数字PID 控制仿真连续系统的数字PID 控制可实现D/A 及A/D 的功能,符合数字实时控制的真实情况,计算机及DSP 的实时PID 控制都属于这种情况。
Ex3 设被控对象为一个电机模型传递函数BsJs s G +=21)(,式中J=0.0067,B=0.1。
输入信号为)2sin(5.0t π,采用PD 控制,其中5.0,20==d p k k 。
采用ODE45方法求解连续被控对象方程。
因为Bs Js s U s Y s G +==21)()()(,所以u dt dy B dt y d J =+22,另y y y y &==2,1,则⎪⎩⎪⎨⎧+-==/J)*u ((B/J)y y y y 12221&&,因此连续对象微分方程函数ex3f.m 如下 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.mclear 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 ts];[tt,xx]=ode45('ex3f',tSpan,xk,[],para); %ode45解系统微分方程 %xx 有两列,第一列为tt 时刻对应的y ,第二列为tt 时刻对应的y 导数xk = xx(end,:); % A/D ,提取xx 中最后一行的值,即当前y 和y 导数 yout(k)=xk(1); %xk(1)即为当前系统输出采样值y(k)e(k)=rin(k)-yout(k);%计算当前误差de(k)=(e(k)-e_1)/ts; %计算u(k)中微分项输出u(k)=20.0*e(k)+0.50*de(k);%计算当前u(k)的输出 %控制信号限幅 if u(k)>10.0 u(k)=10.0; endif u(k)<-10.0 u(k)=-10.0; end%更新u(k-1)和e(k-1) u_1=u(k); e_1=e(k); endfigure(1);plot(time,rin,'r',time,yout,'b');%输入输出信号图 xlabel('time(s)'),ylabel('rin,yout'); figure(2);plot(time,rin-yout,'r');xlabel('time(s)'),ylabel('error');%误差图Ex4 被控对象是一个三阶传递函数ss s 1047035.8752350023++,采用Simulink 与m 文件相结合的形式,利用ODE45方法求解连续对象方程,主程序由Simulink 模块实现,控制器由m 文件实现。
输入信号为一个采样周期1ms 的正弦信号。
采用PID 方法设计控制器,其中05.0,2,5.1===d i p k k k 。
误差初始化由时钟功能实现,从而在m 文件中实现了误差的积分和微分。
控制主程序:ex4.mdl图2-1 Simulink 仿真程序控制子程序:ex4f.mfunction [u]=ex4f(u1,u2)%u1为Clock ,u2为图2-1中Sum 模块输出的误差信号e 的采样值 persistent errori error_1if u1==0 %当Clock=0时,即初始时,e(k)=e(k-1)=0 errori=0 error_1=0 endts=0.001; kp=1.5; ki=2.0; kd=0.05;error=u2;errord=(error-error_1)/ts;%一阶后向差分误差信号表示的误差微分 errori=errori+error*ts;%累积矩形求和计算的误差的积分u=kp*error+kd*errord+ki*errori;%由PID 算式得出的当前控制信号u(k) error_1=error;%误差信号更新三、离散系统的数字PID 控制仿真 Ex5 设被控对象为ss s s G 1047035.87523500)(23++=,采样时间为1ms ,对其进行离散化。
针对离散系统的阶跃信号、正弦信号和方波信号的位置响应,设计离散PID 控制器。
其中S 为信号选择变量,S=1时是阶跃跟踪,S=2时为方波跟踪,S=3时为正弦跟踪。
求出G(s)对应的离散形式)()()(z U z Y z G =,其中Y(z)和U(z)是关于z 的多项式,则可以得到其对应的差分表达式)3()4()2()3()1()2()3()4()2()3()1()2()(-+-+-+------=k u num k u num k u num k y den k y den k y den k yout仿真程序:ex5.m%PID Controller clear all ;close all;ts=0.001;%采样周期sys=tf(5.235e005,[1,87.35,1.047e004,0]);%被控对象连续传递函数dsys=c2d(sys,ts,'z');%转换成离散z传递函数的形式[num,den]=tfdata(dsys,'v');%提取z传递函数中的分子和分母多项式系数u_1=0.0;u_2=0.0;u_3=0.0;%u(k-1)、u(k-2)、u(k-3)的初值y_1=0.0;y_2=0.0;y_3=0.0; %y(k-1)、y(k-2)、y(k-3)的初值x=[0,0,0]'; %比例、微分、积分项的初值error_1=0;%e(k-1)的初值disp('S=1--step,S=2--sin,S=3--square')% S=1阶跃,S=2方波,S=3正弦S=input('Number of input signal S:')%接收输入信号代号for k=1:1:1500time(k)=k*ts;%各采样时刻if S==1 %阶跃输入时kp=0.50;ki=0.001;kd=0.001; %各项PID系数rin(k)=1; %阶跃信号输入elseif S==2kp=0.50;ki=0.001;kd=0.001; %各项PID系数rin(k)=sign(sin(2*2*pi*k*ts)); %方波信号输入elseif S==3kp=1.5;ki=1.0;kd=0.01; %各项PID系数rin(k)=0.5*sin(2*2*pi*k*ts); %正弦信号输入endu(k)=kp*x(1)+kd*x(2)+ki*x(3); %PID控制信号输出u(k)%控制信号输出限幅if u(k)>=10u(k)=10;endif u(k)<=-10u(k)=-10;end%根据差分方程计算系统当前输出y(k)yout(k)=-den(2)*y_1-den(3)*y_2-den(4)*y_3+num(2)*u_1+num(3)*u_2+num(4)*u_3; error(k)=rin(k)-yout(k);%当前误差%更新u(k-1)、u(k-2)、u(k-3)、y(k-1)、y(k-2)、y(k-3)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(k); %比例输出x(2)=(error(k)-error_1)/ts; %微分输出x(3)=x(3)+error(k)*ts; %积分输出error_1=error(k); %更新e(k-1)endfigure(1); %作图plot(time,rin,'r',time,yout,'b');xlabel('time(s)'),ylabel('rin,yout');Ex6针对于Ex5被控对象所对应的离散系统,设计针对三角波、锯齿波和随机信号的位置式响应。