基于matlab程序对PID控制算法的理解

35 篇文章 12 订阅
订阅专栏
15 篇文章 25 订阅
订阅专栏



%设一被控对象G(s)=50/(0.125s^2+7s),
%用增量式PID控制算法编写仿真程序
%(输入分别为单位阶跃、正弦信号,采样时间为1ms,控制器输出限幅:[-5,5],
%  仿真曲线包括系统输出及误差曲线,并加上注释、图例)。

clear all;
close all; 
ts=0.001;                 %采样时间
sys=tf(50,[0.125,7, 0]); %tf是传递函数  即被控对象函数G();
dsys=c2d(sys,ts,'z');    %把控制函数离散化
[num,den]=tfdata(dsys,'v');% 离散化后提取分子、分母  
u_1=0.0;
u_2=0.0;
y_1=0.0;
y_2=0.0;
x=[0,0,0]';
error_1=0;
error_2=0;
for k=1:1:1000
time(k)=k*ts;                        %采样次数
S=2;
if S==1
    kp=10;ki=0.1;kd=15;             %初始化PID  
    rin(k)=1;                       %Step Signal 
elseif S==2
    kp=10;ki=0.1;kd=15;             
    rin(k)=0.5*sin(2*pi*k*ts);       %Sine Signal     即实际输入    
end 
du(k)=kp*x(1)+kd*x(2)+ki*x(3);      %PID Controller   控制系数  
u(k)=u_1+du(k);                     %Restricting the output of controller
if u(k)>=5       
   u(k)=5;
end
if u(k)<=-5
   u(k)=-5;
end
%Linear model
yout(k)=-den(2)*y_1-den(3)*y_2+num(2)*u_1+num(3)*u_2;          %实际输出
error(k)=rin(k)-yout(k);                                       %Return of parameters 误差
u_2=u_1;                                                       %保存上上次输入   为下次计算
u_1=u(k);                                                      %保存上一次控制系数   为下次计算
y_2=y_1;                                                       %保存上上次次输出   为下次计算
y_1=yout(k);                                                   %保存上一次输出   为下次计算
x(1)=error(k)-error_1;                                         %Calculating P
x(2)=error(k)-2*error_1+error_2;                               %Calculating D
x(3)=error(k);                                                 %Calculating I 
error_2=error_1;                    
error_1=error(k);                    
end
figure(1);
plot(time,rin,'b',time,yout,'r');                        %输入 和实际控制输出
xlabel('time(s)'),ylabel('rin,yout'); 
figure(2);
plot(time,error,'r')                                     %输入与输出误差输出曲线
xlabel('time(s)');ylabel('error');


3.1 建立数学建模

  设被控对象等效传递函数为

3.2 仿真建模(略)


3.3 仿真实验

  在传统的PID 调节器中,参数的整定问题是控制面临的最主要的问题,控制系统的关键之处便是将Kp、Ti、Td三个参数的值最终确定下来。而在工业过程控制中首先需要对PID 控制中三参量对系统动态性的影响进行实际深入地了解,才能确定怎样将三参数调节到最佳状态。在本实验中,对各参量单独变化对系统控制作用的影响进行讨论,其中在对一个参量变化引发的影响进行讨论时,需要将其余两个参数设定为常数。

  3.3.1 P 控制作用分析

  分析比例控制作用。设Td= 0、Ti=∞、Kp= 3 ~ 10.输人信号阶跃函数,分别进行仿真,如图3 所展示的系统的阶跃响应曲线。

  图3 显示的仿真结果表明:系统的超调量会随着Kp值的增大而加大,系统响应速度也会会随Kp值的增大而加快。但是系统的稳定性能会随着Kp的增大而变差。

  图3 单闭环调速系统P控制阶跃响应曲线

  3.3.2 比例积分控制作用的分析

  设比例积分调节器中Kp= 1,讨论Ti= 0.01 ~ 0.05 时。输人信号阶跃函数,分别进行仿真,如图4 所展示的系统的系统的阶跃响应曲线。

  图4 单闭环调速系统PI控制阶跃给定响应曲线

  系统的超调量会随着Ti值的加大而减小,系统响应速度随着Ti值的加大会略微变慢。

  3.3.3 微分调节作用的分析

  设Kp= 1、Ti= 0.01,讨论Td= 10 ~ 100 时对系统阶跃响应曲线的影响。输人信号阶跃函数,分别进行仿真,如图5 所展示的系统的阶跃响应曲线。

  图5 单闭环调速系统PID控制阶跃给定响应曲线

  图5 所显示的仿真结果表明:根据单闭环调速系统的参数配合情况,起始上升段呈现较尖锐的波峰,Kp= 1、Ti= 0.01不变时,随着Td值的加大,闭环系统的超调量增大,响应速度变慢。

  4 .结论

  (1)对于PID 参数采用MATLAB 进行整定和仿真,使用起来不仅快捷、方便,而且更为直观,同时也避免了传统方法反复修改参数调试。

  (2)系统的响应速度会随Kp值的增大而加快,同时也有助于静差的减小,而Kp值过大则会使系统有较大超调,稳定性变坏;此外,系统的动作会因为过小的Kp值减慢。

  (3)超调的减小、振荡变小以及系统稳定性的增加都取决于积分时间Ti的增大,但是系统静差消除时间会因为Ti的增大而变长。

  (4)增大微分时间Td对于系统的稳定性、系统响应速度的加快以及系统超调量的减小都会有所帮助。但是如果Td过大,则会使得调节时间较长,超调量也会增大;如果Td过小,同样地也会发生以上状况。

  (5)总之PID 参数的整定必须考虑在不同时刻三个参数的作用以及彼此之间的作用关系。


(1)
确定比例系数Kp
确定比例系数Kp时,首先去掉PID积分项和微分项,可以令Ti=0Td=0,使之成为
纯比例调节。输入设定为系统允许输出最大值的60%~70%,比例系数Kp0开始逐渐增大,直至系统出现振荡;再反过来,从此时的比例系数Kp逐渐减小,直至系统振荡消失。记录此时的比例系数Kp,设定PID的比例系数Kp为当前值的60%~70%。
(2)
确定积分时间常数Ti
比例系数Kp确定之后,设定一个较大的积分时间常数Ti,然后逐渐减小Ti,直至系统出现振荡,然后再反过来,逐渐增大Ti,直至系统振荡消失。记录此时的Ti,设定PID的积分时间常数Ti为当前值的150%~180%。
(3)
确定微分时间常数Td
微分时间常数Td一般不用设定,为0即可,此时PID调节转换为PI调节。如果需要设定,则与确定Kp的方法相同,取不振荡时其值的30%。
(4)
系统空载、带载联调
PID参数进行微调,直到满足性能要求。

