0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

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

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

STM32定時(shí)器非對(duì)稱PWM輸出模式應(yīng)用示例

茶話MCU ? 來(lái)源:ST MCU 信息交流 ? 2020-05-14 09:21 ? 次閱讀

STM32用戶使用STM32F3系列MCU開(kāi)發(fā)產(chǎn)品,想利用片內(nèi)定時(shí)器實(shí)現(xiàn)移相全橋的PWM波形輸出。具體要求如下,并希望輸出下圖所示波形:

1、A與B波形的頻率及占空比相同,波形錯(cuò)位的時(shí)間需可調(diào),如圖上半部分所示。

2、A與/A是同頻率、同占空比的互補(bǔ)波形,兩個(gè)波形的高電平之間可插入死區(qū)。

3、B與/B的關(guān)系同A與/A,如圖中下半部分的圖示。

要實(shí)現(xiàn)上面的波形,我們可以通過(guò)靈活運(yùn)用比較輸出的toggle模式結(jié)合DMA來(lái)實(shí)現(xiàn),

不過(guò),這對(duì)很多人來(lái)說(shuō),難度可能有點(diǎn)大。

具體到這里,因?yàn)樗x擇了STM32F3系列,而STM32F3/L4/F7/H7等系列的定時(shí)器都具備非對(duì)稱PWM輸出模式或組合輸出模式,若使用非對(duì)稱PWM輸出模式實(shí)現(xiàn)上述輸出就比較方便省事。下面一起來(lái)看看。

所謂非對(duì)稱PWM輸出模式它是相對(duì)基于中心對(duì)稱計(jì)數(shù)時(shí)的對(duì)稱PWM輸出而言的。當(dāng)計(jì)數(shù)模式為中心對(duì)齊,某個(gè)輸出通道利用一個(gè)比較寄存器做PWM輸出時(shí),其對(duì)應(yīng)的PWM輸出波形呈中心對(duì)稱,如下圖所示:

那這里的非對(duì)稱PWM輸出呢?同樣采用中心對(duì)齊計(jì)數(shù)模式,1個(gè)通道的輸出要用到2個(gè)比較寄存器的值進(jìn)行比較翻轉(zhuǎn)。比方定時(shí)器通道3的輸出,根據(jù)CCR3和CCR4的值分別在向上計(jì)數(shù)和向下計(jì)數(shù)過(guò)程中做兩次比較而產(chǎn)生輸出,由于CCR3與CCR4的值往往不一致進(jìn)而輸出非對(duì)稱的PWM波形。如下圖所示:

關(guān)于定時(shí)器比較輸出的非對(duì)稱PWM模式,OC1REFC或OC2REFC的輸出特征由CCR1和CCR2的值及所選PWM模式?jīng)Q定,同樣,OC3REFC或OC4REFC的輸出特征由CCR3和CCR4的值和所選PWM模式?jīng)Q定。

STM32參考手冊(cè)中在這個(gè)地方可能講得比較簡(jiǎn)單,我這里再畫(huà)圖示意下。OC1/OC2都使用非對(duì)稱PWM輸出模式。CCR1=3,CCR2=6,ARR=8。注意,采用非對(duì)稱PWM輸出模式一定要使用中心對(duì)齊計(jì)數(shù)模式。

從上圖中我們不難看出,對(duì)于OC1REFC和OC2REFC,它們的輸出產(chǎn)生了相差,該相差取決于CCR1與CCR2的值。基于這點(diǎn),我們就可以實(shí)現(xiàn)上面的A、B輸出的相移問(wèn)題,即通過(guò)修改CCR的值即可自由調(diào)整相差?!綩CxREFC信號(hào)最終還是輸出到OCx端的,并支持互補(bǔ)輸出?!?/p>

這時(shí)我們?cè)匍_(kāi)啟這兩路的互補(bǔ)輸出,到此就可以實(shí)現(xiàn)客戶的輸出要求了。

下面我們利用STM32CubeMx神器進(jìn)行初始化配置?!玖私庀玛P(guān)鍵配置就好】

