我的系统具体是这样子的:使用光电编码器,电机转动的时候,会带动码盘旋转,因为一黑一白条纹的关系,所以码盘会引起A,B两个光电器件产生波形。MCU根据A,B反馈的两个波形,就可以知道电机转动的位置。我目标是需要在指定的位置下停止电机转动。这是外国多年前的方案,我们是参考它的设计。电机控制我看过很多资料,本来想用三环控制,但外国公司的电路设计没有电压反馈,所以我估计不需要电流环,只是用速度环和位置环。在调整速度环的时候,采样时间使用1ms,然后PWM是用最大占空比,可以检测到系统最大速度是每1ms走70多个编码器反馈的信号。
参考多方面资料,我需要先整定速度环,将给定速度值设置为50,
意思就是每1ms的速度是50,这样从而可以保证每采样一次就使用一次PID调整。
在速度环调整时,我参考网上的资料,先使用纯比例模式,
下面是我详细的调试过程:
(1)KP=60, KI=0,KD=0时,检测到的速度数值在44和45上摆动;
(2)KP=80, KI=0,KD=0时,检测到的速度数值是以45为中心振荡,振荡区间是【44,47】
(3)KP=100,KI=0,KD=0时,检测到的速度数值也是以46为中心振荡,震荡区间是【44,49】;
(4)KP=150,KI=0,KD=0时,检测到的速度震荡区间是【43,50】;
(5)KP=180,KI=0,KD=0时,检测到的速度震荡区间是【43,51】;
(6)KP=250,KI=0,KD=0时,检测到的速度震荡区间还是【43,51】,但震荡曲线没有(5)那么正规了
后面我继续调试,KP=400,1000,10000,发现震荡很没规律了。
而后,我继续添加积分项,KP=66,KI=0.47,KD=0的时候,感觉好像最好了,但系统的也不能稳定在给定值50。
结论:
在纯比例模式下,发现,无论设置KP值多大,都无法得到以给定值50为中心的震荡曲线,而且也不会最后稳定在给定的速度值;增大KP值,也不能加快由静止起动到达给定速度50的响应时间。
有几个问题:
1、对于这个系统,我只用速度环和位置环行不行呢?
2、纯比例模式下,是不是必须调整到已给定值为中心的振荡的曲线呢?
如果不是,那么我上面的调试过程,哪个值算是比较合适呢?
3、为什么我看很多资料,好像都说纯比例模式下,运行一段时间后,都会稳定在给定值,但我无论怎么设置KP值,系统都在振荡。在PI模式下,KP,KI的值无论怎么变化,系统也还在振荡,是不是我哪里调不好呢?想不通啊!!!
第一次接触PID自动控制,完全没经验,已经调试了很长时间了,希望有好心人指点,万分感激。 |