matlab里的pid参数调节,pid调节的方法
weixin_35224065的博客
03-16 3656
上一篇介绍了建立系统模型的三种方法,这一篇介绍如何调节pid,并用MATLAB仿真调节pid的目标就是使得从模型中得到的增益能够使物理系统正常工作调节pid的理论分析pid的一般形式如下图经过移动化简可以得到现在我们的问题就简化成了在哪里放置这两个极点,和设置多大的增益?在给微分加上滤波,相当于系统多了一个极点,滤波的相关内容之后介绍MATLAB仿真仿真使用的模型还是我们上一篇使用的电机模型...
模糊pid控制算法matlab程序解读,基于Matlab的模糊PID控制研究
weixin_30831529的博客
03-24 2300
摘要:以螺旋桨的电液比例周控制系统为研究对象,针对被控对象的非时变性和时变性的特点,采用了一种基于自适应模糊PID控制策略;利用Madab中Fuzzy和Simulink有机结合,方便的实现了模糊自整定PID参数控制系统的仿真;得到了自适应PID模糊控制比普通PID控制在被控对象上具有实时性好、稳定性高的结论。关键词:螺旋桨;模糊PID控制;电液比例阀;Matlab仿真0 引言电液比例阀系统广泛应用...
基于matlab与粒子群优化算法PSO的PID控制优化系统设计与实现
05-01
基于matlab与粒子群优化算法PSO的PID控制优化系统设计与实现
位置PID与增量PID控制原理(附带matlab源码)
STM89C56的博客
06-18 5030
一、位置式PID 按照模拟PID控制算法,以一系列采样时刻点KT代替连续时间t,用矩形法数值积分代替积分,以一阶向后差分代替微分。 1、一系列采样时刻点KT代替连续时间t 2、用矩形法数值积分代替积分 3、以一阶向后差分代替微分 最后可得离散化的PID表达式 式中T为采样时间(采样周期) 例 ...
Simulink建模:PID控制模型_simulink pid
最新发布
2401_85015302的博客
05-17 1025
本文研究PID控制的Simulink模型实现及其代码生成。
MATLAB-增量式PID的实现&Simulink PID实现
qq_41955225的博客
02-13 1万+
增量式PID介绍 比例P : e(k)-e(k-1) 这次误差-上次误差 积分I : e(i) 误差 微分D : e(k) - 2e(k-1)+e(k-2) 这次误差-2*上次误差+上上次误差 du为增量,error前3偏差计算出来即可算出du;相对于位置式PID要稳定一些 代码: %增量式PID clc % 清屏 clear all; % 删除workplace变量 close all; % 关掉显示图形窗口 %% %建立传递函数 ts=0.001; %采样时间 sys=tf(40.
深入浅出PID控制算法(一)——连续控制系统的PID算法MATLAB仿真
wanrenqi的博客
03-20 1万+
1、连续系统PID控制算法 PID控制:将误差信号e(t)通过比例§,积分(I)和微分(D)线性组合构成控制输出进行控制,其输出信号为: 对此式进行拉普拉斯变换,得到模拟(连续系统)PID调节的传递函数为: Kp——比例系数 Ti——积分时间常数 Td——微分时间常数 e(t)——偏差 u(t)——控制量 2、PID控制MATLAB仿真 模拟PID控制系统框图: 假设其中 G(s)...
基于Matlab实现PID控制仿真(附上30案例源码)
m0_62143653的博客
07-21 1万+
基于Matlab实现PID控制仿真(附上30案例源码)
一些控制方法在matlab实现的步骤及代码
applenoeat的博客
03-29 5705
根轨迹+频率分析+状态空间+数字控制等控制方法在matlab的实现步骤及代码
数字PID控制算法原理及Matlab仿真
qq_40230112的博客
09-02 3万+
引言 最近碰到一个项目需要用到PID控制算法,于是在网上找了一些资料学习了一下,发现网上对于PID算法Matlab仿真方面的内容比较少,所以我就把我自己所学习到的内容分享给大家。本次博文主要介绍了位置式和增量式PID控制算法的原理和Matlab的仿真分析。 1、模拟PID控制算法 在工程实际中,应用最为广泛的调节控制规律为比例、积分、微分控制,简称PID控制,又称PID调节。PID控制的基本结构如下图所示,G(s)为被控对象的系统传递函数。 ...
基于Matlab实现PID控制算法仿真(源码+数据).rar
05-20
1、资源内容:基于Matlab实现PID控制算法仿真(源码+数据).rar 2、适用人群:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业或毕业设计,作为“参考资料”使用。 3、解压说明:本资源需要电脑端...
模糊控制PID算法matlab实现
06-26
总结来说,模糊控制PID算法MATLAB中的实现涉及模糊系统的建模、规则制定、推理和解模糊化等多个环节,通过这一方法可以有效提升PID控制对复杂系统控制的精度和鲁棒性。对于学习者而言,理解和掌握这一过程有助于...
基于Matlab的前馈式PID控制算法实现
08-01
基于Matlab的前馈式PID控制算法实现。利用前馈式PID控制算法编写程序并进行仿真。
matlab提取传递函数系数,温度控制传递函数_增量式PID系数_MATLAB仿真
weixin_30341571的博客
03-20 1499
clear all;close all;ts=0.1;sys=tf([5],[8,1],'inputdelay',10);dsys=c2d(sys,ts,'zoh');[num,den]=tfdata(dsys,'v');u_1=0;u_2=0;u_3=0;u_4=0;u_5=0;y_1=0;y_2=0;y_3=0;error_1=0;error_2=0;x=[0,0,0];for k=1:1:2...
无人车系统(四):轨迹跟踪PID控制
昔风不起,唯有努力生存!
12-11 5万+
本篇介绍如何利用PID控制实现无人车轨迹跟踪。 1. 横向跟踪误差 横向跟踪误差(cross track error, 简称CTE)为前轴中心点(rx,ry)(r_x, r_y)(rx​,ry​)到最近路径点(px,py)(p_x, p_y)(px​,py​)的距离,具体如下图所示。 以上图为基础进行简略分析,如果参考轨迹点在无人车的左边θe∈[0,π]\theta_{e}\in [0, \......
先进PID控制MATLAB仿真学习记录(一)
zpxlll的博客
05-11 2814
前言 PID控制是最早发展起来的控制策略之一,其算法简单、鲁棒性好且可靠性高,在运动控制和过程控制中被广泛使用。为了进一步学习了解PID,笔者正在学习北京航空航天大学的刘金琨老师的先进PID控制MATLAB仿真一书,并在此记录分享,希望和大家一起进步。 一、PID控制原理 模拟控制系统由模拟PID控制和被控对象组成。PID控制是一种线性控制,它根据给定目标值和实际输出值构成控制偏差: PID控制规律为: 这也是经典PID控制方程,其中kp为比例系数,T1为积...
正弦波温度发生中远程设定点PID控制解决方案
Shanghai_Eyoung的博客
03-14 600
摘要:在传热学第三类边界条件下进行的热物性测试方法中,如Angstrom法、ISO 22007-3温度波法和ISO 22007-6温度调节比较法,会要求边界温度严格按照正弦波形式进行变化,但采用正弦波加热电流方式的现有技术很难实现准确稳定的正弦温度波输出,且给测量带来较大的随机误差。(3)对于具有主动加热和制冷能力的热环境,如TEC半导体制冷,同样需要具备正弦波温度输出过程中的反馈控制,能根据设定的正弦温度波曲线以及反馈信号自动调节加热和制冷功率,使输出的温度变化与设定曲线一致。
算法学习笔记之一阶低通滤波算法
热门推荐
一颗偏执的心
09-27 9万+
1. 一阶滤波算法的原理 一阶滤波,又叫一阶惯性滤波,或一阶低通滤波。是使用软件编程实现普通硬件RC低通滤波的功能。 一阶低通滤波的算法公式为: Y(n)=αX(n) (1-α)Y(n-1) 式中:α=滤波系数;X(n)=本次采样值;Y(n-1)=上次滤波输出值;Y(n)=本次滤波输出值。 一阶低通滤波法采用本次采样值与
基于MatlabPID控制算法仿真程序
06-06
这里提供一个基于MatlabPID控制算法仿真程序的示例,供参考。 ```matlab % PID控制算法仿真程序示例 % 初始化 clear all; close all; clc; % 设定仿真时间和采样周期 T = 10; % 仿真时间 dt = 0.1; % 采样周期 % 设定PID参数 Kp = 1; % 比例系数 Ki = 0.5; % 积分系数 Kd = 0.2; % 微分系数 % 设定被控对象和参考信号 G = tf([1],[1,2,1]); % 传递函数 r = ones(1,T/dt+1); % 参考信号 % 设定PID控制 C = pid(Kp,Ki,Kd); % 设定闭环系统(输入为参考信号,输出为被控对象输出) sys = feedback(C*G,1); % 进行仿真 t = 0:dt:T; [y,t] = lsim(sys,r,t); % 绘制结果图形 figure; plot(t,r,'b--',t,y,'r'); xlabel('时间(s)'); ylabel('输出'); legend('参考信号','被控对象输出'); title('PID控制算法仿真结果'); ``` 以上程序以一个一阶惯性环节为例,设定了仿真时间、采样周期、PID参数、被控对象和参考信号等参数,通过Matlab中的PID控制和反馈函数进行仿真,最终绘制出参考信号和被控对象输出随时间变化的图形。具体的实验中,需要根据实验要求和实际情况确定参数和设定,以得到更具有实际意义的结果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
写文章

热门文章

  • 机器学习十大算法 168893
  • C++ 星图编程 102812
  • 算法学习笔记之一阶低通滤波算法 93517
  • 基于matlab程序对PID控制算法的理解 78939
  • 关于波特率与字节传输速率计算 63888

分类专栏

  • 蓝牙音频 1篇
  • 开源蓝牙协议栈分析 3篇
  • ble-mesh 学习笔记 11篇
  • nrf51822蓝牙开发 24篇
  • c#上位机编程 24篇
  • STM32学习笔记 39篇
  • 嵌入式软件设计 35篇
  • python 26篇
  • C语言基础 18篇
  • matlab 11篇
  • 数字信号处理算法 15篇
  • VS2013学习笔记(C++) 11篇
  • 嵌入式通用模块软件架构设计 2篇
  • iar软件使用技巧 3篇
  • zigbee笔记文档 (NXP / EFR32) 4篇
  • PHP后端入门 3篇
  • github 3篇
  • 杂乱笔记 2篇
  • 嵌入式BAT脚本 7篇
  • 射频识别与电子标签 1篇
  • 嵌入式实时操作系统 7篇
  • 硬件信息传输安全加密算法 9篇
  • 安卓开发 1篇
  • DA14580蓝牙开发 4篇
  • esp32芯片开发 2篇

最新评论

  • STM32学习笔记之ADC转换

    风筝上的太空人: 图片咋打不开

  • 基于matlab程序对PID控制算法的理解

    zhou___xian: 错误使用 DynamicSystem/c2d 现在无法访问以前可访问的文件 "G:\matlab\toolbox\shared\coder\coder\lib\+coder\target.m"。 出错 main (第 11 行) dsys = c2d(sys, ts,'z'); %把控制函数离散化 这是什么原因

  • C语言如何解析json格式字符串

    weixin_43882817: 请问json_str3.txt文件中的内容是什么呀?

  • 数组首地址给赋给 指针的问题

    12345388: 感谢,解答了我的疑惑

  • ble-mesh笔记整理(1) ble-mesh通信理解

    海底饿鲨: 对ble mesh描述得最简单易懂的一篇好文

大家在看

  • 如何为微信小程序添加即时聊天功能
  • MySql架构(深度好文) 660
  • 【大学生期末前端作业】中国早教网
  • 使用requests爬取拉勾网python职位数据 1444
  • Deepin23RC2 在线安装qt6.7.2 1377

最新文章

  • A2DP协议总结
  • 基于BK蓝牙RW-BLE协议栈调度逻辑梳理
  • 基于ESP32的nimble-host蓝牙协议栈移植分析
2021年15篇
2020年13篇
2019年3篇
2018年51篇
2017年48篇
2016年112篇
2015年10篇

目录

目录

评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

深圳SEO优化公司沙井网络推广大浪SEO按效果付费石岩网页制作坂田模板推广坂田网站优化按天扣费宝安网站优化软件福永seo坪山网站设计模板惠州网络推广深圳网站推广工具南澳网页制作坂田设计网站双龙企业网站设计宝安百度爱采购丹竹头网页制作龙岗企业网站改版大运外贸网站建设龙华外贸网站制作观澜网站设计模板坂田网络营销光明seo排名宝安营销型网站建设南联设计网站宝安网站改版木棉湾百度seo西乡网站优化永湖至尊标王观澜百度爱采购同乐网站优化按天计费龙岗至尊标王歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运

深圳SEO优化公司 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化