|
樓主 |
發表於 2013年6月13日 12:44 AM
|
顯示全部樓層
BlHeli Code中對PWM跨Commutation的處理
本帖最後由 chan.chenhao 於 2013年6月13日 08:33 PM 編輯
從學生時代後就沒玩過51 asm了, 看的很吃力, 有猜錯的地方請大家幫忙指正囉...
就看過的Code的認知:
A. PWM跨Commutation時, 先前的PWM會被繼續下去, 直到Timer 0被喚醒後再重新計算.
以comm6comm1: 為例 [從Comm6(300~360度)->Comm1(0~60度)], 若切換Comm時上個MOS是 ON的, 則接續下去的是ON, (若Off則就Off囉)
B. 正反轉在ESC.inc中定義
又, 不知是否有飛友看過"Governor SiLabs High and Low.xls", 其中
GovHigh:Comm_Period4x_H target = 1 + 2*((255-PWM)/256) - 0.25
GovLow:Comm_Period4x_H target = 2 + 8*((255-PWM)/256) - 0.25
是否有地方有解釋呢? 直覺認定那跟PWM產生有關,懂了或許會比較好瞭解如何產生PWM...
(為啥BlHeli要以4個換相來計算PWM??)
(目前正在努力想看懂的地方是PWM訊號產生的Timer 0那塊)
|
|