查看: 1972|回复: 0

单片机模糊PID自整定控制算法的实现及仿真

[复制链接]

该用户从未签到

发表于 2007-8-9 23:49:43 | 显示全部楼层 |阅读模式
分享到:

 
0 引言
由于液压伺服系统的固有特性(如死区、泄漏、阻尼系数的时变性以及负载干扰的存在),系统往往会呈现典型的不确定性和非线性特性。这类系统一般很难精确描述控制对象的传递函数或状态方程,而常规的PID控制又难以取得良好的控制效果。另外,单一的模糊控制虽不需要精确的数学模型,但是却极易在平衡点附近产生小振幅振荡,从而使整个控制系统不能拥有良好的动态品质。
本文针对这两种控制的优缺点并结合模糊控制技术,探讨了液压伺服系统的模糊自整定PID控制方法,同时利用MATLAB软件提供的Simulink和Fuzzy工具箱对液压伺服调节系统的模糊自整定PID控制系统进行仿真,并与常规PID控制进行了比较。此外,本文还尝试将控制系统通过单片机的数字化处理,并在电液伺服实验台上进行了测试,测试证明:该方法能使系统的结构简单化,操作灵活化,并可增强可靠性和适应性,提高控制精度和鲁棒性,特别容易实现非线性化控制。
1 模糊PID自整定控制器的设计
本控制系统主要完成数据采集、速度显示和速度控制等功能。其中智能模糊控制由单片机完成,并采用规则自整定PID控制算法进行过程控制。整个系统的核心是模糊控制器,AT89C51单片机是控制器的主体模块。电液伺服系统输出的速度信号经传感器和A/D转换之后进入单片机,单片机则根据输入的各种命令,并通过模糊控制算法计算控制量,然后将输出信号通过D/A转换送给液压伺服系统,从而控制系统的速度。该模糊控制器的硬件框图如图1所示。


模糊控制器的主程序包括初始化、键盘管理及控制模块和显示模块的调用等。温度信号的采集、标度变换、控制算法以及速度显示等功能的实现可由各子程序完成。软件的主要流程是:利用AT89C51单片机调A/D转换、标度转换模块以得到速度的反馈信号,然后根据偏差和偏差的变化率计算输入量,再由模糊PID自整定控制算法得出输出控制量。启动、停止可通过键盘并利用外部中断产生,有按键输入则调用中断服务程序。该程序的流程图如图2所示。



2 模糊控制器算法研究

采用模糊PID自整定控制的目的是使控制器能够根据实际情况调整比例系数Kp、积分系数Ki和微分系数Kd,以达到调节作用的实时最优。该电液伺服系统的Fuzzy自整定PID控制系统结构如图3所示。


 

为了简化运算和满足实时性要求,即该调节系统的基本控制仍为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隶属函数根据最大值法得出相应的模糊变量。
2.2 模糊控制规则表的建立
(1) Kp控制规则设计
在PID控制器中,Kp值的选取决定于系统的响应速度。增大Kp能提高响应速度,减小稳态误差;但是,Kp值过大会产生较大的超调,甚至使系统不稳定减小Kp可以减小超调,提高稳定性,但Kp过小会减慢响应速度,延长调节时间。因此,调节初期应适当取较大的Kp值以提高响应速度,而在调节中期,Kp则取较小值,以使系统具有较小的超调并保证一定的响应速度;而在调节过程后期再将Kp值调到较大值来减小静差,提高控制精度。Kp的控制规则如表1所列。

(2) Ki控制规则设计
在系统控制中,积分控制主要是用来消除系统的稳态误差。由于某些原因(如饱和非线性等),积分过程有可能在调节过程的初期产生积分饱和,从而引起调节过程的较大超调。因此,在调节过程的初期,为防止积分饱和,其积分作用应当弱一些,甚至可以取零;而在调节中期,为了避免影响稳定性,其积分作用应该比较适中;最后在过程的后期,则应增强积分作用,以减小调节静差。依据以上分析,制定的Ki控制规则表如表2所列。


(3) Kd控制规则设计
微分环节的调整主要是针对大惯性过程引入的,微分环节系数的作用在于改变系统的动态特性。系统的微分环节系数能反映信号变化的趋势,并能在偏差信号变化太大之前,在系统中引入一个有效的早期修正信号,从而加快响应速度,减少调整时间,消除振荡.最终改变系统的动态性能。因此,Kd值的选取对调节动态特性影响很大。Kd值过大,调节过程制动就会超前,致使调节时间过长;Kd值过小,调节过程制动就会落后,从而导致超调增加。根据实际过程经验,在调节初期,应加大微分作用,这样可得到较小甚至避免超调;而在中期,由于调节特性对Kd值的变化比较敏感,因此,Kd值应适当小一些并应保持固定不变;然后在调节后期,Kd值应减小,以减小被控过程的制动作用,进而补偿在调节过程初期由于Kd值较大所造成的调节过程的时间延长。依据以上分析,制定的Kd控制规则表如表3所列。


2.3 逆模糊化处理及输出量的计算
对经过模糊控制规则表求得的Kp、Ki、Kd采用重心法进行逆模糊化处理(重心法在此就不做详细介绍)的公式如下:


式中,u(k)为k采样周期时的输出,e(k)为k采样周期时的偏差,T为采样周期,通过输出u(k)乘以相应的比例因子Ku就可得出精确的输出量u。其公式如下:



3 实验结果分析

常规PID控制时通过调节PID三个参数,就可以得到系统比较理想的响应图,控制效果的优良与参数的调整有很大的关系,也能提高快速性。但三个参数的调整非常繁琐。而且,如果系统环境不断变化,则参数又必须进行重新调整,往往达不到最优。而采用模糊PID控制后,通过模糊控制器对PID进行非线性的参数整定,可使系统无论是快速性方面还是稳定性方面都达到比较好的效果。
笔者将上述PID控制及模糊PID控制分别进行了仿真试验,实验分别在单独模糊PID控制情况下和模糊PID控制两种情况下进行。并在在线运行过程中通过逻辑规则的结果处理、查表和运算完成了对PID参数的在线自矫正。系统的偏差绝对值以及偏差的变化绝对值的取值范围可根据实际经验分别确定为[-0.1 cm/s,0.1 cm/s】和[-0.06 cm/s2,0.06 cm/s2],以而确定相对控制效果较好时Kp、Ki、Kd的取值范围为Kp[-0.3,0.3]、Ki[-0.06,0.06]、Kd[-3,3]。
传统PID和模糊PID实验所得的曲线分别如图5及图6所示。从图中可以发现,采用模糊控制策略整定PID参数相对于普通PID控制策略,其系统的稳态性得到了较大的改善,响应时间大大减少,超调量也得到了一定的改善。

4 结束语

实验证明:该单片机模糊PID自整定控制器对于电液伺服控制系统具有较好的效果。实践中可以根据工程控制的具体情况及对超调量、稳定性、响应速度的不同要求,来调整模糊PID控制器三个参数的取值范围,从而得到不同的控制精度和控制效果。
总之,本文研究的模糊PID控制器具有以下一些特点:
(1) 算法简单实用,本质上不依赖于系统的数字模型;
(2) 可充分利用单片机的软件资源,可靠性高,开发速度快;
(3) 克服了传统PID控制器操作的困难,提高了系统的智能化程度;
(4) 模糊PID控制器棒性好,具有专家控制器的特点,并可推广应用于其它工作领域。
回复

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /4 下一条



手机版|小黑屋|与非网

GMT+8, 2024-11-25 10:53 , Processed in 0.111584 second(s), 15 queries , MemCache On.

ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

苏公网安备 32059002001037号

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.