PID
讲一下pid算法先。
基本pid算法有两种位置式和增量式,下面两张图片分别是位置式和增量式,各有优缺点,自行百度后选择,本实验采用位置式,当你想换一个的时候改一下pid.c里面的算式就行。
为了提高控制精度,我们可以采用多环控制,或者与其他控制算法相结合,一般多环控制是三环,最内层是电流环,其次是速度环,最外层是位置环。
位置环的意思有两个,一个是你想要电机转动的圈数位置,另外你可以根据实际应用进行反馈,例如做真空泵的就根据实际测量的真空度作为位置环来控制精度。
多环控制:
与其他算法结合:
位置环和电流环的实现
首先介绍位置环实现,首先前面已经讲过速度环的控制流程,我们这里实现的位置环是改变圈数,于是我们的反馈依然是编码器的反馈。我们来对比一下代码
位置环控制值没有对转速进行计算,而是直接把计数带入pid计算。
我们在主函数控制时就没有读速度进行控制,而是对其转动的圈数。
其中圈数的解释为
电流环
在实际电流环控制时,我们不再把编码器测量的值作为反馈,而是ADC采样的电压电流值作为反馈,其中的函数也随之改变:
ADC采样之前的文章有介绍,返回给pid的值也随之改变:
主函数中想要控制速度,就是实际在控制电机的电压电流
接下来学习多环控制