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

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

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

STM32呼吸燈中PWM的配置與應(yīng)用詳解

ARM與嵌入式 ? 來源:ARM與嵌入式 ? 2024-04-10 14:55 ? 次閱讀

本文通過呼吸燈實驗,演示STM32中PWM的配置與應(yīng)用。

打開CubeMX軟件,新建工程。

fed82cca-f677-11ee-a297-92fbcf53809c.png

輸入芯片型號。

feeccaf4-f677-11ee-a297-92fbcf53809c.png

根據(jù)封裝選擇列表中的芯片,我的是LQFP144封裝,雙擊此項。

fefabb1e-f677-11ee-a297-92fbcf53809c.png

在Project Manager選項卡中,配置工程名、編譯工具,如下圖所示。

ff0ebd76-f677-11ee-a297-92fbcf53809c.png

Pinout&Configuration選項卡中,配置System的Debug為Serial Wire,否則可能無法下載程序。

ff235a1a-f677-11ee-a297-92fbcf53809c.png

RCC選擇高速外部時鐘。

ff353438-f677-11ee-a297-92fbcf53809c.png

根據(jù)電路原理圖,可知LED7對應(yīng)PC6管腳。

ff4f0e30-f677-11ee-a297-92fbcf53809c.png

ff6094e8-f677-11ee-a297-92fbcf53809c.png

本實驗要讓PC6管腳輸出PWM波形,實現(xiàn)LED7呼吸燈效果。

找到PC6,選中TIM3_CH1。

ff73b780-f677-11ee-a297-92fbcf53809c.png

找到TIM3,通道1配置PWM輸出。

ff9044fe-f677-11ee-a297-92fbcf53809c.png

查找STM32參考手冊時鐘圖,找到TIM3時鐘的位置在APB1上。

ff99af1c-f677-11ee-a297-92fbcf53809c.png

在CubeMX上配置APB1 Timer定時器時鐘頻率為72MHz。

ffafb122-f677-11ee-a297-92fbcf53809c.png

配置TIM3_CH1參數(shù),這里涉及到到計算的問題,具體說一下。

ffd4def2-f677-11ee-a297-92fbcf53809c.png

如上圖PWM產(chǎn)生原理:

定時器從0開始計數(shù)

0-t1時段,輸出低電平

t1-t2時段,輸出高電平

當定時器計數(shù)值達到ARR時溢出,完成一個周期

輸出邏輯電平方波,如上圖紅線所示。

PWM頻率計算公式:

PWM頻率 = 定時器時鐘頻率/(AutoReloadRegister + 1)/(PSC + 1)

簡單推導(dǎo)一下PWM頻率是如何計算的:

一個PWM波周期t2的大小,也就是從0計數(shù)到ARR所需要的時間,每一個定時器時鐘周期計數(shù)一次,總共計數(shù)ARR次之后溢出完成一個周期。

ffeee414-f677-11ee-a297-92fbcf53809c.png

占空比計算公式:CCRx/ARR。

回到CubeMX工程,TIM3參數(shù)設(shè)置如下,

ARR=500-1,PSC=72-1,Pulse=170

占空比大概是Pulse/ARR約等于50%,PWM頻率2000Hz。

0005c4fe-f678-11ee-a297-92fbcf53809c.png

保存,生成代碼。

001ad33a-f678-11ee-a297-92fbcf53809c.png

打開工程。

002b6fc4-f678-11ee-a297-92fbcf53809c.png

在MDK中main.c添加如下代碼。

003aef62-f678-11ee-a297-92fbcf53809c.png

主函數(shù)比較簡單,i值逐漸增大,占空比隨之增大,LED亮度逐漸增加。

當i值為299時,fx值變?yōu)?,從下一個循環(huán)開始i值開始逐漸減小,占空比隨之減小,過程中LED亮度逐漸減弱。

審核編輯:黃飛

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

    關(guān)注

    1316

    文章

    6388

    瀏覽量

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

    關(guān)注

    116

    文章

    5305

    瀏覽量

    217228
  • STM32
    +關(guān)注

    關(guān)注

    2282

    文章

    10986

    瀏覽量

    361106
  • 定時器
    +關(guān)注

    關(guān)注

    23

    文章

    3271

    瀏覽量

    116608
  • 呼吸燈
    +關(guān)注

    關(guān)注

    10

    文章

    112

    瀏覽量

    43030

原文標題:詳解STM32呼吸燈的PWM實現(xiàn)

文章出處:【微信號:ARM與嵌入式,微信公眾號:ARM與嵌入式】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 0人收藏

    評論

    相關(guān)推薦

    使用STM32CubeMX輸出PWM,并制作呼吸效果

    概述 本篇文章主要介紹如何使用STM32CubeMX輸出PWM,并制作呼吸效果。 硬件準備 首先需要準備一個開發(fā)板,這里我準備的是NUCLEO-F030R8的開發(fā)板: 選擇芯片型號
    發(fā)表于 09-04 10:38

    基于stm32PWM呼吸工程分享

    (NVIC_PriorityGroup_2);//中斷優(yōu)先級分組分兩組LED_Init();TIM3_CH1_PWM_Init(500,72-1); //頻率是2kHzTIM_SetCompare1(TIM3,i);delay_ms(10); } 全部資料51hei下載地址: 基于
    發(fā)表于 07-02 07:51

    基于stm32PWM呼吸工程分享

    (NVIC_PriorityGroup_2);//中斷優(yōu)先級分組分兩組LED_Init();TIM3_CH1_PWM_Init(500,72-1); //頻率是2kHzTIM_SetCompare1(TIM3,i);delay_ms(10); } 全部資料51hei下載地址: 基于
    發(fā)表于 07-06 07:37

    怎么通過PWM來實現(xiàn)呼吸

    說下我是怎么通過這個PWM來實現(xiàn)呼吸的。硬件的準備就不說了,想實現(xiàn)呼吸的你這個硬件配置肯定是
    發(fā)表于 08-11 06:17

    STM32Cube如何配置PWM呼吸?

    STM32Cube如何配置PWM呼吸?
    發(fā)表于 11-23 07:17

    PWM實現(xiàn)呼吸的應(yīng)用

    stm32實現(xiàn)PWM最簡單方法前言一、PWM概念二、PWM應(yīng)用輸出比較功能框圖三、PWM呼吸
    發(fā)表于 01-21 13:18

    STM32呼吸的原理是什么

    前段時間學習stm32的時候就做過呼吸實驗,瀏覽了一些博客后,做下總結(jié)呼吸原理其實是利用pwm
    發(fā)表于 02-21 07:26

    請問一下STM32 PWM是如何去實現(xiàn)呼吸設(shè)計的

    STM32 PWM實現(xiàn)呼吸使用STM32F103ZET6 定時器4 CH2通道產(chǎn)生PWM波,在
    發(fā)表于 02-21 07:30

    基于stm32PWM輸出呼吸(包括stm32呼吸代碼)

    本文主要介紹了基于stm32pwm呼吸設(shè)計與實現(xiàn)。使用定時器來控制I/O口輸出PWM波形,從而驅(qū)動LED
    的頭像 發(fā)表于 03-28 16:23 ?7.2w次閱讀
    基于<b class='flag-5'>stm32</b>的<b class='flag-5'>PWM</b>輸出<b class='flag-5'>呼吸</b><b class='flag-5'>燈</b>(包括<b class='flag-5'>stm32</b><b class='flag-5'>呼吸</b><b class='flag-5'>燈</b>代碼)

    STM32實現(xiàn)PWM呼吸的程序合集免費下載

    本文檔的主要內(nèi)容詳細介紹的是STM32實現(xiàn)PWM呼吸的程序合集免費下載。
    發(fā)表于 03-19 08:00 ?16次下載
    <b class='flag-5'>STM32</b>實現(xiàn)<b class='flag-5'>PWM</b><b class='flag-5'>呼吸</b><b class='flag-5'>燈</b>的程序合集免費下載

    STM32_PWM呼吸

    全面屏發(fā)展,因此很多手機取消了呼吸這一功能,取而代之的是息屏顯示)2、什么是PWM?PWM:Pulse Width Modulation,脈沖寬度調(diào)制,是利用微處理器的數(shù)字輸出來對模
    發(fā)表于 11-26 12:21 ?20次下載
    <b class='flag-5'>STM32_PWM</b><b class='flag-5'>呼吸</b><b class='flag-5'>燈</b>

    STM32PWM控制呼吸實驗

    目錄一.PWM簡介PWM生成方法二、PWM控制單色LED—單色呼吸硬件說明代碼分析進行驗證示波器查看波形
    發(fā)表于 12-08 14:51 ?32次下載
    <b class='flag-5'>STM32</b>—<b class='flag-5'>PWM</b>控制<b class='flag-5'>呼吸</b><b class='flag-5'>燈</b>實驗

    STM32 使用PWM實現(xiàn)呼吸

    STM32 PWM實現(xiàn)呼吸使用STM32F103ZET6 定時器4 CH2通道產(chǎn)生PWM波,在
    發(fā)表于 12-24 19:41 ?55次下載
    <b class='flag-5'>STM32</b> 使用<b class='flag-5'>PWM</b>實現(xiàn)<b class='flag-5'>呼吸</b><b class='flag-5'>燈</b>

    proteus仿真stm32控制呼吸

    proteus仿真stm32控制呼吸設(shè)計思路:采用stm32f103r6為主控芯片,及l(fā)ed-green;時鐘源為晶振為8M的系統(tǒng)內(nèi)部時鐘;使用的定時器為TIM2,并且使用
    發(fā)表于 01-17 10:13 ?46次下載
    proteus仿真<b class='flag-5'>stm32</b>控制<b class='flag-5'>呼吸</b><b class='flag-5'>燈</b>

    通過STM32實現(xiàn)PWM呼吸的教程

    顧名思義,就是一個的亮度的變化,由亮變暗,從暗變亮,有一個漸變,規(guī)律的變化,像是人的呼吸,是呼吸,所以叫
    的頭像 發(fā)表于 07-26 15:20 ?1.4w次閱讀
    通過<b class='flag-5'>STM32</b>實現(xiàn)<b class='flag-5'>PWM</b><b class='flag-5'>呼吸</b><b class='flag-5'>燈</b>的教程

    電子發(fā)燒友

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

    • 2931785位工程師會員交流學習
    • 獲取您個性化的科技前沿技術(shù)信息
    • 參加活動獲取豐厚的禮品