當前位置:編程學習大全網 - 源碼下載 - 步進電機驅動器恒流脈寬調制(pwm)的原理

步進電機驅動器恒流脈寬調制(pwm)的原理

<P>脈寬調制(PWM)是利用微處理器的數字輸出來對模擬電路進行控制的壹種非常有效的技術,廣泛應用在從測量、通信到功率控制與變換的許多領域中。

<P>

<P><B>模擬電路</B>

<P>

<P>模擬信號的值可以連續變化,其時間和幅度的分辨率都沒有限制。9V電池就是壹種模擬器件,因為它的輸出電壓並不精確地等於9V,而是隨時間發生變化,並可取任何實數值。與此類似,從電池吸收的電流也不限定在壹組可能的取值範圍之內。模擬信號與數字信號的區別在於後者的取值通常只能屬於預先確定的可能取值集合之內,例如在{0V, 5V}這壹集合中取值。

<P>

<P>模擬電壓和電流可直接用來進行控制,如對汽車收音機的音量進行控制。在簡單的模擬收音機中,音量旋鈕被連接到壹個可變電阻。擰動旋鈕時,電阻值變大或變小;流經這個電阻的電流也隨之增加或減少,從而改變了驅動揚聲器的電流值,使音量相應變大或變小。與收音機壹樣,模擬電路的輸出與輸入成線性比例。

<P>

<P>盡管模擬控制看起來可能直觀而簡單,但它並不總是非常經濟或可行的。其中壹點就是,模擬電路容易隨時間漂移,因而難以調節。能夠解決這個問題的精密模擬電路可能非常龐大、笨重(如老式的家庭立體聲設備)和昂貴。模擬電路還有可能嚴重發熱,其功耗相對於工作元件兩端電壓與電流的乘積成正比。模擬電路還可能對噪聲很敏感,任何擾動或噪聲都肯定會改變電流值的大小。

<P>

<P><B>數字控制</B>

<P>

<P>通過以數字方式控制模擬電路,可以大幅度降低系統的成本和功耗。此外,許多微控制器和DSP已經在芯片上包含了PWM控制器,這使數字控制的實現變得更加容易了。

<P>

<P>簡而言之,PWM是壹種對模擬信號電平進行數字編碼的方法。通過高分辨率計數器的使用,方波的占空比被調制用來對壹個具體模擬信號的電平進行編碼。PWM信號仍然是數字的,因為在給定的任何時刻,滿幅值的直流供電要麽完全有(ON),要麽完全無(OFF)。電壓或電流源是以壹種通(ON)或斷(OFF)的重復脈沖序列被加到模擬負載上去的。通的時候即是直流供電被加到負載上的時候,斷的時候即是供電被斷開的時候。只要帶寬足夠,任何模擬值都可以使用PWM進行編碼。<IMG alt=圖1:不同占空比的PWM信號。 hspace=12 src="/MCU/UploadFiles_4354/200604/20060409155450808.JPG" align=right vspace=12>

<P>

<P>圖1顯示了三種不同的PWM信號。圖1a是壹個占空比為10%的PWM輸出,即在信號周期中,10%的時間通,其余90%的時間斷。圖1b和圖1c顯示的分別是占空比為50%和90%的PWM輸出。這三種PWM輸出編碼的分別是強度為滿度值的10%、50%和90%的三種不同模擬信號值。例如,假設供電電源為9V,占空比為10%,則對應的是壹個幅度為0.9V的模擬信號。<IMG alt=圖2:壹個簡單的電路。 hspace=12 src="/MCU/UploadFiles_4354/200604/20060409155454878.JPG" align=right vspace=12>

<P>

<P>圖2是壹個可以使用PWM進行驅動的簡單電路。圖中使用9V電池來給壹個白熾燈泡供電。如果將連接電池和燈泡的開關閉合50ms,燈泡在這段時間中將得到9V供電。如果在下壹個50ms中將開關斷開,燈泡得到的供電將為0V。如果在1秒鐘內將此過程重復10次,燈泡將會點亮並象連接到了壹個4.5V電池(9V的50%)上壹樣。這種情況下,占空比為50%,調制頻率為10Hz。

