BA_WANG_MAO
整理
模糊 PID 自整定控制算法简单理解
模糊控制 PID 的参数自调整原理:CPU 根据系统偏差(偏差=给定-反馈),和偏差变化率(偏差变
化率=当前周期偏差-上周期偏差)查询相应的模糊控制表,得到 Kp,Ki,Kd 三个参数的整定值,然后
进行 PID 运算,真正的运用到实际中也就是一张模糊控制查询表,然后就是查表了,也很简单,关键是表
的建立还有专家经验的问题等。
单片机模糊 PID 自整定控制算法的实现及仿真
1
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn
BA_WANG_MAO
整理
单片机模糊 PID 自整定控制算法的实现及
仿真
作者:冯桂宁 蒋翔俊
引言
由于液压伺服系统的固有特性(如死区、泄漏、阻尼系数的时变性以及负载干扰的存在),系统往往会
呈现典型的不确定性和非线性特性。这类系统一般很难精确描述控制对象的传递函数或状态方程,而常规
的 PID 控制又难以取得良好的控制效果。另外,单一的模糊控制虽不需要精确的数学模型,但是却极易在
平衡点附近产生小振幅振荡,从而使整个控制系统不能拥有良好的动态品质。
本文针对这两种控制的优缺点并结合模糊控制技术,探讨了液压伺服系统的模糊自整定PID 控制方法,
同时利用 MATLAB软件提供的 Simulink 和 Fuzzy 工具箱对液压伺服调节系统的模糊自整定 PID 控制系统
进行仿真,并与常规 PID 控制进行 了比较。此外,本文还尝试将控制系统通过单片机的数字化处理,并
在电液伺服实验台上进行了测试,测试证明:该方法能使系统的结构简单化,操作灵活化,并可增强可靠
性和适应性,提高控制精度和鲁棒性,特别容易实现非线性化控制。
1、模糊 PID 自整定控制器的设计
本控制系统主要完成数据采集、速度显示和速度控制等功能。其中智能模糊控制由单片机完成,并采
用规则自整定 PID 控制算法进行过程控制。整个系统的核心是模糊控制器,AT89C51单片机是控制器的主
体模块。电液伺服系统输出的速度信号经传感器和 A/D 转换之后进入单片机,单片机则根据输入的各种
命令,并通过模糊控制算法计算控制量,然后将输出信号通过 D/A 转换送给液压伺服系统,从而控制系
统的速度。该模糊控制器的硬件框图如图 1 所示。
单片机模糊 PID 自整定控制算法的实现及仿真
2
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn
BA_WANG_MAO
整理
模糊控制器的主程序包括初始化、键盘管理及控制模块和显示模块的调用等。温度信号的采集、标度
变换、控制算法以及速度显示等功能的实现可由各子程序完成。软件的主要流程是:利用 AT89C51单片机
调 A/D 转换、标度转换模块以得到速度的反馈信号,然后根据偏差和偏差的变化率计算输入量,再由模
糊 PID 自整定控制算法得出输出控制量。启动、停止可通过键盘并利用外部中断产生,有按键输入则调用
中断服务程序。该程序的流程图如图 2 所示。
2、模糊控制器算法研究
采用模糊 PID 自整定控制的目的是使控制器能够根据实际情况调整比例系数 Kp、积分系数 Ki 和微
分系数 Kd,以达到调节作用的实时最优。该电液伺服系统的 Fuzzy 自整定 PID 控制系统结构如图 3 所示。
单片机模糊 PID 自整定控制算法的实现及仿真
3
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn
BA_WANG_MAO
整理
为了简化运算和满足实时性要求,即该调节系统的基本控制仍为 PID 控制,但使 PID 调节参数由模糊
自整定控制器根据偏差 e 和偏差变化率 ec 进行自动调整,同时把模糊自整定控制器的模糊部分按 Kp、Ki
和 Kd 分成 3 部分,分别由相应的子推理器来实现。
2.1、输入值的模糊化
模糊自整定 PID 控制器是在 fuzzy 集的论域中进行讨论和计算的,因而首先要将输入变量变换到相应
的论域,并将输人数据转换成合适的语言值,也就是要对输入量进行模糊化。结合本液压伺服系统的特性,
这里选择模糊变量的模糊集隶属函数为正态分布,具体分布如图 4 所示。根据该规则可把实际误差 e、误
差变化率 ec(de/dt)对应的语言变量 E、EC 表示成模糊量。E、EC 的基本论域为[-6,+6],将其离散成 13
个等级即[-6,-5,-4,-3,-2,-1,0,+1,+2,+3,+4,+5,+6]。考虑到控制的精度要求,本设计将[-6,
+6]分为负大[NB]、负中[NM]、负小[NS]、零[ZO]、正小[PS]、正中[PM]、正大[PB]等 7 个语言变量,然
后由 e、ec 隶属函数根据最大值法得出相应的模糊变量。
单片机模糊 PID 自整定控制算法的实现及仿真
4
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn
BA_WANG_MAO
整理
2.2、模糊控制规则表的建立
(1)、Kp 控制规则设计
在 PID 控制器中,Kp 值的选取决定于系统的响应速度。增大 Kp 能提高响应速度,减小稳态误差;但
是,Kp 值过大会产生较大的超调,甚至使系统不稳定减小 Kp 可以减小超调,提高稳定性,但 Kp 过小会
减慢响应速度,延长调节时间。因此,调节初期应适当取较大的 Kp 值以提高响应速度,而在调节中期,
Kp 则取较小值,以使系统具有较小的超调并保证一定的响应速度;而在调节过程后期再将 Kp 值调到较大
值来减小静差,提高控制精度。Kp 的控制规则如表 1 所列。
NB
NM
NS
ZO
PS
NB 负大
PB 正大
PB 正大
PM 正中
PM 正中
PS 正小
NM 负中
PB 正大
PB 正大
PM 正中
PS 正小
PS 正小
PM
ZO 零
ZO 零
PB
ZO 零
NS 负小
NS 负小
PB 正大
PM 正中
PM 正中
PS 正小
ZO 零
NS 负小
NS 负小
ZO 零
PM 正中
PM 正中
PS 正小
ZO 零
NS 负小
NM 负中
NM 负中
PS 正小
PS 正小
PS 正小
ZO 零
NS 负小
NS 负小
NM 负中
NB 负大
PM 正中
PS 正小
PB 正大
ZO 零
ZO 零
ZO 零
NS 负小
NM 负中
NM 负中
NM 负中
NB 负大
NM 负中
NM 负中
NM 负中
NB 负大
NB 负大
单片机模糊 PID 自整定控制算法的实现及仿真
5
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn
BA_WANG_MAO
整理
例如:
PB
ZO 零
NS 负小
NS 负小
NM 负中
NB 负大
NB 负大
NB 负大
隶属度是什么,下面我举个例子说明一吓,例如我说 50 岁以下的不是老年人,70 岁以上的是老年人,
那么 60 岁我应该怎样说些,应该说可能是老年人,也可能不是老年人,因为它对于 50 岁的隶属度是 50%,
计算工式是(X-50)*0.05,对于 70 的隶属度是 50%,计算工式是(70-x)*0.05。
(2)、Ki 控制规则设计
在系统控制中,积分控制主要是用来消除系统的稳态误差。由于某些原因(如饱和非线性等),积分过
程有可能在调节过程的初期产生积分饱和,从而引起调节过程的较大超调。因此,在调节过程的初期,为
防止积分饱和,其积分作用应当弱一些,甚至可以取零;而在调节中期,为了避免影响稳定性,其积分作
用应该比较适中;最后在过程的后期,则应增强积分作用,以减小调节静差。依据以上分析,制定的 Ki
控制规则表如表 2 所列。
单片机模糊 PID 自整定控制算法的实现及仿真
6
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn
BA_WANG_MAO
整理
NB
NM
NS
ZO
PS
PM
NB 负大
NB 负大
NB 负大
NM 负中
NM 负中
NS 负小
ZO 零
NM 负中
NB 负大
NB 负大
NM 负中
NS 负小
NS 负小
ZO 零
PB
ZO 零
ZO 零
NS 负小
NB 负大
NM 负中
NS 负小
NS 负小
ZO 零
PS 正小
PS 正小
ZO 零
NM 负中
NM 负中
NS 负小
ZO 零
PS 正小
PM 正中
PM 正中
PS 正小
NS 负小
NS 负小
ZO 零
PS 正小
PS 正小
PM 正中
PB 正大
PM 正中
ZO 零
PB 正大
ZO 零
ZO 零
ZO 零
PS 正小
PS 正小
PM 正中
PB 正大
PB 正大
PS 正小
PM 正中
PM 正中
PB 正大
PB 正大
Ki 的模糊规则表
(3)、Kd 控制规则设计
微分环节的调整主要是针对大惯性过程引入的,微分环节系数的作用在于改变系统的动态特性。系统
的微分环节系数能反映信号变化的趋势,并能在偏差信号变化太大之前,在系统中引入一个有效的早期修
正信号,从而加快响应速度,减少调整时间,消除振荡.最终改变系统的动态性能。因此,Kd 值的选取
对调节动态特性影响很大。Kd 值过大,调节过程制动就会超前,致使调节时间过长;Kd 值过小,调节过
程制动就会落后,从而导致超调增加。根据实际过程经验,在调节初期,应加大微分作用,这样可得到较
小甚至避免超调;而在中期,由于调节特性对 Kd 值的变化比较敏感,因此,Kd 值应适当小一些并应保持
单片机模糊 PID 自整定控制算法的实现及仿真
7
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn
BA_WANG_MAO
整理
固定不变;然后在调节后期,Kd 值应减小,以减小被控过程的制动作用,进而补偿在调节过程初期由于
Kd 值较大所造成的调节过程的时间延长。依据以上分析,制定的 Kd 控制规则表如表 3 所列。
NB
NM
NS
ZO
PS
PM
PB
NB 负大
PS 正小
NS 负小
NB 负大
NB 负大
NB 负大
NM 负中
PS 正小
NM 负中
PS 正小
NS 负小
NB 负大
NM 负中
NM 负中
NS 负小
ZO 零
NS 负小
ZO 零
NS 负小
NM 负中
NM 负中
NS 负小
NS 负小
ZO 零
ZO 零
ZO 零
NS 负小
NS 负小
NS 负小
NS 负小
NS 负小
ZO 零
PS 正小
ZO 零
ZO 零
ZO 零
ZO 零
ZO 零
ZO 零
ZO 零
PM 正中
PB 正大
NS 负小
PS 正小
PS 正小
PS 正小
PS 正小
PB 正大
PB 正大
PB 正大
PM 正中
PM 正中
PM 正中
PS 正小
PS 正小
PB 正大
Kd 的模糊规则表
单片机模糊 PID 自整定控制算法的实现及仿真
8
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn