99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

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

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

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

STM32基礎(chǔ)知識(shí):定時(shí)器的PWM輸出功能

CHANBAEK ? 來源:上下求索電子er ? 作者:上下求索電子er ? 2023-10-24 15:32 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

定時(shí)器PWM輸出功能

1 PWM工作原理

脈沖寬度調(diào)制(PWM:Pulse Width Modulation)是一種對(duì)模擬信號(hào)電平進(jìn)行數(shù)字編碼的方法。廣泛應(yīng)用于電機(jī)控制、燈光的亮度調(diào)節(jié)、功率控制等領(lǐng)域。

1.1 PWM信號(hào)的兩個(gè)基本參數(shù)

  • 周期(Period): 一個(gè)完整PWM波形所持續(xù)的時(shí)間
  • 占空比(Duty): 高電平持續(xù)時(shí)間(Ton)與周期時(shí)間(Period)的比值

1.2 PWM信號(hào)的電壓調(diào)節(jié)原理

圖片

  • 不同占空比的PWM信號(hào)等效于不同的平均電壓
  • 平均電壓 = 峰值 x 占空比

1.3 定時(shí)器通道結(jié)構(gòu)

圖片

  • 時(shí)基單元工作于定時(shí)模式,預(yù)分頻時(shí)鐘CK_PSC等于定時(shí)器時(shí)鐘TIMx_CLK。
  • 每個(gè)定時(shí)器具備1~4個(gè)獨(dú)立的通道,各個(gè)通道具有獨(dú)立的 輸入捕獲單元 、捕獲/比較寄存器輸出比較單元 ,但共享同一個(gè)時(shí)基單元。
  • x表示定時(shí)器編號(hào),每個(gè)通道有對(duì)應(yīng)的GPIO引腳作為通道的輸入/輸出引腳,每個(gè)通道可以選擇作為輸入捕獲或者輸出比較功能,但是只能二選一。

1.4 功能單元的作用

  • 輸入捕獲單元: 用于捕獲外部觸發(fā)信號(hào),捕獲方式為上升沿/下降沿/雙邊沿捕獲。發(fā)生捕獲事件時(shí),將此刻計(jì)數(shù)器的值鎖存到捕獲比較寄存器中,供用戶讀取,同時(shí)可以產(chǎn)生捕獲中斷。
  • 捕獲/比較寄存器: TIMx_CCR寄存器在輸入捕獲模式下用于存放發(fā)生捕獲事件時(shí)的當(dāng)前計(jì)數(shù)值;在輸出比較模式下用于存放預(yù)設(shè)的比較值。該寄存器具備預(yù)裝載功能。
  • 輸出比較單元: 用于信號(hào)輸出。定時(shí)器通過將預(yù)設(shè)的比較值與計(jì)數(shù)器的值做匹配比較,以實(shí)現(xiàn)各類輸出,如PWM輸出、單脈沖輸出等。預(yù)設(shè)的比較值存放在捕獲/比較寄存器中。

1.5 PWM輸出的工作原理

圖片

  • 實(shí)例:假設(shè)預(yù)分頻時(shí)鐘CK_PSC為100MHz,產(chǎn)生周期為1ms,占空比為47.5%的PWM信號(hào)。Period = 1ms,可以設(shè)置 PSC = 99,ARR = 999,Duty = 47.5%,則 CRR = 475。

定時(shí)器的每個(gè)通道都可以輸出PWM信號(hào),對(duì)于同一個(gè)定時(shí)器而言,它的多個(gè)通道共享同一個(gè)自動(dòng)重載寄存器,因此可以輸出占空比不同,但周期相同的PWM信號(hào)。

圖片

2 PWM功能的數(shù)據(jù)類型和接口函數(shù)

2.1 輸出比較單元

圖片

成員變量:

輸出比較模式:成員變量OCMode的取值范圍

