智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 38433|回复: 84
打印 上一主题 下一主题

PID调节经验总结

    [复制链接]

24

主题

603

帖子

1

精华

跨届大侠

西点君

Rank: 10Rank: 10Rank: 10

积分
8838

活跃会员奖章优秀会员奖章论坛元老奖章在线王奖章资源大师奖章

威望
3135
贡献
3875
兑换币
1580
注册时间
2011-5-9
在线时间
914 小时
跳转到指定楼层
1#
发表于 2013-1-14 22:14:15 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
PID调节经验总结
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.1 )
    {
       adjust=0;
    }
    else
    {     
       uk=Kp*(ek-ek1)+Ki*ek;  //计算控制增量
       ek1=ek;
      
       uk1=(signed int)uk;
       if(uk>0)
       {
          if(uk-uk1>=0.5)
          {
             uk1=uk1+1;
          }
       }
       if(uk<0)
       {
          if(uk1-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占空比
              }        
           }

1

主题

38

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
377
威望
185
贡献
112
兑换币
126
注册时间
2013-4-1
在线时间
40 小时
毕业学校
唐山师范学院
推荐
发表于 2013-6-18 12:14:32 | 只看该作者
介个···真心百度文库搜到过···
回复 支持 2 反对 0

使用道具 举报

15

主题

277

帖子

0

精华

跨届大侠

Rank: 10Rank: 10Rank: 10

积分
6479

论坛元老奖章活跃会员奖章

QQ
威望
1282
贡献
4791
兑换币
495
注册时间
2011-10-10
在线时间
203 小时
推荐
发表于 2013-1-14 22:32:10 | 只看该作者
学习学习
回复 支持 0 反对 1

使用道具 举报

0

主题

6

帖子

0

精华

注册会员

Rank: 2

积分
23
威望
7
贡献
14
兑换币
5
注册时间
2017-12-11
在线时间
1 小时
85#
发表于 2017-12-12 13:34:58 | 只看该作者
好东西,要顶起
回复 支持 反对

使用道具 举报

2

主题

42

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
288
威望
123
贡献
121
兑换币
80
注册时间
2017-4-12
在线时间
22 小时
毕业学校
五邑大学
84#
发表于 2017-7-17 21:38:20 | 只看该作者
PID系数不用浮点型,而用整型,会有这样的不良后果?
回复 支持 反对

使用道具 举报

5

主题

69

帖子

0

精华

跨届大侠

Rank: 10Rank: 10Rank: 10

积分
8808

优秀会员奖章活跃会员奖章论坛元老奖章

威望
6680
贡献
1774
兑换币
584
注册时间
2016-11-18
在线时间
177 小时
83#
发表于 2016-11-19 13:04:05 | 只看该作者
我只想问怎么确定等幅震荡??去大神说明一下
回复 支持 反对

使用道具 举报

0

主题

27

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
291
威望
159
贡献
80
兑换币
96
注册时间
2016-9-17
在线时间
26 小时
毕业学校
华南农业大学珠江学院
82#
发表于 2016-10-24 18:50:46 | 只看该作者
没学PID呢,完全没看懂
回复 支持 反对

使用道具 举报

7

主题

89

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2982
威望
1893
贡献
811
兑换币
487
注册时间
2016-9-14
在线时间
139 小时
81#
发表于 2016-10-22 17:31:28 | 只看该作者
【表情】
回复 支持 反对

使用道具 举报

0

主题

3

帖子

0

精华

注册会员

Rank: 2

积分
111
威望
60
贡献
41
兑换币
24
注册时间
2016-3-12
在线时间
5 小时
毕业学校
合肥工业大学
80#
发表于 2016-6-30 19:54:48 | 只看该作者
学习学习
回复 支持 反对

使用道具 举报

10

主题

164

帖子

0

精华

高级会员

Rank: 4

积分
665
QQ
威望
337
贡献
210
兑换币
204
注册时间
2015-10-30
在线时间
59 小时
毕业学校
长春理工大学
79#
发表于 2016-4-15 17:22:16 | 只看该作者
学习一下
回复 支持 反对

使用道具 举报

0

主题

109

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1803
威望
1322
贡献
373
兑换币
206
注册时间
2015-7-18
在线时间
54 小时
毕业学校
北京航空航天大学
78#
发表于 2016-3-5 15:36:46 | 只看该作者
:):):victory::victory:
回复 支持 反对

使用道具 举报

9

主题

425

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2664

活跃会员奖章优秀会员奖章

QQ
威望
1210
贡献
716
兑换币
819
注册时间
2015-1-15
在线时间
369 小时
毕业学校
泥河中学
77#
发表于 2015-12-4 14:37:29 | 只看该作者
顶起来!!!!!
回复 支持 反对

使用道具 举报

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

本版积分规则

关于我们|联系我们|小黑屋|智能车制作 ( 黑ICP备2022002344号

GMT+8, 2024-9-30 11:00 , Processed in 0.066110 second(s), 36 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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