PWM輸出控制實驗

2021-10-16 06:26:03 字數 1321 閱讀 6580

一、pwm簡介

pwm是 pulse width modulation 的縮寫,中文意思就是脈衝寬度調 制,簡稱脈寬調變。它是利用微處理器的數字輸出來對模擬電路進行控 制的一種非常有效的技術,其控制簡單、靈活和動態響應好等優點而成 為電力電子技術最廣泛應用的控制方式,其應用領域包括測量,通訊, 功率控制與變換,電動機控制、伺服控制、調光、開關電源,甚至某些 音訊放大器,因此學習pwm具有十分重要的現實意義。 其實我們也可以這樣理解,pwm是一種對模擬訊號電平進行數字編碼 的方法。通過高解析度計數器的使用,方波的占空比被調製用來對乙個 具體模擬訊號的電平進行編碼。pwm 訊號仍然是數字的,因為在給定的 任何時刻,滿幅值的直流供電要麼完全有(on),要麼完全無(off)。電壓 或電流源是以一種通(on)或斷(off)的重複脈衝序列被加到模擬負載上去 的。通的時候即是直流供電被加到負載上的時候,斷的時候即是供電被 斷開的時候。只要頻寬足夠,任何模擬值都可以使用 pwm 進行編碼。

二、stm32f1 pwm介紹

stm32f1除了基本定時器tim6和tim7,其他定時器都可以產生pwm輸出 。其中高階定時器 tim1 和 tim8 可以同時產生多達 7 路的 pwm 輸出 。而通用定時器也能同時產生多達 4路的 pwm 輸出,這些在定時器中斷 章節中已經介紹過。 pwm的輸出其實就是對外輸出脈寬可調(即占空比調節)的方波訊號 ,訊號頻率是由自動重灌暫存器 arr 的值決定,占空比由比較暫存器 ccr 的值決定。

pwm輸出比較模式總共有8種,具體由暫存器 ccmrx 的位 ocxm[2:0] 配置。我們這裡只講解最常用的兩種pwm輸出模式:pwm1和pwm2,其他幾 種模式可以參考《stm32f10x中文參考手冊》13、14、15定時器章節。

三、實驗流程

四、**實驗

void tim3_int_init(u16 arr,u16 psc)

//定時器3中斷服務程式

void tim3_irqhandler(void) //tim3中斷

}void tim3_pwm_init(u16 arr,u16 psc) }

}

在這裡插入**片

實驗7 PWM 控制蜂鳴器實驗

大多數負載 無論是電感性負載還是電容性負載 需要的調製頻率高於10hz。通常調製頻率為1khz 到200khz 之間。從模擬訊號轉向pwm 可以極大地延長通訊距離。在接收端,通過適當的rc 或lc 網路可以濾除調製高頻方波並將訊號還原為模擬形式。pwm 脈衝頻率由tcntbn 決定。pwm 脈衝寬度...

STM32的PWM輸出實驗

通過設定該暫存器 ccrx 來調整pwm輸出的占空比,如下圖所示 以通道1為例說明pwm的工作過程 首先通過設定ccr1 捕獲比較 值 暫存器 設定設定比較值。然後通過設定ccmr1 oc1m 2 0 位以及ccer cc1p位 輸入 捕獲1輸出極性 來設定高低電平的輸出模式,具體如圖所示 最後設定...

TIMER門控模式控制PWM輸出長度

timer門控模式控制pwm輸出長度 參照一些 做了些修改,由tim4來控制tim2的pwm輸出長度,採用主從的門控模式,即tim4輸出高時候tim2使能輸出 tim2 pwm輸出,由tim4來控制其輸出與停止 frequency tim2 tim2 pwm輸出週期 khz duty tim2 ti...