[問題] 直流無刷 PID作法 使用Hall Sensor
各位大大好
我有一個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
推
08/15 22:57, , 1F
08/15 22:57, 1F
→
08/16 21:00, , 2F
08/16 21:00, 2F