0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

關(guān)于定時(shí)器輸出的PWM頻率范圍及占空比精度

我想要TIM定時(shí)器輸出的PWM波形:0.1%精度占空比, 頻率范圍:200Hz - 10KHz。請(qǐng)問能實(shí)現(xiàn)嗎?

Ⅰ寫在前面

如果有朋友下載了上一篇文章我提供的例程,在“bsp_timer.h”文件下,你就會(huì)發(fā)現(xiàn)有如下一段被我注釋了的【說明性文字】。

這個(gè)工程是我從之前項(xiàng)目中提取出來(復(fù)制部分代碼),從新整理的一個(gè)的工程。里面的這個(gè)被注釋了的描述文字是之前整理的,今天重新對(duì)其說明一下。

這里句題外話:

我一般都是注重讓大家明白其原理,提供的工程代碼以簡單為原則。比如:沒有添加系統(tǒng),沒有添加參數(shù)越界檢查等額外的代碼。不是讓你直接拷貝過去就用,一般需要結(jié)合你實(shí)際工程,對(duì)其修改。

Ⅱ解讀那段文字

想要認(rèn)真掌握定時(shí)器輸出PWM的朋友,可以品味一下那段文字。

1.定時(shí)器的位數(shù)

STM32中,定時(shí)器分16位和32位,這個(gè)好理解。簡單的來說,就是16位定時(shí)器相關(guān)的寄存器包含計(jì)數(shù)器是16位的,計(jì)數(shù)的范圍是0 ~ 0xFFFF。同理,32位計(jì)數(shù)范圍為0 ~ 0xFFFF FFFF。

當(dāng)然,上面提到的相關(guān)的寄存器,其實(shí)只有幾個(gè),計(jì)數(shù)器、自動(dòng)重載寄存器、捕獲/比較寄存器等,具體請(qǐng)參看手冊(cè)中關(guān)于TIM寄存器章節(jié)。

截圖中,頻率的范圍,其實(shí)說明了32位定時(shí)器的優(yōu)勢。但是,在STM32中,有些型號(hào)的MCU是沒有32位的定時(shí)器的(具體請(qǐng)見選型手冊(cè),或數(shù)據(jù)手冊(cè))。

2.占空比,周期(頻率)

PWM占空比是指在一個(gè)脈沖循環(huán)內(nèi),通電時(shí)間相對(duì)于總時(shí)間所占的比例。

比如:拿1KHz波形來說,占空比為20%,即高電平0.2ms。

在STM32定時(shí)器中,占空比其實(shí)是對(duì)應(yīng)【捕獲/比較寄存器】的值,你可看見我提供的代碼:

#define PWM_TIM_SetComparex TIM_SetCompare1

捕獲/比較寄存器有1,2,3,4,對(duì)應(yīng)的其實(shí)是你輸出的通道。

占空比的數(shù)值,需要結(jié)合PWM的頻率,所以代碼中是:

pwm_pulse = (pwm_period + 1)*Dutycycle / 100;

pwm_period:是PWM周期值;

/100代表:占空比的大小。

周期值:其實(shí)就是【自動(dòng)重載寄存器 (TIMx_ARR)】是值;

看見我標(biāo)記為紅色的文字沒有?這兩個(gè)值決定了PWM的周期和占空比。

3.計(jì)算頻率和占空比

頻率 = 1/周期; 1KHz的周期 = 0.001秒,即1ms.

波形頻率(周期)案例:

假如計(jì)數(shù)時(shí)鐘CK_CNT(看上圖)一秒鐘計(jì)數(shù)10M次:

我們需要1KHz波形,即1ms(波形1K)CNT計(jì)數(shù)個(gè)數(shù)為10K個(gè),自動(dòng)重載寄存器ARR設(shè)定值為10K。

我們需要10KHz波形,同理:自動(dòng)重載寄存器設(shè)定值為100K。

占空比(1KHz波形)案例:

假如CK_CNT一秒鐘計(jì)數(shù)1M次:

我們需要1KHz,0.1占空比波形:同上分析,ARR的值為1K,則捕獲/比較寄存器 1 (TIMx_CCR1)值為1。(為什么是1? 1KHz * 0.1%就等于1)

我們需要10KHz,0.1占空比波形:同理計(jì)算CCR1值:等于1KHz * 0.1%就等于0.1。顯然

兩案例的結(jié)論:

1.100K > 65535,對(duì)于16位定時(shí)器來說,肯定不行啊。對(duì)于32位定時(shí)器就行。

2.CCR1的值不可能為0.1。

3.我們就需要改變計(jì)數(shù)時(shí)鐘CK_CNT來達(dá)到要求,也就是分頻。

4.自己設(shè)定邊界值,通過修改TIMx_PSC、TIMx_ARR和TIMx_CCR三個(gè)寄存器參數(shù),來滿足自己要求。如果不能滿足,那么選擇32位定時(shí)器。如果32位都還不能滿足,那就······

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • PWM
    PWM
    +關(guān)注

    關(guān)注

    116

    文章

    5375

    瀏覽量

    218074
  • STM32
    +關(guān)注

    關(guān)注

    2290

    文章

    11017

    瀏覽量

    362407
  • 定時(shí)器
    +關(guān)注

    關(guān)注

    23

    文章

    3288

    瀏覽量

    117231