宏常量定義含義
IM_OCMODE_TIMING輸出比較凍結(jié)模式,匹配時(shí)無通道輸出
TIM_OCMODE_ACTIVE輸出比較凍結(jié)模式,匹配時(shí)無通道輸出
TIM_OCMODE_INACTIVE匹配時(shí)設(shè)置通道輸出為無效電平
TIM_OCMODE_TOGGLE匹配時(shí)設(shè)置通道輸出電平翻轉(zhuǎn)
TIM_OCMODE_PWM1PWM輸出模式1
TIM_OCMODE_PWM2PWM輸出模式2
TIM_OCMODE_FORCED_ACTIVE不進(jìn)行匹配,強(qiáng)制通道輸出為有效電平
TIM_OCMODE_FORCED_INACTIVE不進(jìn)行匹配,強(qiáng)制通道輸出為無效電平
  • PWM模式1:遞增計(jì)數(shù)時(shí),當(dāng)TIMx_CNT (當(dāng)前計(jì)數(shù)值)
  • PWM模式2:遞增計(jì)數(shù)時(shí),當(dāng)TIMx_CNT (當(dāng)前計(jì)數(shù)值)

有效電平極性:成員變量OCPolarity的取值范圍

宏常量定義含義
TIM_OCPOLARITY_HIGH輸出有效電平為高電平
TIM_OCPOLARITY_LOW輸出有效電平為低電平

快速輸出使能:成員變量OCFastMode的取值范圍

宏常量定義含義
TIM_OCFAST_DISABLE不使能快速輸出模式
TIM_OCPOLARITY_LOWTIM_OCFAST_ENABLE使能快速輸出模式

可以加快觸發(fā)輸入事件對(duì)通道輸出的影響,默認(rèn)配置為不使能

接口函數(shù):

  1. 定時(shí)器PWM輸出啟動(dòng)函數(shù):HAL_TIM_PWM_Start

    函數(shù)原型HAL_StatusTypeDef HAL_TIM_PWM_Start(TIM_HandleTypeDef *htim, uint32_t Channel)
    功能描述在輪詢方式下啟動(dòng)PWM信號(hào)輸出
    入口參數(shù)htim:定時(shí)器句柄的地址
    返回值HAL狀態(tài)值
    注意事項(xiàng)1. 該函數(shù)在定時(shí)器初始化完成之后調(diào)用2. 函數(shù)需要由用戶調(diào)用,用于啟動(dòng)定時(shí)器的指定通道輸出PWM信號(hào)
  2. 定時(shí)器比較/捕獲寄存器設(shè)置函數(shù): __HAL_TIM_SET_COMPARE

    函數(shù)原型__HAL_TIM_SET_COMPARE(__HANDLE__, __CHANNEL__, __COMPARE__)
    功能描述設(shè)置捕獲/比較寄存器TIMx_CCR的值。在PWM輸出時(shí), 用于改變PWM 信號(hào)的占空比
    入口參數(shù)HANDLE : 定時(shí)器句柄的地址__CHANNEL__: 定時(shí)器通道號(hào), 取值范圍是TIM_CHANNEL_1 ~TIM_CHANNEL_4__COMPARE__ :寫入捕獲/比較寄存器TIMx_CCR的值
    返回值
    注意事項(xiàng)1. 該函數(shù)是宏函數(shù),進(jìn)行宏替換,不發(fā)生函數(shù)調(diào)用2. 函數(shù)需要由用戶調(diào)用,用于PWM輸出時(shí),改變PWM信號(hào)的占空比

任務(wù)實(shí)踐

用PWM信號(hào)控制發(fā)板上的指示燈LED1。設(shè)置PWM周期為 20 ms,占空比從0%開始,步進(jìn)為20%。遞增到100%后,又從0%開始,并重復(fù)整個(gè)過程。占空比修改的時(shí)間間隔為200ms。

