查看: 11219|回复: 12

PID调节经验总结

[复制链接]

该用户从未签到

131

主题

835

帖子

0

金牌会员

Rank: 6Rank: 6

积分
10021
最后登录
1970-1-1
发表于 2009-4-9 09:33:42 | 显示全部楼层 |阅读模式
PID控制器参数选择的方法很多,例如试凑法、临界比例度法、扩充临界比例度法等。但是,对于PID控制而言,参数的选择始终是一件非常烦杂的工作,需要经过不断的调整才能得到较为满意的控制效果。依据经验,一般PID参数确定的步骤如下[42]:
(1)        确定比例系数Kp
确定比例系数Kp时,首先去掉PID的积分项和微分项,可以令Ti=0、Td=0,使之成为
纯比例调节。输入设定为系统允许输出最大值的60%~70%,比例系数Kp由0开始逐渐增大,直至系统出现振荡;再反过来,从此时的比例系数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参数进行微调,直到满足性能要求。
PID代码
//定义变量
float Kp;                       //PI调节的比例常数
float Ti;                       //PI调节的积分常数
float T;                        //采样周期
float Ki;
float ek;                       //偏差e[k]
float ek1;                      //偏差e[k-1]
float ek2;                      //偏差e[k-2]
float uk;                       //u[k]
signed int uk1;                 //对u[k]四舍五入取整
signed int adjust;              //调节器输出调整量
//变量初始化
    Kp=4;
    Ti=0。005;
    T=0.001;
// Ki=KpT/Ti=0.8,微分系数Kd=KpTd/T=0.8,Td=0.0002,根据实验调得的结果确定这些参数
    ek=0;
    ek1=0;
    ek2=0;
    uk=0;
    uk1=0;
    adjust=0;
int piadjust(float ek)  //PI调节算法
{
    if( gabs(ek)0)
       {
          if(uk-uk1>=0.5)
          {
             uk1=uk1+1;
          }
       }
       if(uk=0.5)
          {
             uk1=uk1-1;
          }
       }
       adjust=uk1;   
    }       
   
   
    return adjust;
}
下面是在AD中断程序中调用的代码。
      
       。。。。。。。。。。。
       else //退出软启动后,PID调节,20ms调节一次
           {
              EvaRegs.CMPR3=EvaRegs.CMPR3+piadjust(ek);//误差较小PID调节稳住
              if(EvaRegs.CMPR3>=890)
              {
                 EvaRegs.CMPR3=890; //限制PWM占空比
              }       
           }
回复

使用道具 举报

该用户从未签到

0

主题

15

帖子

0

新手上路

Rank: 1

积分
23
最后登录
1970-1-1
发表于 2009-4-14 14:38:05 | 显示全部楼层

RE:PID调节经验总结

这样设计出来的PID值准确么 ?

该用户从未签到

2

主题

35

帖子

0

注册会员

Rank: 2

积分
120
最后登录
2024-5-11
发表于 2010-1-20 20:46:56 | 显示全部楼层

RE:PID调节经验总结

学习了。呵呵

该用户从未签到

0

主题

9

帖子

0

新手上路

Rank: 1

积分
12
最后登录
1970-1-1
发表于 2010-3-22 17:14:37 | 显示全部楼层

RE:PID调节经验总结

呵呵   应该好好学下!!!

该用户从未签到

0

主题

5

帖子

0

新手上路

Rank: 1

积分
8
最后登录
1970-1-1
发表于 2010-4-24 10:39:49 | 显示全部楼层

RE:PID调节经验总结

学习了
谢谢

该用户从未签到

0

主题

14

帖子

0

新手上路

Rank: 1

积分
13
最后登录
1970-1-1
发表于 2010-4-27 19:33:44 | 显示全部楼层

RE:PID调节经验总结

学习学习!!!

该用户从未签到

0

主题

9

帖子

0

新手上路

Rank: 1

积分
1
最后登录
1970-1-1
发表于 2010-4-29 09:11:28 | 显示全部楼层

RE:PID调节经验总结

学习学习

该用户从未签到

0

主题

11

帖子

0

新手上路

Rank: 1

积分
11
最后登录
1970-1-1
发表于 2010-5-19 10:24:05 | 显示全部楼层

RE:PID调节经验总结


学习

该用户从未签到

0

主题

2

帖子

0

新手上路

Rank: 1

积分
0
最后登录
1970-1-1
发表于 2011-1-14 14:23:00 | 显示全部楼层

RE:PID调节经验总结

学习!!

该用户从未签到

0

主题

9

帖子

0

新手上路

Rank: 1

积分
9
最后登录
1970-1-1
发表于 2011-1-16 13:48:32 | 显示全部楼层

RE:PID调节经验总结

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

本版积分规则

关闭

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

Archiver|手机版|小黑屋|恩智浦技术社区

GMT+8, 2025-8-2 00:06 , Processed in 0.107134 second(s), 27 queries , MemCache On.

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.

快速回复 返回顶部 返回列表