配置時(shí)鐘等,然后生成初始化代碼并打開(kāi)相關(guān)工程。添加需要的用戶代碼。代碼很簡(jiǎn)單,是基于cube HAL庫(kù)。【開(kāi)啟CH1/CH2及互補(bǔ)通道的PWM輸出功能,使能主輸出、開(kāi)啟計(jì)數(shù)器?!?/p>

看下輸出結(jié)果【未插入死區(qū)】:

我們也可以基于互補(bǔ)通道插入死區(qū),得到帶死區(qū)的輸出結(jié)果。

看到這里,是不是覺(jué)得這個(gè)非對(duì)稱PWM模式對(duì)實(shí)現(xiàn)那些相差可調(diào)的驅(qū)動(dòng)波形很方便?好,關(guān)于STM32定時(shí)器的非對(duì)稱PWM功能輸出就介紹到這里。當(dāng)然,它還可以有些其它靈活的用法,有興趣可以進(jìn)一步了解并為你所用。

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

    關(guān)注

    114

    文章

    5118

    瀏覽量

    213157
  • STM32
    +關(guān)注

    關(guān)注

    2264

    文章

    10854

    瀏覽量

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

    關(guān)注

    23

    文章

    3231

    瀏覽量

    114326

原文標(biāo)題:STM32定時(shí)器非對(duì)稱PWM輸出模式應(yīng)用示例

