色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

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

PWM輸出實(shí)驗(yàn)

汽車電子技術(shù) ? 來源:滑小稽筆記 ? 作者:電子技術(shù)園地 ? 2023-03-01 15:55 ? 次閱讀

9.1 PWM簡(jiǎn)介

脈沖寬度調(diào)制(Pulse Width Modulation)技術(shù),簡(jiǎn)稱PWM調(diào)制技術(shù),是一種通過改變脈沖的寬度以及頻率來改變輸出頻率的一種控制方式。采樣控制理論中有一個(gè)重要結(jié)論:沖量相等而形狀不同的窄脈沖加在具有慣性的環(huán)節(jié)上時(shí),其效果基本相同。PWM控制技術(shù)就是以該結(jié)論為理論基礎(chǔ),對(duì)半導(dǎo)體開關(guān)器件的導(dǎo)通和關(guān)斷進(jìn)行控制,使輸出端得到一系列幅值相等而寬度不相等的脈沖,用這些脈沖來代替正弦波或其他所需要的波形。按一定的規(guī)則對(duì)各脈沖的寬度進(jìn)行調(diào)制,既可改變逆變電路輸出電壓的大小,也可改變輸出頻率。

   STM32定時(shí)器除了有計(jì)數(shù),定時(shí),輸入捕獲功能以外,還有PWM輸出功能,主要工作原理就是通過在定時(shí)器內(nèi)部設(shè)置閾值,當(dāng)CNT計(jì)數(shù)器的數(shù)小于這個(gè)閾值的時(shí)候輸出1個(gè)電平,當(dāng)CNT的數(shù)據(jù)大于這個(gè)閾值的時(shí)候輸出另一個(gè)電平。通過改變這個(gè)閾值來改變占空比(因?yàn)?span id="5vgeo944t"    class="hljs-built_in">CNT最大計(jì)數(shù)值就是65535),通過改變計(jì)數(shù)頻率來改變PWM脈沖頻率。

9.2 相關(guān)寄存器

9.2.1 捕獲/比較寄存器:TIMx_CCMRx

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
OC2CE OC2M[2:0] OC2PE OC2FE CC2S[1:0] OC1CE OC1M[2:0] OC1PE OC1FE CC1S[1:0]

OCxCE:輸出比較x清0使能

0:OCxREF不受ETRF輸入的影響

   1:一旦檢測(cè)到ETRF輸入高電平,清除OCxREF=0

OCxPE:輸出比較x預(yù)裝載使能

0:禁止預(yù)裝載功能,寫入的數(shù)值立即起作用

   1:開啟預(yù)裝載功能,TIMx_CCRx的預(yù)裝載值在更新事件到來時(shí)被加載至當(dāng)前寄存器中

注1 :一旦LOCK級(jí)別設(shè)為3并且CC1S=00則該位不能被修改

注2 :僅在單脈沖模式下,可以在未確認(rèn)預(yù)裝載寄存器情況下使用PWM模式,否則其動(dòng)作不確定

OCxFE:輸出比較x快速使能(該位用于加快CC輸出對(duì)觸發(fā)輸入事件的響應(yīng))

0:根據(jù)計(jì)數(shù)器與CCRx的值,當(dāng)觸發(fā)器的輸入有一個(gè)有效沿時(shí),激活CCx輸出的最小延時(shí)為5個(gè)時(shí)鐘周期

   1:OC被設(shè)置為比較電平而與比較結(jié)果無關(guān),觸發(fā)器有效沿和CCx輸出間的延時(shí)被縮短為3個(gè)時(shí)鐘周期

注3 :只在通道被配置成PWM1或PWM2模式時(shí)起作用

OCxM[2:0]:輸出比較x模式

圖片

CCxS[1:0]:捕獲/比較x選擇(用于定義通道x輸入還是輸出)

00:輸出模式

   01:輸入模式,映射在TI110:輸入模式,映射在TI211:輸入模式,映射在TRC上,此模式引用于內(nèi)部觸發(fā)器輸入被選中時(shí)

9.2.2 剎車和死區(qū)寄存器:TIMx_BDTR