<P>

<P>大多數負載(無論是電感性負載還是電容性負載)需要的調制頻率高於10Hz。設想壹下如果燈泡先接通5秒再斷開5秒,然後再接通、再斷開……。占空比仍然是50%,但燈泡在頭5秒鐘內將點亮,在下壹個5秒鐘內將熄滅。要讓燈泡取得4.5V電壓的供電效果,通斷循環周期與負載對開關狀態變化的響應時間相比必須足夠短。要想取得調光燈(但保持點亮)的效果,必須提高調制頻率。在其他PWM應用場合也有同樣的要求。通常調制頻率為1kHz到200kHz之間。

<P>

<P><B>硬件控制器</B>

<P>

<P>許多微控制器內部都包含有PWM控制器。例如,Microchip公司的PIC16C67內含兩個PWM控制器,每壹個都可以選擇接通時間和周期。占空比是接通時間與周期之比;調制頻率為周期的倒數。執行PWM操作之前,這種微處理器要求在軟件中完成以下工作:

<P>

<P>* 設置提供調制方波的片上定時器/計數器的周期

<P><BR>* 在PWM控制寄存器中設置接通時間

<P><BR>* 設置PWM輸出的方向,這個輸出是壹個通用I/O管腳

<P><BR>* 啟動定時器

<P><BR>* 使能PWM控制器

<P>

<P>雖然具體的PWM控制器在編程細節上會有所不同,但它們的基本思想通常是相同的。

<P>

<P><B>通信與控制</B>

<P>

PWM的壹個優點是從處理器到被控系統信號都是數字形式的,無需進行數模轉換。讓信號保持為數字形式可將噪聲影響降到最小。噪聲只有在強到足以將邏輯1改變為邏輯0或將邏輯0改變為邏輯1時,也才能對數字信號產生影響。

對噪聲抵抗能力的增強是PWM相對於模擬控制的另外壹個優點,而且這也是在某些時候將PWM用於通信的主要原因。從模擬信號轉向PWM可以極大地延長通信距離。在接收端,通過適當的RC或LC網絡可以濾除調制高頻方波並將信號還原為模擬形式。

PWM廣泛應用在多種系統中。作為壹個具體的例子,我們來考察壹種用PWM控制的制動器。簡單地說,制動器是緊夾住某種東西的壹種裝置。許多制動器使用模擬輸入信號來控制夾緊壓力(或制動功率)的大小。加在制動器上的電壓或電流越大,制動器產生的壓力就越大。

可以將PWM控制器的輸出連接到電源與制動器之間的壹個開關。要產生更大的制動功率,只需通過軟件加大PWM輸出的占空比就可以了。如果要產生壹個特定大小的制動壓力,需要通過測量來確定占空比和壓力之間的數學關系(所得的公式或查找表經過變換可用於控制溫度、表面磨損等等)。

例如,假設要將制動器上的壓力設定為100psi,軟件將作壹次反向查找,以確定產生這個大小的壓力的占空比應該是多少。然後再將PWM占空比設置為這個新值,制動器就可以相應地進行響應了。如果系統中有壹個傳感器,則可以通過閉環控制來調節占空比,直到精確產生所需的壓力。

總之,PWM既經濟、節約空間、抗噪性能強,是壹種值得廣大工程師在許多設計應用中使用的有效技術。

[Embedded Systems Programming]

Michael Barr是《嵌入式系統編程》雜誌總編輯,也是《使用C和C++對嵌入式系統進行編程》(O'Reilly出版公司,1999年)壹書的作者以及馬裏蘭大學的客座教師。可以通過電子郵件mbarr@cmp.com與他聯系。

  • 上一篇:它的操作系統是什麽
  • 下一篇:希臘和丹麥的經濟,哪壹個更好壹點兒呢?
  • copyright 2024編程學習大全網