脈沖寬度調(diào)制(PWM)是一種使用開關(guān)數(shù)字信號(hào)來控制傳遞到電子負(fù)載的功率量的技術(shù)。該技術(shù)背后的關(guān)鍵思想是,可以通過改變信號(hào)的占空比來改變數(shù)字信號(hào)的平均DC值,從而改變傳遞給負(fù)載的功率。該方法通常用于控制直流電動(dòng)機(jī)的速度和燈的亮度。開關(guān)電源也基于PWM技術(shù)。在本教程中,我們將討論chipKIT Uno32板的PWM引腳,并通過控制兩個(gè)外部LED的亮度來說明該概念。
PWM
理論
脈寬調(diào)制(PWM)是一種通過能量傳遞能量的方式脈沖而不是連續(xù)變化的信號(hào)。通過增加或減少脈沖寬度(頻率保持不變),可以控制輸出功率。信號(hào)打開的時(shí)間周期的一部分稱為占空比。信號(hào)的平均DC值可以通過改變占空比來改變。占空比可以在0(信號(hào)始終關(guān)閉)到1(信號(hào)一直打開)之間的任何位置。假設(shè),如果信號(hào)在開啟時(shí)為+5 V,在關(guān)閉狀態(tài)時(shí)為0 V,則通過更改信號(hào)的占空比,可以模擬0-5 V之間的任何電壓。該方法通常用于控制直流電動(dòng)機(jī)的速度和燈的亮度。 PWM的原理如下圖所示。
PWM
電路設(shè)置
在chipKIT Uno32板上,可以將I/O引腳3、5、6、9和10配置為提供PWM輸出。我們將兩個(gè)LED(紅色和綠色)連接到PWM引腳3和5,并通過改變驅(qū)動(dòng)這些LED的PWM信號(hào)的占空比來控制它們的亮度。兩個(gè)100電阻用于限制通過LED的電流。
電路設(shè)置
在面包板上的實(shí)際設(shè)置
寫草圖
可以使用 analogWrite生成Arduino平臺(tái)中的PWM信號(hào)()命令。在括號(hào)內(nèi),您可以指定引腳號(hào)和所需的占空比(0-255)。占空比“ 0”表示始終關(guān)閉,“ 255”表示始終打開。調(diào)用 analogWrite()時(shí),將在指定的PWM引腳上生成具有指定占空比的穩(wěn)定方波。下圖使用變化的占空比PWM信號(hào)來控制傳遞到兩個(gè)LED的輸出功率。兩個(gè)LED交替淡入和淡出,這意味著當(dāng)一個(gè)LED處于峰值強(qiáng)度時(shí),另一個(gè)LED變暗,反之亦然。
int redLED = 3; // Red LED is connected to pin 3
int greenLED = 5; // Green LED is connected to pin 5
int redCount = 255; // Initial PWM values, RED is full
int greenCount = 1; // Green is dim
int i = 0;
void setup()
{
pinMode(redLED, OUTPUT);
pinMode(greenLED, OUTPUT);
}
void loop()
{
if (i 《 255) // First phase
{
redCount = redCount-1; // Red down
greenCount = greenCount+1; // Green up
}
else if (i 《 509) // Second phase
{
redCount = redCount+1; // Red up
greenCount = greenCount-1; // Green down
}
else // Re-set
{
i = 0;
}
i += 1;
analogWrite(redLED, redCount); // Write current values to LED pins
analogWrite(greenLED, greenCount);
delay(10); // Pause for 10 millisecond
}
輸出
在程序中的職責(zé)周期以1為步長從1更改為255。首先,紅色LED由占空比為255的PWM信號(hào)驅(qū)動(dòng),這意味著它將完全打開。驅(qū)動(dòng)綠色LED的PWM信號(hào)的占空比為1,這意味著其強(qiáng)度最小。在每10 ms中,驅(qū)動(dòng)紅色LED的PWM信號(hào)的占空比減小1,而綠色LED的占空比則增大1。大約2550 ms之后,亮度條件反轉(zhuǎn),并且綠色LED完全點(diǎn)亮。重復(fù)此操作以交替產(chǎn)生淡入和淡出效果。
淡入和淡出
紅色LED處于最大強(qiáng)度,而綠色則變暗了
綠色處于最大強(qiáng)度而紅色卻變淡
LED的工作電流非常低,因此,可以直接通過UNO32板的PWM輸出驅(qū)動(dòng)它們。對(duì)于直流電動(dòng)機(jī)控制,需要一個(gè)外部電動(dòng)機(jī)驅(qū)動(dòng)器電路(例如H橋),該電路基本上將從微控制器引腳發(fā)出的低電流PWM信號(hào)放大為能夠提供足夠電流來驅(qū)動(dòng)電動(dòng)機(jī)的高電流PWM信號(hào)。
責(zé)任編輯:wv
-
PWM
+關(guān)注
關(guān)注
116文章
5511瀏覽量
219390 -
開發(fā)板
+關(guān)注
關(guān)注
25文章
5680瀏覽量
104704
發(fā)布評(píng)論請先 登錄
HCLSoftware發(fā)布HCL UnO Agentic
基于小凌派RK2206開發(fā)板:OpenHarmony如何使用IoT接口控制PWM外設(shè)

在IMX RT1170的POR期間,PWM引腳變?yōu)楦唠娖绞窃趺椿厥拢?/a>
嵌入式學(xué)習(xí)-飛凌嵌入式ElfBoard ELF 1板卡-開發(fā)板適配之PWM
飛凌嵌入式ElfBoard ELF 1板卡-開發(fā)板適配之PWM
2引腳VSFN mikroBUS?插座板用戶指南

飛凌嵌入式-ELFBOARD-核心板pimmux的配置
自己設(shè)計(jì)的Arduino UNO R3主控板原理圖+PCB源文件(可直接打樣)
DRV2603輸入PWM波的頻率和占空比應(yīng)該怎么調(diào)?
TAS5548如何在輸入信號(hào)改變的情況下,讓38和39這兩個(gè)引腳輸出的PWM產(chǎn)生變化?
在低成本MSP430 MCU上使用PWM實(shí)現(xiàn)數(shù)字DAC應(yīng)用說明

具有 PWM 抑制功能的高側(cè)驅(qū)動(dòng)、高側(cè)電磁閥監(jiān)視器應(yīng)用說明

如何在NXP源碼基礎(chǔ)上適配ELF 1開發(fā)板的PWM功能

評(píng)論