文章出處:【微信號(hào):stmcu832,微信公眾號(hào):茶話MCU】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

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

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

    GD32E230C8T6高級(jí)定時(shí)器timer0無(wú)法正常輸出PWM波形的原因?

    原本想用高級(jí)定時(shí)器的中央對(duì)齊計(jì)數(shù)模式來(lái)輸出SPWM波,但是TIMER0的CH0,CH1等口,都無(wú)法正常輸出PWM波形,換成普通
    發(fā)表于 07-26 06:34

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

    有人使用STM32G4系列芯片內(nèi)部的多個(gè)定時(shí)器PWM輸出,輸出頻率一樣,占空比也一樣,均為50%??墒?,當(dāng)他中途調(diào)整各個(gè)
    的頭像 發(fā)表于 07-01 09:45 ?1319次閱讀
    <b class='flag-5'>STM32</b>G4系列芯片<b class='flag-5'>定時(shí)器</b>的延時(shí)<b class='flag-5'>輸出</b>問(wèn)題

    如何用STM32定時(shí)器實(shí)現(xiàn)一個(gè)周期輸出PWM2的波形?

    請(qǐng)教各位如何用STM32定時(shí)器實(shí)現(xiàn)一個(gè)周期輸出PWM2的波形呢(低-高-低-高-低)?萬(wàn)分感謝您的解答!
    發(fā)表于 04-03 06:39

    STM32G030定時(shí)器16 17和1同步輸出如何實(shí)現(xiàn)?

    STM32G030系列中只有定時(shí)器1 16和17三個(gè)定時(shí)器可以輸出帶死區(qū)時(shí)間互補(bǔ)pwm,我想實(shí)現(xiàn)其中兩個(gè)或者3個(gè)同步
    發(fā)表于 03-27 06:45

    STM32同一定時(shí)器PWM輸出定時(shí),會(huì)影響我的PWM輸出嗎?

    求助各位大佬 ,我用定時(shí)器2通道1輸出PWM 定時(shí)器設(shè)置為TIM2_PERIODE (1000-1) TIM2_PRESCALER 36,現(xiàn)在還想開(kāi)啟2的中斷用
    發(fā)表于 03-26 07:23

    如果STM32定時(shí)器外接了正交編碼,該剩余通道是否能做PWM輸出呢?

    其實(shí),對(duì)于STM32芯片,編碼輸入信號(hào)就是定時(shí)器的計(jì)數(shù)時(shí)鐘源之一。定時(shí)器外接了編碼輸入,若還有剩余通道的話,剩余通道依然可以實(shí)現(xiàn)輸入捕獲或輸出比較功能。
    的頭像 發(fā)表于 03-21 09:06 ?1342次閱讀
    如果<b class='flag-5'>STM32</b><b class='flag-5'>定時(shí)器</b>外接了正交編碼<b class='flag-5'>器</b>,該剩余通道是否能做<b class='flag-5'>PWM</b><b class='flag-5'>輸出</b>呢?

    G473使用TIM1非對(duì)稱模式做移相,用TIM8Combined PWM模式做對(duì)角的移相與門輸出,為什么時(shí)序不對(duì)?

    G473使用TIM1非對(duì)稱模式做移相,用TIM8Combined PWM模式做對(duì)角的移相與門輸出,為啥占空比對(duì)了時(shí)序不對(duì)?
    發(fā)表于 03-14 07:49

    stm32主從定時(shí)器門控模式,怎么控制在不產(chǎn)生PWM時(shí)從定時(shí)器cnt不要計(jì)數(shù)?

    stm32主從定時(shí)器,采用門控模式,主定時(shí)器用單脈沖模式控制輸出。但是我在實(shí)驗(yàn)的時(shí)候發(fā)現(xiàn)其從
    發(fā)表于 03-12 07:08

    STM32G030C8T6要輸出8~12路PWM,每個(gè)定時(shí)器可以輸出4路,那如何讓兩個(gè)定時(shí)器輸出PWM同步呢?

    STM32G030C8T6要輸出8~12路PWM,每個(gè)定時(shí)器可以輸出4路,那如何讓兩個(gè)定時(shí)器
    發(fā)表于 03-08 08:19

    使用555定時(shí)器的可調(diào)雙定時(shí)器電路

    定時(shí)器 IC 555 是最通用和最常用的 IC 之一,因?yàn)樗膽?yīng)用范圍更廣,如 PWM放大器、延遲定時(shí)器、開(kāi)關(guān)電路、占空比選擇、時(shí)鐘脈沖發(fā)生
    的頭像 發(fā)表于 02-25 15:16 ?1944次閱讀
    使用555<b class='flag-5'>定時(shí)器</b>的可調(diào)雙<b class='flag-5'>定時(shí)器</b>電路

    STM32定時(shí)器時(shí)間計(jì)算方法

    STM32微控制定時(shí)器模塊在嵌入式系統(tǒng)中非常常見(jiàn),它被用于產(chǎn)生精確的時(shí)間延遲,或者用于實(shí)時(shí)時(shí)鐘(RTC)等功能。為了充分利用STM32定時(shí)器
    的頭像 發(fā)表于 12-19 11:31 ?1.1w次閱讀

    stm32一個(gè)定時(shí)器能同時(shí)控制兩個(gè)燈以不同頻率閃爍嗎?

    STM32定時(shí)器功能強(qiáng)大,**STM32定時(shí)器可以同時(shí)控制兩個(gè)燈以不同頻率閃爍** 。
    的頭像 發(fā)表于 12-13 10:43 ?1899次閱讀

    簡(jiǎn)述STM32定時(shí)器的計(jì)數(shù)模式

    STM32的向上計(jì)數(shù)模式是指定時(shí)器的計(jì)數(shù)從0開(kāi)始計(jì)數(shù),直到達(dá)到自動(dòng)加載值(TIMx_ARR),然后重新從0開(kāi)始計(jì)數(shù),并產(chǎn)生一個(gè)計(jì)數(shù)溢出事
    的頭像 發(fā)表于 12-13 10:09 ?4642次閱讀

    基于STM32CUBEMX驅(qū)動(dòng)低壓步進(jìn)電機(jī)驅(qū)動(dòng)STSPIN220(3)----定時(shí)器中斷產(chǎn)生指定數(shù)量脈沖

    在步進(jìn)電機(jī)控制過(guò)程中,為了實(shí)現(xiàn)精確的位置和速度控制,經(jīng)常需要輸出指定數(shù)量的脈沖。這就需要使用定時(shí)器功能來(lái)生成PWM脈沖信號(hào)。本文將詳細(xì)介紹如何利用STM32CUBEMX配置
    的頭像 發(fā)表于 12-01 15:26 ?1123次閱讀
    基于<b class='flag-5'>STM32</b>CUBEMX驅(qū)動(dòng)低壓步進(jìn)<b class='flag-5'>器</b>電機(jī)驅(qū)動(dòng)<b class='flag-5'>器</b>STSPIN220(3)----<b class='flag-5'>定時(shí)器</b>中斷產(chǎn)生指定數(shù)量脈沖