看板 Electronics 關於我們 聯絡資訊
各位大大好 我有一個BLDC 使用Hall Sensor 搭配MCU 我的架構是每次換相時,根據電子週期60度推算轉速後作PID 利用capture中斷我可以根據Hall sensor 60度來得到新轉速 最高以100筆轉速,當第100筆轉速更新時,我的KI的累積誤差值非常小 大約1~200內 可是我的指導教授卻希望我每1ms做一次PID 當我寫好新的版本測試的時候,假如我低速時換相一次要7ms(轉速更新) 我每1ms作一次PID 會變成 KI的累積誤差有7筆一樣的值加在一塊 而且同時會有七次 PID_Output累加 這樣的話 我的Ki_Error 一直無限增加 消也消不掉(值大約7000以上) 我得到的結論是 因為不是使用Encorder的關係 導致我每1ms作PID的時候 我的轉速並非是新的值 而是上一次換相完的轉速值 所以不適用這種1ms作一次的方法 這部分我已經卡3個多月了 真的有辦法每1ms作一次PID,而在轉速還沒更新時,同時又能控的穩嗎? 再次想請教各位大大,利用Hall Sensor在實作PID都是用何種方法? 還是有什麼方法能透過Hall Sensor來得到任一時間的轉速值? 例如1ms得到正確轉速 感謝! -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.143.70.224 ※ 文章網址: http://www.ptt.cc/bbs/Electronics/M.1407937112.A.2F0.html
paulgoodke: 有加入反積分終結嗎 08/15 22:57
ypyp1010: 反積分必加,然後ki可以設小一點看看。 08/16 21:00