PWM是如何實(shí)現(xiàn)?(PWM基本原理)
出處:小麥大叔 發(fā)布于:2023-01-04 14:16:15
所以根據(jù)面積等效法則,可以通過(guò)對(duì)改變脈沖的時(shí)間寬度,來(lái)等效的獲得所需要合成的相應(yīng)幅值和頻率的波形;
具體如下圖所示;
如果我們考慮一個(gè)周期為 的脈沖波 ,低值 ,高值為 ,跟占空比(duty cycle),此波的平均值為:
當(dāng) 是一個(gè)脈沖波,它的值在 是 而在 是
上式的描述可以變?yōu)椋?br> 以上公式可以在很多狀況下被簡(jiǎn)化,當(dāng) 及 。
從這里可以看出,波型的平均值非常明顯地直接與占空比 有關(guān)。
占空比:
圖中存在三種占空比狀態(tài),25%,50%和75%占空比狀態(tài),不難發(fā)現(xiàn),假設(shè)占空比為D,則滿足:
其中是PWM的周期,通常和載波的周期相同;
PWM是如何實(shí)現(xiàn)?
PWM實(shí)現(xiàn)的原理是通過(guò)鋸齒波/三角波(載波)所需要合成的波形(調(diào)制波)進(jìn)行比較,然后確定PWM所需要輸出的極性,通常是ON或者是OFF,因?yàn)橐话愣际亲饔玫?a target="_blank">開(kāi)關(guān)元器件上;如下圖所示;
振蕩器輸出的鋸齒波和參考值 進(jìn)行比較,然后就可以輸出PWM波形了;
在matlab的simulink中搭建了一下仿真,具體如下圖所示;
終輸出波形如下:
這里簡(jiǎn)單說(shuō)明一下:
鋸齒波(圖中橙色波形)為10,然后我希望輸出平均為5的波形(圖1中紅色的水平直線);
那么通過(guò)比較,當(dāng)鋸齒波小于5時(shí);PWM輸出低電平,即為OFF;
當(dāng)鋸齒波大于5時(shí),PWM輸出高電平,即為ON;
所以再換一個(gè)思路,如果我希望輸出一個(gè)電壓逐漸升高的波形呢,該如何設(shè)計(jì)呢?
其實(shí)很簡(jiǎn)單,只要把需要調(diào)制的波形設(shè)置為斜坡輸出的波形就可以了,具體如下圖所示;
可以看到,終占空比逐漸從0%增大到100%;
然后我們繼續(xù)想,能不能調(diào)制出其他的波形,比如調(diào)制一個(gè)正弦波sin wave,那也就是我們常說(shuō)的SPWM,其實(shí)是可以的,具體如下圖所示;
分類(lèi)
參考STM32中PWM的配置,根據(jù)載波波形的形狀,假設(shè)三角波值是10,那么它的變化過(guò)程可能存在以下兩種情況:
完整周期包括兩個(gè)過(guò)程,先遞增,再遞減:

少
,這種也叫中央對(duì)齊PWM;
完整周期只有遞增過(guò)程:

