一直有朋友問我怎么打造個(gè)性化呼吸燈,本文我將以合宙低功耗4G模組經(jīng)典型號(hào)——Air780E為例,展示PWM輸出呼吸燈的實(shí)現(xiàn)方法,幫助大家深入理解如何在項(xiàng)目中應(yīng)用PWM技術(shù)。
一、PWM概述
1.1 PWM是什么
脈沖寬度調(diào)制PWM,是英文“Pulse Width Modulation”的縮寫,簡(jiǎn)稱脈寬調(diào)制,是利用微處理器的數(shù)字輸出來對(duì)模擬電路進(jìn)行控制的一種非常有效的技術(shù)。
PWM具有高效、控制精度高及實(shí)現(xiàn)簡(jiǎn)便等優(yōu)點(diǎn),但PWM信號(hào)可能產(chǎn)生高頻噪聲,需要濾波以減小干擾。另外,某些應(yīng)用需要特定的硬件支持,如支持PWM輸入的微控制器或電路。
要想使用PWM,還需先了解PWM的相關(guān)參數(shù):
PWM的頻率:
是指1秒鐘內(nèi)信號(hào)從高電平到低電平再回到高電平的次數(shù)(一個(gè)周期),也就是說一秒鐘PWM有多少個(gè)周期。單位:Hz。
PWM的周期:
T=1/f 周期=1/頻率例:如果頻率為50Hz,T=1/50=0.02s,也就是說一個(gè)周期是20ms;
1s=1000ms,那么一秒鐘就有50次PWM周期。
PWM的占空比:
是一個(gè)脈沖周期內(nèi),高電平的時(shí)間占整個(gè)周期時(shí)間的比例。單位:% (0%-100%)
例:一個(gè)周期10ms,高電平占8ms,那么此占空比就是8/10=80%。
1.2 PWM原理
單片機(jī)的IO引腳輸出的是數(shù)字信號(hào),且只能輸出1和0。那如果TTL電平中,高電平為5V,低電平為0V,但是我們想要輸出不同的模擬電壓,比如輸出3.75V應(yīng)該怎么操作?
此時(shí)要用到PWM,通過改變IO口輸出方波的占空比,得到不同的模擬電壓。
3.75/5=0.75,也就是高電平時(shí)間占整個(gè)周期的75%,即占空比為75%,可得到模擬電壓3.75V。
注意上圖中藍(lán)線,代表著輸出的模擬電壓,占空比越大,則模擬電壓也越大。
1.3 PWM通道說明
詳見Air780E產(chǎn)品手冊(cè)GPIO復(fù)用表:
https://docs.openluat.com/air780e/product/
當(dāng)前版本為:
《Air780E_GPIO_table_20240812.pdf》
由上方GPIO復(fù)用表可知:
Air780E的實(shí)際可用PWM通道有4個(gè)(0/1/2/4), 但每個(gè)都有3種配置。
PWM3/PWM5已經(jīng)被底層使用,例如PWM1和PWM11都使用硬件通道1,只能選其中一個(gè)使用。啟用PWM1就不能啟用PWM11,調(diào)用PWM庫(kù)的API時(shí),填軟件通道id。
相關(guān)注意事項(xiàng):
軟件通道10/11/12/14需要V1002以上的固件,即20221219之后編譯的版本。
軟件通道20/21/22需要V1016以上的固件,即20230330之后編譯的版本。
上述映射是固定的,mcu.iomux也沒有配置項(xiàng), 而且已經(jīng)枚舉了全部可用PWM通道。
二、演示功能概述
接下來本文將用兩個(gè)示例,演示如何使用Air780E的PWM功能:
PWM輸出:
控制Air780E核心板pwm4通道的pwm輸出,設(shè)置不同的占空比,讓小燈有不同的亮度;
呼吸燈效果:
使用Air780E核心板的pwm1通道,外接發(fā)光二極管來查看呼吸燈效果。
三、準(zhǔn)備硬件環(huán)境
3.1 開發(fā)板準(zhǔn)備
本文使用Air780E核心板進(jìn)行演示:
詳見Air780E產(chǎn)品手冊(cè)開發(fā)板使用說明:
https://docs.openluat.com/air780e/product/
寫這篇文章時(shí)最新版本的使用說明為:
<<開發(fā)板Core_Air780E使用說明 V1.0.5.pdf>>
核心板使用過程中遇到任何問題,可以直接參考這份使用說明pdf文檔。
3.2 數(shù)據(jù)通信線
USB轉(zhuǎn)Type-C數(shù)據(jù)線一根;
3.3 PC電腦
Win7及其以上版本的Windows系統(tǒng)。
四、準(zhǔn)備軟件環(huán)境
4.1 下載調(diào)試工具
https://docs.openluat.com/Luatools/
4.2 源碼及固件
最新固件下載:
https://docs.openluat.com/air780e/luatos/firmware/
固件詳見core_V1112壓縮包:
LuatOS-SoC_V1112_EC618_FULL.soc
最新demo源碼下載:
https://gitee.com/openLuat/LuatOS-Air780E/tree/master/demo/pwm
五、PWM軟硬件資料
5.1 API接口介紹
本教程使用API接口詳見:
https://wiki.luatos.com/api/pwm.html?highlight=pwm
5.2 Air780E燒錄說明
將Air780E通過USB數(shù)據(jù)線連接電腦:
1)按住下載模式按鍵(boot 鍵)不放,同時(shí)再長(zhǎng)按開機(jī)鍵開機(jī),這時(shí)開發(fā)板會(huì)進(jìn)入下載模式,Luatools下載進(jìn)度條會(huì)開始跑,這時(shí)可以松開boot按鍵。直到工具提示下載完成。
2)如果未能成功進(jìn)入下載模式,而是進(jìn)入正常開機(jī)模式,這時(shí)可以按住 boot 鍵,再短按復(fù)位按鍵,讓開發(fā)板重啟,重新進(jìn)入下載模式。
如何判斷有沒有進(jìn)入下載模式:
可以通過PC端的設(shè)備管理器中虛擬出來的USB端口數(shù)量來判斷。
正常開機(jī)模式:
下載模式:
六、代碼示例介紹
6.1 PWM輸出
本例使用Air780E核心板上的NetLed(網(wǎng)絡(luò)狀態(tài)燈),pwm通道id=4,打開pwm4通道的pwm輸出,設(shè)置不同的占空比,小燈會(huì)有不同的亮度。
6.1.1 代碼介紹
6.1.2 效果展示
6.2 呼吸燈效果
本例使用Air780E核心板的pwm1通道,外接發(fā)光二極管來查看呼吸燈效果:
呼吸燈效果就是小燈由亮到暗逐漸變化,很有節(jié)奏感地一起一伏,”感覺,好像人在呼吸“,我們可以通過不斷調(diào)高占空比讓小燈一點(diǎn)點(diǎn)亮起,再不斷調(diào)低占空比讓小燈一點(diǎn)點(diǎn)熄滅從而達(dá)到此效果。
6.2.1 硬件接線
GPIO24 --------發(fā)光二極管正極
GND -----------發(fā)光二極管負(fù)極
6.2.2 代碼介紹
6.2.3 效果展示
外接發(fā)光二極管,效果如下圖所示:
也可用Air780E核心板上的NetLed(網(wǎng)絡(luò)狀態(tài)燈)來觀察呼吸燈效果,但demo里的PWM通道要改成相應(yīng)的id,可查看上文的PWM通道說明。
我們通過示波器查看PWM的輸出波形,可以看到占空比在10%-90%之間變化。
七、常見問題
1. 如何驗(yàn)證所產(chǎn)生的PWM信號(hào)?
可以使用示波器檢測(cè)PWM輸出,查看頻率、占空比和波形的完整性。確保波形按照設(shè)計(jì)參數(shù)正常工作,必要時(shí)進(jìn)行調(diào)整。
2. PWM的信號(hào)的頻率如何選擇?
頻率的選擇通常取決于具體應(yīng)用,根據(jù)自己的項(xiàng)目需要來選擇:
電機(jī)控制:常用頻率為1kHz到20kHz,以確保足夠的反應(yīng)速度和控制精度。
LED調(diào)光:頻率通常在1kHz以上,以避免人眼感知到閃爍。
音頻信號(hào):頻率設(shè)置應(yīng)高于音頻信號(hào)的最高頻率(例如,至少為20kHz)。
3. 什么是占空比,如何計(jì)算PWM的占空比?
占空比即是一個(gè)脈沖周期內(nèi),高電平的時(shí)間占整個(gè)周期。
例如:
如果PWM信號(hào)的高電平時(shí)間為2ms,周期為10ms。
則:占空比 = (2 / 10) × 100 = 20%
今天的內(nèi)容就分享到這里了
-
單片機(jī)
+關(guān)注
關(guān)注
6044文章
44627瀏覽量
638969 -
PWM
+關(guān)注
關(guān)注
114文章
5201瀏覽量
214965 -
模組
+關(guān)注
關(guān)注
6文章
1518瀏覽量
30637 -
呼吸燈
+關(guān)注
關(guān)注
10文章
111瀏覽量
42824
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
基于STRAIGHT算法的個(gè)性化語(yǔ)音生成方法
【原創(chuàng)】Android開發(fā)—《QQ空間之打造個(gè)性化可拉伸頭部控件》
【原創(chuàng)】Android開發(fā)—QQ空間之打造個(gè)性化可拉伸頭部控件
MiniPCIE 封裝4G模組價(jià)值仍在
個(gè)性化室內(nèi)智能照明芯片方案筒燈IC吸頂燈IC調(diào)光調(diào)色溫
LED家居照明芯片 智慧家庭照明IC 個(gè)性化調(diào)光調(diào)色
物聯(lián)網(wǎng)開發(fā)之個(gè)性化的網(wǎng)關(guān)設(shè)計(jì)分析
4G模組, 4G模塊是什么?4G模組,4G模塊的平臺(tái)?4G模組,4G模塊怎么選?ASR RDA 高通
個(gè)性化廣告推薦系統(tǒng)設(shè)計(jì)方案及應(yīng)用
![<b class='flag-5'>個(gè)性化</b>廣告推薦系統(tǒng)設(shè)計(jì)方案及應(yīng)用](https://file.elecfans.com/web1/M00/E6/F8/pIYBAGBasNKAVIDTAAKFYyMkljQ478.png)
STM32_PWM呼吸燈
![STM32_<b class='flag-5'>PWM</b><b class='flag-5'>呼吸</b><b class='flag-5'>燈</b>](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
STM32 使用PWM實(shí)現(xiàn)呼吸燈
![STM32 使用<b class='flag-5'>PWM</b>實(shí)現(xiàn)<b class='flag-5'>呼吸</b><b class='flag-5'>燈</b>](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
評(píng)論