注:這個(gè)寄存器只有TIM1和TIM8這兩個(gè)高級(jí)定時(shí)器才需要控制。

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
MOE AOE BKP BKE OSSR OSSI LOCK[1:0] DTG[7:0]

Bit 15:主輸出使能(一旦剎車輸入有效,該位被硬件異步清0)

0:禁止OC和OCN輸出或強(qiáng)制為空閑狀態(tài)

   1:如果設(shè)置了相應(yīng)的使能位,則開啟OC和OCN輸出。

Bit 14:自動(dòng)輸出使能

0:MOE只能被軟件置1

   1:MOE能被軟件置1或在下一個(gè)更新事件被自動(dòng)置1

** 注1** :一旦LOCK級(jí)別設(shè)為1,則該位不能被修改

Bit 13:剎車輸入極性

0:剎車輸入低電平有效

   1:剎車輸入高電平有效

** 注2** :一旦LOCK級(jí)別設(shè)為1,則該位不能被修改

** 注3** :任何對(duì)該位的寫操作都需要一個(gè)APB時(shí)鐘的延遲以后才能起作用

Bit 12:剎車功能使能

0:禁止剎車輸入

   1:開啟剎車輸入

    **注4** :當(dāng)設(shè)置了LOCK級(jí)別1時(shí),該位不能被修改

    **注5** :任何對(duì)該位的寫操作都需要一個(gè)APB時(shí)鐘的延遲以后才能起作用

Bit 11:運(yùn)行模式下“關(guān)閉狀態(tài)”選擇(該位用于當(dāng)MOE=1且通道為互補(bǔ)輸出)

0:當(dāng)定時(shí)器不工作時(shí),禁止OC/OCN輸出(OC/OCN使能輸出信號(hào)=0)

   1:當(dāng)定時(shí)器不工作時(shí),一旦CCxE或CCxNE為1,先開啟OC/OCN并輸出無效電平,再置使能輸出信號(hào)為1

    **注6** :一旦LOCK級(jí)別設(shè)為2,則該位不能被修改

Bit 10:空閑模式下“關(guān)閉狀態(tài)”選擇(該位用于當(dāng)MOE=0且通道設(shè)為輸出時(shí))

0:當(dāng)定時(shí)器不工作時(shí),禁止OC/OCN輸出(OC/OCN使能輸出信號(hào)=0)

   1:當(dāng)定時(shí)器不工作時(shí),一旦CCxE或CCxNE為1, OC/OCN先輸出其空閑電平,然后使能輸出信號(hào)為1

    **注7** :一旦LOCK級(jí)別設(shè)為2,則該位不能被修改

Bit 9~Bit 8:鎖定設(shè)置(該位為防止軟件錯(cuò)誤而提供寫保護(hù))

00:鎖定關(guān)閉,寄存器無寫保護(hù)

   01:鎖定級(jí)別1,不能寫入TIMx_BDTR寄存器DTG、 BKE、 BKP、 AOE位和TIMx_CR2寄存器OISx/OISxN位

   10:鎖定級(jí)別2,不能寫入鎖定級(jí)別1中的各位,也不能寫入CC極性位

   11:鎖定級(jí)別3,不能寫入鎖定級(jí)別2中的各位,也不能寫入CC控制位

** 注8** :在系統(tǒng)復(fù)位后,只能寫一次LOCK位,一旦寫入TIMx_BDTR寄存器,則其內(nèi)容凍結(jié)直至復(fù)位

Bit 7~Bit 0:死區(qū)發(fā)生器設(shè)置(定義了插入互補(bǔ)輸出之間的死區(qū)持續(xù)時(shí)間)

9.3 PWM實(shí)驗(yàn)例程

利用STM32的PA8輸出頻率1KHz,占空比為30%,高電平有效的脈沖。

(1)創(chuàng)建基礎(chǔ)工程與pwm.c和pwm.h文件,并將pwm.c和pwm.h文件添加進(jìn)工程。

圖片

(2)pwm.h添加代碼如下。

圖片

(3)pwm.c添加代碼如下。

