STM32F103的TIM1和TIM8是高級定時器,可以產(chǎn)生嵌入死區(qū)時間的互補(bǔ)PWM波,使用STM32CubeIDE完成相關(guān)配置,可以直接生成代碼,輸出帶死區(qū)的PWM波。
根據(jù)項目需要,單片機(jī)需輸出頻率為36kHz,占空比50%,死區(qū)時間500ns的互補(bǔ)PWM波,下面使用STM32CubeIDE完成相關(guān)配置。
1、選擇時鐘源,這里選擇外部石英晶體作為HSE時鐘源
2、配置系統(tǒng)時鐘為72MHz,高級定時器TIM1和TIM8時鐘由APB2提供,這里APB2等于系統(tǒng)時鐘72MHz
3、這里使用TIM1來產(chǎn)生互補(bǔ)PWM波,TIM1復(fù)用功能如下表所示:
我們使用單片機(jī)的PA7和PA8引腳作為PWM互補(bǔ)輸出的兩個通道,在STM32CubeIDE里將此兩引腳選擇為TIM1_CH1N和TIM1_CH1
4、點左邊的Timers,選擇Tim1,TIM1 Mode and Configuration下的Mode選項下主要完成以下配置:
**Clock Source **選擇 Internal Clock,使用內(nèi)部時鐘源;
Channel1 選擇 PWM Generation CH1 CH1N,PWM產(chǎn)生CH1和CH1N,對應(yīng)上面選擇的引腳PA8和PA7。
5、Configuration選項下主要完成以下配置:
Counter Settings下的配置:
Prescaler 設(shè)置為1,預(yù)分頻器設(shè)置為2-1;
Counter Mode選擇Up,計數(shù)模式為向上計數(shù);
Counter Period設(shè)置為1000-1,設(shè)置計數(shù)周期;
auto-reload preload 選擇Enable,開啟自動重裝載。
以上幾項配置主要是設(shè)置PWM頻率,計數(shù)器從0開始計數(shù),計數(shù)到(1000-1),再從0重新開始計數(shù),預(yù)分頻器設(shè)置為1,則計數(shù)器使用的時鐘頻率為72MHz/2 = 36MHz,計數(shù)周期為1000×1/36MHz,頻率為36MHz/1000 = 36kHz。
Break And Dead Time Management下的配置:
Dead Time 設(shè)置為36,配置死區(qū)時間,死區(qū)時間36×1/72MHz = 500ns。
PWM Generation Channel 1 and 1N下的配置:
Mode 選擇 PWM Mode 1,選擇PWM產(chǎn)生模式;
Pulse 設(shè)置為500,設(shè)置占空比,對應(yīng)上面的Counter Period,此時占空比為Pulse/(Counter Period+1) = 500/1000 = 50%。
其他的選項保持默認(rèn)值即可。
6、完成以上配置后即可生成代碼,打開生成的代碼,在main.c的TIM1初始化函數(shù)MX_TIM1_Init(void)中添加兩行代碼,將PWM開啟。
7、編譯,下載到開發(fā)板上,用示波器可以看到輸出的帶死區(qū)的互補(bǔ)PWM波形
-
單片機(jī)
+關(guān)注
關(guān)注
6058文章
44822瀏覽量
644855 -
定時器
+關(guān)注
關(guān)注
23文章
3272瀏覽量
116751 -
STM32F103
+關(guān)注
關(guān)注
33文章
481瀏覽量
64860 -
PWM波
+關(guān)注
關(guān)注
0文章
100瀏覽量
17213 -
預(yù)分頻器
+關(guān)注
關(guān)注
0文章
18瀏覽量
8245
發(fā)布評論請先 登錄
相關(guān)推薦
STM32F103單片機(jī)的死區(qū)時間互補(bǔ)輸出
STM32CubeIDE使用

STM32 TIM 多通道互補(bǔ)PWM波形輸出配置快速入門

STM32CUbeMX之兩路互補(bǔ)pwm波 以及死區(qū)時間設(shè)置

STM32CUBEIDE(6)----printf打印配置

評論