經(jīng)過計(jì)算可得,可以取值:PSC=799,ARR=199,CRR從0到200,步進(jìn)值為40。

  1. 配置定時(shí)器2時(shí)鐘源為內(nèi)部時(shí)鐘 (8MHz),通道1配置為PWM輸出模式,設(shè)置PSC=799,ARR199,Pulse設(shè)置為0。
    圖片
  2. 編寫代碼
    main.c
    /* USER CODE BEGIN PV */
    uint16_t CCR = 0;
    uint16_t Step = 40;
    /* USER CODE END PV */
    
    /* USER CODE BEGIN 2 */
      HAL_TIM_PWM_Start(&htim2, TIM_CHANNEL_1);
     /* USER CODE END 2 */
    
    /* USER CODE BEGIN 3 */
        for (CCR = 0; CCR <= 200; CCR = CCR + Step)
        {
          __HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_1, CCR);
          HAL_Delay(200);
        }
      }
    /* USER CODE END 3 */
    
聲明:本文內(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)投訴
  • 寄存器
    +關(guān)注

    關(guān)注

    31

    文章

    5433

    瀏覽量

    124404
  • PWM
    PWM
    +關(guān)注

    關(guān)注

    116

    文章

    5502

    瀏覽量

    219311
  • STM32
    +關(guān)注

    關(guān)注

    2293

    文章

    11031

    瀏覽量

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

    關(guān)注

    23

    文章

    3298

    瀏覽量

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

    關(guān)注

    7

    文章

    81

    瀏覽量

    13985
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    電機(jī)控制基礎(chǔ)知識(shí)1—定時(shí)器基礎(chǔ)知識(shí)PWM輸出原理

    轉(zhuǎn)速等。 本篇先介紹 定時(shí)器基礎(chǔ)知識(shí) ,然后對(duì)照這些知識(shí)介紹一下 定時(shí)器輸出PWM的基本原理
    的頭像 發(fā)表于 06-17 00:11 ?1.3w次閱讀
    電機(jī)控制<b class='flag-5'>基礎(chǔ)知識(shí)</b>1—<b class='flag-5'>定時(shí)器</b><b class='flag-5'>基礎(chǔ)知識(shí)</b>與<b class='flag-5'>PWM</b><b class='flag-5'>輸出</b>原理

    STM32定時(shí)器(一)PWM輸出

    STM32定時(shí)器分類眾多,按照內(nèi)核、外核標(biāo)準(zhǔn)分為兩部分:核內(nèi)定時(shí)器+核外定時(shí)器
    的頭像 發(fā)表于 07-21 14:51 ?6232次閱讀
    <b class='flag-5'>STM32</b><b class='flag-5'>定時(shí)器</b>(一)<b class='flag-5'>PWM</b><b class='flag-5'>輸出</b>

    定時(shí)器基礎(chǔ)知識(shí)PWM輸出原理

    轉(zhuǎn)速等。本篇先介紹定時(shí)器基礎(chǔ)知識(shí),然后對(duì)照這些知識(shí)介紹一下定時(shí)器輸出PWM的基本原理,以及編程
    發(fā)表于 06-18 09:21

    定時(shí)器基礎(chǔ)知識(shí)PWM輸出原理

    配置為輸入: CCR1 為上一個(gè)輸入捕獲 1 事件 (IC1) 發(fā)生時(shí)的計(jì)數(shù)值。4 代碼實(shí)現(xiàn)與分析上面介紹了定時(shí)器基礎(chǔ)知識(shí)PWM輸出
    發(fā)表于 07-07 07:00

    定時(shí)器基礎(chǔ)知識(shí)

    目錄:一、定時(shí)器基礎(chǔ)知識(shí)二、基本定時(shí)器(TIM6和TIM7)三、通用定時(shí)器(TIM2~TIM6)1.功能特點(diǎn)2.時(shí)鐘源3.時(shí)基單元4.輸入捕
    發(fā)表于 08-09 07:30

    定時(shí)器基礎(chǔ)知識(shí)PWM輸出原理介紹

    上篇電機(jī)控制基礎(chǔ)——定時(shí)器基礎(chǔ)知識(shí)PWM輸出原理介紹了定時(shí)器輸出
    發(fā)表于 01-20 08:23

    定時(shí)器基礎(chǔ)知識(shí)PWM輸出原理是什么

    轉(zhuǎn)速等。本篇先介紹定時(shí)器基礎(chǔ)知識(shí),然后對(duì)照這些知識(shí)介紹一下定時(shí)器輸出PWM的基本原理,以及編程
    發(fā)表于 01-25 08:16

    stm32定時(shí)器中斷程序

    STM32定時(shí)器是個(gè)強(qiáng)大的模塊,定時(shí)器使用的頻率也是很高的,定時(shí)器可以做一些基本的定時(shí),還可以做PWM
    發(fā)表于 10-12 16:59 ?1.4w次閱讀

    如何通過STM32定時(shí)器輸出PWM?

    ? 本文將介紹通過STM32定時(shí)器輸出PWM,如果對(duì)定時(shí)器不太熟悉的同學(xué)可以看下之前的文章《STM32
    的頭像 發(fā)表于 02-20 15:08 ?2.3w次閱讀
    如何通過<b class='flag-5'>STM32</b>的<b class='flag-5'>定時(shí)器</b><b class='flag-5'>輸出</b><b class='flag-5'>PWM</b>?

    淺談定時(shí)器基礎(chǔ)知識(shí)PWM輸出原理

    轉(zhuǎn)速等。 本篇先介紹定時(shí)器基礎(chǔ)知識(shí),然后對(duì)照這些知識(shí)介紹一下定時(shí)器輸出PWM的基本原理,以及編
    的頭像 發(fā)表于 04-05 10:35 ?1.5w次閱讀
    淺談<b class='flag-5'>定時(shí)器</b><b class='flag-5'>基礎(chǔ)知識(shí)</b>與<b class='flag-5'>PWM</b><b class='flag-5'>輸出</b>原理

    [STM32]通用定時(shí)器的使用

    STM32的通用定時(shí)器定時(shí)、輸出PWM功能的使用本次還是使用發(fā)光二極管來驗(yàn)證
    發(fā)表于 11-22 19:06 ?24次下載
    [<b class='flag-5'>STM32</b>]通用<b class='flag-5'>定時(shí)器</b>的使用

    STM32-通用定時(shí)器-PWM輸出

    1 通用定時(shí)器PWM概述1.1STM32定時(shí)器輸出通道引腳這里以TIM3為例來講解。STM32
    發(fā)表于 11-26 15:36 ?23次下載
    <b class='flag-5'>STM32</b>-通用<b class='flag-5'>定時(shí)器</b>-<b class='flag-5'>PWM</b><b class='flag-5'>輸出</b>

    電機(jī)控制基礎(chǔ)——定時(shí)器基礎(chǔ)知識(shí)PWM輸出原理

    轉(zhuǎn)速等。本篇先介紹定時(shí)器基礎(chǔ)知識(shí),然后對(duì)照這些知識(shí)介紹一下定時(shí)器輸出PWM的基本原理,以及編程
    發(fā)表于 11-30 14:21 ?38次下載
    電機(jī)控制基礎(chǔ)——<b class='flag-5'>定時(shí)器</b><b class='flag-5'>基礎(chǔ)知識(shí)</b>與<b class='flag-5'>PWM</b><b class='flag-5'>輸出</b>原理

    使用STM32定時(shí)器PWM功能時(shí)的小問題

    有人使用STM32定時(shí)器PWM功能,遇到點(diǎn)小疑問,這里一起看看。 他先將STM32定時(shí)器計(jì)數(shù)
    的頭像 發(fā)表于 06-21 16:26 ?2606次閱讀
    使用<b class='flag-5'>STM32</b><b class='flag-5'>定時(shí)器</b><b class='flag-5'>PWM</b><b class='flag-5'>功能</b>時(shí)的小問題

    STM32F03定時(shí)器基礎(chǔ)知識(shí)基本簡(jiǎn)介

    STM32F103微控制定時(shí)器分為系統(tǒng)定時(shí)器(SysTick)、“看門狗”定時(shí)器(WatchDog)、基本
    的頭像 發(fā)表于 07-03 17:08 ?4686次閱讀
    <b class='flag-5'>STM32</b>F03<b class='flag-5'>定時(shí)器</b><b class='flag-5'>基礎(chǔ)知識(shí)</b>基本簡(jiǎn)介