PID控制实验报告,DOC
pid控制实验报告

pid控制实验报告实验报告:PID控制一、实验目的通过本实验,我们的目的是深入了解PID(比例、积分、微分)控制算法,理解其在实际控制中的应用,掌握PID参数的调整方法。
二、实验原理PID控制是依据被控对象的误差(偏差)与时间的积分、微分关系来确定控制器输出的控制方式。
具体来说,PID控制器输出的控制量=Kp*(当前误差+上次误差*dt+所有误差的积分),其中Kp、Ki和Kd分别为比例系数、积分系数和微分系数。
它通过对偏差的补偿,使得被控对象能够在振荡绕过设定值、稳定达到设定值的过程中快速、准确定位设定值。
三、实验设备本实验采用的设备为PID控制器、液晶显示屏、电压控制电机和传感器。
四、实验步骤1. 首先,我们需要将系统设为手动调节状态,关闭控制器。
2. 然后,我们将传感器和记录仪建立起连接。
3. 将系统调整为自动控制状态,让控制器自行计算控制量、作出相应控制。
4. 调整PID控制器的Kp系数,以调整控制精度。
5. 调整PID控制器的Ki系数,以调整控制的灵敏度。
6. 调整PID控制器的Kd系数,以调整控制器的稳定性。
7. 最终完成调整后,我们可以用振荡器数据展示出来实验结果。
五、实验结果在完成调整后,我们得出的控制器输出的控制量稳定在理论值附近,在控制精度与控制的灵敏度达到较好平衡的情况下,控制器的稳定性得到了保证。
实验结果具有较好指导意义。
六、结论本实验通过掌握PID控制算法的实际应用方法,以及对参数的合理设置为基础,完成了对PID控制器各参数调整技巧的掌握,极大地丰富了实验基础技能。
同时,实验结果为之后的实际应用提供了参考,有着极其重要的现实意义。
《自动控制原理》自动控制PID实验报告

《自动控制原理》自动控制PID实验报告课程名称自动控制原理实验类型:实验项目名称:自动控制PID一、实验目的和要求1、学习并掌握利用MATLAB 编程平台进行控制系统复数域和频率域仿真的方法。
2、通过仿真实验研究并总结PID 控制规律及参数对系统特性影响的规律。
3、实验研究并总结PID 控制规律及参数对系统根轨迹、频率特性影响的规律,并总结系统特定性能指标下根据根轨迹图、频率响应图选择PID 控制规律和参数的规则。
二、实验内容和原理一)任务设计如图所示系统,进行实验及仿真程序,研究在控制器分别采用比例(P)、比例积分(PI)、比例微分(PD)及比例积分微分(PID)控制规律和控制器参数(Kp、Ki、Kd)不同取值时,控制系统根轨迹和阶跃响应的变化,总结pid 控制规律及参数变化对系统性能、系统根轨迹、系统阶跃响应影响的规律。
具体实验容如下:1、比例(P)控制,设计参数Kp 使得系统处于过阻尼、临界阻尼、欠阻尼三种状态,并在根轨迹图上选择三种阻尼情况的Kp 值,同时绘制对应的阶跃响应曲线,确定三种情况下系统性能指标随参数Kp 的变化情况。
总结比例(P)控制的规律。
2、比例积分(PI)控制,设计参数Kp、Ki 使得由控制器引入的开环零点分别处于:1)被控对象两个极点的左侧;2)被控对象两个极点之间;3)被控对象两个极点的右侧(不进入右半平面)。
分别绘制三种情况下的根轨迹图,在根轨迹图上确定主导极点及控制器的相应参数;通过绘制对应的系统阶跃响应曲线,确定三种情况下系统性能指标随参数Kp 和Ki 的变化情况。
总结比例积分(PI)控制的规律。
3、比例微分(PD)控制,设计参数Kp、Kd 使得由控制器引入的开环零点分别处于:1)被控对象两个极点的左侧;2)被控对象两个极点之间;66 3)被控对象两个极点的右侧(不进入右半平面)。
分别绘制三种情况下的根轨迹图,在根轨迹图上确定控制器的相应参数;通过绘制对应的系统阶跃响应曲线,确定三种情况下系统性能指标随参数Kp 和Kd 的变化情况。
pid控制实验报告

pid控制实验报告PID控制实验报告引言PID控制是一种常用的控制算法,广泛应用于工业自动化系统中。
本实验旨在通过实际的PID控制实验,验证PID控制算法的效果和优势,并对PID控制的原理、参数调节方法等进行探讨和分析。
一、实验目的本次实验的目的是通过一个简单的温度控制系统,使用PID控制算法来实现温度的稳定控制。
通过实验,验证PID控制算法的有效性和优越性,掌握PID控制的基本原理和参数调节方法。
二、实验设备和原理本实验所用的设备为一个温度控制系统,包括一个温度传感器、一个加热器和一个控制器。
温度传感器用于实时检测环境温度,加热器用于调节环境温度,控制器用于实现PID控制算法。
PID控制算法是基于误差的反馈控制算法,其主要原理是通过不断地调整控制器的输出信号,使得系统的实际输出与期望输出之间的误差最小化。
PID控制算法由比例控制、积分控制和微分控制三部分组成。
比例控制通过比例系数调整控制器的输出信号与误差的线性关系;积分控制通过积分系数调整控制器的输出信号与误差的积分关系;微分控制通过微分系数调整控制器的输出信号与误差的微分关系。
通过合理调节这三个系数,可以实现对系统的精确控制。
三、实验步骤1. 搭建温度控制系统:将温度传感器、加热器和控制器连接在一起,确保信号传输的正常。
2. 设置期望温度:根据实验要求,设置一个期望的温度作为控制目标。
3. 调节PID参数:根据实验的具体要求和系统的特性,调节PID控制器的比例系数、积分系数和微分系数,使得系统的响应速度和稳定性达到最佳状态。
4. 开始实验:启动温度控制系统,观察实际温度与期望温度的变化情况,记录实验数据。
5. 数据分析:根据实验数据,分析PID控制算法的效果和优势,总结实验结果。
四、实验结果与讨论通过实验,我们得到了一系列的实验数据。
根据这些数据,我们可以进行进一步的分析和讨论。
首先,我们观察到在PID控制下,温度的稳定性得到了显著的提高。
PID自动控制系统参数整定实验报告