中央對(duì)齊PWM
脈沖波的中心將會(huì)被固定在時(shí)間窗格的中心,同時(shí)脈沖波的兩邊可以移動(dòng),使得波的寬度被延伸或壓縮,具體如下圖所示;
另一種類(lèi)型的PWM脈沖波形如下圖所示;
現(xiàn)在的MCU大部分都自帶硬件PWM發(fā)生器,即配置好相應(yīng)的寄存器,就能直接產(chǎn)生PWM,下面的例子基于NUCLEO-F767ZI,通過(guò)cubemx配置了三路PWM輸出,然后實(shí)現(xiàn)了呼吸燈的效果;
int main(void)
{
HAL_Init();
MX_GPIO_Init();
MX_TIM4_Init();
MX_TIM3_Init();
MX_TIM12_Init();
int32_t time_stamp = 0;
int32_t time_stamp_old = 0;
int32_t ccr_val = 0;
uint8_t add_flag = 1;
HAL_TIM_PWM_Start(&htim4, TIM_CHANNEL_2);
HAL_TIM_PWM_Start(&htim12, TIM_CHANNEL_1);
HAL_TIM_PWM_Start(&htim3, TIM_CHANNEL_3);
while (1)
{
time_stamp = HAL_GetTick();
if(time_stamp - time_stamp_old > 5){
time_stamp_old = time_stamp;
if(add_flag){
ccr_val+=25;
if(ccr_val >= 0xFFFF){
ccr_val = 0xFFFF;
add_flag = 0;
}
}else{
ccr_val-=25;
if(ccr_val <= 0){
add_flag = 1;
ccr_val = 0;
}
}
TIM4->CCR2 = ccr_val;
TIM12->CCR1 = ccr_val;
TIM3->CCR3 = ccr_val;
}
}
}
整體效果如下:
通過(guò)示波器看其中的一路PWM輸出的占空比也是隨時(shí)間變化;
PWM變化情況
總結(jié)
本文簡(jiǎn)單介紹了PWM的原理,以及如何產(chǎn)生PWM,可以通過(guò)鋸齒波作為載波和調(diào)制波經(jīng)過(guò)比較強(qiáng),產(chǎn)生相應(yīng)的PWM輸出波形,結(jié)合STM32實(shí)現(xiàn)了一個(gè)呼吸燈的簡(jiǎn)單程序。
版權(quán)與免責(zé)聲明
凡本網(wǎng)注明“出處:維庫(kù)電子市場(chǎng)網(wǎng)”的所有作品,版權(quán)均屬于維庫(kù)電子市場(chǎng)網(wǎng),轉(zhuǎn)載請(qǐng)必須注明維庫(kù)電子市場(chǎng)網(wǎng),http://udpf.com.cn,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)或證實(shí)其內(nèi)容的真實(shí)性,不承擔(dān)此類(lèi)作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個(gè)人從本網(wǎng)轉(zhuǎn)載時(shí),必須保留本網(wǎng)注明的作品出處,并自負(fù)版權(quán)等法律責(zé)任。
如涉及作品內(nèi)容、版權(quán)等問(wèn)題,請(qǐng)?jiān)谧髌钒l(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。
- 運(yùn)算放大器壓擺率的核心要點(diǎn)2025/9/5 16:27:55
- 深度剖析放大器穩(wěn)定系數(shù) K 與 Mu 的差異2025/9/2 16:44:05
- 什么是運(yùn)算放大器失調(diào)電流2025/9/1 17:01:22
- 什么是運(yùn)算放大器電源電壓抑制比(PSRR)2025/9/1 16:48:49
- 有沒(méi)有適配m1的模擬器2025/8/11 16:55:19
- 編碼器的工作原理及作用1
- 超強(qiáng)整理!PCB設(shè)計(jì)之電流與線寬的關(guān)系2
- 三星(SAMSUNG)貼片電容規(guī)格對(duì)照表3
- 電腦藍(lán)屏代碼大全4
- 國(guó)標(biāo)委發(fā)布《電動(dòng)汽車(chē)安全要求第3部分:人員觸電防護(hù)》第1號(hào)修改單5
- 通俗易懂談上拉電阻與下拉電阻6
- 繼電器的工作原理以及驅(qū)動(dòng)電路7
- 電容單位8
- 跟我學(xué)51單片機(jī)(三):?jiǎn)纹瑱C(jī)串口通信實(shí)例9
- 一種三極管開(kāi)關(guān)電路設(shè)計(jì)10
- 交交型變頻器和交直交型變頻器的區(qū)別
- 800G DR8 與其他 800G 光模塊的對(duì)比分析
- UPS電源中電流電壓傳感器的應(yīng)用
- 51單片機(jī)電平特性是什么
- AC/DC 與 DC/DC 轉(zhuǎn)換器的工作原理與應(yīng)用
- PCB板層設(shè)計(jì)與電磁兼容性的關(guān)系解析
- 接觸器式繼電器怎么區(qū)分 如何測(cè)量好壞
- 車(chē)規(guī)級(jí)MCU介紹及應(yīng)用場(chǎng)景
- 電容選型時(shí)如何選擇產(chǎn)品的電壓
- 線性穩(wěn)壓電源與開(kāi)關(guān)穩(wěn)壓電源:原理、特性及應(yīng)用