摘 要:小激光器實驗系統(tǒng)有多臺混合式步進電機和反應(yīng)式步進電機需要控制,無論是靶丸的空間位置調(diào)節(jié),還是光路中波片的調(diào)節(jié)都離不開步進電機的精確控制。通過 PCL839運動控制卡以及自行研制的電機控制切換器和控制軟件,不僅能實現(xiàn)步進電機的精確運動控制,還能滿足靶場的特殊控制要求,實現(xiàn)實時在線控制。
關(guān)鍵詞:小激光器;步進電機;運動控制
Abstract:Small laser experiment system is made of many stepping motors.Wheher adjusting space position of target bolus,or glass patch in the ray road,is impossible without accurate controling stepping motor.By PCL839 control and motor control switch developed ourself, accurate and real-time control of stepping motor can be implemented.
Keywords: small laser; stepping motor; athletics control
1 引言
小激光器實驗系統(tǒng)需要控制的設(shè)備有:一臺同步系統(tǒng)、兩臺300J電源、4臺20KJ電源、1個二極管電源、一套液晶光閥及三路步進電機控制;在靶場中有4路CCD圖象采集、19路步進電機控制、真空度顯示等。根據(jù)用戶需求,小激光器計算機控制系統(tǒng)分為器件控制系統(tǒng)和靶場控制系統(tǒng)。光路準直、光斑圖象移動、鏡片轉(zhuǎn)動等操作都離不開步進電機的轉(zhuǎn)動,而如何對步進電機實現(xiàn)高精確的定位控制,是靶場控制系統(tǒng)的難點。采用工控機、PCL839運動控制卡與控制切換器等相結(jié)合組成的控制系統(tǒng),不僅能滿足靶場對電機轉(zhuǎn)動的高精度要求,還能實現(xiàn)實時在線控制。
2 控制系統(tǒng)結(jié)構(gòu)及功能
靶場控制系統(tǒng)實現(xiàn)對真空靶室真空抽取、靶丸的移動的控制,并實現(xiàn)光路的調(diào)整。靶室內(nèi)有4臺混合式電機,完成靶丸的移動操作。光路上有15臺反應(yīng)式電機,實現(xiàn)激光光束的傳輸。
圖1 靶場控制系統(tǒng)結(jié)構(gòu)圖
靶場控制計算機通過PCL839運動控制卡將控制信號分解,傳輸給電機控制切換器(自行研制),電機控制切換器細分控制信號(地址信號和脈沖數(shù)),然后將電平信號以及相應(yīng)的脈沖數(shù)送到目的電機,以驅(qū)動電機。
3 PCL839卡
PCL839卡是研華公司提供的步進電機控制卡,能提供精確的控制脈沖,滿足對步進電機的高精度和實時控制。
該卡主要有以下性能特點:
能同時獨立對三軸步進電機進行控制,提供控制每軸的步進脈沖和轉(zhuǎn)向信號;
電機控制信號輸出與開關(guān)信號輸入全部采用光電隔離;
提供16路輸入輸出TTL通道;全部功能與運動控制可由軟件實現(xiàn);
中斷輸入可由跳接插頭選擇。
4 步進電機驅(qū)動設(shè)計
4.1物理結(jié)構(gòu)
電機驅(qū)動器硬件信號邏輯如下:
最多30個電機復用驅(qū)動通道1,包括:PULSE, DIR, EL+, EL-, ORG, FREE。
4.2 驅(qū)動控制軟件設(shè)計
電機對象類之間的關(guān)系如圖2。MotionController:對PCL839卡封裝;StepMotor:同MotionController是多對一的Client/Service關(guān)系。MotionController
提供服務(wù)隊列,緩存StepMotor提交的命令申請;命令完成或報警發(fā)生時,MotionController調(diào)用StepMotor提供的報警方法。通過這種方式,StepMotor可以實現(xiàn)異步的服務(wù)請求。PCL839Service:StepMotor提交的命令申請被封裝為 PCL839Service。
圖2 電機對象類調(diào)用關(guān)系
以下是3個重要類對象的設(shè)計:
?。?)PCL839Service。
PCL839Service表示一個電機請求命令。StepMotor產(chǎn)生該對象實例,在MotionController中保存,當任務(wù)完成后,StepMotor負責清除。
在MotionController中,使用STL deque保存PCL839Service。
?。?)MotionController。
MotionController有以下運行參數(shù):
提供以下報警:
l Enabled返回false;表示設(shè)備可能故障;
l bool返回值false; 表示設(shè)備可能故障;
l Busy返回true; 表示電機在運行。
MotionController沒有控制參數(shù)。MotionController沒有實驗數(shù)據(jù)。
MoveAsStep()的處理流程:
1. StepMotor發(fā)出MoveAsStep請求,
2. PCL839將請求排入隊列;
3. PCL839開始處理該請求,首先調(diào)用StepMotor.SetReady();
4. StepMotor.SetReady先設(shè)置運轉(zhuǎn)參數(shù),令電機Online, 再令電機開始運轉(zhuǎn);
5. PCL839發(fā)現(xiàn)電機停轉(zhuǎn)后,令電機Offline, 再調(diào)用StepMotor.StepOver();
6. PCL839從請求隊列中刪除該請求。
Hold()的處理流程:
1. StepMotor發(fā)出Hold請求,
2. PCL839將請求排入隊列;
3. PCL839開始處理該請求,首先調(diào)用StepMotor.SetReady();
4. StepMotor.SetReady先設(shè)置運轉(zhuǎn)參數(shù),令電機Online;
5. StepMotor發(fā)出Release()后,PCL839令電機Offline;
6. PCL839從請求隊列中刪除該請求。
?。?)class StepMotor
異步命令將產(chǎn)生PCL839Service, 交由PCL839排隊處理。如果完成PCL839將調(diào)用StepMotor的事件處理函數(shù)。
5 系統(tǒng)軟件設(shè)計
軟件操作的簡易可靠、界面的美觀是軟件設(shè)計的基本原則。步進電機控制系統(tǒng)分為電機參數(shù)設(shè)置、電機選擇、移動步數(shù)設(shè)置、前進/后退/停止四個步驟,為實現(xiàn)控制操作的直觀便捷,將整個靶場電機排布圖提供給用戶,用戶操作時直接點擊需控制的電機,使得用戶操作更加直觀便捷,圖3為控制操作界面。
圖3 步進電機控制系統(tǒng)軟件
步進電機在剛開始轉(zhuǎn)動時,轉(zhuǎn)動速度較慢,經(jīng)過幾個時間脈沖才能達到正常速度,因此要控制電機的轉(zhuǎn)動速度,必須設(shè)置兩個速度值:最低FL和最高FH。
工程運用中,無論是靶丸的空間位置調(diào)節(jié),還是光路的調(diào)節(jié),都應(yīng)該將步進電機當前轉(zhuǎn)動步數(shù)(剩余步數(shù))實時地反饋給用戶,便于用戶隨時都可以根據(jù)靶丸和光路的情況對電機進行調(diào)節(jié)操作(前進/后退/停止)。研華PCL839步進電機驅(qū)動應(yīng)用程序提供電機剩余脈沖數(shù)(步數(shù))的查詢接口,但經(jīng)過測試發(fā)現(xiàn)反饋數(shù)值誤差較大,通過多次實驗,最終將類MotionController的狀態(tài)反饋函數(shù)做了如下修改,主要代碼:
unsigned int r0;
int status = Out_byte(0, 0x80);
r0 = In_byte(1) & 0xFF;
r0 = (In_byte(2) & 0xFF) * 256 + r0;
r0 = (In_byte(3) & 0x3) * 65536 + r0;
6 結(jié)論
小激光器實驗系統(tǒng)有多臺不同種類的步進電機需要控制。由工控機、PCL839運動控制卡以及自行研制的控制切換器相結(jié)合組成了硬件控制系統(tǒng),針對小激光器實驗系統(tǒng)的具體要求,研制了特殊功能的控制軟件,不僅能實現(xiàn)各種高精度定位、限位、自動軌跡等運動控制,還能滿足靶場對步進電機的特殊控制要求,實現(xiàn)實時在線控制。#p#分頁標題#e#
參考文獻(References):
[1] Taksshi Kenjo and Akira Sugawara, “Stepping Motors and Their Microprocessor Controls”, Second Edition, Oxford University Press, 1994
[2] F. Betin, M. Deloizy, and C. Goeldel, “Closed loop control of stepping motor drive: Comparison between PID control, self tuning regulation and fuzzy logic control,” Eur. Power Electron. J., vol. 8, no. 1–2, pp.33–39, June 1999.
[3]胡金明,侯石柱等.電磁調(diào)速電機控制系統(tǒng)的優(yōu)化及維護應(yīng)用.微計算機信息,2002(6):41~43.
[4]劉少克,袁海洲,陸勝旺.步進電動機驅(qū)動的計算機控制方法[J].電氣傳動自動化,2000(4):40-42.
[5]L. J. Lagin et al., “The Overview of the National Ignition Facility Distributed Computer Control System”, ICALEPCS 2001.
[6]P. VanArsdall B. Reed, R. Bettenhausen J. Spann, F. Holloway J. Wiedwald, M. Miller, “INTEGRATED COMPUTER CONTROL SYSTEM”, UCRL-LR-105821-97-3.
[7] S.M. Yang and E.L. Kuo. “Damping conml of two-phase hybrid stepping motors”, IEEE Trammtiom on Power Electronics, Vol. 18, No. 3, May 2003.
轉(zhuǎn)載請注明出處。