|
最近在看PID相關(guān)文檔時,一直想不明白一個問題,希望論壇的朋友幫幫忙。
使用PID算法計算出來的結(jié)果,與控制量怎么聯(lián)系起來?
比如我用PWM控制無刷電機(jī),目前是控制在1萬轉(zhuǎn),引用PID算法計算出來一個變量PID_output,控制PWM的占空比用PWM_value寫入單片機(jī)寄存器,這兩個變量怎么關(guān)聯(lián)起來呢?
我看別人的程序是這樣的
if (PID_output > PWM_max)
PWM_value = PWM_max;
else if (PID_output < 0)
PWM_value = 0;
else
PWM_value = PID_output;
為什么PWM_value = PID_output呢,我不理解是因為PWM_value是有范圍的,比如0~1024,而PID_output 可能很大或很小,與PID參數(shù)和目標(biāo)值1萬轉(zhuǎn)等有關(guān),那計算結(jié)果PID_output可能會一直是很大的值或負(fù)數(shù),遠(yuǎn)遠(yuǎn)超出PWM_value的范圍。
|
|