詳解STM32 PMW計算中的“死區”

 pwm"死區"?聽起來有點恐怖的樣子?pwm"死區"是什麼呢?可能很多人都注意過,今天來給大家科普一下pwm"死區"。
  "死區"簡單解釋
  通常,大功率電機、變頻器等,末端都是由大功率管、IGBT等元件組成的H橋或3相橋。每個橋的上半橋和下半橋是是絕對不能同時導通的,但高速的PWM驅動信號在達到功率元件的控制極時,往往會由於各種各樣的原因產生延遲的效果,造成某個半橋元件在應該關斷時沒有關斷,造成功率元件燒燬。
  死區就是在上半橋關斷後,延遲一段時間再打開下半橋或在下半橋關斷後,延遲一段時間再打開上半橋,從而避免功率元件燒燬。這段延遲時間就是死區。(就是上、下半橋的元件都是關斷的)死區時間控制在通常的低端單片機所配備的PWM中是沒有的。死區時間是PWM輸出時,爲了使H橋或半H橋的上下管不會因爲開關速度問題發生同時導通而設置的一個保護時段,所以在這個時間,上下管都不會有輸出,當然會使波形輸出中斷,死區時間一般只佔百分之幾的週期。但是PWM波本身佔空比小時,空出的部分要比死區還大,所以死區會影響輸出的紋波,但應該不是起到決定性作用的。
  佔空比就是輸出的PWM中,高電平保持的時間 與 該PWM的時鐘週期的時間之比;如,一個PWM的頻率是1000Hz,那麼它的時鐘週期就是1ms,就是1000us,如果高電平出現的時間是200us,那麼低電平的時間肯定是800us,那麼佔空比就是200:1000,也就是說PWM的佔空比就是1:5。
  分辨率也就是佔空比最小能達到多少,如8位的PWM,理論的分辨率就是1:255(單斜率),16位的的PWM理論就是1:65535(單斜率)。頻率就是這樣的,如16位的PWM,它的分辨率達到了1:65535,要達到這個分辨率,T/C就必須從0計數到65535才能達到,如果計數從0計到80之後又從0開始計到80,那麼它的分辨率最小就是1:80了,但是,它也快了,也就是說PWM的輸出頻率高了。
  假設一個PWM從0計數到80,之後又從0計數到80.這個就是單斜率。雙斜率 / 單斜率假設一個PWM從0計數到80,之後是從80計數到0.這個就是雙斜率。可見,雙斜率的計數時間多了一倍,所以輸出的PWM頻率就慢了一半,但是分辨率卻是1:(80+80) =1:160,就是提高了一倍。
  假設PWM是單斜率,設定最高計數是80,我們再設定一個比較值是10,那麼T/C從0計數到10時(這時計數器還是一直往上計數,直到計數到設定值80),單片機就會根據你的設定,控制某個IO口在這個時候是輸出1還是輸出0還是端口取反,這樣,就是PWM的最基本的原理了。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章