毕业设计-基于 PID 控制算法仿真算法研究- Matlab

目录


前言


    📅大四是整个大学期间最忙碌的时光,一边要忙着备考或实习为毕业后面临的就业升学做准备,一边要为毕业设计耗费大量精力。近几年各个学校要求的毕设项目越来越难,有不少课题是研究生级别难度的,对本科同学来说是充满挑战。为帮助大家顺利通过和节省时间与精力投入到更重要的就业和考试中去,学长分享优质的选题经验和毕设项目与技术思路。

🚀对毕设有任何疑问都可以问学长哦!

选题指导: https://blog.csdn.net/qq_37340229/article/details/128243277

大家好,这里是海浪学长毕设专题,本次分享的课题是

🎯基于 PID 控制算法仿真算法研究- Matlab

课题背景和意义

ID 控制器(亦称 PID 调节器)是发展 最早的控制算法之一。它的参数整定方式简便,结构改变灵活,有比例调节、比例积分调节以及比例积分加微分调节。 然而,随着控制过程日益复杂,控制要求不断提高,很多产品的生产过程要求不允许超过设定值,例如 在葡萄酒的酿制过程中,任何一种原料的一点点超标都会影响葡萄酒的整体口味,因此生产过程中的无超 调控制是非常重要的。在发展速度越来越快的今天,工业自动化的科技水 平已成为一个国家发展快慢的重要标志,同时国家的发 展会加快工业化的速度。而在控制领域,PID 控制算法 从上世纪三四十年代出现到现在一直占据举足轻重的 地位。 但由于工业的严谨性、逻辑严密性以及对产品误差 要求的提高,在很多产品的设计与制造过程中超调量是 一个不可忽视的因素,比如在建筑设计中,沙子和水泥 的配比是不能改变的,如果沙子或者水泥的量稍微多一 点都会影响整个建筑的耐受能力以及坚固力。PID 控制 算法虽已日渐成熟,但很多 PID 的参数整定都存在超调 量,这使得 PID 的使用存在一定的局限性和不利性,针 对这些实际问题,对无超调控制算法的研究已成为了一 种热点。

实现技术思路

一、 基本原理

1)PID 控制器结构及原理 PID 控制器的设计有三部分组成,比例部分、积分部分、微分部分。其原理如图

 PID 控制器是一种线性控制器,图中控制器的输入 e 为系统输入 r(t)与系统输出 y(t)的偏差:

PID 控制器的算法为:

 写为传递函数形式:

 数字 PID 控制技术

由于计算机只能处理数字信号,且数字信号比模拟信号的优点多、缺点少,所以自从计算机进入控制领域以来,又进一步地推动了数字 PID 的发展,数字 PID 使得 PID 技术进一步理论化、系统化、规范化、实用化。1)利用 MATLAB 对增量式 PID 控制算法进行仿真MATLAB 是一种用于算法开发、数据可视化、数据 分析及数值计算的高级技术计算语言和交互式环境。 MATLAB 的应用范围非常广,可用于动态系统的建模、分析和方针,包括信号和图像处理、通信、系统控制设计、测试和测量、财务建模和分析,以及计算生物学等众多应用领域。增量式 PID 控制器的 MATLAB 实现: 根据递推原理得:

 增量式 PID 控制算法:

 根据增量式 PID 控制算法,设计了仿真程序,假设被控对象为:

PID 控制参数:kp=6.5,ki =0.1,kd=2,程序仿真结果如图:

 输入和实际输出曲线:

 输出误差曲线:

 Simulink 仿真结构:

输入信号结果:

输出信号结果 :

 二、无超调 PID 控制器的设计

响应曲线法的基本原理 响应曲线法是根据给定对象的瞬态响应特性参数 K、T 和 τ 来确定 PID 控制器的参数,整定公式如表所示

 PID 控制算法为:

 PID 控制表示为:

 仿真实例

对含有纯滞后一阶传递函数 G= 1/60s+1 e-80t 进行仿真,如图:Simulink 仿真:

