<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          關(guān) 閉

          新聞中心

          EEPW首頁(yè) > 工控自動(dòng)化 > 設(shè)計(jì)應(yīng)用 > PWM原理及其對(duì)電機(jī)轉(zhuǎn)速控制的應(yīng)用

          PWM原理及其對(duì)電機(jī)轉(zhuǎn)速控制的應(yīng)用

          作者: 時(shí)間:2024-06-25 來(lái)源: 收藏

          什么是

          本文引用地址:http://www.ex-cimer.com/article/202406/460313.htm

          (Pulse Width Modulation)簡(jiǎn)稱脈寬調(diào)制,是利用微處理器的數(shù)字輸出來(lái)對(duì)模擬電路進(jìn)行控制的一種非常有效的技術(shù),廣泛應(yīng)用在測(cè)量、通信、工控等方面。

          · 的頻率

          是指在1秒鐘內(nèi),信號(hào)從高電平到低電平再回到高電平的次數(shù),也就是說(shuō)一秒鐘PWM有多少個(gè)周期,單位Hz。

          · PWM的周期

          T=1/f,T是周期,f是頻率。

          如果頻率為50Hz ,也就是說(shuō)一個(gè)周期是20ms,那么一秒鐘就有 50次PWM周期。

          · 占空比

          是一個(gè)脈沖周期內(nèi),高電平的時(shí)間與整個(gè)周期時(shí)間的比例,單位是% (0%-100%)

          一個(gè)周期的長(zhǎng)度,如下圖所示。

          640.png

          其中,周期是一個(gè)脈沖信號(hào)的時(shí)間,1s內(nèi)的周期T次數(shù)等于頻率f,脈寬時(shí)間是指高電平時(shí)間。

          上圖中,脈寬時(shí)間占總周期時(shí)間的比例,就是占空比。比方說(shuō),周期的時(shí)間是10ms,脈寬時(shí)間是8ms,那么占空比是8/10= 80%,這就是占空比為80%的脈沖信號(hào)。

          PWM就是脈沖寬度調(diào)制,通過(guò)調(diào)節(jié)占空比就可以調(diào)節(jié)脈沖寬度。

          PWM原理

          以STM32單片機(jī)為例,其IO口只能輸出高電平和低電平。

          假設(shè)高電平為5V、低電平則為0V,那么要輸出不同的模擬電壓就要用到PWM。通過(guò)改變IO口輸出的方波的占空比,從而獲得使用數(shù)字信號(hào)模擬成的模擬電壓信號(hào)。

          電壓是以一種脈沖序列被加到模擬負(fù)載上去的,接通時(shí)是高電平1,斷開(kāi)時(shí)是低電平0。接通時(shí)直流供電輸出,斷開(kāi)時(shí)直流供電斷開(kāi)。通過(guò)對(duì)接通和斷開(kāi)時(shí)間的控制,理論上來(lái)講,可以輸出任意不大于最大電壓值5V的模擬電壓。

          比方說(shuō),占空比為50%那就是高電平時(shí)間一半,低電平時(shí)間一半。在一定的頻率下,就可以得到模擬的2.5V輸出電壓。那么75%的占空比,得到的電壓就是3.75V,如下圖所示。

          640-2.png

          也就是說(shuō),在一定的頻率下,通過(guò)不同的占空比即可得到不同大小的輸出模擬電壓,PWM就是通過(guò)這種原理實(shí)現(xiàn)數(shù)字模擬信號(hào)轉(zhuǎn)換的。

          PWM應(yīng)用

          · LED呼吸燈

          以經(jīng)常使用的呼吸燈舉例。

          一般人眼睛對(duì)于80Hz以上刷新頻率則完全沒(méi)有閃爍感,那么我們平時(shí)見(jiàn)到的LED燈,當(dāng)它的頻率大于50Hz的時(shí)候,人眼就會(huì)產(chǎn)生視覺(jué)暫留效果,基本就看不到閃爍了,而是誤以為是一個(gè)常亮的LED燈。

          由于頻率很高時(shí)看不到閃爍,占空比越大LED越亮,占空比越小LED越暗,相關(guān)實(shí)例:詳解STM32呼吸燈的PWM實(shí)現(xiàn)。在頻率一定時(shí),可以用不同占空比改變LED燈的亮度,使其達(dá)到一個(gè)呼吸燈的效果。

          · PWM對(duì)轉(zhuǎn)速的控制

          調(diào)節(jié)占空比可以實(shí)現(xiàn)不同電壓的輸出,實(shí)現(xiàn)對(duì)轉(zhuǎn)速的調(diào)節(jié)。

          對(duì)于直流來(lái)講,電機(jī)輸出端引腳是高電平電機(jī)就可以轉(zhuǎn)動(dòng),當(dāng)輸出端高電平時(shí),電機(jī)會(huì)轉(zhuǎn)動(dòng),但是是一點(diǎn)一點(diǎn)的提速,在高電平突然轉(zhuǎn)向低電平時(shí),電機(jī)由于電感有防止電流突變的作用是不會(huì)停止的,會(huì)保持這原有的轉(zhuǎn)速,以此往復(fù),電機(jī)的轉(zhuǎn)速就是周期內(nèi)輸出的平均電壓值,所以實(shí)質(zhì)上我們調(diào)速是將電機(jī)處于一種,似停非停,似全速轉(zhuǎn)動(dòng)又非全速轉(zhuǎn)動(dòng)的狀態(tài),那么在一個(gè)周期的平均速度就是我們占空比調(diào)出來(lái)的速度了。

          在電機(jī)控制中,電壓越大,電機(jī)轉(zhuǎn)速越快,而通過(guò)PWM輸出不同的模擬電壓,便可以使電機(jī)達(dá)到不同的輸出轉(zhuǎn)速,相關(guān)文章:介紹常見(jiàn)電機(jī)的控制算法。當(dāng)然,在電機(jī)控制中,不同的電機(jī)都有其適應(yīng)的頻率。

          頻率太低會(huì)導(dǎo)致運(yùn)動(dòng)不穩(wěn)定,如果頻率剛好在人耳聽(tīng)覺(jué)范圍,有時(shí)還會(huì)聽(tīng)到呼嘯聲。頻率太高時(shí),電機(jī)可能反應(yīng)不過(guò)來(lái),正常的電機(jī)頻率在 6-16kHZ之間為好。

          · PWM對(duì)舵機(jī)的控制

          舵機(jī)的控制就是通過(guò)一個(gè)固定的頻率,給其不同的占空比來(lái)控制舵機(jī)不同的轉(zhuǎn)角。

          舵機(jī)的頻率一般為頻率為50HZ,也就是一個(gè)20ms左右的時(shí)基脈沖,而脈沖的高電平部分一般為0.5ms-2.5ms范圍,來(lái)控制舵機(jī)不同的轉(zhuǎn)角。

          500-2500us的PWM高電平部分對(duì)應(yīng)控制180度舵機(jī)的0-180度。

          以180度角度伺服為例,那么對(duì)應(yīng)的控制關(guān)系是這樣的:

          1 0.5ms--------0度;

          2 1.0ms--------45度;

          3 1.5ms--------90度;

          4 2.0ms--------135度;

          5 2.5ms--------180度;

          下圖演示占空比從1ms變化到2ms時(shí),轉(zhuǎn)角的變化。

          640.gif

          經(jīng)常使用的直流電機(jī)原理就是電生磁:通電導(dǎo)線會(huì)產(chǎn)生磁場(chǎng),也就是電磁感應(yīng)旋轉(zhuǎn)磁場(chǎng)帶動(dòng)轉(zhuǎn)子轉(zhuǎn)動(dòng)。電動(dòng)機(jī)是由定子和轉(zhuǎn)子組成,一個(gè)產(chǎn)生旋轉(zhuǎn)磁場(chǎng),一個(gè)為磁極,電機(jī)的轉(zhuǎn)子(軸承)就轉(zhuǎn)起來(lái)了。

          這便實(shí)現(xiàn)了電能->磁能->機(jī)械能的轉(zhuǎn)換。下面這個(gè)圖可以更直觀的理解:

          640-2.gif

          PWM的本質(zhì)

          通過(guò)上文大概知道,通過(guò)PWM控制電機(jī)速度,實(shí)際上是控制供電電流的大小來(lái)實(shí)現(xiàn)。

          通電導(dǎo)線在磁場(chǎng)中受到的力稱為安培力,而安培力的公式:F=BIL。其中,F(xiàn)是受力大小,I是電流大小,L是導(dǎo)線長(zhǎng)度。在其他條件不變的情況下,控制其通過(guò)的電流即控制安培力的大小。

          電機(jī)的電阻R是基本不變的,那么電流 I = U/R,F(xiàn)= BLU/R。

          在R、B、L不變的情況,控制安培力的大小,本質(zhì)就是修改供電電壓的大小。我們也就知道,控制電機(jī)轉(zhuǎn)速的本質(zhì)就是給電機(jī)供不同的供電電壓,電壓越大,電機(jī)轉(zhuǎn)速越快。

          而PWM的本質(zhì)就是脈寬調(diào)制,通過(guò)輸出不同的占空比,從而將直流電壓轉(zhuǎn)換成不同電壓值的模擬信號(hào)。

          控制電機(jī)速度

          占空比可以實(shí)現(xiàn)對(duì)電機(jī)轉(zhuǎn)速的調(diào)節(jié),我們知道,占空比是高電平在一個(gè)周期之中的比值,高電平的所占的比值越大,占空比就越大,對(duì)于直流電機(jī)來(lái)講,電機(jī)輸出端引腳是高電平電機(jī)就可以轉(zhuǎn)動(dòng),當(dāng)輸出端高電平時(shí),電機(jī)會(huì)轉(zhuǎn)動(dòng),但是是一點(diǎn)一點(diǎn)的提速,在高電平突然轉(zhuǎn)向低電平時(shí),電機(jī)由于電感有防止電流突變的作用是不會(huì)停止的,會(huì)保持這原有的轉(zhuǎn)速,以此往復(fù),電機(jī)的轉(zhuǎn)速就是周期內(nèi)輸出的平均電壓值,所以實(shí)質(zhì)上我們調(diào)速是將電機(jī)處于一種,似停非停,似全速轉(zhuǎn)動(dòng)又非全速轉(zhuǎn)動(dòng)的狀態(tài),那么在一個(gè)周期的平均速度就是我們占空比調(diào)出來(lái)的速度了。

          總結(jié)

          在電機(jī)控制中,電壓越大,電機(jī)轉(zhuǎn)速越快,而通過(guò)PWM輸出不同的模擬電壓,便可以使電機(jī)達(dá)到不同的輸出轉(zhuǎn)速。

          當(dāng)然,在電機(jī)控制中,不同的電機(jī)都有其適應(yīng)的頻率 頻率太低會(huì)導(dǎo)致運(yùn)動(dòng)不穩(wěn)定,如果頻率剛好在人耳聽(tīng)覺(jué)范圍,有時(shí)還會(huì)聽(tīng)到呼嘯聲。頻率太高的電機(jī)可能反應(yīng)不過(guò)來(lái),正常的電機(jī)頻率在 6-16kHZ之間為好。

          輸出的電壓就不同,電機(jī)轉(zhuǎn)速就不同。那我們可以知道,通過(guò)滑動(dòng)變阻器或者更換不同電壓的電源都可以實(shí)現(xiàn)電機(jī)的調(diào)速,但是在實(shí)際應(yīng)用中顯然PWM更方便些。

          專業(yè)一點(diǎn)的話就是:所謂PWM就是脈寬調(diào)制器,通過(guò)調(diào)制器給電機(jī)提供一個(gè)具有一定頻率的脈沖寬度可調(diào)的脈沖電。脈沖寬度越大即占空比越大,提供給電機(jī)的平均電壓越大,電機(jī)轉(zhuǎn)速就高。反之脈沖寬度越小,則占空比越越小。提供給電機(jī)的平均電壓越小,電機(jī)轉(zhuǎn)速就低。

          來(lái)源:電驅(qū)動(dòng)Benchmarker



          關(guān)鍵詞: PWM 電機(jī) 轉(zhuǎn)速控制

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();