STM32单片机调试风洞过程中所遇到的问题总结
PID算法的原理相信大家手里有资料而且也都看过了吧,下面我就来和大家分享一下我在调风洞得过程中所遇到的问题以及原因,如果有错误的地方还希望大家指出来。
我所用到的单片机是STM32单片机,芯片型号是STM32F407ZET6.
刚开始调的时候不管怎么样调比例调积分都是一下子冲到顶然后又一下子冲到底,后来仔细想了一下,原因就是PID以及超声波模块更新的速度太慢,当更新时,积累的量已经过多,所以始终就无法达到所设定的基准高度,改一下定时器的配置就可以解决掉。
比例调好后,再加积分就会有明显的过冲,我总结了一下过冲的原应有如下几种:
1.比例太小,积分过大。
2.比例过大。
3.比例偏小,积分也偏小,这时你会发现球不是立刻冲上去的,而是稍有停顿冲上去,停留在底部时积分已经积累过多而导致过冲。
要想积分和比例设定的刚刚好,则需要大家的不断调试,如果一直找不到那个临界点,可能就是细分不够的原因了,细分就是把PID系数扩大一百倍甚至一千倍同时除以一百倍甚至一千倍,这样你所测试的数值的范围也就扩大了,就更容易找到合适的数值了。
当然你还可以适当加大微分的作用来消减积分的作用。
解决掉过冲的原因,就又出现了一个偏离回复慢的原因,这时要适当减小积分,同时适当增加比列,以防小球开始上升的速度不够快。
PID算法口诀如下:
希望这篇博客对你们有所帮助。