仿真结果

 pid 算法离散化进行仿真

 基于 Z-N 经验公式的无超调 PID 设计

1)K 的影响 对图所示的控制系统,控制器选用 PID 控制,参数整定采用 Z-N 公式,控制对象选一阶惯性加纯滞后模型,其传递函数可以写为:

 根据表得:

 将式子带入得:

 由式可知,控制对象的模型参数 K 被抵消了,所以 K 对系统的控制效果没有影响。

2)时间常数与纯滞后时间的影响 对含有一阶纯滞后系统 G= 1/60s+1 e-80t 进行仿真。当(上升时间为 60,延迟时间为 80)时,如表  所示。

 最佳采样时间为 10s,稳定时间为 2270,而且当采样时间小于等于 10 时,无超调现象。 当(上升时间为 60,延迟时间为 60)时,如表所示。

 最佳采样时间为 6s,稳定时间为 1416,而且当采样时间小于等于 9 时,无超调现象。当上升时间一样时,延迟时间的长短影响最佳采样时间和稳定时间,延迟时间越大, 采样时间和稳定时间都越长。当(上升时间为 80,延迟时间为 60)时,如表所示。

 

①各个环节对超调量的影响 (1)设 Td=0,Ti =∞,输入单位阶跃信号,如图所示。仿真结果表明:系统的超调量和响应速度都跟 Kp 有关,而且 Kp 越大,系统的稳定性也会变差。

 (2)设 Kp=6,输入单位阶跃信号,如图所示。 仿真结果表明:系统的超调量会随着 Ti 值的增加而减小 

 (3)设 Kp=6,Ti =6/0.1=60,输入阶跃信号进行仿真,如图所示。

 ②无超调整定公式

对于 τ<0.6T 范围内的控制对象,Z-N 经验使得系统一直存在超调现象,所以希望对 Z-N 经验公式进行修正,从而获得一个无超调的 PID 控制器。

无超调 PID控制的公式如下:

、无超调 PID 设计的验证

对系统 G(s)= e-28s/ 60s+1 进行仿真, K=1,T=60,τ=28 采用 Z-N 经验公式计算得到的参数为:Kp =2.5210, Ti =56,Td =14。 仿真结果如图

 由于 τ<0.6T,所以用整定公式计算得 Kp =1.5466,Ti =140,Td=14。 仿真结果如图:

代码

使用编程语句进行PID控制仿真

num=133;den=[1 20 0];

sys =tf(num,den);%开环传递函数

ts=0.001;%设采样时间为0.001秒,已经足够小

dis_sys =c2d(sys,ts, 'zoh'); %零阶保持器法

[dis_num, dis_den]= tfdata( dis_sys, 'v');

%获取离散传递函数的分子分母多项式

%根据dis_num和dis_den的阶次设置控制量和输出量的初值

u_1=0;e_1=0;e_2=0;de=0;ie=0;

y_1=0;y_2=0;

Kp=10;Kd=0.5;Ki=0.1; %设置PID控制器参数

Umax=2;%设置控制器的限幅值

N=10000;

for n=1:1:N

time(n)=n*ts;

r(n)=sign(sin(2*pi*time(n)/5)); %定义信号源的给定信号

de=(e_1-e_2)/ts;ie=e_1*ts+ie;

u(n)=-(Kp*e_1+Kd*de+Ki*ie);%计算PID控制器的输出量

if abs(u(n))>2

u(n)=sign(u(n))*Umax;

end

y(n)=-dis_den(2)*y_1-dis_den(3)*y_2+dis_num(1)*u(n)+dis_num(2)*u_1;

e(n)=r(n)-y(n);

e_2=e_1;e_1=e(n)

u_1=u(n);

end

实现效果图样例

PID预调节的具体过程图:

 我是海浪学长,创作不易,欢迎点赞、关注、收藏、留言。

毕设帮助,疑难解答,欢迎打扰!

最后

文章出处登录后可见!

已经登录?立即刷新

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
乘风的头像乘风管理团队
上一篇 2023年6月17日
下一篇 2023年6月17日

相关推荐