#include "pwm.h"
/***************************************************
Name    :PWM_Init
Function    :PWM輸出初始化
Paramater  :
      psc:預(yù)分頻系數(shù)
Return    :None
***************************************************/
void PWM_Init( u16 psc )
{
  RCC->APB2ENR |= 1<<2 ;
  GPIOA->CRH &= 0xFFFFFFF0 ;                  //清除PA8配置
  GPIOA->CRH |= 0x0000000B ;                  //PA8復(fù)用功能輸出
  RCC->APB2ENR |= 1<<11 ;                    //TIM1時(shí)鐘開啟
  TIM1->ARR = 100 ;
  TIM1->PSC = psc ;
  TIM1->CCMR1 |= 7<<4 ;                    //CH1 PWM2模式
  TIM1->CCMR1 |= 1<<3 ;                    //CH1預(yù)裝載使能
  TIM1->CCER |= 1<<1 ;                      //OC1低電平有效
  TIM1->CCER |= 1<<0 ;                      //OC1輸出使能
  TIM1->BDTR |= 1<<15 ;                    //MOE輸出使能
  TIM1->CR1 |= 1<<7 ;                      //自動(dòng)重裝載使能
  TIM1->CR1 |= 1<<0 ;                      //開啟定時(shí)器1
}
/***************************************************
Name    :PWM_Set
Function    :PWM設(shè)置
Paramater  :
      pwm_data:占空比
Return    :None
***************************************************/
void PWM_Set( u8 pwm_data )
{
  TIM1->CCR1 = pwm_data ;
}

(4)1.c添加代碼如下。

#include "sys.h"
#include "delay.h"
#include "usart1.h"
#include "pwm.h"


int main()
{
  STM32_Clock_Init( 9 ) ;                    //STM32時(shí)鐘初始化
  SysTick_Init( 72 ) ;                      //SysTick初始化
  USART1_Init( 72, 115200 ) ;                  //初始化串口1波特率115200
  PWM_Init( 719 ) ;                      //PWM初始化
  PWM_Set( 30 ) ;                      //設(shè)置占空比30%
  while( 1 )
  {

  }
}

9.4 擴(kuò)展:PWM實(shí)現(xiàn)DAC輸出

9.4.1 工作原理

由于STM32F1自帶2路DAC輸出,所以當(dāng)DAC不夠用的時(shí)候,為了節(jié)約成本,需要利用PWM配合RC濾波器來實(shí)現(xiàn)DAC輸出,對(duì)于PWM脈沖的波形可以列寫出脈沖的時(shí)域函數(shù)表達(dá)式

圖片

9.4.2 電路設(shè)計(jì)

我們現(xiàn)在設(shè)計(jì)一個(gè)分辨率為8位的PWM信號(hào),其實(shí)STM32的分辨率都可以達(dá)到16位,甚至32位,但是分辨率越高,速度就越慢,在8位分辨率條件下,我們要求1次諧波對(duì)輸出電壓的影響不要超過1個(gè)位的精度,也就是3.3/256=0.01289V。假設(shè)V~H~為3.3V,V~L~為0V,那么一次諧波的最大值是2*3.3/π=2.1V,這就要求我們的RC濾波電路提供至少-20lg(2.1/0.01289)=-44dB的衰減。

   STM32的定時(shí)器最快的計(jì)數(shù)頻率是72Mhz,8為分辨率的時(shí)候,PWM頻率為72M/256=281.25Khz。如果是1階RC濾波,則要求截止頻率為1.77Khz,如果為2階RC濾波,則要求截止頻率為22.34Khz。

圖片

上圖所示位二階RC濾波器的電路原理,根據(jù)二階RC濾波器的截止頻率計(jì)算公式

圖片

可以得到R28*C37=R29*C38=RC,通過這個(gè)公式我們選定的RC參數(shù),并得到實(shí)際的截止頻率為33.8KHz,遠(yuǎn)超過理論的截止頻率,該電路實(shí)測(cè)精度大約在0.5LSB左右。

9.4.3 實(shí)驗(yàn)例程

在這里,我們只需要將實(shí)驗(yàn)例程中的PWM頻率改為22.34KHz即可。通過改變占空比,我們可以用電壓表來測(cè)量出實(shí)際的輸出電壓。

