要掌握PID算法需要深刻理解反馈机构和执行机构以及了解自身特点

电子说

1.4w人已加入

描述

PID算法,不管是原理上,还是代码上都比较简单。主要运用在电机控制、开关电源、电源管理芯片等领域。

一般《自动控制原理》上给的是位置式算法,如下图所示。 PIDPID

原因在于你对这个系统的反馈机构理解得不够。

 

比如,716空心杯电机,设定在100转/秒,但是你却用了50M时钟让PID算法工作,假设PID是全并行的(数据吞吐量也达到50M)。

这时,不管你怎样调参数,电机都不受控制,一下子很快,一下子很慢。

静下来想想,不难发现问题。

假设电机瞬时转速是101转/秒,光电开关大概每隔4.95毫秒才反馈一个速度量过来,在这期间是没有反馈的。

设定的转速是100转/秒,用工作在50M全并行的增量式PID算法,在4.95毫秒内,不断地累积1转/秒的误差,期间被PID算法作用了247.5次!

也就是说,因为PID的工作频率太高,积累误差的速率太快(从另一个角度来看就是反馈机构太慢),所以电机不受控制,这时,你把PID的工作频率降下来,就会发现,电机渐渐地受控制了。

下面给一个在FPGA中使用PID算法做电机控制的完整框图。 PID

综上所述,控制类算法,除了要关注算法本身的特点以外,还要深刻理解反馈机构和执行机构。

BTW,一般来说,电机控制用PI或者PD控制就可以了,如果用PID三个环节的话,一来参数不容易调节,二来容易自激,当然也不排除某些特殊场合需要用PID三个环节,甚至还会用到三环控制(速度环、相位环、电流环)。此外,除了PID以外,常用的控制类算法还有模糊控制、MPC(模型预测控制)算法。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 相关推荐
  • 热点推荐
  • PID

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分