T13. PID自动控制系统参数整定(化工仪表与自动化,指导教师:卢红梅)实验一:一阶单容上水箱对象特性测试实验实验二:上水箱液位PID整定实验一、实验目的1)、通过实验熟悉单回路反馈控制系统的组成和工作原理。
2)、分析分别用P、PI和PID调节时的过程图形曲线。
3)、定性地研究P、PI和PID调节器的参数对系统性能的影响。
4)、通过实验熟悉单回路反馈控制系统的组成和工作原理。
5)、分析分别用P、PI和PID调节时的过程图形曲线。
6)、定性地研究P、PI和PID调节器的参数对系统性能的影响。
二、实验设备THKJ100-1型过程控制实验装置配置:上位机软件、计算机、RS232-485转换器1只、串口线1根、实验连接线。
型参数为串联釜数N三、实验原理实验一原理:阶跃响应测试法是系统在开环运行条件下,待系统稳定后,通过控制器或其他操作器,手动改变对象的输入信号(阶跃信号)。
同时,记录对象的输出数据或阶跃响应曲线,然后根据已给定对象模型的结构形式,对实验数据进行处理,确定模型中各参数。
实验二原理:图13.1单回路上水箱液位控制系统图13.1为单回路上水箱液位控制系统,单回路调节系统一般指在一个调节对象上用一个调节器来保持一个参数的恒定,而调节器只接受一个测量信号,其输出也只控制一个执行机构。
本系统所要保持的恒定参数是液位的给定高度,即控制的任务是控制上水箱液位等于给定值所要求的高度。
根据控制框图,这是一个闭环反馈单回路液位控制,采用工业智能仪表控制。
当调节方案确定之后,接下来就是整定调节器的参数,一个单回路系统设计安装就绪之后,控制质量的好坏与控制器参数选择有着很大的关系。
合适的控制参数,可以带来满意的控制效果。
反之,控制器参数选择得不合适,则会使控制质量变坏,达不到预期效果。
因此,当一个单回路系统组成好以后,如何整定好控制器参数是一个很重要的实际问题。
一个控制系统设计好以后,系统的投运和参数整定是十分重要的工作。
PID控制电机实验报告

PID控制电机实验报告【摘要】本实验通过PID控制电机,对系统进行控制,实现系统的速度调节和位置调节。
首先通过对系统的建模和参数辨识,得到了系统的数学模型和参数,并根据模型设计了合适的PID控制器。
然后通过实验验证了设计的控制器的有效性,实现了对电机速度和位置的调节。
实验结果表明,PID控制器对于系统的速度调节和位置调节具有良好的性能,能够实现较好的控制效果。
【关键词】PID控制;电机;速度调节;位置调节一、实验目的1.通过PID控制器实现对电机的速度调节和位置调节;2.验证PID控制器的有效性和性能。
二、实验原理PID控制器是一种经典的控制策略,由比例(P)、积分(I)和微分(D)三个部分组成。
PID控制器的数学表达式为输出信号u(t) = Kp*e(t) + Ki*∫e(t)dt + Kd*de(t)/dt,其中e(t)为控制偏差,Kp、Ki和Kd分别为比例、积分和微分系数。
在电机控制中,可以将电机看作一个被控对象,输入电机的电压u(t)通过电机的转矩转化为输出角速度ω(t)。
通过对电机的数学建模,可以得到电机的传递函数为G(s)=k/(Ts+1),其中k为系统增益,T为系统时间常数。
根据系统传递函数的性质,可以得到电机系统的速度和位置闭环模型为Kv(s)=1/(Ts+1)和Kp(s)=Ks/(Ts+1),分别对应于速度和位置的调节。
三、实验装置1.PC机;2.PID控制器板卡;3.直流电机;4.电压放大电路;5.角度传感器。
四、实验步骤1.建立电机的数学模型,并利用实验数据辨识系统的参数;2.根据模型设计PID控制器的参数;3.连接实验装置,将PC机与PID控制器板卡连接,通过板卡控制电机的电压,实现速度和位置调节;4.设置不同的目标速度和目标位置,进行实验并记录实验数据;5.分析实验数据,评价控制器的性能和有效性。
五、实验结果与分析通过实验得到了电机系统的数学模型为G(s)=2/(s+1)和Ks=10/(s+1),并根据模型参数设计了PID控制器的参数为Kp=1,Ki=0.01和Kd=0.5、实验中设置了不同的目标速度和目标位置,通过对比实际速度和位置与目标值的差异,评价了控制器的性能。
数字pid控制实验报告doc

