This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

bldc pid控制

bldc pid控制中为什么程序中pid的输出直接决定占空比,我理解pid输出不是对误差的调节吗,加入设定值大于返回值,就因该把占空比调大,所以pwm占空比是不是因该等于原来占空比加上pid的输出值呀。参考程序 pwm1.DutyFunc = (int16)_IQtoQ15(pid1_spd.term.Out)  pwm1.DutyFunc 是pwm占空比,程序来源ti的bldc程序

  • pid输出本身就反应了对误差调节的趋势--输出是增加还是减小,所以可以直接决定占空比

  • 谢谢你的解答。我还有一个问题想问你。就是他这速度测量公式60f/p。f怎么得到,库函数中给的公式是f=电机转一圈的频率。ISR_FEQUENCY/period   ,ISR_FEQUENCY为中断频率,period为电机霍尔信号换向6次的时间

  • f 是电机的电角速度,p 是电机的磁极对数,机械转速就是60f/p。无刷电机一般一个电角度周期要进行6次换向。

  • 你好,我在用2812做bldc的pid控制,想请问一下程序是在哪里下的呢?

  • 这个要看你用的是位置式PID;还是增量式PID;增量式就是按你所说的在原来的基础上增加或者减少输出值;如果用的是位置式话输出值就是最终调节值

  • 你使用的算法应该是针对BLDC的pid集成算法,BLDC专用的pid算法是已经可以直接调节输出的,通用的pid只是换算出调节值,然后再通过计算调节的