利用DSP2812编写直流电机PID调速程序(C语言)

2019-07-15 18:39发布

本人现在已经通过DSP2812中SCIA接收上位机发送的数据来控制电机的转速,采用CAP3来捕获光电编码器来测量电机的转速,现在想在程序里面添加PID调节电机的转速,主要通过PID输出调整PWM波形的占空比来调节电机的转速,请各位大神赐教
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
16条回答
1406093611
2019-07-17 01:53
MMMEEELLL 发表于 2017-9-12 20:47
你好,想向你请教一下,PID的输出与PWM占空比的关系,如果用PID的输出调节PWM占空比是不是就把PID的输出直接加到PWM占空比上,还是要经过一定的比例关系再加到PWM占空比上?

你好,由于白天上班,所以QQ不好回复,请谅解。
PID和PWM的关系是这样的:PID和PWM是独立的,但是PID可以影响PWM占空比的输出,也就是说,PID调整后会产生一个值,那么这个值是一个参考值,你在程序用的时候是需要判断这个参考值在什么范围内,然后在相应的范围内再给出对应的PWM占空比,这是一种PID与PWM的处理方式。

PID就是(比例+积分+微分)P+I+D,实际使用中可以是PI控制,也可以是PD控制,也可以是PID控制,需要根据实际情况做相应的调整。

楼主现在应该分清楚PID只是一种算法,它服务于其他控制类函数,比如就是PWM控制。

给楼主总结一下:1、PID和PWM是独立的个体,不是把PID的处理后的调整值直接作为PWM的占空比,除非你用PID处理后的值是整数并且在PWM占空比精度范围内,那就直接作为PWM占空比是可以的。2、PID处理就包括了比例、积分、微分,是将实际值进行比例积分微分运算后去快速地尽可能地稳定在设定值附近。

一周热门 更多>