2012-09-27 17:07:36

作者:Jose I. Quinones,德州儀器 (TI) 應用工程師

引言

就 DC 馬達而言,通過升高電壓(如果使用脈寬調製,則增加占空比),可以控製馬達傳動軸達到某個指定速度的快慢。但是,如果是步進馬達,則改變電壓不會對馬達速度產生任何影響。沒錯,改變電壓大小可以改變繞組電流電荷的速率,從而改變步進馬達的最大速度,但是,馬達速度是由繞組電流開關或者整流的速率所決定。

我們可以做這樣的假設嗎:步進馬達是一些不需要受控加速過程的機器?如果可以,那麼我們就可以無所顧忌地讓步進馬達工作在任何目標速度下嗎?事實是,相比其他馬達拓撲結構,步進馬達更加需要通過加速和減速過程來激勵。以任意速度啟動步進馬達,可能會帶來可怕的後果。

本文中,我們假設讀者已熟悉如何利用市場上已有集成微步進驅動器,對步進馬達進行控製。步進驅動器(例如:TI DRV8818等)的輸出與方波(“步進輸入”)頻率成正比。每個“步進”脈衝均等於驅動器步進邏輯定義步進(即微步進)。因此,改變方波頻率,也會相應改變步進馬達的速率。

圖 1 顯示了某個馬達製造廠商的傳統步進速率/扭矩曲線圖,其中起始頻率fs為一個重要參數。我們必須知道,要想正常啟動這種特殊的馬達,必須使用一個小於 fs 的步進速率。使用大於 fs 的步進速率啟動馬達,可能會使馬達停轉,並失去同步性。一旦出現這種情況,馬達轉動控製將受到嚴重的影響。表麵看起來,這是一個嚴重的問題,但實際卻很容易解決。您需要做的隻是讓馬達以某個低於fs的步進速率啟動,然後提高速度,直到達到目標速度為止。遵循這一原則以後,步進馬達便可以通過遠超 fs 的步進速率來驅動―隻要速度保持在所示扭矩/速度曲線以下。

1.gif 

圖 1 雙極恒流步進馬達的扭矩/速度曲線

同樣重要的是,不能簡單地通過停止“步進”脈衝來讓馬達停止。相反,應把步進速率從目標速度降至某個能使馬達停止下來且沒有傳動軸慣性的更低速率,因為傳動軸慣性會引起多餘、無用的步進。請記住,如果在定位應用中使用步進馬達,則如果馬達在應該停止時還繼續轉動,馬達傳動軸便會失去定位。由於閉環位置反饋很少用於驅動步進馬達,因此確保僅執行指令性步進至關重要。

加速/減速過程

為了使步進馬達從起始速度加速至某個期望目標速度,隻需以周期性間隔改變當前速度。大多數工程師都使用微控製器來實現步進馬達控製。最常見的實現方法是隻使用兩個定時器。第一個是每秒步進 (SPS) 定時器,用於產生一種精確的步進速率計時功能。另外一個是加速定時器,用於周期性地改變第一個定時器。由於速度受到周期性改變,在本質上得到與時間相關的角速度 (dv/dt)。這一過程被稱作加速度,即速度隨時間變化情況。圖 2 顯示了一個典型的基於微控製器的加速度分布圖放大圖,並描述了步進馬達加速至目標速度的過程。

2.gif 


圖 2 典型加速過程放大圖

SPS 是我們希望獲得的每秒步進數,即馬達轉動的步進速率。必須對 SPS 定時器編程,實現以該速率發出脈衝。根據定時器的振蕩器頻率,典型方程式為:

f1.png 

其中SPS_timer_register 為一個 16 位數字,它告訴定時器產生後續“步進”脈衝的所需時長,而 timer_oscillator 為一個常量,表示定時器的兆赫單位運行速度。

以函數形式將該方程式存儲起來,因為經常會用到它。為了理解它的工作過程,我們假設定時器振蕩器工作在 8 MHz 下,並且期望的馬達步進速率為 200 SPS。根據該方程式,程序代碼使 SPS_timer_register 值等於 40000。那麼,定時器每計時到 40000,便產生一次“步進”脈衝。這會產生每秒 200 脈衝的定時器型輸出以及 200SPS 的傳動軸旋轉。

這種事件每次發生時,都會產生一次中斷,並且定時器被清空。“步進”輸入上升沿計時對於微步進驅動器精確度至關重要,但隻要其在下一個“步進”上升沿之前,下降沿幾乎隨時會出現。

定義加速度曲線需要兩個參數:(1)SPS 值變化頻率;(2)SPS 值變化程度。加速度曲線與這兩個參數成正比;也就是說,SPS 值變化越頻繁,其值也越大,而加速度曲線也會越大起大落。加速度定時器同時控製這兩個參數:定時器函數起作用的次數與 SPS 值每秒的變化次數相同,另外,定時器的中斷服務程序 (ISR) 通過一個預先確定的因數定期增加當前SPS,從而確定新的速度。

使用每秒每秒步進 (SPSPS),或者當前 SPS 速率改變的每秒次數,來測定加速速率。如果通過增加 1 來改變 SPS 值,則每次加速速率改變都必須調用(觸發)加速度定時器的 ISR。例如,加速速率為 1000 SPSPS 時,馬達速度以 200SPS 開始,並周期性增加 1,直至其達到 1200SPS。那麼,加速度定時器的 ISR 需要調用 1000 次。

另外一種方法是,加速度定時器調用頻率減半,然後 SPS 周期性增加 2。相比前一個例子,加速度定時器的 ISR 僅調用了 500 次,但馬達仍然以 200SPS 啟動,並在 1 秒內達到 1200SPS。兩者的差別是更實時的可用性,但代價是分辨率下降。換句話說,為了達到 999 SPSPS 的精確加速速率,必須使用第一種方法。

第1頁  第2頁  第3頁  

http://www.autooo.net/autooo/yundongkongzhi/jishu/2012-09-27/102050.html