数字pid控制实验报告doc数字pid控制实验报告篇一:实验三数字PID控制实验三数字PID控制一、实验目的1.研究PID控制器的参数对系统稳定性及过渡过程的影响。
2.研究采样周期T对系统特性的影响。
3.研究I型系统及系统的稳定误差。
二、实验仪器1.EL-AT-III型计算机控制系统实验箱一台2.PC计算机一台三、实验内容1.系统结构图如3-1图。
图3-1 系统结构图图中 Gc(s)=Kp(1+Ki/s+Kds)Gh(s)=(1-e-TS)/sGp1(s)=5/((0.5s+1)(0.1s+1))Gp2(s)=1/(s(0.1s+1))2.开环系统(被控制对象)的模拟电路图如图3-2和图3-3,其中图3-2对应GP1(s),图3-3对应Gp2(s)。
图3-2 开环系统结构图1 图3-3开环系统结构图23.被控对象GP1(s)为“0型”系统,采用PI控制或PID控制,可系统变为“I型”系统,被控对象Gp2(s)为“I型”系统,采用PI控制或PID控制可使系统变成“II 型”系统。
4.当r(t)=1(t)时(实际是方波),研究其过渡过程。
5.PI调节器及PID调节器的增益Gc(s)=Kp(1+K1/s)=KpK1((1/k1)s+1) /s=K(Tis+1)/s式中 K=KpKi ,Ti=(1/K1)不难看出PI调节器的增益K=KpKi,因此在改变Ki时,同时改变了闭环增益K,如果不想改变K,则应相应改变Kp。
采用PID调节器相同。
6.“II型”系统要注意稳定性。
对于Gp2(s),若采用PI调节器控制,其开环传递函数为G(s)=Gc(s)·Gp2(s)=K(Tis+1)/s·(本文来自:/doc/a1e402b1c081e53a580216fc700abb 68a882ad33.html 小草范文网:数字pid控制实验报告)1/s(0.1s+1)为使用环系统稳定,应满足Ti>0.1,即K1 7.PID 递推算法如果PID 调节器输入信号为e(t),其输送信号为u(t),则离散的递推算法如下:u(k)=u(k-1)+q0e(k)+q1e(k-1)+q2e(k-2)其中 q0=Kp(1+KiT+(Kd/T))q1=-Kp(1+(2Kd/T))q2=Kp(Kd/T)T--采样周期四、实验步骤1.连接被测量典型环节的模拟电路(图3-2)。
PID算法实验报告

实验三 PID算法实验报告一、实验目的设计最少拍有纹波控制器过程中,在已知偏差的情况下求控制量,即在已知误差曲线的情况下,绘出控制曲线图。
二、实验内容本实验选用VB 6.0作为编程软件,根据差分方程u(k)=0.282 u(k-1)+0.718 u(k-2)+0.5434 e(k) –0.4716e(k-1)+0.1e(k-2)可知,所需要的变量为u(k-1),u(k-2),e(k),e(k-1),e(k-2),其中偏差量e(k),e(k-1),e(k-2)直接输入程序,另外每次计算后需要先将u(k-1)的值赋给u(k-2),再将u(k)的值赋给u(k-1)。
以下为该设计实验的误差曲线:误差曲线程序如下:Private Sub Command1_Click()Dim e(-1 To 10) As SingleDim u(-1 To 10) As SingleDim k As Integer, i%e(-1) = e(0) = e(1) = e(3) = e(4) = e(5) = e(6) = e(7) = e(8) = e(9) = e(10) = 0: e(2) = 1: u(0) = 0: u(-1) = 0 ‘对于不同的偏差,需要改变e(k)值For k = 1 To 10u(k) = 0.282 * u(k - 1) + 0.718 * u(k - 2) + 0.5434 * e(k) - 0.4716 * e(k - 1) + 0.1 * e(k - 2)Print "u(" & k & ") = "; u(k)Next kEnd Sub三、实验数据e(k)分别等于[0,1,0,0,0,0,0,0,0,0],结果如下:u(1)= 0u(2)= 0.5434u(3)= - 0.3184u(4)= 0.4004u(5)= - 0.1157u(6)= 0.2549u(7)= - 0.1119u(8)= 0.1798u(9)= 0.0427u(10)= 0.1412以下为求得的控制曲线:控制曲线。
PID控制实验报告

