STM32定時器輸出PWM做DAC

2021-10-22 14:16:46 字數 553 閱讀 5053

上一節介紹了stm32定時器產生pwm波的用法,pwm波有很多種用途,如控制led的亮度,控制電機的轉速等。還有乙個常用的功能就是做dac(數模轉換器)用。有時候,專案中可能會需要輸出多路電壓訊號,而外部的多路dac晶元會增加不少成本,如果對輸出訊號的精度等要求不高,這時可以用pwm➕➕加低通濾波器的方式實現dac的功能。

原理     根據pwm的波形,可以用分段函式來表示:

將該函式展開為傅利葉級數,可以得到:

可以看到,上式中的第一項為直流分量,第二項為一次諧波,第三項為高次諧波的和。用低通濾波器將諧波部分濾掉後,只剩直流分量,即為需要輸出的電壓值。直流分量的電壓取決於n的變化,當n從0變化到n時,對應的電壓值為vl變化到vh。

stm32設計

對於stm32來說就是占空比0~100%對應電壓0~3.3v(電源電壓ÿ

STM32定時器輸出 捕獲PWM

硬體 德飛萊stm32f407 功能 tim4 ch1 pb6輸出pwm,tim3 ch1 pc6捕獲高電平時間 include timer.h void tim4 pwm init void void tim3 cap init void tim3 ch1定時器獲取 u8 tim3 irq sta...

stm32定時器之pwm輸出

stm32定時器之pwm輸出 新手上路,希望大家指教 使用定時器輸出pwm就是操作標準庫來實現,就像點亮led燈操作gpio類似 函式名稱timx pwm init 對某個定時器進行初始化 我們初始化函式中有這幾步 1 首先就是要開啟時鐘,所有的定時器都掛在了apb1上,所以我們要開啟時鐘,2 確定...

使用STM32定時器實現PWM輸出

stm32定時器實現pwm原理 上圖就是stm32乙個簡單的pwm原理示意圖。圖中,我們假定定時器工作在向上計數pwm模式,且當cnt ccrx時輸出1。那麼就可以得到如上的pwm示意圖 當cnt值小於ccrx的時候,io輸出低電平 0 當cnt值大於等於ccrx的時候,io輸出高電平 1 當cnt...