收藏 1人收藏

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    【RA-Eco-RA4M2開發(fā)板評(píng)測】RA-Eco-RA4M2 PWM輸出

    Cycle Percent:設(shè)置PWM占空比,當(dāng)然也可通過代碼修改,這里就設(shè)置為50 GTIOCB Output Enabled:使能 GTIOCB 輸出 GTIOCB Stop Level:設(shè)置
    發(fā)表于 04-28 22:57

    MCU定時(shí)器/計(jì)數(shù)

    架構(gòu)與功能特性? 定時(shí)器類型與配置? 高級(jí)控制定時(shí)器?:支持互補(bǔ)PWM輸出與剎車功能,適用于電機(jī)驅(qū)動(dòng)等高精度控制場景。通用
    的頭像 發(fā)表于 04-27 13:54 ?172次閱讀

    如何使用定時(shí)器在任意IO輸出PWM?

    在CubeMx內(nèi)的配置,計(jì)劃在PA2口輸出PWM控制風(fēng)機(jī),但是TIM2已經(jīng)初始化做輸入捕獲用了,因此需要用到別的未使用的定時(shí)器在PA2口輸出PWM
    發(fā)表于 03-13 06:04

    stm32同一個(gè)定時(shí)器不同的通道,可以不同時(shí)的輸出pwm波形嗎?

    請(qǐng)問,stm32的同一個(gè)定時(shí)器,不同的通道,可以不同時(shí)的輸出pwm波形嗎?比如tim1的ch1輸出,延時(shí)幾毫秒后tim1的ch2輸出。 現(xiàn)在
    發(fā)表于 03-07 08:20

    詳解CKS32F107xx系列的定時(shí)器同步功能

    我們將圍繞定時(shí)器同步功能概述展開,并以其中一種功能為例——將定時(shí)器2給定時(shí)器3當(dāng)預(yù)分頻,最終級(jí)聯(lián)同步PWM
    的頭像 發(fā)表于 11-26 17:51 ?946次閱讀
    詳解CKS32F107xx系列的<b class='flag-5'>定時(shí)器</b>同步功能

    如何選擇合適的PWM頻率

    PWM頻率,也稱為PWM的開關(guān)頻率,是指PWM信號(hào)在單位時(shí)間內(nèi)的周期性變化次數(shù)。它直接影響到PWM
    的頭像 發(fā)表于 11-18 15:27 ?3585次閱讀

    高級(jí)定時(shí)器PWM輸入模式的配置方法

    我們將向大家介紹高級(jí)定時(shí)器的另一個(gè)常見應(yīng)用——PWM輸入模式。在本節(jié)課中,我們將先圍繞輸入捕獲模式展開,并重點(diǎn)描述PWM輸入模式和涉及的寄存,最后通過一個(gè)實(shí)驗(yàn)例程去介紹
    的頭像 發(fā)表于 11-08 16:48 ?4062次閱讀
    高級(jí)<b class='flag-5'>定時(shí)器</b><b class='flag-5'>PWM</b>輸入模式的配置方法

    PWM輸出配置方法

    從上節(jié)課的定時(shí)器分類圖中我們了解到,互補(bǔ)輸出是高級(jí)定時(shí)器(TIM1、TIM8)所獨(dú)有的,它可以輸出兩路互補(bǔ)信號(hào)。而在本節(jié)課中我們將通過一個(gè)簡單的例程去介紹如何配置互補(bǔ)
    的頭像 發(fā)表于 11-04 09:44 ?2650次閱讀
    <b class='flag-5'>PWM</b><b class='flag-5'>輸出</b>配置方法

    使用MSP430高分辨率定時(shí)器PWM DAC

    電子發(fā)燒友網(wǎng)站提供《使用MSP430高分辨率定時(shí)器PWM DAC.pdf》資料免費(fèi)下載
    發(fā)表于 09-20 10:53 ?0次下載
    使用MSP430高分辨率<b class='flag-5'>定時(shí)器</b>的<b class='flag-5'>PWM</b> DAC

    PLC輸出pwm信號(hào)怎么看頻率

    一、PWM信號(hào)的基本概念 脈沖寬度調(diào)制(PWM) :PWM是一種對(duì)模擬信號(hào)進(jìn)行數(shù)字控制的方法。它通過改變脈沖的寬度來控制信號(hào)的占空比,從而實(shí)現(xiàn)對(duì)輸出
    的頭像 發(fā)表于 08-08 15:32 ?2337次閱讀

    請(qǐng)問如何使用定時(shí)器在任意IO輸出PWM?

    問題描述: 在CubeMx內(nèi)的配置,計(jì)劃在PA2口輸出PWM控制風(fēng)機(jī),但是TIM2已經(jīng)初始化做輸入捕獲用了,因此需要用到別的未使用的定時(shí)器在PA2口輸出
    發(fā)表于 07-24 06:38

    定時(shí)器的工作方式介紹

    或?qū)崿F(xiàn)周期性事件的硬件模塊。它可以用于實(shí)現(xiàn)各種定時(shí)任務(wù),如定時(shí)中斷、PWM(脈沖寬度調(diào)制)輸出頻率測量等。
    的頭像 發(fā)表于 07-12 10:29 ?1710次閱讀

    如何創(chuàng)建具有不同占空比(但相同起始相位)的一個(gè)或多個(gè)額外的PWM輸出?

    我實(shí)際上只需要一個(gè)PWM(一個(gè)頻率),但有五個(gè)甚至六個(gè)輸出,具有六個(gè)不同的占空比。 是否有關(guān)于PWM
    發(fā)表于 07-08 07:09

    STM32G4系列芯片定時(shí)器的延時(shí)輸出問題

    有人使用STM32G4系列芯片內(nèi)部的多個(gè)定時(shí)器PWM輸出輸出頻率一樣,占空比也一樣,均為50
    的頭像 發(fā)表于 07-01 09:45 ?2497次閱讀
    STM32G4系列芯片<b class='flag-5'>定時(shí)器</b>的延時(shí)<b class='flag-5'>輸出</b>問題

    三菱plc定時(shí)器范圍怎么設(shè)置

    定時(shí)器的設(shè)置范圍直接影響到程序的執(zhí)行效率和控制精度。本文將詳細(xì)介紹三菱PLC定時(shí)器的設(shè)置范圍及其設(shè)置方法。
    的頭像 發(fā)表于 06-20 11:04 ?4340次閱讀

    電子發(fā)燒友

    中國電子工程師最喜歡的網(wǎng)站

    • 2931785位工程師會(huì)員交流學(xué)習(xí)
    • 獲取您個(gè)性化的科技前沿技術(shù)信息
    • 參加活動(dòng)獲取豐厚的禮品