雙極步進(jìn)馬達(dá)加速和減速過程應(yīng)用
在馬達(dá)啟動前不久,便進(jìn)行一次加速速率計算。負(fù)責(zé)該計算的軟件,確定加速度定時器的時間間隔和增量因數(shù)大小,然后對各變量進(jìn)行相應(yīng)的配置。同時使用這些變量,直到對 SPS 速率的修改足以達(dá)到目標(biāo)速度為止。一旦達(dá)到目標(biāo)速度,加速終止。
減速過程與加速過程基本一致,但增量因數(shù)為負(fù)而非正的情況除外。另外,必須規(guī)定一個馬達(dá)能夠安全停止的新目標(biāo)速度。
圖 3 顯示了一個加速/減速過程,其中,加速和減速速率對稱。也可以使用非對稱速率。
圖 3 加速/減速過程
位置控制
到目前為止,在速度控制環(huán)路中操作馬達(dá)看似十分簡單。馬達(dá)達(dá)到某個目標(biāo)速度,然后在某個時刻收到停止指令。但是,當(dāng)需要在某段預(yù)定時間內(nèi)執(zhí)行某個預(yù)定步進(jìn)數(shù)時,結(jié)果會怎樣呢?加速/減速過程變得比任何時候都要重要。在這種運(yùn)行控制拓?fù)浣Y(jié)構(gòu)中,所有計劃步進(jìn)都執(zhí)行完畢后馬達(dá)便停止,這一點(diǎn)至關(guān)重要。規(guī)定步進(jìn)數(shù)的變量被稱作 number_of_steps。
必須對馬達(dá)運(yùn)動情況編碼,以使馬達(dá)在規(guī)定時間停止,不用等待減速命令。實現(xiàn)這個目標(biāo)的一個方法是對一個名叫steps_to_stop的變量編程,使其小于number_of_steps。之后,軟件通過監(jiān)測steps_to_stop,確定需要開始減速的時機(jī)。
在達(dá)到目標(biāo)速度以前,加速會一直執(zhí)行。達(dá)到目標(biāo)速度后,在達(dá)到steps_to_stop計數(shù)(開始減速之時)以前,仍允許步進(jìn)馬達(dá)運(yùn)行。例如,1000步進(jìn)運(yùn)行時,steps_to_stop設(shè)置為800。因此,馬達(dá)通過一個加速過程啟動,持續(xù)運(yùn)行至步進(jìn)800,此時馬達(dá)開始減速,直到停止運(yùn)行。
根據(jù)所有系統(tǒng)變量的配置,我們需要研究下列5種情況(參見圖 4):
情況1:在馬達(dá)達(dá)到目標(biāo)速度以前所有步進(jìn)結(jié)束。
情況2:馬達(dá)達(dá)到目標(biāo)速度時所有步進(jìn)結(jié)束。
情況3:達(dá)到停止速度以前所有步進(jìn)結(jié)束。
情況4:達(dá)到停止速度時所有步進(jìn)結(jié)束。
情況5:達(dá)到停止速度后所有步進(jìn)結(jié)束。
圖 4 5 種加速/減速情況
恰好在達(dá)到停止速度時馬達(dá)停止(情況4)是一種理想情況。在達(dá)到停止速度前不久(情況3)或者以后(情況5)馬達(dá)停止是可以接受的,具體取決于出現(xiàn)這些情況時距離理想情況還差多少個步進(jìn)。例如,如果馬達(dá)轉(zhuǎn)動過快時所有步進(jìn)結(jié)束,則馬達(dá)傳動軸可能會因轉(zhuǎn)動慣量而失去位置。但是,如果在所有步進(jìn)執(zhí)行完以前達(dá)到停止速度,則執(zhí)行該次馬達(dá)運(yùn)動控制所需的總時間會過長。
情況1和2僅為說明需要,應(yīng)該不會出現(xiàn),因為設(shè)計人員應(yīng)始終確保steps_to_stop小于number_of_steps。了解所有可能出現(xiàn)的情況以后,設(shè)計人員可以簡單地對系統(tǒng)進(jìn)行微調(diào),以獲得最佳響應(yīng)。
只需少許微調(diào)的另一種方法是,將步進(jìn)總數(shù)分割成幾個百分?jǐn)?shù),分配給每個加速/減速過程特定區(qū)域。在這種算法實現(xiàn)中,可選擇步進(jìn)總數(shù)的20%用以對馬達(dá)加速,60%用以使馬達(dá)恒速運(yùn)行,其余20%用以對馬達(dá)減速(參見圖5)。如果number_of_steps為1000,則馬達(dá)以預(yù)設(shè)加速度加速200個步進(jìn),然后無論它達(dá)到何種步進(jìn)速率都停止加速。之后,以這種速率執(zhí)行600個步進(jìn),并且最后200個步進(jìn)執(zhí)行完全部減速過程。
圖 5 基于百分比的加速/減速過程
請注意,使用這種算法時,假設(shè)正確選擇百分比的情況下,步進(jìn)不可能在馬達(dá)運(yùn)動過程的錯誤部分耗盡。就圖5所示例子而言,由于加速和減速部分都很平衡,因此馬達(dá)最可能以相同速度開始和停止。這種方法的缺點(diǎn)是,很難保證達(dá)到目標(biāo)速度。如果目標(biāo)速度不那么重要,則可以使用這種算法來確保馬達(dá)始終在安全速度下停止。
如果速度達(dá)到對應(yīng)用來說過慢,使用這種算法加速馬達(dá)傳動軸的唯一方法是,提高加速速率,或者增加加速/減速區(qū)域中使用的步進(jìn)數(shù)百分比。但是,設(shè)計人員必須小心操作,不要讓馬達(dá)運(yùn)行速度違反馬達(dá)扭矩/速度曲線。
結(jié)論
雙極步進(jìn)馬達(dá)加速和減速,是所有步進(jìn)馬達(dá)應(yīng)用設(shè)計的關(guān)鍵部分。盡管在過去十年里,功率級控制已得到極大簡化,但是加速和減速過程應(yīng)用程序仍未從應(yīng)用處理器領(lǐng)域銷聲匿跡。由于各色步進(jìn)馬達(dá)解決方案的存在,能夠正確處理應(yīng)用步進(jìn)馬達(dá)運(yùn)動控制的一些算法,更加容易編碼和微調(diào)。通過正確地對馬達(dá)加速和減速,設(shè)計人員可以確保應(yīng)用高效運(yùn)行,并達(dá)到各種規(guī)范要求。
評論