【原创】PID调试经验分享

2019-07-20 22:10发布

本帖最后由 cmz 于 2018-7-4 17:55 编辑

    下面的PID调试经验完全是看文档和自己想的,也不知道这样对不对,分享出来的就是想虚心的请教各路大神指正,完善。后面我用这个经验做一些实际项目会继续发上来。
分享一个通俗易懂的PID文档,也是从本论坛下载的,不过这个我加入了书签。 由入门到精通-吃透PID2.0版.pdf (1.43 MB, 下载次数: 402) 2018-7-4 17:41 上传 点击文件名下载附件 源代码 电机调速源代码.zip (624.54 KB, 下载次数: 358) 2018-7-4 17:42 上传 点击文件名下载附件 本帖pdf文档 PID电机调速经验.pdf (676.69 KB, 下载次数: 344) 2018-7-4 17:47 上传 点击文件名下载附件
硬件组成:    直流编码电机软件组成:    一定先确定电机方向,P、I、D正负。    要输出的曲线:NowVal、TargetVal、PIDout 、Pout、Iout、Dout、delError    熟悉匿名四轴上位机的使用
说明:     NowVal:当前值,             TargetVal:目标值,                PIDout:PID输出,即PWM  Pout、Iout、Dout:分别是比例输出,积分输出,微分输出               delError:Ek - Ek_1,即微分
1、PID各自的作用    P:对系统瞬间产生的偏差进行快速修正,只有P时会有静差。    I:补偿系统的静差。当系统稳定运行时,PIDout=Iout,Pout=0。即:只有I维持系统的运行。只有PI调节时,TargetVal阶跃变化时,NowVal会产生一个大波动和小波动后才稳定。    D:阻尼作用,当调好PI后,加入D来消除{ NowVal会产生一个大波动和小波动后才稳定} 的现象。2、PID参数整定2.1、P参数整定    需要看的曲线有:NowVal、TargetVal、PIDout、Pout。    先慢慢增大P,增大到振荡,又减小回来至不震荡,P最好小一点,在只有P调节时,输出不能有振荡,这时会有静差,无所谓,静差由I调节。这时如果TargetVal变化大,如从0变100,这时Pout=100*P。这时可以看到Pout会出现一个很尖的峰值,这时就要对偏差限幅,这很重要,这对影响系统的稳定性很重要。偏差限幅的值根据实际情况,如果TargetVal变化不大,则偏差限幅可以设置小一点。    调节好P后,NowVal稳定在一个值,与TargetVal有偏差,而且如果TargetVal变化大,如从0变100,PIDout=Pout也不能有振荡才对。2.2、I参数整定    需要看的曲线有:NowVal、TargetVal、PIDout、Pout、Iout。    慢慢增大I,这时可以看到NowVal会从静差位置随着I的增大逐渐靠近TargetVal,当I较小时NowVal有可能够不着TargetVal,或者上升到TargetVal慢,这时就要增大I。慢慢增大I可以看到NowVal上升到TargetVal速度变快。在增大I的过程中,时刻注意Iout,I过大时Iout会振荡。    调节好I后,NowVal会快速增大到TargetVal,消除系统静差。这时TargetVal阶跃变化时,NowVal快速跟随变化,并会在变化处出现一个大波动,一个小波动系统就会稳定即为I调好。2.3、D参数整定    需要看的曲线有:NowVal、TargetVal、PIDout、Pout、Iout、Dout。    D的作用是阻尼,当TargetVal大幅度变化时,如从0变到100。这时Pout大幅度上升,使得NowVal冲出TargetVal振荡一两下,加入D就是使它不冲出去。慢慢增大D,发现当TargetVal阶跃变化时Dout会有非常尖的尖峰,这时就要对delError进行限幅。在PID调节中,不允许出现很大的尖峰。    调好D后,NowVal会很好的跟随TargetVal的变化而变化。3、看图整定参数    1-7曲线分别是:NowVal、TargetVal、PIDout、Pout、Iout、Dout、delError。3.1、I参数整定    浅蓝线:TargetVal,绿线:NowVal,红线:Iout    PID=3,1,0时,明显看到系统静差还没消除,更别谈NowVal变化要快。所以图1 I参数小了。 图1.png          图1  I参数1    PID=3,2,0时,看到系统静差已消除,但是NowVal上升慢,还需增大I。调试看到这种情况,当慢慢增大某个参数,现象和上面分析的一样,说明一切都是好的开始。就这样调试下去准能调好。如图2。 图2.png 图2  I参数2    PID=3,4.5,0,看到一个大波动和一个小波动就稳定下来,就说明PI已经调好。如图3。 图3.png 图3  I参数3    由图3 看到PI已调好。下面看看TargetVal阶跃变化时NowVal的跟随情况。跟随很好,就是阶跃变化时有大波动+小波动。这需要加入D来消除。 图4.png 图4  阶跃变化3.2、D参数整定    浅蓝线:TargetVal,绿线:NowVal,红线:Iout,青 {MOD}:DoutPID=3,4.5,1。明显看到阶跃变化的大波动+小波动变小。说明增大D的作用效果和上面分析的一样,所以这也是好的开始。如图5。 图5.png 图5  D参数1
    PID=3,4.5,2。NowVal基本能跟随TargetVal变化。即绿线跟随浅蓝线。PID参数整定成功。如图6。 图6.png 图6  D参数2

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。