PID控制实验报告
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控制算法是一种常用的控制系统算法,能够通过对比例、积分和微分三个参数进行调整来控制系统的稳定性和精度。
本文将对数字PID控制算法的研究实验进行详细的描述。
实验设计本次实验采用一个控制器,其输出为闭环信号,被用于控制一个加速变量,以实现一个平稳的控制过程。
实验的具体步骤如下:1. 确定控制器的输出参数根据控制系统的实际需求,确定控制器的比例参数、积分参数和微分参数。
2. 建立实验模型将实验系统建模为阻尼比为1,反馈系数为0.8的系统。
其中,加速变量的幅值为0.1,根据实验结果,调整PID参数后可以使系统达到稳定的输出状态。
3. 进行实验将实验模型连接到控制器上,通过输入信号控制加速变量的幅值,实现控制系统的平稳输出。
通过仿真软件对实验过程进行模拟,记录实验的增益、响应时间和精度等指标。
4. 分析实验结果根据实验结果,对PID控制器的输出参数进行调整,以获得更好的控制效果。
同时,对不同参数组合的增益、响应时间和精度等指标进行分析,探究不同参数组合对控制效果的影响规律。
实验结果通过本次实验,得到以下实验结果:- 比例参数对控制效果的影响规律为:当比例参数增大时,控制增益增大,但响应时间变慢;当比例参数减小时,控制增益减小,但响应时间变快。
- 积分参数对控制效果的影响规律为:当积分参数增大时,控制增益减小,但控制稳定性好;当积分参数减小时,控制增益增大,但控制稳定性差。
- 微分参数对控制效果的影响规律为:当微分参数增大时,控制增益增大,但控制稳定性好;当微分参数减小时,控制增益减小,但控制稳定性差。
结论通过本次实验,可知数字PID控制算法在平稳控制过程中具有较好的效果,不同的参数组合可以影响控制效果的稳定性和精度,可以根据实际应用的需要调整PID控制器的参数,以实现更好的控制效果。
pid实验报告
pid实验报告PID实验报告引言:PID控制器是一种常用的自动控制器,它通过调整输出信号来使被控对象的实际值与期望值尽可能接近。
在本次实验中,我们将通过设计一个PID控制器来控制一个温度系统,以验证PID控制器的性能和效果。
实验目的:1. 理解PID控制器的原理和工作方式;2. 掌握PID控制器的参数调节方法;3. 验证PID控制器在温度控制系统中的应用效果。
实验装置:1. 温度传感器:用于测量被控对象的温度;2. 控制器:采用PID控制算法,根据测量值和设定值计算控制信号;3. 加热器:根据控制信号调节加热功率;4. 温度系统:被控对象,通过加热器调节温度。
实验步骤:1. 搭建实验装置:将温度传感器放置在温度系统中,连接到控制器的输入端;将控制器的输出端连接到加热器;2. 参数调节:根据实际情况,初步设定PID控制器的参数,包括比例系数Kp、积分时间Ti和微分时间Td;3. 实验运行:设置温度设定值,观察温度系统的响应,并记录数据;4. 参数优化:根据实验结果,调整PID控制器的参数,使温度系统的响应更加稳定和准确;5. 重复实验:反复进行参数调节和实验运行,直到达到满意的控制效果。
实验结果:通过多次实验和参数调节,我们得到了一个较为理想的PID控制器参数设置,使温度系统的响应速度较快且稳定。
实验结果表明,PID控制器能够有效地控制温度系统,使其实际温度与设定值之间的误差保持在可接受范围内。
讨论与分析:1. 比例系数Kp的调节:较大的Kp值会使系统响应速度快,但可能导致系统震荡;较小的Kp值则会使系统的稳定性提高,但响应速度较慢。
因此,在实际应用中需要根据具体要求进行调节。
2. 积分时间Ti的调节:较大的Ti值可以减小系统的稳态误差,但可能导致系统响应速度变慢和超调现象;较小的Ti值则会使系统的响应速度提高,但可能导致稳态误差增大。
因此,需要在稳态误差和响应速度之间进行权衡。
3. 微分时间Td的调节:较大的Td值可以提高系统的稳定性,减小超调现象,但可能导致系统响应速度变慢;较小的Td值则会使系统的响应速度提高,但可能导致系统震荡。
PID控制电机实验报告实验报告
PID控制电机实验报告实验目的本次实验的目的是掌握PID控制器的工作原理和应用,了解PID控制的基本概念和设计方法,并通过实验实现对电机的控制。
实验步骤材料准备本次实验所需要的材料如下:•电脑•Arduino开发板•直流电机•按钮•电位器•面包板•杜邦线•电源线硬件连接首先将直流电机连接到Arduino开发板的PWM引脚上,同时将按钮和电位器连接到开发板的数字引脚上,如下图所示:image1image1软件实现打开Arduino IDE,新建一个工程,然后编写如下代码:// 定义控制引脚和输入引脚const int CONTROL_PIN = 9;const int INPUT_PIN = A0;const int BUTTON_PIN = 2;// 设置时间间隔const int INTERVAL = 100;// 设置p、i、d系数和初始误差const float Kp = 0.8;const float Ki = 0.1;const float Kd = 0.1;const float TARGET = 500;float error = 0;float lastError = 0;float integral = 0;// 定义按钮状态和电位器值int buttonState = HIGH;int potValue = 0;// 初始化控制引脚和按钮引脚void setup() {pinMode(CONTROL_PIN, OUTPUT);pinMode(BUTTON_PIN, INPUT);digitalWrite(BUTTON_PIN, HIGH);}// 主循环void loop() {// 获取按钮状态和电位器值buttonState = digitalRead(BUTTON_PIN);potValue = analogRead(INPUT_PIN);// 判断按钮状态if (buttonState == LOW) {// 按下按钮时,执行pid控制error = TARGET - potValue;integral += error;float derivative = error - lastError;lastError = error;float output = Kp * error + Ki * integral + Kd * derivative;if (output > 255) {output = 255;}if (output < -255) {output = -255;}analogWrite(CONTROL_PIN, abs(output));} else {// 未按下按钮时,关闭电机analogWrite(CONTROL_PIN, 0);}// 等待一段时间delay(INTERVAL);}以上代码实现了一个PID控制器,当按下按钮时,控制器根据电位器的值计算出控制信号,并控制电机的转速,使电位器的值逐渐趋近于目标值,当释放按钮时,电机停止转动。
pid控制实验报告
pid控制实验报告PID控制实验报告引言PID控制是一种常用的控制算法,广泛应用于工业自动化系统中。
本实验旨在通过实际的PID控制实验,验证PID控制算法的效果和优势,并对PID控制的原理、参数调节方法等进行探讨和分析。
一、实验目的本次实验的目的是通过一个简单的温度控制系统,使用PID控制算法来实现温度的稳定控制。
通过实验,验证PID控制算法的有效性和优越性,掌握PID控制的基本原理和参数调节方法。
二、实验设备和原理本实验所用的设备为一个温度控制系统,包括一个温度传感器、一个加热器和一个控制器。
温度传感器用于实时检测环境温度,加热器用于调节环境温度,控制器用于实现PID控制算法。
PID控制算法是基于误差的反馈控制算法,其主要原理是通过不断地调整控制器的输出信号,使得系统的实际输出与期望输出之间的误差最小化。
PID控制算法由比例控制、积分控制和微分控制三部分组成。
比例控制通过比例系数调整控制器的输出信号与误差的线性关系;积分控制通过积分系数调整控制器的输出信号与误差的积分关系;微分控制通过微分系数调整控制器的输出信号与误差的微分关系。
通过合理调节这三个系数,可以实现对系统的精确控制。
三、实验步骤1. 搭建温度控制系统:将温度传感器、加热器和控制器连接在一起,确保信号传输的正常。
2. 设置期望温度:根据实验要求,设置一个期望的温度作为控制目标。
3. 调节PID参数:根据实验的具体要求和系统的特性,调节PID控制器的比例系数、积分系数和微分系数,使得系统的响应速度和稳定性达到最佳状态。
4. 开始实验:启动温度控制系统,观察实际温度与期望温度的变化情况,记录实验数据。
5. 数据分析:根据实验数据,分析PID控制算法的效果和优势,总结实验结果。
四、实验结果与讨论通过实验,我们得到了一系列的实验数据。
根据这些数据,我们可以进行进一步的分析和讨论。
首先,我们观察到在PID控制下,温度的稳定性得到了显著的提高。
pid控制实验报告[最新版]
pid控制实验报告pid控制实验报告篇一:PID控制实验报告实验二数字PID控制计算机控制是一种采样控制,它只能根据采样时刻的偏差值计算控制量。
因此连续PID控制算法不能直接使用,需要采用离散化方法。
在计算机PID控制中,使用的是数字PID控制器。
一、位置式PID控制算法按模拟PID控制算法,以一系列的采样时刻点kT代表连续时间t,以矩形法数值积分近似代替积分,以一阶后向差分近似代替微分,可得离散PID位置式表达式:Tu T ?kpeu=para; J=0.0067;B=0.1; dy=zeros= y= -+ = k*ts; %time中存放着各采样时刻rineu_1=uerror_1=error;%误差信号更新图2-1 Simulink仿真程序其程序运行结果如表2所示。
Matlab输出结果errori = error_1 = 表2 例4程序运行结果三、离散系统的数字PID控制仿真1.Ex5 设被控对象为G?num 仿真程序:ex5.m%PID Controller clear all; close all;篇二:自动控制实验报告六-数字PID控制实验六数字PID控制一、实验目的1.研究PID控制器的参数对系统稳定性及过渡过程的影响。
2.研究采样周期T对系统特性的影响。
3.研究I型系统及系统的稳定误差。
二、实验仪器1.EL-AT-III型自动控制系统实验箱一台 2.计算机一台三、实验内容1.系统结构图如6-1图。
图6-1 系统结构图图中 Gc(s)=Kp(1+Ki/s+Kds) Gh(s)=(1-e)/s Gp1(s)=5/((0.5s+1)(0.1s+1)) Gp2(s)=1/(s(0.1s+1))-TS 2.开环系统(被控制对象)的模拟电路图如图6-2和图6-3,其中图6-2对应GP1(s),图6-3对应Gp2(s)。
图6-2 开环系统结构图1 图6-3开环系统结构图2 3.被控对象GP1(s)为“0型”系统,采用PI控制或PID控制,可使系统变为“I型”系统,被控对象Gp2(s)为“I型”系统,采用PI控制或PID控制可使系统变成“II型”系统。
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 实验报告
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温度控制实验报告
pid温度控制实验报告本实验旨在设计和实现PID温度控制系统,通过控制电热水壶水温,检验PID控制系统在温度控制方面的效果。
一、设计和建立PID温度控制系统本实验采用Arduino开发板作为控制器,其中温度传感器采用DS18B20数字温度传感器,用于感知电热水壶内部的温度。
为了控制电热水壶的加热和停止加热,我们采用继电器模块,通过控制继电器的开关状态来实现电热水壶的加热和停止加热。
本实验还采用了LCD1602液晶显示屏,显示实时温度数据和PID控制结果。
PID控制器由三个部分组成,分别是P(proportional)、I(integral)、D(derivative),它能够根据被控对象的反馈信号及预设值,计算出控制量,实现控制目标。
在本实验中,我们需要控制电热水壶加热时的水温,设定的目标温度为40℃。
二、实验步骤1、硬件连接连接Arduino开发板和其他硬件模块,电热水壶的加热和停止加热分别由继电器的开关状态来实现。
2、编程实现编写程序,包括温度检测、PID控制计算、控制电热水壶加热和停止加热、LCD显示等功能模块。
具体的程序实现细节见下文。
3、调试进行调试,测试温度控制系统的效果。
三、实验结果电热水壶温度控制的PID算法具体实现如下:``` c++// 定义PID控制器struct PID{float Kp; // P参数float Ki; // I参数float Kd; // D参数float pre_error; //上次误差float integral; //积分值} pid;pid.Kp = 5; // 由系统特性等确定pid.Ki = 0.1;pid.Kd = 1;const int relayPin = 2; // 继电器控制引脚2const int ledPin = 13; // LED控制引脚13void setup(){Serial.begin(9600);lcd.begin(16,2);pinMode(relayPin, OUTPUT);lcd.display();lcd.clear();// 变量初始化pid.pre_error = 0;pid.integral = 0;}void loop(){// 读取温度float temp = getTemperature();// 计算PIDfloat error = setpoint - temp;pid.integral += error * sampleTime;float derivative = (error - pid.pre_error) / sampleTime;float output = pid.Kp * error + pid.Ki * pid.integral + pid.Kd *derivative;// 控制电热水壶if(output > 0){digitalWrite(relayPin, HIGH); digitalWrite(ledPin, HIGH); }else{digitalWrite(relayPin, LOW); digitalWrite(ledPin, LOW); }// 保存本次误差pid.pre_error = error;// 显示温度和PID值lcd.setCursor(0, 0);lcd.print("Temp:");lcd.print(temp, 1);lcd.setCursor(0, 1);lcd.print("PID :");lcd.print(output, 1);// 延时一段时间delay(sampleTime);}// 读取温度float getTemperature(){byte data[12];byte addr[8];if ( !ds.search(addr)){ds.reset_search();delay(250);return -1000;}if ( OneWire::crc8( addr, 7) != addr[7]){Serial.println("CRC is not valid!");return -1000;}if ( addr[0] != 0x28){Serial.println("Device is not a DS18B20 family device."); return -1000;}ds.reset();ds.select(addr);ds.write(0x44,1);byte present = ds.reset();ds.select(addr);ds.write(0xBE);for (int i = 0; i < 9; i++){data[i] = ds.read();}int16_t raw = (data[1] << 8) | data[0];if (type_s){raw = raw << 3;if (data[7] == 0x10){raw = (raw & 0xFFF0) + 12 - data[6];}}else{byte cfg = (data[4] & 0x60);if (cfg == 0x00) raw = raw & ~7; // 9 bit resolution, 93.75 ms else if (cfg == 0x20) raw = raw & ~3; // 10 bit res, 187.5 ms else if (cfg == 0x40) raw = raw & ~1; // 11 bit res, 375 ms// default is 12 bit resolution, 750 ms conversion time}float celsius = (float)raw / 16.0;return celsius;}```实验通过控制器成功将水温控制在设定值40℃左右,且温度波动很小,表明PID控制器具有很好的控制效果。
数字pid实验报告
数字pid实验报告数字PID实验报告引言:PID控制器是一种常见的控制器,广泛应用于工业自动化领域。
它通过不断调整输出信号,使被控对象的实际值与设定值尽可能接近,从而实现稳定控制。
本实验旨在通过数字PID控制器的设计与实现,探索其在控制系统中的应用。
一、实验目的本实验的主要目的是通过设计与实现数字PID控制器,研究其在控制系统中的性能与应用。
具体目标如下:1. 了解PID控制器的原理与基本结构;2. 掌握数字PID控制器的设计方法;3. 通过实验验证数字PID控制器的性能与稳定性。
二、实验原理PID控制器由比例控制器(P)、积分控制器(I)和微分控制器(D)组成。
其输出信号由这三个部分的加权和构成,分别对应于控制器的比例、积分和微分作用。
比例控制器根据被控对象的偏差大小进行调整,积分控制器根据偏差的积分进行调整,而微分控制器则根据偏差的变化率进行调整。
数字PID控制器是对传统PID控制器的一种改进,其主要特点是使用数字计算器来实现控制算法。
在数字PID控制器中,连续的时间变量被离散化为离散的时间变量,通过采样和量化,将控制信号转换为数字信号进行处理。
离散化的控制算法可以通过计算机进行实现,从而提高控制精度和稳定性。
三、实验器材与方法1. 实验器材:- 控制系统实验平台- 数字PID控制器模块- 电源供应器- 电压表、电流表等测量仪器2. 实验方法:(1) 搭建控制系统实验平台,将被控对象与数字PID控制器模块连接;(2) 设定被控对象的目标值,并调整PID控制器的参数;(3) 启动实验平台,观察被控对象的实际值与目标值的变化,并记录数据;(4) 根据实验数据,分析PID控制器的性能与稳定性。
四、实验结果与讨论在本实验中,我们选择了一个温度控制系统作为被控对象,通过数字PID控制器来实现温度的稳定控制。
在实验过程中,我们调整了PID控制器的参数,并记录了被控对象的实际温度值与目标温度值。
通过实验数据的分析,我们可以得出以下结论:1. 比例控制器的参数对系统的响应速度有重要影响。
PID控制实验报告
页脚内容1实验二 数字PID 控制计算机控制是一种采样控制,它只能根据采样时刻的偏差值计算控制量。
因此连续PID 控制算法不能直接使用,需要采用离散化方法。
在计算机PID 控制中,使用的是数字PID 控制器。
一、位置式PID 控制算法按模拟PID 控制算法,以一系列的采样时刻点kT 代表连续时间t ,以矩形法数值积分近似代替积分,以一阶后向差分近似代替微分,可得离散PID 位置式表达式:∑∑==--++=⎪⎪⎭⎫ ⎝⎛--++=k j di p kj 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方法求解连续被控对象方程。
页脚内容2 因为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/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.0页脚内容3u(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控制算法的原理和实现方法。
二、实验装置1.温度传感器:用于实时检测待控温度的数值。
2.加热器:用于提供热源,调节温度。
3.控制器:利用PID控制算法对加热器的工作进行调节。
4.显示器:实时显示当前温度和设定温度。
5.电源:为实验装置供电。
三、实验原理PID控制器是一种常见的闭环控制算法,它通过计算误差的比例、积分和微分部分来调节控制器的输出,从而实现对被控对象的控制。
1.比例部分(P):根据当前误差,控制器输出与误差成正比的值。
2.积分部分(I):根据误差的累积值,控制器输出与误差积分成正比的值。
3.微分部分(D):根据误差变化的速率,控制器输出与误差微分成正比的次方值。
PID控制器输出的总和即为最终控制器的输出值。
四、实验步骤1.确定待控温度的设定值,并将设定值输入到控制器中。
2.控制器读取当前温度传感器的数值,并将数值与设定值进行比较得到误差。
3.根据误差,分别计算比例、积分和微分部分的输出值。
4.将三个部分的输出值相加得到最终控制器的输出值,并将输出值转化为控制器对加热器的控制信号。
5.加热器根据控制信号进行开关操作,调节温度。
6.重复步骤2-5,直到实际温度与设定值之间的误差小于预设的误差范围,控制循环结束。
五、实验结果与分析在实验中,我们将待控温度设定值设置为25℃,并通过PID控制器对温度进行控制。
实验结果显示,在不同的环境条件下,PID控制器能够稳定地将实际温度控制在设定值附近。
通过对比实验中不同的PID参数设定,我们发现比例参数的变化对于控制效果的影响最为明显。
比例参数较小时,控制器对误差的修正速度较慢,温度波动较大;而比例参数较大时,控制器对误差的修正速度较快,但容易发生超调现象。
此外,积分参数和微分参数的设定也会对控制效果产生一定的影响。
积分参数较小时,控制器对误差的累积效果较小;而积分参数较大时,控制器可能对误差的累积过度敏感,导致控制器过度调整。
温度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自控原理实验报告
自动控制原理实验——第七次实验一、实验目的(1)了解数字PID控制的特点,控制方式。
(2)理解和掌握连续控制系统的PID控制算法表达式。
(3)了解和掌握用试验箱进行数字PID控制过程。
(4)观察和分析在标PID控制系统中,PID参数对系统性能的影响。
二、实验容1、数字PID控制一个控制系统中采用比例积分和微分控制方式控制,称之为PID控制。
数字PID控制器原理简单,使用方便适应性强,可用于多种工业控制,鲁棒性强。
可以用硬件实现,也可以用软件实现,也可以用如见硬件结合的形式实现。
PID控制常见的是一种负反馈控制,在反馈控制系统中,自动调节器和被控对象构成一个闭合回路。
模拟PID控制框图如下:输出传递函数形式:()1()()p i dU sD s K K K sE s s==++其中Kp为调节器的比例系数,Ti为调节器的积分常数,Td是调节器的微分常数。
2、被控对象数学模型的建立 1)建立模型结构在工程中遇到的实际对象大多可以表示为带时延的一阶或二价惯性环节,故PID 整定的方法多从这样的系统入手,考虑有时延的单容被控过程,其传递函数为:0001()1s G s K e T S τ-=⨯+这样的有时延的单容被控过程可以用两个惯性环节串联组成的自平衡双容被控过程来近似,本实验采用该方式作为实验被控对象,如图3-127所示。
001211()11G s K T S T S =⨯⨯++2)被控对象参数的确认对于这种用两个惯性环节串联组成的自平衡双容被控过程的被控对象,在工程中普遍采用单位阶跃输入实验辨识的方法确认0T 和τ,以达到转换成有时延的单容被控过程的目的。
单位阶跃输入实验辨识的原理方框如图3-127所示。
对于不同的、和K 值,得到其单位阶跃输入响应曲线后,由010()0.3()Y t Y =∞和020()0.7()Y t Y =∞得到1t 和2t ,再利用拉氏反变换公式得到To====3、采样周期的选择 采样周期选择0.05s 。
PID控制电机实验报告
PID控制电机实验报告实验目的:通过PID控制电机,实现指定速度和位置的控制。
实验原理:PID控制器是一种常用的闭环控制方法,用于控制系统的稳定性和精确性。
PID控制器根据当前的误差信号,通过P(比例)、I(积分)、D(微分)三个控制器的作用,调节输出信号,使误差信号趋近于零。
具体的PID控制算法如下:- P(比例)控制器:将误差信号与比例增益Kp相乘,得到一个与误差相关的控制量。
比例增益越大,响应速度越快,但可能导致超调。
- I(积分)控制器:将误差信号积分得到一个与误差面积相关的控制量。
积分控制器主要用来抵消系统静差,提高系统的稳定性。
- D(微分)控制器:将误差信号的微分得到一个与误差变化趋势相关的控制量。
微分控制器主要用来预测误差的变化趋势,提高系统的动态响应性能。
实验器材:- 电机- PID控制器- 控制器接口- 电源- 电压表- 电流表- 编码器实验步骤:1. 将电机连接到电源和PID控制器,确保电路正确连接。
2. 设置控制器接口的参数,包括控制模式、PID参数等。
3. 运行控制器,设置目标速度或位置。
4. 实时监测电机的电流和速度,并记录数据。
5. 根据实验数据,分析电机的响应特性,包括超调量、调节时间等。
实验结果:根据实验数据,通过PID控制器可以控制电机的速度和位置,实现了较好的控制效果。
调节PID参数可以调整电机的响应速度和稳定性。
根据实验数据,可以计算出电机的超调量、调节时间等指标,评估控制器的性能,并进行优化。
实验结论:通过实验验证了PID控制器在电机控制中的应用,并验证了PID控制器的稳定性和精确性。
通过调节PID参数,可以实现不同的控制效果,满足不同的应用需求。
通过实验数据的分析,可以评估控制器的性能,并进行优化。
pid控制实验报告
pid控制实验报告PID控制实验报告。
一、实验目的。
本实验旨在通过对PID控制器的调试和实验验证,掌握PID控制器的工作原理和调节方法,加深对控制原理的理解,提高实际控制系统的设计和调试能力。
二、实验原理。
PID控制器是一种常用的控制器,它由比例(P)、积分(I)、微分(D)三个部分组成。
在实际控制系统中,PID控制器通过对控制对象的测量值和设定值进行比较,产生误差信号,然后根据比例、积分和微分三个部分的参数进行计算,输出控制信号,使控制对象的输出值逼近设定值,实现控制目标。
三、实验装置。
本实验采用了PLC控制器和温度传感器作为控制系统,通过对温度传感器的测量值进行反馈控制,调节加热器的功率输出,控制温度在设定值附近波动。
四、实验步骤。
1. 首先,设置PID控制器的比例、积分和微分参数为初始值,将控制系统接通,使加热器开始工作。
2. 然后,通过监测温度传感器的测量值,观察加热器的工作状态和温度的变化情况。
3. 接着,根据实际情况,逐步调节PID控制器的参数,使控制系统的响应速度和稳定性达到最佳状态。
4. 最后,记录和分析不同参数下控制系统的响应曲线,比较不同参数对控制系统性能的影响,总结调节经验。
五、实验结果与分析。
经过一系列的实验调节,我们得到了不同参数下的控制系统响应曲线。
通过对比分析,我们发现:1. 比例参数的增大会加快系统的响应速度,但会引起超调和振荡现象;2. 积分参数的增大可以减小稳态误差,但会增加超调和振荡的幅度;3. 微分参数的增大可以减小超调和振荡,但会降低系统的响应速度。
六、实验结论。
通过本次实验,我们深入理解了PID控制器的工作原理和调节方法,掌握了控制系统的设计和调试技巧。
在实际工程中,我们可以根据实际需求,通过调节PID 控制器的参数,使控制系统达到最佳的性能指标。
七、实验心得。
通过本次实验,我们不仅学习了PID控制器的基本原理和调节方法,还提高了实际控制系统的设计和调试能力。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
P I D控制实验报告Last revision on 21 December 2020实验二 数字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=,B=。
输入信号为)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 ,因此连续对象微分方程函数如下 function dy = ex3f(t,y,flag,para)u=para;J=;B=;dy=zeros(2,1);dy(1) = y(2);dy(2) = -(B/J)*y(2) + (1/J)*u;控制主程序clear all;close all;ts=; %采样周期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)=*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)=*e(k)+*de(k);%计算当前u(k)的输出%控制信号限幅if u(k)>u(k)=;endif u(k)<u(k)=;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 文件中实现了误差的积分和微分。
控制主程序:控制子程序:function [u]=ex4f(u1,u2)%u1为Clock,u2为图2-1中Sum模块输出的误差信号e的采样值persistent errori error_1if u1==0 %当Clock=0时,即初始时,e(k)=e(k-1)=0errori=0error_1=0endts=;kp=;ki=;kd=;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-1 Simulink仿真程序其程序运行结果如表2所示。
Matlab输出结果errori =error_1 =表2 例4程序运行结果三、离散系统的数字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 的多项式,则可以得到其对应的差分表达式仿真程序:%PID Controllerclear all;close all;ts=;%采样周期sys=tf,[1,,,0]);%被控对象连续传递函数dsys=c2d(sys,ts,'z');%转换成离散z 传递函数的形式[num,den]=tfdata(dsys,'v');%提取z 传递函数中的分子和分母多项式系数u_1=;u_2=;u_3=;%u(k-1)、u(k-2)、u(k-3)的初值y_1=;y_2=;y_3=; %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=;ki=;kd=; %各项PID系数rin(k)=1; %阶跃信号输入elseif S==2kp=;ki=;kd=; %各项PID系数rin(k)=sign(sin(2*2*pi*k*ts)); %方波信号输入elseif S==3kp=;ki=;kd=; %各项PID系数rin(k)=*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');其程序运行结果如表3所示。
2.Ex6针对于Ex5被控对象所对应的离散系统,设计针对三角波、锯齿波和随机信号的位置式响应。
仿真程序:。
程序中当S=1时为三角波,S=2时为锯齿波,S=3时为随机信号。
如果D=1,则通过pause命令实现动态演示仿真。
%PID Controllerclear all;close all;ts=;sys=tf,[1,,,0]);dsys=c2d(sys,ts,'z');[num,den]=tfdata(dsys,'v');u_1=;u_2=;u_3=;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('Number of input signal S:')%接收输入信号代号disp('D=1--Dynamic display,D~=1--Direct display')%D=1动画显示,D~=1直接显示D=input('D=')for k=1:1:3000time(k)=k*ts;kp=;ki=;kd=;if S==1 %Triangle Signalif mod(time(k),2)<1rin(k)=mod(time(k),1);elserin(k)=1-mod(time(k),1);endrin(k)=rin(k);endif S==2 %Sawtooth Signalrin(k)=mod(time(k),;endif S==3 %Random Signalrin(k)=rand;vr(k)=(rin(k)-r_1)/ts; %Max speed iswhile abs(vr(k))>=rin(k)=rand;vr(k)=abs((rin(k)-r_1)/ts);endendu(k)=kp*x(1)+kd*x(2)+ki*x(3); %PID Controller%Restricting the output of controllerif u(k)>=10u(k)=10;endif u(k)<=-10u(k)=-10;end%Linear modelyout(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); %Calculating Px(2)=(error(k)-error_1)/ts; %Calculating Dx(3)=x(3)+error(k)*ts; %Calculating Ixi(k)=x(3);error_1=error(k);if D==1 %Dynamic Simulation Displayplot(time,rin,'b',time,yout,'r');pause;endendplot(time,rin,'r',time,yout,'b');xlabel('time(s)');ylabel('rin,yout');Matlab运行结果为:S=1--Triangle,S=2--Sawtooth,S=3--RandomNumber of input signal S:1(2、3)S =1D=1--Dynamic display,D=0--Direct display %D=1动画显示,D~=1直接显示D=0D =0 %D=0直接显示,如果D=1,则通过pause命令实现动态演示仿真。