PS:PWM實(shí)現(xiàn)DAC輸出最常見的功能就是語音合成芯片。

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

    關(guān)注

    114

    文章

    5190

    瀏覽量

    214037
  • 頻率
    +關(guān)注

    關(guān)注

    4

    文章

    1505

    瀏覽量

    59238
  • 脈沖寬度調(diào)制
    +關(guān)注

    關(guān)注

    7

    文章

    81

    瀏覽量

    13730
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    轉(zhuǎn):基礎(chǔ)篇--STM32視頻 13.STM32 PWM輸出實(shí)驗(yàn)

    【眾想】大黃蜂STM32視頻教程 ----劉洋邊講邊寫基礎(chǔ)篇-- 13.STM32 PWM輸出實(shí)驗(yàn)http://www.stmcu.org/module/forum/thread-606825-1-1.html
    發(fā)表于 07-14 16:56

    請(qǐng)問哪位大神可以分享一個(gè)簡(jiǎn)單的PWM輸出實(shí)驗(yàn)?

    求求你們了,我真的不會(huì)寫PWM輸出實(shí)驗(yàn)。
    發(fā)表于 07-23 08:37

    PWM輸出實(shí)驗(yàn)程序,發(fā)現(xiàn)輸出PWM不正確?

    我直接用實(shí)驗(yàn)8 PWM輸出實(shí)驗(yàn)程序,然后只設(shè)置TIM3->ARR=4,TIM3->CCR2=2,TIM3->SC=71,其他程序不變。 目地是想輸出
    發(fā)表于 06-15 04:35

    利用電位器模擬值采樣和PWM輸出實(shí)驗(yàn)

    風(fēng)扇轉(zhuǎn)速調(diào)節(jié)實(shí)驗(yàn)實(shí)驗(yàn)現(xiàn)象使用電位器調(diào)節(jié)直流電機(jī)轉(zhuǎn)速理論學(xué)習(xí)利用學(xué)過的電位器模擬值采樣和PWM輸出實(shí)驗(yàn),結(jié)合直流電機(jī)驅(qū)動(dòng),達(dá)到電機(jī)調(diào)速的效果原
    發(fā)表于 09-08 06:49

    ALIENTEK_MINISTM32_實(shí)驗(yàn)8_PWM輸出實(shí)驗(yàn)

    ALIENTEK MINISTM32 實(shí)驗(yàn)8 PWM輸出實(shí)驗(yàn),很好的資料,快來學(xué)習(xí)吧
    發(fā)表于 02-18 14:57 ?15次下載

    pwm輸出實(shí)驗(yàn)

    基于STM32的pwm輸出實(shí)驗(yàn),用DS0燈的亮度觀察pwm輸出的大小
    發(fā)表于 09-09 16:58 ?37次下載

    PWM輸出實(shí)驗(yàn)_標(biāo)準(zhǔn)例程

    stm32開發(fā)板,標(biāo)準(zhǔn)例程-寄存器版本,PWM輸出實(shí)驗(yàn)
    發(fā)表于 11-18 15:42 ?10次下載

    實(shí)驗(yàn)9 PWM輸出實(shí)驗(yàn)

    正點(diǎn)原子戰(zhàn)艦最新的PWM實(shí)驗(yàn)
    發(fā)表于 01-22 13:13 ?7次下載

    基于STM32單片機(jī)進(jìn)行PWM輸出實(shí)驗(yàn)的詳細(xì)資料說明

    本文檔的主要內(nèi)容詳細(xì)介紹的是基于STM32單片機(jī)進(jìn)行PWM輸出實(shí)驗(yàn)的詳細(xì)資料說明包括了:1.通用定時(shí)器PWM概述,2.常用寄存器和庫(kù)函數(shù)配置,3.手把手寫
    發(fā)表于 03-18 08:00 ?18次下載
    基于STM32單片機(jī)進(jìn)行<b class='flag-5'>PWM</b><b class='flag-5'>輸出</b><b class='flag-5'>實(shí)驗(yàn)</b>的詳細(xì)資料說明

    PWM輸出實(shí)驗(yàn)詳細(xì)源代碼免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是PWM輸出實(shí)驗(yàn)詳細(xì)源代碼免費(fèi)下載。
    發(fā)表于 04-23 17:17 ?20次下載
    <b class='flag-5'>PWM</b>的<b class='flag-5'>輸出</b><b class='flag-5'>實(shí)驗(yàn)</b>詳細(xì)源代碼免費(fèi)下載

    PWM輸出實(shí)驗(yàn)的程序和工程文件免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是PWM輸出實(shí)驗(yàn)的程序和工程文件免費(fèi)下載。
    發(fā)表于 07-08 08:00 ?2次下載
    <b class='flag-5'>PWM</b><b class='flag-5'>輸出</b><b class='flag-5'>實(shí)驗(yàn)</b>的程序和工程文件免費(fèi)下載

    使用STM32F103RCT6和RBT6核心板實(shí)現(xiàn)PWM輸出實(shí)驗(yàn)的程序和工程文件

    本文檔的主要內(nèi)容詳細(xì)介紹的是使用STM32F103RCT6和RBT6核心板實(shí)現(xiàn)PWM輸出實(shí)驗(yàn)的程序和工程文件免費(fèi)下載。
    發(fā)表于 08-01 08:00 ?26次下載
    使用STM32F103RCT6和RBT6核心板實(shí)現(xiàn)<b class='flag-5'>PWM</b><b class='flag-5'>輸出</b><b class='flag-5'>實(shí)驗(yàn)</b>的程序和工程文件

    使用12位ADC實(shí)現(xiàn)PWM輸出實(shí)驗(yàn)的程序和工程文件免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是使用12位ADC實(shí)現(xiàn)PWM輸出實(shí)驗(yàn)的程序和工程文件免費(fèi)下載。
    發(fā)表于 08-01 08:00 ?4次下載
    使用12位ADC實(shí)現(xiàn)<b class='flag-5'>PWM</b><b class='flag-5'>輸出</b><b class='flag-5'>實(shí)驗(yàn)</b>的程序和工程文件免費(fèi)下載

    無人機(jī)電調(diào)調(diào)試的PWM輸出實(shí)驗(yàn)資料免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是無人機(jī)電調(diào)調(diào)試的PWM輸出實(shí)驗(yàn)資料免費(fèi)下載。
    發(fā)表于 06-08 08:00 ?4次下載
    無人機(jī)電調(diào)調(diào)試的<b class='flag-5'>PWM</b><b class='flag-5'>輸出</b><b class='flag-5'>實(shí)驗(yàn)</b>資料免費(fèi)下載

    PWM輸出實(shí)驗(yàn)詳細(xì)示例

    目錄PWM輸出實(shí)驗(yàn)PWM的工作原理(以向上計(jì)數(shù)為例)PWM與AFIO引腳重映射綜合實(shí)驗(yàn)庫(kù)函數(shù)使用
    發(fā)表于 12-20 18:58 ?2次下載
    <b class='flag-5'>PWM</b><b class='flag-5'>輸出</b><b class='flag-5'>實(shí)驗(yàn)</b>詳細(xì)示例
    主站蜘蛛池模板: 日韩特黄特色大片免费视频| 久久艹伊人| 精品亚洲国产成AV人片传媒| 日韩高清特级特黄毛片| 中字幕视频在线永久在线观看免费 | 国产色精品久久人妻无码看片软件| 欧美疯狂做受xxxxx喷水| 在线免费观看国产精品| 九九在线免费视频| 亚洲日本香蕉视频观看视频| 国产亚洲中文字幕视频| 亚洲合集综合久久性色| 国产在线高清视频| 一边啪啪的一边呻吟声口述 | 男污女XO猛烈的动态图| 97色伦图区97色伦综合图区| 蜜桃日本免费观看MV| 91久久综合精品国产丝袜长腿| 美国caopo超碰在线视频| 2021国产精品国产精华| 欧美日韩无套内射另类| 成人精品视频| 午夜精品国产自在现线拍| 国产婷婷色一区二区三区在线| 亚洲国产区中文在线观看| 国产在线亚洲v天堂a| 一个人HD高清在线观看免费视频| 久久成人免费大片| 99久久国语露脸精品国产| 日本精油按摩| 国产麻豆福利AV在线观看| 亚洲免费一区| 免费看www视频| 搞基福利社| 亚洲无线观看国产| 嫩草成人影院| 国产乱子影视频上线免费观看| 曰曰夜夜在线影院视| 青柠在线观看视频在线| 国产麻豆精品久久一二三| 伊久久|