实验二 数字PID 控制计算机控制是一种采样控制,它只能根据采样时刻的偏差值计算控制量。
因此连续PID 控制算法不能直接使用,需要采用离散化方法。
在计算机PID 控制中,使用的是数字PID 控制器。
一、位置式PID 控制算法按模拟PID 控制算法,以一系列的采样时刻点kT 代表连续时间t ,以矩形法数值积分近似代替积分,以一阶后向差分近似代替微分,可得离散PID 位置式表达式:∑∑==--++=⎪⎪⎭⎫ ⎝⎛--++=k j di p k j D I p T k e k e k T j e k k e k k e k e T T j e T T k e k k u 00)1()()()())1()(()()()( 式中,D p d I pi T k k T k k ==,,e 为误差信号(即PID 控制器的输入),u 为控制信号(即控制器的输出)。
在仿真过程中,可根据实际情况,对控制器的输出进行限幅。
二、连续系统的数字PID 控制仿真连续系统的数字PID 控制可实现D/A 及A/D 的功能,符合数字实时控制的真实情况,计算机及DSP 的实时PID 控制都属于这种情况。
1.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 dty 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/AtSpan=[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.0u(k)=10.0;endif u(k)<-10.0u(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');%误差图程序运行结果显示表1所示。
直流电机控制(PID)实验报告

s = speed1 % 100 / 10;
g = speed1 % 100 % 10;
sent(table[b]);
sent(table[s]);
sent(table[g]);
sent(0); sent(0);//预期值
sent(table[speedset/100]);
out=0;
uk1=uk;//为下一次增量做准备
e2=e1;
e1=e;
PWMTime=out; //out对应于PWM高电平的时间
return(0);
}
void PWMOUT()
{
//PWM=1;
if(cnt<PWMTime)//若小于PWM的设定时间,则输出高电平
PWM=1;
else//否则输出低电平
三、仪器及原理图
实验仪器:THKL-C51仿真器
四、实验代码
%增量式
#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int
#define ufloat unsigned float
sbit PWM=P1^2;
sbit DIN=P1^0;
sbit CLK=P1^1;
uint num;
float count=0;
uint cnt,n=0;
uint out;
uint PWMTime;
uchar code table[] = { 0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0x77,0x7C,0x39,0x5E,0x7B,0x71,0x00,0x40 };
pid 实验报告

pid 实验报告PID 实验报告引言在自动控制领域中,PID(比例-积分-微分)控制器是一种常见且广泛应用的控制算法。
本实验旨在通过实际应用和实验验证,探讨PID控制器的原理、特点以及在工程领域中的应用。
一、PID控制器的原理PID控制器是一种反馈控制算法,其基本原理是根据系统的误差信号进行调整,以达到期望的控制效果。
PID控制器由比例(P)、积分(I)和微分(D)三个部分组成。
1.1 比例控制(P)比例控制是根据误差的大小来调整输出信号的幅度,其公式为:P = Kp * e(t)其中,P为比例控制的输出,Kp为比例增益,e(t)为当前时刻的误差。
1.2 积分控制(I)积分控制是根据误差的累积值来调整输出信号的幅度,其公式为:I = Ki * ∫e(t)dt其中,I为积分控制的输出,Ki为积分增益,∫e(t)dt为误差的累积值。
1.3 微分控制(D)微分控制是根据误差变化的速率来调整输出信号的幅度,其公式为:D = Kd * de(t)/dt其中,D为微分控制的输出,Kd为微分增益,de(t)/dt为误差的变化率。
综合以上三个部分,PID控制器的输出为:PID = P + I + D二、PID控制器的特点2.1 稳定性PID控制器具有良好的稳定性,能够在系统受到外界扰动时,通过调整输出信号来保持系统的稳定运行。
2.2 响应速度PID控制器能够根据误差的大小和变化率来调整输出信号,从而实现快速响应。
当误差较大且变化迅速时,PID控制器会加大输出信号的幅度,以尽快达到期望值。
2.3 鲁棒性PID控制器对于系统参数的变化和外界干扰具有一定的鲁棒性。
通过合理设置PID参数,可以使系统在一定范围内保持稳定性和良好的控制效果。
三、PID控制器在工程领域中的应用PID控制器广泛应用于各个工程领域,如温度控制、速度控制、位置控制等。
3.1 温度控制在工业生产中,许多过程需要对温度进行控制,以确保产品质量和生产效率。
pid的控制作用实验报告

pid的控制作用实验报告一、实验目的本次实验的主要目的是深入研究和理解 PID(比例积分微分)控制器在控制系统中的作用,并通过实际实验观察和分析其对系统性能的影响。
二、实验原理PID 控制器是一种常见的反馈控制算法,它由比例(P)、积分(I)和微分(D)三个部分组成。
比例控制部分根据误差的大小成比例地调整控制输出,其作用是快速减少误差,但不能完全消除稳态误差。
积分控制部分则对误差进行积分,随着时间的积累,积分项可以消除稳态误差,但可能会导致系统响应变慢。
微分控制部分根据误差的变化率来调整控制输出,它能够预测误差的变化趋势,提前进行调整,从而改善系统的动态性能,减少超调量和调节时间。
PID 控制器的输出为这三个部分的总和:$u(t) = K_p e(t) + K_i\int_{0}^{t} e(\tau) d\tau + K_d \frac{de(t)}{dt}$其中,$u(t)$是控制器的输出,$e(t)$是设定值与实际值之间的误差,$K_p$ 是比例系数,$K_i$ 是积分系数,$K_d$ 是微分系数。
三、实验设备与环境1、实验设备控制器:采用可编程逻辑控制器(PLC)或微控制器作为 PID 控制器。
执行机构:例如电机、阀门等。
传感器:用于测量系统的输出,如温度传感器、压力传感器等。
数据采集卡:用于采集传感器的数据并传输给计算机。
计算机:用于运行控制算法和数据分析软件。
2、实验环境温度:室温(约 25℃)湿度:50% 70%四、实验步骤1、系统建模首先,对实验对象进行建模,确定其传递函数或状态空间模型。
通过实验测量或理论分析,获取系统的参数,如时间常数、增益等。
2、参数整定采用试凑法或 ZieglerNichols 等整定方法,初步确定 PID 控制器的参数$K_p$、$K_i$ 和$K_d$。
观察系统的响应,根据性能指标(如超调量、调节时间、稳态误差等)对参数进行调整,直到获得满意的控制效果。
PID控制实验报告,DOC

实验二数字PID 控制计算机控制是一种采样控制,它只能根据采样时刻的偏差值计算控制量。
因此连续PID 控制算法不能直接使用,需要采用离散化方法。
在计算机PID 控制中,使用的是数字PID 控制器。
一、位置式PID 控制算法 按模拟PID 控制算法,以一系列的采样时刻点kT 代表连续时间t ,以矩形法数值积分近似代替积分,以一阶后向差分近似代替微分,可得离散PID 位置式表达式:式中,D p d I pi T k k T k k ==,,e 为误差信号(即PID 控制器的输入),u 为控制信号(即控制器的输出)。
在仿真过程中,可根据实际情况,对控制器的输出进行限幅。
二、连续系统的数字PID 控制仿真连续系统的数字PID 控制可实现D/A 及A/D 的功能,符合数字实时控制的真实情况,计算机及DSP 的实时PID 控制都属于这种情况。
1.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 dty d J =+22,另y y y y &==2,1,则⎪⎩⎪⎨⎧+-==/J)*u ((B/J)y y y y 12221&&,因此连续对象微分方程函数ex3f.m 如下 functiondy=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.mclearall;closeall;ts=0.001;%采样周期xk=zeros(2,1);%被控对象经A/D转换器的输出信号y的初值e_1=0;%误差e(k-1)初值u_1=0;%控制信号u(k-1)初值fork=1:1:2000%k为采样步数time(k)=k*ts;%time中存放着各采样时刻rin(k)=0.50*sin(1*2*pi*k*ts);%计算输入信号的采样值para=u_1;%D/AtSpan=[0ts];[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)的输出%控制信号限幅ifu(k)>10.0u(k)=10.0;endifu(k)<-10.0u(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');%误差图 程序运行结果显示表1所示。
PID控制实验报告

实验题目:PID控制实验学生姓名:学号:区队:日期:学科名称现代控制系统实验实验目的 1. 理解一阶倒立摆的工作机理及其数学模型的建立及简化的方法;掌握使用Matlab/Simulink软件对控制系统的建模方法;2. 通过对一阶倒立摆控制系统的设计;理解和掌握闭环PID控制系统的设计方法;3. 掌握闭环PID控制器参数整定的方法;理解和掌握控制系统设计中稳定性、快速性的权衡以及不断通过仿真实验优化控制系统的方法..实验设备倒立摆实验箱、MATLAB6.5实验原理PID控制原理分析:由前面的讨论已知实际系统的物理模型:Kp=30;Ki=0;Kd=0.560122.6)(2-=ssG对于倒立摆系统输出量为摆杆的角度;它的平衡位置为垂直向上的情况..系统控制结构框图如图3-37;图中KDs是控制器传递函数;Gs是被控对象传递函数..图1 PID控制结构框图其中sKsKKsKDDIP++=)(此次实验只考虑控制摆杆的角度;小车的位置是不受控的;即摆杆角度的单闭环控制;立起摆杆后;会发现小车向一个方向运动直到碰到限位信号..那么要使倒立摆稳定在固定位置;还需要增加对电机位置的闭环控制;这就形成了摆杆角度和电机位置的双闭环控制..立摆后表现为电机在固定位置左右移动控制摆杆不倒..实验步骤:1、使用MATLAB/Simulink 仿真软件建立以下控制模型:图2 PID 控制模块组成2、按照PID 参数整定方法调整PID 参数;设计PID 控制器..3、在倒立摆教学实验软件中进行PID 控制器的仿真验证.. 实验结果:1、PID 参数整定:设置PID 控制器参数;令Kp=1;Ki=0;Kd=0;仿真得到以下图形:1234567891000.511.522.533.544.5x 1030时间t/s摆杆角度Kp=1,Ki=0,Kd=0从图中看出;曲线发散;控制系统不稳定..令Kp=20;Ki=0;Kd=0;仿真得到以下图形:24681000.511.522.533.54时间t/s摆杆角度Kp=20,Ki=0,Kd=0令Kp=30,Ki=0,Kd=0.5令Kp=30,Ki=0,Kd=0.5令Kp=30,Ki=0,Kd=1令Kp=30,Ki=0,Kd=0.5,仿真得到以下图形:令Kp=30,Ki=0,。
pid控制实验报告

pid控制实验报告引言:PID(Proportional-Integral-Derivative)控制是一种常用的控制算法,广泛应用于自动控制系统中。
PID控制器通过不断调整控制量,使得被控对象的输出尽可能接近所期望的目标值。
本文将对PID控制实验进行详细介绍。
实验目的:通过实验,掌握PID控制器的基本原理和工作方式,熟悉PID 参数的调节方法,了解PID控制器在不同系统中的应用。
实验器材:1. 一台计算机2. 编程软件(如MATLAB)3. 实验装置(可选项,如温度控制装置、电机等)实验步骤:1. 确定实验对象:可以选择温度控制装置、水位控制装置或电机等,根据实际需求进行选择。
2. 设计PID控制器:根据实验对象的特性和目标,设计合适的PID控制器,包括确定比例系数KP、积分系数KI和微分系数KD。
3. 参数调节:通过试验和分析,调节PID参数,使得控制系统的性能最优。
4. 实验记录和分析:记录实验数据,并进行分析,评估PID控制器的性能和稳定性。
实验结果:实验结果将根据实际情况有所不同,这里以温度控制装置为例进行讨论。
1. 初始状态:实验开始时,温度控制装置处于初始状态,温度与目标温度存在误差。
2. 比例控制作用:PID控制器根据比例系数KP对误差进行处理,并输出相应的控制量。
当误差较大时,控制量较大,加快系统的响应速度。
随着误差减小,控制量逐渐减小,使系统温度逐渐接近目标温度。
3. 积分控制作用:当误差存在积累时,积分控制作用发挥作用,通过积分系数KI 对误差进行处理。
积分控制可以消除稳态误差,使得系统温度更加稳定。
4. 微分控制作用:微分控制主要处理误差的变化率,通过微分系数KD对误差变化的斜率进行处理。
微分控制可以提高系统的稳定性和响应速度。
5. 参数调节:在实验过程中,根据实际的系统响应和性能要求,通过试验和分析逐步调节PID参数,使得系统的控制响应更加稳定和准确。
实验分析:PID控制器在实验中的表现取决于PID参数的选择和调节。
PID实验报告(实验一)

实验一: 使用simulink对给定对象进行控制仿真一:原理说明:一般说, 增加控制系统比例增益, 可以提高系统的响应速度, 同时也会降低稳态误差。
尽管如此, 如果比例增益太大, 系统超调就会增大, 如果Kp再进一步增加, 震荡就会加大, 系统就会变得不稳定。
图a实验原理图如下图(a)所示, 其中原理图中给定的黄色的输入信号的理想的输入稳定值是1(如图(b)中的箭头所示), 而根据误差中值定理算得它的实际的稳定值是0.6。
通过尝试使用不同的Kp值, 观察Kp的设定对系统动态过程的影响如下图(b)、 (c) 、(d) 、(e)所示。
当: A.要求系统的静差为给定值的40%时, 计算为: (1 -0.6)/1*100%=40%), 系统的静差为给定值的40%的图像如左图(d)所示;B.系统要求它的超调量小于或者等于40%的条件下, 使得系统的上升时间尽量减少, 计算过程为: (1.4-1)/1*100%=40%),系统要求超调量小于或者40%的条件下, 使得系统的上升时间尽量减少的图像如左图(e)所示。
一: 当给定KP 分别为 0.8、2.4、3.5 :Kp 的设定对系统动态过程的影响图像如左图(b )所示:1_1: 当调节KP 分别为1.3.5:Kp 的设定对系统动态过程的影响图像如左图(c )所示:1_2: 当调节KP 分别为 1.5.3.5 : 图(b )图(c )系统的静差为给定值40%(注: (1-0.6)/1*100%=40%)的图像如左图(d)所示:图(d)对于单位负反馈, 静差E(S)=R(S)-C(S), 其中输入信号为1(t)根据终值定理可知当KP取1.5时, 系统的静差刚好为给定值的40%。
1_3: 当调节KP分别为7、3.5:➢系统要超调量小于或40%((1.4-1)/1*100%=40%)条件下, 使系统上升时间尽量减少如图(e)所示:➢总结: 联系上图(b)、(c)、(d)、(e)可知, KP由0.8一直增大到7可以看出, 增大比例系数KP可以加快系统的响应, 在有静差的时候有助于减小静差。
温度pid控制实验报告

温度pid控制实验报告温度PID控制实验报告引言:温度控制是工业生产中非常重要的一个环节,对于保证产品质量和提高生产效率有着至关重要的作用。
PID控制器是一种常用的温度控制方法,本实验旨在通过对PID控制器的实际应用,探究其在温度控制中的有效性和稳定性。
一、实验目的本实验旨在通过调整PID控制器的参数,实现对温度的精确控制,验证PID控制器在温度控制中的有效性。
二、实验器材和方法1. 实验器材:- 温度控制系统:包括温度传感器、加热器和PID控制器。
- 数据采集仪:用于记录和分析实验数据。
- 电脑:用于控制PID控制器和进行数据处理。
2. 实验方法:- 设置目标温度:根据实验要求,设定目标温度为X摄氏度。
- 参数调整:通过调整PID控制器的比例系数(P)、积分系数(I)和微分系数(D),找到最佳参数组合。
- 实验记录:记录实验过程中的温度变化和PID控制器的输出信号。
- 数据分析:通过对实验数据的分析,评估PID控制器的性能。
三、实验结果与分析在实验过程中,我们首先设定了目标温度为X摄氏度,并通过调整PID控制器的参数来实现对温度的控制。
在初始阶段,我们选择了一个较小的比例系数,以避免温度波动过大。
随着实验的进行,我们逐渐增加了比例系数,同时调整了积分系数和微分系数,以达到更精确的温度控制。
通过实验数据的分析,我们发现PID控制器能够有效地控制温度,并在设定的目标温度附近保持稳定。
当温度偏离目标温度时,PID控制器会根据偏差大小和变化趋势来调整输出信号,以实现温度的快速调整和稳定控制。
尤其是积分和微分项的引入,使得PID控制器具有了更好的稳定性和抗干扰能力。
在参数调整过程中,我们发现比例系数的增加会加快温度的响应速度,但也容易引起过冲现象;积分系数的增加可以减小温度的稳态误差,但过大的积分系数可能导致系统不稳定;微分系数的增加可以提高系统的动态响应速度,但过大的微分系数可能引起噪声干扰。
综合考虑,我们通过实验得出了最佳的PID控制器参数组合,实现了对温度的精确控制。
(完整)单回路PID控制系统实验报告

北京联合大学实验报告实验名称:单回路PID控制系统学院:自动化专业:自动化班级:学号:姓名:成绩:2013年 10 月24 日实验二单回路P I D控制系统组成及过程动态特性参数对控制质量的影响一、实验目的:1.熟悉Matlab仿真环境;2.理解单回路控制系统的组成;3.理解给定值扰动和负荷扰动的过渡过程曲线;4.掌握扰动通道、控制通道的静态参数和动态参数对控制质量的影响;5.掌握扰动作用位置对控制质量的影响;6.掌握对象的多个时间常数之间的关系对控制质量的影响;二、实验内容:对如下图所示的单回路控制系统进行仿真.W C(S)W V(S)W0(S)-W m(S)进入仿真环境,建立如下仿真系统:例:其中,Step input作为系统给定值;而Step1 input作为外部干扰。
注:PID模块后的比例环节可换为一阶环节。
具体步骤为:1、模块在库中,模块在库中,模块在库中,模块在库中。
模块在库的中.2、双击模块可以设定每个模块的参数,左键拖动鼠标产生连线,右键拖动鼠标可产生交接线.(一)给定值扰动:设置给定值阶跃扰动Step input为某一值,设外部干扰Step1 input为0,改变PID控制器的参数,从模块观察系统输出曲线,直到出现4:1衰减曲线。
(如图)①修改Step input模块:双击,对话框参数为:②修改PID模块:双击PID模块,出现如下对话框:在此窗口下修改P、I、D参数。
反复调整P、I、D参数,使输出成为4:1衰减曲线。
如图(二)负荷扰动:修改参数步骤与(一)相同,设Step input给定值扰动为0,负荷扰动Step1 input设置为某一值。
反复调整P、I、D参数,使输出成为4:1衰减曲线(三)观察扰动通道和控制通道参数对控制质量的影响:(调节器整定参数值不变) 1.改变扰动通道静态参数和动态参数,观察输出波形的变化;2.改变控制通道静态参数和动态参数,观察输出波形的变化;3.改变扰动作用位置,观察输出波形的变化;4.改变对象各时间常数的值,观察输出波形的变化;三、实验结果整理:1、总结单回路仿真系统的基本组成部分。
pid控制实验报告

pid控制实验报告PID控制实验报告。
一、实验目的。
本实验旨在通过对PID控制器的调试和实验验证,掌握PID控制器的工作原理和调节方法,加深对控制原理的理解,提高实际控制系统的设计和调试能力。
二、实验原理。
PID控制器是一种常用的控制器,它由比例(P)、积分(I)、微分(D)三个部分组成。
在实际控制系统中,PID控制器通过对控制对象的测量值和设定值进行比较,产生误差信号,然后根据比例、积分和微分三个部分的参数进行计算,输出控制信号,使控制对象的输出值逼近设定值,实现控制目标。
三、实验装置。
本实验采用了PLC控制器和温度传感器作为控制系统,通过对温度传感器的测量值进行反馈控制,调节加热器的功率输出,控制温度在设定值附近波动。
四、实验步骤。
1. 首先,设置PID控制器的比例、积分和微分参数为初始值,将控制系统接通,使加热器开始工作。
2. 然后,通过监测温度传感器的测量值,观察加热器的工作状态和温度的变化情况。
3. 接着,根据实际情况,逐步调节PID控制器的参数,使控制系统的响应速度和稳定性达到最佳状态。
4. 最后,记录和分析不同参数下控制系统的响应曲线,比较不同参数对控制系统性能的影响,总结调节经验。
五、实验结果与分析。
经过一系列的实验调节,我们得到了不同参数下的控制系统响应曲线。
通过对比分析,我们发现:1. 比例参数的增大会加快系统的响应速度,但会引起超调和振荡现象;2. 积分参数的增大可以减小稳态误差,但会增加超调和振荡的幅度;3. 微分参数的增大可以减小超调和振荡,但会降低系统的响应速度。
六、实验结论。
通过本次实验,我们深入理解了PID控制器的工作原理和调节方法,掌握了控制系统的设计和调试技巧。
在实际工程中,我们可以根据实际需求,通过调节PID 控制器的参数,使控制系统达到最佳的性能指标。
七、实验心得。
通过本次实验,我们不仅学习了PID控制器的基本原理和调节方法,还提高了实际控制系统的设计和调试能力。
实验五--PID控制实验

倒立摆PID控制实验1.实验目的:学习实验系统建模;PID控制作用机理及实现2.实验步骤(一)倒立摆数控平台PID位置控制实验部分1.实验原理图1 实验平台系统组成图2 实验方案此部分实验平台系统是由X平台机械本体、交流伺服电机、智能控制器和上位机(PC 机)组成。
我们以“工作台的移动位置”为控制对象,在位置环闭环控制回路中,为了取得良好的跟踪效果,通过调整该环PID参数,实现系统良好的位置响应特性。
2.实验步骤(1)确认系统连线正确,打开电控箱电源;(2)将XTable Experiment 文件夹拷贝到Matlab的work文件夹下,打开matlab,将当前路径改为“。
\Program Files\MA TLAB\work\XTable Experiment”;(3)在命令窗口输入TimeRe,按回车键确定,打开时间响应实验的的主界面;(4)在界面中的“输入类型”中,点击下拉菜单,显示“无”、“Go2Center”、“Control”、“Step”、“Impulse”等选项。
其中“Go2Center”或“Control”选项用于设置平台的初始位置。
其中“Go2Center”为自动控制工作台到中央一个设定的位置。
“Control”为手动设置工作台位置。
(5)完成上一步后,可依次选择打开StepIn,Impulse等文件。
例如打开StepIn,双击“Double click”模块,设置PC机与控制器的通信端口,并可修改控制卡位置控制回路的PID参数。
程序运行时将此PID参数下载至智能控制其,此时上位机不再作为控制器。
建议在修改PID参数前将最初的参数记录下来,以免遗忘丢失。
(6)点击运行按钮,双击scope可以查看工作台的单位阶跃响应曲线。
(7)单击获取性能参数值,可获取单位阶跃响应的超调量,调整时间,稳态误差,以便更清楚系统的性能。
单击“获取坐标值”便可读取时间响应曲线上任意点的坐标值。
(8)单击“响应误差曲线”按钮,便可得系统时间相应的误差曲线。
pid自控原理实验报告

自动控制原理实验——第七次实验实验目的(1)了解数字PID控制的特点,控制方式。
(2)理解和掌握连续控制系统的PID控制算法表达式。
(3)了解和掌握用试验箱进行数字PID控制过程。
(4)观察和分析在标PID控制系统中,PID参数对系统性能的影响。
二、实验内容1、数字PID控制一个控制系统中采用比例积分和微分控制方式控制,称之为PID控制。
数字PID控制器原理简单,使用方便适应性强,可用于多种工业控制,鲁棒性强。
可以用硬件实现,也可以用软件实现,也可以用如见硬件结合的形式实现°PID控制常见的是一种负反馈控制,在反馈控制系统中,自动调节器和被控对象构成一个闭合回路。
模拟PID控制框图如下:输出传递函数形式:D(s)=少=K+K1+KsE(s)pi s d其中Kp为调节器的比例系数,Ti为调节器的积分常数,Td是调节器的微分常数。
2、被控对象数学模型的建立1)建立模型结构在工程中遇到的实际对象大多可以表示为带时延的一阶或二价惯性环节,故PID整定的方法多从这样的系统入手,考虑有时延的单容被控过程,其传递函数为:1G(s)二K x——e-T s00TS+1o这样的有时延的单容被控过程可以用两个惯性环节串联组成的自平衡双容被控过程来近似,本实验采用该方式作为实验被控对象,如图3-127所示。
1G(s)二Kx——x00TS+1TS+1122)被控对象参数的确认对于这种用两个惯性环节串联组成的自平衡双容被控过程的被控对象,在工程中普遍采用单位阶跃输入实验辨识的方法确认T和T,以达到转换成有时延的单容被控过程的目的。
单位阶跃输入实验辨识的原理方框如图3-127所示。
对于不同的「、门和K值,得到其单位阶跃输入响应曲线后,由Y(t)二0.3Y(Q和Y(t)二0.7Y(Q得到t和t,再利用拉氏反变换公式得到01002012To二=L2-L1二L》L H|1YgLl.iL1L<1yc:L^::=|.2U^L'IL.3^6/L2L n|1-Yo(t1)T-L I L1-yoftij」0.M/33、采样周期的选择采样周期选择。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验二数字PID 控制计算机控制是一种采样控制,它只能根据采样时刻的偏差值计算控制量。
因此连续PID 控制算法不能直接使用,需要采用离散化方法。
在计算机PID 控制中,使用的是数字PID 控制器。
一、位置式PID 控制算法 按模拟PID 控制算法,以一系列的采样时刻点kT 代表连续时间t ,以矩形法数值积分近似代替积分,以一阶后向差分近似代替微分,可得离散PID 位置式表达式:式中,D p d I pi T k k T k k ==,,e 为误差信号(即PID 控制器的输入),u 为控制信号(即控制器的输出)。
在仿真过程中,可根据实际情况,对控制器的输出进行限幅。
二、连续系统的数字PID 控制仿真连续系统的数字PID 控制可实现D/A 及A/D 的功能,符合数字实时控制的真实情况,计算机及DSP 的实时PID 控制都属于这种情况。
1.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 dty d J =+22,另y y y y ==2,1,则⎪⎩⎪⎨⎧+-==/J)*u ((B/J)y y y y 12221 ,因此连续对象微分方程函数ex3f.m 如下 functiondy=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.mclearall;closeall;ts=0.001;%采样周期xk=zeros(2,1);%被控对象经A/D转换器的输出信号y的初值e_1=0;%误差e(k-1)初值u_1=0;%控制信号u(k-1)初值fork=1:1:2000%k为采样步数time(k)=k*ts;%time中存放着各采样时刻rin(k)=0.50*sin(1*2*pi*k*ts);%计算输入信号的采样值para=u_1;%D/AtSpan=[0ts];[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)的输出%控制信号限幅ifu(k)>10.0u(k)=10.0;endifu(k)<-10.0u(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');%误差图 程序运行结果显示表1所示。
表1程序运行结果输入输出图 误差图分析:输出跟随输入,PD 控制中,微分控制可以改善动态特性,调节时间缩短,允许加大比例控制,使稳态误差减小,提高了控制精度.2.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控制子程序:ex4f.mfunction[u]=ex4f(u1,u2)%u1为Clock ,u2为图2-1中Sum 模块输出的误差信号e 的采样值persistenterrorierror_1ifu1==0%当Clock=0时,即初始时,e(k)=e(k-1)=0errori=0error_1=0endts=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;%误差信号更新图2-1Simulink仿真程序其程序运行结果如表2所示。
Matlab输出结果errori=error_1=表2例4程序运行结果kp=1.5;ki=2.0;kd=0.05;kp=3.5;ki=2.0;kd=0.05;三、离散系统的数字PID 控制仿真1.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 的多项式,则可以得到其对应的差分表达式仿真程序:ex5.m%PIDControllerclearall;closeall;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('NumberofinputsignalS:')%接收输入信号代号fork=1:1:1500time(k)=k*ts;%各采样时刻ifS==1%阶跃输入时kp=0.50;ki=0.001;kd=0.001;%各项PID系数rin(k)=1;%阶跃信号输入elseifS==2kp=0.50;ki=0.001;kd=0.001;%各项PID系数rin(k)=sign(sin(2*2*pi*k*ts));%方波信号输入elseifS==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)%控制信号输出限幅ifu(k)>=10u(k)=10;endifu(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');其程序运行结果如表3所示。
kp=0.50;ki=0.001;kd=0.001;kp=1.50;ki=0.001;kd=0.001;S=1阶跃跟踪S=2方波跟踪S=3正弦跟踪2.Ex6针对于Ex5被控对象所对应的离散系统,设计针对三角波、锯齿波和随机信号的位置式响应。
仿真程序:ex6.m。
程序中当S=1时为三角波,S=2时为锯齿波,S=3时为随机信号。
如果D=1,则通过pause命令实现动态演示仿真。
%PIDControllerclearall;closeall;ts=0.001;sys=tf(5.235e005,[1,87.35,1.047e004,0]);dsys=c2d(sys,ts,'z');[num,den]=tfdata(dsys,'v');u_1=0.0;u_2=0.0;u_3=0.0;r_1=rand;y_1=0;y_2=0;y_3=0;x=[0,0,0]';error_1=0;disp('S=1--Triangle,S=2--Sawtooth,S=3--Random')%S=1三角,S=2锯齿,S=3随机S=input('NumberofinputsignalS:')%接收输入信号代号disp('D=1--Dynamicdisplay,D~=1--Directdisplay')%D=1动画显示,D~=1直接显示D=input('D=')fork=1:1:3000time(k)=k*ts;kp=1.0;ki=2.0;kd=0.01;ifS==1%TriangleSignalifmod(time(k),2)<1rin(k)=mod(time(k),1);elserin(k)=1-mod(time(k),1);endrin(k)=rin(k)-0.5;endifS==2%SawtoothSignalrin(k)=mod(time(k),1.0);endifS==3%RandomSignalrin(k)=rand;vr(k)=(rin(k)-r_1)/ts;%Maxspeedis5.0whileabs(vr(k))>=5.0rin(k)=rand;vr(k)=abs((rin(k)-r_1)/ts);endendu(k)=kp*x(1)+kd*x(2)+ki*x(3);%PIDController%Restrictingtheoutputofcontrollerifu(k)>=10u(k)=10;endifu(k)<=-10u(k)=-10;end%Linearmodelyout(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);r_1=rin(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(k);%CalculatingPx(2)=(error(k)-error_1)/ts;%CalculatingDx(3)=x(3)+error(k)*ts;%CalculatingIxi(k)=x(3);error_1=error(k);ifD==1%DynamicSimulationDisplayplot(time,rin,'b',time,yout,'r');pause(0.000001);endendplot(time,rin,'r',time,yout,'b');xlabel('time(s)');ylabel('rin,yout');Matlab运行结果为:S=1--Triangle,S=2--Sawtooth,S=3--Random NumberofinputsignalS:1(2、3)S=1D=1--Dynamicdisplay,D=0--Directdisplay%D=1动画显示,D~=1直接显示D=0D=0%D=0直接显示,如果D=1,则通过pause命令实现动态演示仿真。