在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

3天內不再提示

ESP32學習筆記:PWM

CHANBAEK ? 來源:跳動的字節 ? 作者:曉宇 ? 2023-07-14 14:56 ? 次閱讀

今天我們來玩兒PWM。

概述

脈寬調制(PWM)是一種可以自由控制的產生可控數字信號波形的技術,說直白一點就是占空比不同的數字信號,下面用一幅圖簡單介紹一下微控制器實現PWM的原理:

圖片

我們以STM32內部的定時器講一講原理,如上圖,當TIMER向上計時時,計數值會跟比較通道的CCR去比較,如果低于比較值,通道輸出高電平,高于比較值,則輸出低電平,這個只是打個比方,具體輸出什么可以自由配置。到設置的最大值之后,重新從0開始計時,如此不停的循環,就產生了PWM信號了。我們如果控制不同的占空比,就可以控制輸出的平均電壓,也就可以控制燈的亮度了。

圖片

ESP32 不同于普通的PWM,它這里叫LED PWM,主要用于控制LED的亮度與顏色,當然,也可以用于其它用途,一共有16路通道,8路高速8低速,這16路通道可以分配給任意一個IO(某些只有輸入功能的除外)。

圖片

16個通道,根據速度分,分為兩組,每組有4個定時器對應8個通道,兩個通道共享一個定時器,所以,最多能輸出8個不同頻率的PWM。

硬件

PWM輸出引腳可以分配給任意一個IO,如下圖所示,紅框內的為可配置PWM的引腳,GPIO34-35,GPIO36,GPIO39除外。

圖片

軟件

分配通道到GPIO引腳

確定好要使用的PWM通道PWM_Ch,綁定到GPIO_Pin。

ledcAttachPin(GPIO_Pin, PWM_Ch);

頻率,分辨率設置

配置選擇通道的PWM頻率,分辨率可以設置1位到16位,比如我們設置成8位,占空比范圍就是0-255,設置成10位,就是0-1023這樣,函數也很簡單。

/*
* PWM_Ch   PWM通道 0-15
* PWM_Freq PWM頻率 
* PWM_Res  PWM分辨率 1-16
* */
ledcSetup(PWM_Ch, PWM_Freq, PWM_Res);;

設置占空比

直接寫入對應占空比即可在對應IO上輸出PWM。

ledcWrite(PWM_Ch, DutyCycle);

完整程序

#define LED_GPIO   4
#define PWM1_Ch    0
#define PWM1_Res   10
#define PWM1_Freq  1000
 
int PWM1_DutyCycle = 0;
 
void setup()
{
  ledcAttachPin(LED_GPIO, PWM1_Ch);
  ledcSetup(PWM1_Ch, PWM1_Freq, PWM1_Res);
}
 
void loop()
{
  while(PWM1_DutyCycle < 1023)
  {
    ledcWrite(PWM1_Ch, PWM1_DutyCycle++);
    delay(10);
  }
  while(PWM1_DutyCycle > 0)
  {
    ledcWrite(PWM1_Ch, PWM1_DutyCycle--);
    delay(10);
  }
}

我們這里使用1kHz的PWM頻率,將PWM通道0綁定到GPIO4,選擇10位的分辨率,我們可以看下視頻,PWM變化還是非常絲滑的。然后在主循環中將占空比逐漸從最小到最大,再從最大到最小,一直循環。

對于ESP32,還有專門用于電機控制的脈寬調制器PWM,后面我們項目中再細說,整體來說使用還是非常簡單的,大家快去試一試吧!

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 微控制器
    +關注

    關注

    48

    文章

    7646

    瀏覽量

    151943
  • PWM
    PWM
    +關注

    關注

    114

    文章

    5197

    瀏覽量

    214646
  • STM32
    +關注

    關注

    2271

    文章

    10923

    瀏覽量

    357202
  • 脈寬調制
    +關注

    關注

    3

    文章

    219

    瀏覽量

    38382
  • ESP32
    +關注

    關注

    18

    文章

    977

    瀏覽量

    17481
收藏 0人收藏

    評論

    相關推薦

    利用ESP32 PWM信號控制LED的亮度

    在本教程中,我們將討論ESP32 開發板的 PWM(脈沖寬度調制)引腳。ESP32 開發板的所有 GPIO 引腳(Power、GND、Tx、Rx 和 EN 除外)均可用于獲取 PWM
    的頭像 發表于 08-12 15:21 ?1.7w次閱讀
    利用<b class='flag-5'>ESP32</b> <b class='flag-5'>PWM</b>信號控制LED的亮度

    ESP32單片機學習筆記

    ESP32 單片機學習筆記 - 03 - MCPWM脈沖輸出/PCNT脈沖計數前言,繼續上一篇的內容。因為上一篇剛好實驗了iic和spi,形成一對。接下來講pwm另起一篇。一、電機
    發表于 08-23 08:47

    ESP32ESP-IDF學習筆記

    ESP32ESP-IDF 學習筆記(六)【I2C數據總線(I2C)】文章目錄ESP32ESP
    發表于 02-22 07:30

    ESP32 開發筆記(四)LVGL控件學習 Window 窗口控件 X

    ESP32 開發筆記(四)LVGL控件學習 Window 窗口控件 X
    發表于 11-14 09:06 ?6次下載
    <b class='flag-5'>ESP32</b> 開發<b class='flag-5'>筆記</b>(四)LVGL控件<b class='flag-5'>學習</b> Window 窗口控件 X

    [ESP32]學習筆記02

    [ESP32學習筆記02]使用ViusalStudio2017開發ESP32、按鍵輸入檢測前言一、安裝Visual Studio 2017二、配置開發環境1.安裝ViusalGDB2.
    發表于 12-03 17:36 ?23次下載
    [<b class='flag-5'>ESP32</b>]<b class='flag-5'>學習</b><b class='flag-5'>筆記</b>02

    [ESP32]學習筆記04

    Analog-to-Digital Converter(模數轉換器)的使用今天我們學習ESP32提供的ADC外設的使用,ESP32的每個ADC單元都支持兩種模式,單次讀取和連續讀取(DMA),本次
    發表于 12-22 19:02 ?9次下載
    [<b class='flag-5'>ESP32</b>]<b class='flag-5'>學習</b><b class='flag-5'>筆記</b>04

    SPI主線協議——ESP32學習筆記

    目錄SPI主線協議——ESP32學習筆記零、前言一、什么是SPI?二、通信過程?三、極性和相位四、總結SPI主線協議——ESP32學習
    發表于 12-22 19:23 ?18次下載
    SPI主線協議——<b class='flag-5'>ESP32</b><b class='flag-5'>學習</b><b class='flag-5'>筆記</b>

    ESP32_PWM學習總結

    esp32——PWM學習總結什么是PWMesp32中初始化配置定時器配置通道配置修改輸出占空比方式使用軟件改變
    發表于 12-22 19:39 ?12次下載
    <b class='flag-5'>ESP32_PWM</b><b class='flag-5'>學習</b>總結

    ESP32 單片機學習筆記 - 04 - ADC和定時器

    ESP32 單片機學習筆記 - 04 - ADC和定時器一、模擬數字轉換器 ADC編程指南:Analog to Digital Converter。數據手冊: ESP32 技術參考手冊
    發表于 01-17 13:18 ?11次下載
    <b class='flag-5'>ESP32</b> 單片機<b class='flag-5'>學習</b><b class='flag-5'>筆記</b> - 04 - ADC和定時器

    ESP32上的深度強化學習

    電子發燒友網站提供《ESP32上的深度強化學習.zip》資料免費下載
    發表于 12-27 10:31 ?0次下載
    <b class='flag-5'>ESP32</b>上的深度強化<b class='flag-5'>學習</b>

    ESP32 PWM驅動電機

    ESP32 尋跡模塊測試 尋跡模塊測試 所選設備 ESP32使用PWM 示例代碼 尋跡模塊測試 所選設備 ’ ESP32 引腳 說明 16 需要先拉低在拉高,才能驅動電機 13
    發表于 03-20 11:37 ?4次下載
    <b class='flag-5'>ESP32</b> <b class='flag-5'>PWM</b>驅動電機

    如何使用ESP32的LEDC進行PWM控制?

    LEDC(LED控制器)是ESP32中的一個功能強大的PWM(脈沖寬度調制)控制器。
    發表于 05-19 11:14 ?2631次閱讀
    如何使用<b class='flag-5'>ESP32</b>的LEDC進行<b class='flag-5'>PWM</b>控制?

    如何在ESP32中使用PWM

    ESP32 SoC 滿載了非常有用的外設,PWM 就是其中之一。是的。ESP32 的芯片中有一個專用的 PWM 硬件模塊。脈寬調制或簡稱PWM
    的頭像 發表于 07-13 11:14 ?3690次閱讀
    如何在<b class='flag-5'>ESP32</b>中使用<b class='flag-5'>PWM</b>

    ESP32學習筆記:雙核

    今天我們來說說ESP32 for Arduino 的雙核。
    的頭像 發表于 07-15 16:16 ?5294次閱讀
    <b class='flag-5'>ESP32</b><b class='flag-5'>學習</b><b class='flag-5'>筆記</b>:雙核

    ESP32學習筆記:WiFi

    今天我們來說說ESP32 的WiFi。
    的頭像 發表于 07-15 16:20 ?4170次閱讀
    <b class='flag-5'>ESP32</b><b class='flag-5'>學習</b><b class='flag-5'>筆記</b>:WiFi
    主站蜘蛛池模板: 五月婷婷丁香在线观看 | 久久天天躁综合夜夜黑人鲁色 | 免费的黄视频 | 午夜啪视频| 高清不卡日本v在线二区 | 天天噜天天射 | 日本三级香港三级人妇 m | 18免费视频| 黄视频在线观看免费 | 日本久久久 | www.黄视频| 俺也来国产精品欧美在线观看 | 国产精品资源在线 | 天天干天天草天天射 | 天天插天天色 | 久久久久久99 | 黄色生活毛片 | 天天躁夜夜躁狠狠躁2021西西 | www亚洲一区 | 免费观看成年欧美1314www色 | 午夜 福利 视频 | 天堂电影免费在线观看 | 四虎免费久久影院 | 天天干天天操天天操 | 操人网站| 特级做a爰片毛片免费看 | 五色网| 永久免费在线观看视频 | 免费色在线 | 不卡中文字幕在线 | 国产精品毛片天天看片 | 黄色w站 | 69xxxxxxxxxhd日本| 欧美潘金莲一级风流片a级 欧美片欧美日韩国产综合片 | 欧美在线资源 | 久久va | 成人欧美精品久久久久影院 | 国内精品一级毛片免费看 | 高颜值露脸极品在线播放 | 国产亚洲午夜精品a一区二区 | 四虎成人欧美精品在永久在线 |

    電子發燒友

    中國電子工程師最喜歡的網站

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