近年來(lái),微機(jī)得到了廣泛的應(yīng)用,從自動(dòng)控制、數(shù)值計(jì)算到信號(hào)處理各個(gè)領(lǐng)域,微機(jī)都發(fā)揮了積極的作用。對(duì)于老設(shè)備的改裝控制、智能儀表和過(guò)程控制,都采用微機(jī)作為智能部件,用步進(jìn)電動(dòng)機(jī)作轉(zhuǎn)換媒介,將微機(jī)的電信號(hào)轉(zhuǎn)換為機(jī)械動(dòng)作,從而控制執(zhí)行機(jī)構(gòu)的移動(dòng)方向、移動(dòng)速度和移動(dòng)距離。本文以五相步進(jìn)電動(dòng)機(jī)(150BF5)為例,介紹用軟件來(lái)代替以往的硬件邏輯,設(shè)計(jì)一實(shí)用的步進(jìn)電動(dòng)機(jī)驅(qū)動(dòng)程序。該程序已用于C620-1B普通車床的改造中。
步進(jìn)電動(dòng)機(jī)是一種將脈沖電信號(hào)轉(zhuǎn)換成角位移或直線位移的精密執(zhí)行和驅(qū)動(dòng)元件。在儀表等自動(dòng)化裝置和工業(yè)自動(dòng)控制系統(tǒng)中,步進(jìn)電動(dòng)機(jī)要工作在不同的速度場(chǎng)合。對(duì)于低速工作場(chǎng)合,則可以直接啟動(dòng),采用恒速工作方式設(shè)計(jì)軟件;當(dāng)步進(jìn)電動(dòng)機(jī)在高速場(chǎng)合下工作時(shí),就不能采用恒速工作方式,因?yàn)橛刹竭M(jìn)電動(dòng)機(jī)的短頻特性(圖1為150BF5步進(jìn)電動(dòng)機(jī)的實(shí)測(cè)曲線)可知,轉(zhuǎn)矩M是頻率的函數(shù)。1989年《微電機(jī)》第3期,張仲榮等載文“數(shù)控機(jī)床用步進(jìn)電動(dòng)機(jī)的合理升降頻特性,介紹五相步進(jìn)電動(dòng)機(jī)在低頻共振時(shí)的特點(diǎn)是其運(yùn)行矩頻特性均因存在低頻共振而出現(xiàn)下凹現(xiàn)象,所以,步進(jìn)電動(dòng)機(jī)直接啟動(dòng)的****頻率是一有限值。如果實(shí)際運(yùn)行的頻率大于這一有限值,步進(jìn)電動(dòng)機(jī)直接啟動(dòng)就會(huì)出現(xiàn)失步現(xiàn)象。因此,要使步進(jìn)電動(dòng)機(jī)在高速下運(yùn)行,必須以低速啟動(dòng),然后再慢慢加速到高速;同樣,步進(jìn)電動(dòng)機(jī)不能在高速運(yùn)行狀態(tài)下突然停止,否則,由于慣性作用而可能出現(xiàn)過(guò)沖現(xiàn)象,所以要以高速慢慢降到低速,最后才能可靠地停止。要滿足這兩種工作過(guò)程的要求,步進(jìn)電動(dòng)機(jī)就必須采用變速方式工作,即升降速處理方式,這也是提高步進(jìn)電動(dòng)機(jī)啟停頻率的關(guān)鍵。可見(jiàn),步進(jìn)電動(dòng)機(jī)驅(qū)動(dòng)程序應(yīng)解決脈沖分配、運(yùn)轉(zhuǎn)方向和步數(shù)(頻率)控制以及升降速處理等。
對(duì)于一臺(tái)五相步進(jìn)電動(dòng)機(jī)(或多臺(tái)),有五個(gè)通電繞組,需要微機(jī)的五個(gè)控制信號(hào),可采用微機(jī)(由北京工業(yè)大學(xué)電子廠生產(chǎn)的TPSTD系列模板:TP STD880IB280A多功能CPU板、TP STD 8601多功能I/O控制板及鍵盤(pán)、顯示板等組成)的并行PIO接口,它具有16條可編程的I/O線。通過(guò)編程可使PIO口接收或發(fā)送多種信息,將PIO口的A口(其口地址為78H)。設(shè)置為輸出工作方式,并用PAo~PA。五位來(lái)控制五相步進(jìn)電動(dòng)機(jī)的五個(gè)通電繞組。當(dāng)某一位為l時(shí),發(fā)出正脈沖使步進(jìn)電動(dòng)機(jī)的對(duì)應(yīng)相通電;當(dāng)某一位為0時(shí),使步進(jìn)電動(dòng)機(jī)的對(duì)應(yīng)相斷電,從而控制步進(jìn)電動(dòng)機(jī)轉(zhuǎn)動(dòng)。
對(duì)于五相(A、B、C、D、E)步進(jìn)電動(dòng)機(jī),其工作方式有多種,本文采用2- 3- 2-3工作方式,即五相十拍工作方式,其通過(guò)順序?yàn)?/DIV>
正轉(zhuǎn):AB- ABC-BC—BCD—CD-CDE—DE—DEA- EA-EAB—AB
反轉(zhuǎn):BA--BAE-AE—AED--ED—EDC—DC -DCB-CB一CBA-BA
采用工作狀態(tài)字來(lái)實(shí)現(xiàn)這一通電順序。如表1所示,并采用查表方法實(shí)現(xiàn)步進(jìn)電動(dòng)
機(jī)的脈沖分配,以提高運(yùn)行速度。其方法是:在微機(jī)存貯器內(nèi)開(kāi)辟一組單元(TA-BLE+O,TABLE+1,……),依次存放步進(jìn)電動(dòng)機(jī)的工作狀態(tài)字,用寄存器HL作為狀態(tài)字的地址指針。當(dāng)程序執(zhí)行時(shí),根據(jù)地址指針依次從內(nèi)存單元中取出狀態(tài)字送到輸出口(PIO A口),正轉(zhuǎn)時(shí),使指針HL逐次加1,反轉(zhuǎn)時(shí)使指針HL逐次減l,從而控制步進(jìn)電動(dòng)機(jī)正、反轉(zhuǎn)。
3.3步進(jìn)電動(dòng)機(jī)的速度控制
在實(shí)際應(yīng)用中,需要步進(jìn)電動(dòng)機(jī)能在名種頻率下工作,即對(duì)步進(jìn)電動(dòng)機(jī)進(jìn)行調(diào)速.可以將步進(jìn)電動(dòng)機(jī)的工作頻率分成不同的逼度檔,并用代碼為速度代碼表示,單位以步/s表示,本程序?qū)⑺俣攘頌?0個(gè)擋,各擋的運(yùn)行頻率見(jiàn)表2(按一等比級(jí)數(shù)分布)。
3.4程序設(shè)計(jì)
要使步進(jìn)電動(dòng)機(jī)正常運(yùn)轉(zhuǎn),提高其快速啟停頻率,應(yīng)使步進(jìn)電動(dòng)機(jī)在恒速與變速兩種方式相結(jié)合的情況下工作,這就要選擇一條比較合適的運(yùn)行規(guī)律曲線作為程序設(shè)計(jì)的基礎(chǔ)。
從步進(jìn)電動(dòng)機(jī)的矩頻特性出發(fā),根據(jù)轉(zhuǎn)矩隨頻率變化的情況來(lái)選擇一條運(yùn)行曲線。從圖1的矩頻特性分析,符合這種特性的升降曲線是采用變加速度,即指數(shù)型(f=foet/T運(yùn)行曲線(如圖2所示),在編程時(shí)將其離散化為一臺(tái)階曲線,近似于指數(shù)型。這種曲線比較符合步進(jìn)電動(dòng)機(jī)加減速過(guò)程的運(yùn)行規(guī)律,能充分地利用步進(jìn)電動(dòng)機(jī)的有效轉(zhuǎn)矩,快速響應(yīng)性好,縮短了升降速的時(shí)間,并可防止失步和過(guò)沖現(xiàn)象。它表明步進(jìn)電動(dòng)機(jī)以比較低的頻率fo緩慢地加速到穩(wěn)定運(yùn)行頻率f1(即實(shí)際工作所要達(dá)到的頻率)。步進(jìn)電動(dòng)機(jī)以f1穩(wěn)定運(yùn)行所需要的大部分時(shí)間(以步數(shù)多少來(lái)衡量)后。再?gòu)霓k頻率緩慢地降到fo,以f0運(yùn)行一小段時(shí)間走完所需的總行程后再停止。
3.4.1恒速運(yùn)行
對(duì)于低速工作情況下(f1o)可直接啟動(dòng),一般fo=1000步/s左右,對(duì)不同的步進(jìn)電動(dòng)機(jī),fo可進(jìn)行調(diào)整(進(jìn)行實(shí)測(cè)求出)。這樣對(duì)于前面21擋(01—21)速度就不必采用升降速處理,麗是直接以五啟動(dòng)恒速運(yùn)行所需要的總行程;對(duì)于后9擋(22~30)如不考慮升降速部分,則是以fo恒速運(yùn)行。在這兩種情況下,要達(dá)到每擋所規(guī)定的恒速運(yùn)行頻率,就要采用延時(shí)方式,可采用Z80 CTC中斷方式和非中斷軟件方式。本文采用后者,并利用查表技術(shù)達(dá)到各擋的速度。首先根據(jù)實(shí)際運(yùn)行頻率f1計(jì)算出所要的延時(shí)時(shí)間(即在該擋下每走一步所需的時(shí)間),本程序采用調(diào)用延時(shí)子程序的方法達(dá)到這一目的,這時(shí)將延時(shí)時(shí)間折算為時(shí)間常數(shù)TD(共對(duì)應(yīng)關(guān)系如表3所示,工作主頻為4MHz時(shí))。
再將各擋的時(shí)間常數(shù)TD存放于以TIME為首地址的表中,每擋時(shí)間常數(shù)占兩個(gè)存貯單元(低字節(jié)在前,高字節(jié)在后),具體存放順序見(jiàn)圖3a所示。程序執(zhí)行時(shí),根據(jù)首地址和速度代碼值通過(guò)變址寄存器IX: IX-TIME-2+速度代碼值×2去查找相應(yīng)的時(shí)間常數(shù)TD,并送寄存器HL,經(jīng)延時(shí)就可獲得所需要的速度。
3.4.2變速運(yùn)行(加/減速過(guò)程)
變速運(yùn)行(對(duì)后9擋的速度)過(guò)程就是圖2中tl—t2加速過(guò)程和t3—t 4減速過(guò)程。為實(shí)現(xiàn)這一過(guò)程,根據(jù)指數(shù)型公式采用時(shí)間離散的辦法,使步進(jìn)電動(dòng)機(jī)每走一步按一等級(jí)加速、減速。其原理是通過(guò)改變延時(shí)時(shí)間實(shí)現(xiàn)速度的改變。即在加速階段(tl—t2),步進(jìn)電動(dòng)機(jī)從f0開(kāi)始每走一步,延時(shí)時(shí)間T0遞減一常量,實(shí)現(xiàn)加速上升,當(dāng)延時(shí)時(shí)間遞減到T1(即增減s次)時(shí)就加速到了頻率,這通過(guò)數(shù)列公式可證明;而減速時(shí),步進(jìn)電動(dòng)機(jī)以f1開(kāi)始每走一步,延時(shí)時(shí)間丁,遞增一常量,實(shí)現(xiàn)減速下降,當(dāng)延時(shí)時(shí)間遞增到丁。時(shí)就降到了fo頻率。按這一原理進(jìn)行程序設(shè)計(jì),對(duì)一些常數(shù)進(jìn)行調(diào)整,通過(guò)回歸分析,可證明其升降曲線為前面所選的指數(shù)型運(yùn)行曲線。下面升算幾個(gè)編程時(shí)用的幾個(gè)參數(shù)。
基本延時(shí)時(shí)間TB=0.05 (ms)
啟動(dòng)頻率為f0時(shí)T0=1/f0
實(shí)際運(yùn)行頻率為f1時(shí)T1=1/f1
啟動(dòng)(加速時(shí))延時(shí)倍數(shù)N1=T0/TB
終止(減速時(shí))延時(shí)倍數(shù)N2=T1/TB
遞增(或遞減)次數(shù)S=N1-N2+1
根據(jù)上述定義可計(jì)算出升降速參數(shù)如表4所示。
注:Nl、Nz.S均為十六進(jìn)制
按上述原理,將表珥的參數(shù)制成表格存放于以SJCSB為首地址的內(nèi)存中,并按圖3b的順序存放。當(dāng)要進(jìn)行升降速處理時(shí),程序?qū)⒏鶕?jù)速度代碼及首地址SJCSI自動(dòng)去查找各擋的有關(guān)參數(shù),從而實(shí)現(xiàn)升降速處理。獲得升降速處理參數(shù)的方法是,在調(diào)用步進(jìn)電動(dòng)機(jī)驅(qū)動(dòng)程序的各功能程序中,通過(guò)計(jì)算公式:SJCSB - 04H十偏移量偏移量=(速度代碼- 15H)×4),得到對(duì)應(yīng)速度擋的升降速處理參數(shù)的首地址,并送IX寄存器作為地址指針,再將其參數(shù)(N1、N2、S)取出暫存于(N1DY)、(N2DY)、(S1DY)、(S2DY)四個(gè)存貯單元中(圖4為某一功能程序的相步進(jìn)電動(dòng)機(jī)的微機(jī)控制圖),以便在步進(jìn)電動(dòng)機(jī)驅(qū)動(dòng)程序中進(jìn)行調(diào)用。
根據(jù)所述的原理和方法,整個(gè)驅(qū)動(dòng)程序(INTP)分成恒速運(yùn)行與升降速處理兩大部分(圖略)。在升降速處理部分又分為五個(gè)運(yùn)行階段,用存放在(YXDM)單元中的控制字來(lái)劃分,01H表示以f0啟動(dòng)恒速運(yùn)行階段;02H表示加速階段;03H表示以f1恒速穩(wěn)定運(yùn)行階段;04H表示降速階段;05H表示下降后以廠。恒速運(yùn)行階段。驅(qū)動(dòng)程序INTP通過(guò)很多存貯單元記憶著各種標(biāo)志,為運(yùn)行提供判斷條件。
FLV系列微電機(jī)
“日本伺服”公司開(kāi)發(fā)的FLV系列電機(jī),可實(shí)現(xiàn)高精度數(shù)控,使用方便,加減速時(shí)速度平穩(wěn),具有緩沖功能;變速范圍25~3 175r/min,利用機(jī)內(nèi)微電腦可記憶7種速度,全速范圍內(nèi)的速度一轉(zhuǎn)矩特性穩(wěn)定。 (劉利編譯自日刊《機(jī)械設(shè)計(jì)》V01.35,NO1,1991)
FICS系列控制器
日本達(dá)伊那克斯開(kāi)發(fā)的FICS-98/2,98/3型控制單元,采用NEC PC9800,控制直流伺服電機(jī)、交流伺服電機(jī)、脈沖電機(jī)等實(shí)現(xiàn)超精密、超高速定位,可進(jìn)行2軸、3軸控制;既可進(jìn)行2軸、3軸同步控制,亦可各軸獨(dú)立控制。
(劉利編譯自日刊《機(jī)械設(shè)計(jì)》V01.35,No.4,1991)