針對PWM,官方的解釋是這樣:PWM,也稱脈沖寬度調制,它是一種模擬控制方式,根據相應載荷的變化來調制晶體管基極或MOS管柵極的偏置,來實現晶體管或MOS管導通時間的改變,從而實現開關穩壓電源輸出的改變。這種方式能使電源的輸出電壓在工作條件變化時保持恒定,是利用微處理器的數字信號對模擬電路進行控制的一種非常有效的技術。
當然可以這樣理解。有5V電源,要控制一臺燈的亮度,有一個傳統辦法,就是串聯一個可調電阻,改變電阻,燈的亮度就會改變。還有一個辦法,就是PWM調節。不用串聯電阻,而是串聯一個開關。假設在1秒內,有0.5秒的時間開關是打開的,0.5秒關閉,那么燈就亮0.5秒,滅0.5秒。這樣持續下去,燈就會閃爍。
如果把頻率調高一點,比如是1毫秒,0.5毫秒開,0.5毫秒滅,那么燈的閃爍頻率就很高。我們知道,閃爍頻率超過一定值,人眼就會感覺不到。所以,這時你看不到燈的閃爍,只看到燈的亮度只有原來的一半。同理,如果1毫秒內,0.1毫秒開,0.9毫秒滅,那么,燈的亮度就只有原來的10分之一。
這就是PWM的基本原理。總的來說,都是保持一定的電壓或電流不變,但改變一定周期內的導通和關斷時間。這樣等效于保持導通,但改變電壓或電流大小。
第一次用的PWM是電機。理論上可以在-UU之間線性調節電壓及方向,使電機正反轉,對于風扇一般是不改變風向,也就是0u之間調節,直流電機基本采用調電壓調速。也就是采用PWM調電壓,進而調節速度。
說到PWM,就要說到占空比。那么什么是占空比:pwm占空比就是一個脈沖周期內高電平的所整個周期占的比例。
要想了解PWM首先就要從寄存器
計數器寄存器(TIM_CR1):計數器寄存器是一個16位的寄存器,其中:
1.ARPE位是自動重裝載允許位。
2.DIR位是控制計數方式位。
3.URS位是控制事件更新請求源。
4.UDIS位禁止事件更新。
5.CEN使能計數器。
其次是預分頻器(TIMx_PSC):預分頻器可以將計數器的時鐘頻率按1到65536之間的任意值分頻。在預分頻寄存器對主頻率分頻后,提供給計數器,作為計數器的時鐘。它是基于一個在TIMx_PSC寄存器中的16位寄存器控制的16位計數器。
因為這個控制寄存器帶有緩沖器,它能夠在工作時被改變。但是預分頻器的新參數會在下一次更新事件到來時被調用。例如,預分頻器的參數從1變到2時,計數器的時序圖應該是:
再次是自動重裝載寄存器(TIMx_ARR):自動重裝載寄存器也是一個16位的寄存器。實際上自動重裝載寄存器實際上對應著2個寄存器。一個是程序員可以直接操作的寄存器,一個是程序員看不到的影子寄存器。實際上真正起作用的開始影子寄存器。而這兩個寄存器是如何配合工作的,則需要TIMx_CR1寄存器的APRE位設置:
當APRE=0時,預裝載寄存器的參數實時的傳送給到影子寄存器,并沒有實現預裝載的功能;
當APRE=1時,在每一次事件更新時,預裝載寄存器的參數才會被傳送到影子寄存器。
而PWM的頻率是通過預分頻參數和自動重裝載寄存器的參數確定的。預分頻的參數確定了計數器的時鐘,自動重裝載寄存器的參數確定了在這個時鐘頻率下的計數次數,即周期。舉個例子:如果系統主頻率是72M,psc=8,那么,計數器的時鐘就是72M/(8+1)=8M;arr=2000,那么PWM會在8M的頻率下每次計數2000次之后會進入到下一個計數循環。而PWM的占空比精度于預分頻參數有關,預分頻參數越小,精度越高;反之就越低
從下面的定時器時鐘框圖可以看出,事件U更新是在預分頻后,捕獲比較之前,而CC4I是中斷和DMA輸出。所以PWM在每一個周期之后會有一個中斷,在來了中斷之后,才會更新事件,這樣就保證了PWM的每個周期都能夠正常完成,而不會導致波形失真。
-
直流電機
+關注
關注
36文章
1710瀏覽量
70410 -
MOS管
+關注
關注
108文章
2439瀏覽量
67561 -
微處理器
+關注
關注
11文章
2274瀏覽量
82768 -
晶體管
+關注
關注
77文章
9745瀏覽量
138882 -
PWM調制
+關注
關注
0文章
34瀏覽量
6852
發布評論請先 登錄
相關推薦
評論