PID控制应该算是非常古老而且应用非常广泛的控制算法了,小到热水壶温度控制,大到控制无人机的飞行姿态和飞行速度等等。在电机控制中,PID算法用得尤为常见。
位置式PID 1 计算公式 在电机控制中,我们给电机输出的是一个PWM占空比的数值。 话不多说,直接上位置式PID基本公式: 控制流程图如下:
上图中的目标位置一般我们可以通过按键或者开关等方式编程实现改变目标值,测量位置就是通过 stm32 去采集编码器的数据。 目标位置和测量位置之间作差就是目前系统的偏差。送入 PID 控制器进行计算输出,然后再经过电机驱动的功率放大控制电机的转动去减小偏差, 最终达到目标位置的过程。 2 C语言实现 如何把我们以上的理论分析和控制原理图使用 C 语言写出来呢,这是一个有趣且实用的过程。位置式 PID 具体通过 C 语言实现的代码如下: