国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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

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

3天內不再提示

PWM 控制 LED、蜂鳴器、電機:你真的用對了嗎?

信盈達 ? 2026-01-04 09:14 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

在做嵌入式開發的時候,PWM(脈寬調制)幾乎是必學技能。LED 想要呼吸效果?PWM。蜂鳴器要發“滴滴”的提示音?PWM。電機需要調速?還是 PWM。

問題是:同樣一個HAL_TIM_PWM_Start(),有人做出來的 LED 燈效果柔和自然,有人卻像手電筒閃爍;有人做的電機轉速平穩安靜,有人卻抖得像要散架。

為什么差別這么大?答案就在頻率、占空比和應用場景的差異上。今天我們就結合 LED、蜂鳴器和電機,講透 PWM 的核心要點。

c74c2cfc-e90a-11f0-8ce9-92fbcf53809c.png

一、PWM 原理回顧

PWM 的本質:通過改變高電平持續時間,來控制平均電壓。

  • 周期(Period):決定頻率。
  • 占空比(Duty Cycle):決定平均電壓。

比如:3.3V 的信號,頻率固定,改變占空比:

  • 10% → 平均電壓 ≈ 0.33V
  • 50% → 平均電壓 ≈ 1.65V
  • 90% → 平均電壓 ≈ 2.97V


二、LED 調光:呼吸燈怎么才能柔和?

1. 常見錯誤:線性調節占空比

很多人寫一個循環:

  1. for(intduty=0;duty<=100;duty++){
  2. __HAL_TIM_SET_COMPARE(&htim3,TIM_CHANNEL_1,duty);
  3. HAL_Delay(20);
  4. }

結果:前半段幾乎看不到亮度變化,后半段突然“閃瞎”。

原因:人眼對光的感知不是線性的,而是對數曲線。

2. 正確做法:Gamma 校正

  1. floatgamma=2.2;// 常見 Gamma 值
  2. for(inti=0;i<=100;i++){
  3. floatpercent=pow((float)i/100.0,gamma);
  4. __HAL_TIM_SET_COMPARE(&htim3,TIM_CHANNEL_1,percent*htim3.Init.Period);
  5. HAL_Delay(20);
  6. }

這樣才能實現真正的“呼吸燈”。

3. 頻率選擇

  • 推薦 200Hz ~ 1kHz
  • <100Hz 會閃爍,人眼能察覺

三、蜂鳴器:頻率決定音調

蜂鳴器分為:

  • 有源蜂鳴器:上電就響,不需要 PWM。
  • 無源蜂鳴器:需要 PWM,不同頻率 → 不同音調。

1. PWM 頻率與音調對應

  1. // 讓無源蜂鳴器發出 "Do Re Mi"
  2. voidbuzzer_play(){
  3. set_pwm_freq(262);// Do
  4. HAL_Delay(500);
  5. set_pwm_freq(294);// Re
  6. HAL_Delay(500);
  7. set_pwm_freq(330);// Mi
  8. HAL_Delay(500);
  9. }

2. 占空比決定音量

  • 占空比 50% → 聲音最響
  • 占空比 <30% → 聲音較小
  • 占空比 >70% → 容易失真


四、電機控制:PWM 是核心調速手段

1. 直流電機

轉速 ≈ 電壓 ≈ PWM 占空比 × 電源電壓。

  • 低頻 PWM:電機會抖動
  • 高頻 PWM(>20kHz):更平穩,人耳聽不到噪音
  1. // 控制直流電機轉速
  2. voidmotor_set_speed(uint8_tpercent){
  3. uint32_tduty=percent*htim2.Init.Period/100;
  4. __HAL_TIM_SET_COMPARE(&htim2,TIM_CHANNEL_1,duty);
  5. }

2. 步進電機

PWM 用來調電流,而轉速靠脈沖序列,不是直接調占空比。

3. 無刷電機BLDC

需要三相 PWM + 換相控制,常用 FOC 算法。


五、常見坑點總結

  1. LED:亮度變化不平滑? → 加 Gamma 校正。
  2. 蜂鳴器:聲音刺耳? → 頻率不對,或者占空比過高。
  3. 電機:轉速不穩? → 頻率太低,選高于 20kHz。
  4. 通用錯誤:用軟件延時做 PWM,波形抖動嚴重 → 應該用定時器硬件 PWM。

六、調試小技巧

  • 示波器看波形,確認頻率與占空比是否正確。
  • 用LED 替代電機測試 PWM,直觀判斷調速效果。
  • 給蜂鳴器輸出波形,用音頻軟件測頻率,驗證是否對上音符。


七、結語

PWM 的套路遠不止“點燈”,它背后有著不同應用的門道。搞懂了頻率和占空比的關系,理解不同器件對 PWM 的敏感性,你就能做出柔和的呼吸燈、悅耳的蜂鳴器提示音、以及平穩高效的電機調速。

下次寫HAL_TIM_PWM_Start()的時候,別只想著“能跑起來就行”,要先問自己:這個 PWM 的參數,適合我現在的應用嗎?

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

    關注

    243

    文章

    24594

    瀏覽量

    690788
  • PWM
    PWM
    +關注

    關注

    116

    文章

    5869

    瀏覽量

    225584
  • 電機
    +關注

    關注

    143

    文章

    9590

    瀏覽量

    154062
  • 蜂鳴器
    +關注

    關注

    12

    文章

    899

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    電機負載率對了嗎?

    電機能效管理的必要性電機負載率與能效的關系智能電機負載率的計算方法智能電機負載率能效匹配原則智能電機負載率匹配意義
    發表于 03-18 06:45

    如何利用PWM實現對LED燈亮度的控制/對電機轉速的控制?

    如何利用PWM實現對LED燈亮度的控制/對電機轉速的控制?
    發表于 01-21 07:54

    水泵電機對了嗎?

    水泵的使用壽命離不開電機的功勞,現在市場上的水泵電機產品琳瑯滿目,按工作電源分類可以分為水泵直流電機和水泵交流電機,那么怎樣選擇一款適合我們所需的水泵
    的頭像 發表于 07-19 13:48 ?1.4w次閱讀

    Python爬蟲 真的會寫爬蟲嗎?

    以為真的會寫爬蟲了嗎?快來看看真正的爬蟲架構!
    的頭像 發表于 05-02 17:02 ?4619次閱讀
    Python爬蟲 <b class='flag-5'>你</b><b class='flag-5'>真的</b>會寫爬蟲嗎?

    “互聯網+”真的過時了嗎

    “互聯網+”真的過時了嗎?
    的頭像 發表于 05-24 16:42 ?6604次閱讀

    阻抗的概念,真的了嗎

    阻抗的概念,真的了嗎?
    的頭像 發表于 07-02 11:40 ?1.7w次閱讀

    干貨 | 電機負載率對了嗎?

    節能減排在當今世界是一個無法回避的話題,影響著世界經濟的發展。作為節能減排重點工業領域的電機,用電量約占全國用電量的60%,節能潛力巨大。因此電機的能效管理引起了國內外各方的關注。
    發表于 01-21 09:54 ?5次下載
    干貨 | <b class='flag-5'>你</b>的<b class='flag-5'>電機</b>負載率<b class='flag-5'>用</b><b class='flag-5'>對了嗎</b>?

    STM32——PWM控制電機

    最近在研究電機,于是想寫一篇文章來記錄我的學習歷程。下面是PWM來驅動電機,涉及的電機驅動是L298N。大概的思路:初始化連接
    發表于 01-14 12:02 ?10次下載
    STM32——<b class='flag-5'>用</b><b class='flag-5'>PWM</b><b class='flag-5'>控制</b><b class='flag-5'>電機</b>

    stm32電機控制控制兩路直流電機!看完了嗎

    小車使用的電機是12v供電的直流電機,帶編碼器反饋,這樣就可以采用閉環速度控制,這里電機使用PWM驅動,速度
    發表于 01-14 12:38 ?43次下載
    stm32<b class='flag-5'>電機</b><b class='flag-5'>控制</b>之<b class='flag-5'>控制</b>兩路直流<b class='flag-5'>電機</b>!看完<b class='flag-5'>你</b>會<b class='flag-5'>了嗎</b>

    連拓精密氣密性測試儀操作步驟,對了嗎

    人們對防水性能的要求提高很多,比如智能穿戴,手機行業,戶外照明等都需要防水功能。所以廠家在生產過程中,后續驗收過程都會進行對其產品的氣密性防水性能測試。那對于正確的氣密性測試儀正確操作步驟,真的對了嗎?如何延長氣密性測試儀的
    的頭像 發表于 10-29 16:06 ?1608次閱讀
    連拓精密氣密性測試儀操作步驟,<b class='flag-5'>你</b>做<b class='flag-5'>對了嗎</b>?

    蜂鳴器制作多彩的LED

    電子發燒友網站提供《蜂鳴器制作多彩的LED流.zip》資料免費下載
    發表于 11-10 14:43 ?0次下載
    <b class='flag-5'>用</b><b class='flag-5'>蜂鳴器</b>制作多彩的<b class='flag-5'>LED</b>流

    PWM輸出控制電機

    PWM 輸出控制電機電機系列 一、PWM 輸出控制電機 1 、相關 IO 介紹 2 、編寫
    發表于 05-06 11:03 ?9次下載
    <b class='flag-5'>PWM</b>輸出<b class='flag-5'>控制</b><b class='flag-5'>電機</b>

    肖特基二極管,真的對了嗎?

    肖特基二極管,真的對了嗎?
    的頭像 發表于 12-07 14:27 ?1283次閱讀
    肖特基二極管,<b class='flag-5'>你</b><b class='flag-5'>真的</b><b class='flag-5'>用</b><b class='flag-5'>對了嗎</b>?

    IGBT和MOSFET該用誰?對了嗎?

    IGBT和MOSFET該用誰?對了嗎?
    的頭像 發表于 12-08 18:25 ?5447次閱讀
    IGBT和MOSFET該用誰?<b class='flag-5'>你</b>選<b class='flag-5'>對了嗎</b>?

    如何使用PWM控制電機

    PWM(脈沖寬度調制)是一種常用的電機控制方法,通過調整脈沖信號的占空比(即高電平時間占總時間的比例)來控制電機的電壓和電流,從而實現對
    的頭像 發表于 11-28 16:30 ?6022次閱讀