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