PWM 脈沖寬度調制

介紹:

利用微處理器的數字輸出來對模擬電路進行控制 (很厲害哦)
對模擬電平信號進行數字編碼,只要帶寬足夠,任何模擬值都可以用PWM進行編碼

特點:

簡單靈活 動態響應好

應用:

電動機控制(比如機器人內的電機控制,STM32中一個芯片可以控制很多電機)、功率控制、

轉換原理:

將模擬的信號(連續的曲線)分割,計算每塊地面積,轉換成數字信號的面積(不同的面積有不同的寬度,這也就是寬度調制這個名字的由來)

PWM輸出源和輸出數量

STM32除了TIM6,7(基本定時器),TIM1,8可以產生7路,共14路;通用定時器TIM2,3,4,5每個4路,共16路,所以STM32可以產生30路PWM輸出。

控制原理

占空比:高電平持續時間占總時間的比例。
STM32 的PWM是TIMx_ARR寄存器確定頻率(周期)、由TIMx_CCRx寄存器確定占空比的信號

PWM模式:

脈沖寬度調制模式可以產生一個由 TIM1_ARR 寄存器確定頻率、由TIM1_CCRx寄存器確定占空比的信號。在 TIM1_CCMRx寄存器中的OCxM位寫入“110”(PWM 模式 1)或“111”(PWM 模式 2),【模式1,2選擇輸出的高低電平】能夠獨立地設置每個通道工作在 PWM模式,每個 OCx 輸出一路 PWM。必須通過設置 TIM1_CCMRx 寄存器 OCxPE 位使能相應的預裝載寄存器,最后還要設置 TIM1_CR1 寄存器的 ARPE 位使能自動重裝載的預裝載寄存器(在向上計數或中心對稱模式中)。

向上計數配置

當 TIM1_CR1 寄存器中的 DIR 位為低的時候執行向上計數。

在 PWM 模式 1,當 TIM1_CNT【計數器值】< TIM1_CCRx 時 PWM 參考信號,OCxREF 為高,否則為低。如果 TIM1_CCRx中的比較值大于自動重裝載值(TIM1_ARR),則 OCxREF 保持為“1"。如果比較值為 0,則 OCxREF 保持為“0"。 圖 128 為 TIM1_ARR=8 時邊沿對齊的 PWM 波形實例
【不同的模式,1和0代表的電平高低不同,不是1是高,0是低】

第一行是采用模式1的,模式2與模式1原理相同不過1和0代表的高低電平相反
還有向下計數模式(與向上技術模式相反),中央對齊模式,

最后,重點是要通過兩個寄存器TIMx_ARR寄存器,TIMx_CCRx寄存器控制

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 一個計數器通常是由一組觸發器構成,該組觸發器按照預先給定的順序改變其狀態,如果所有觸發器的狀態改變是在同一時鐘脈沖...
    錦穗閱讀 13,726評論 0 6
  • STM32F103一共有11個定時器,其中: 2個高級定時器 4個普通定時器 2個基本定時器 2個看門狗定時器 1...
    追夢Y少年閱讀 954評論 0 1
  • 什么是嵌入式 IEEE(Institute of Electrical and Electronics Engin...
    Leon_Geo閱讀 3,773評論 1 20
  • 口白: 時光就像一把無情刻刀, 改變了我們的模樣。 三年前的我們初次相逢, 三年后的我們各奔東西。 喊麥: 清晨棉...
    簡書jianshu1閱讀 478評論 0 0
  • 我看見鏡子里的我在笑,可是我明明在哭。那笑很美很美,卻有鮮紅的血從胸口綻放,我在哭,哭這樣的夜里,只有我一個人,鏡...
    直立行走閱讀 302評論 4 0