摘 要:該三軸電機控制系統(tǒng)應用于眼底照相系統(tǒng),實現(xiàn)相機的準確移動與定位。系統(tǒng)采用STC89C58RD+芯片,并以RTX51TINY為操作系統(tǒng),結(jié)合上位機控制三軸電機的上下、左右、前后與加減速運動。上位機只需通過發(fā)送簡單的指令即可控制三軸電機的運動從而實現(xiàn)相機的三維運動,自動完成眼底照相過程。
關鍵詞:三軸;兩相步進電機;RTX51;TINY;串口
Three Dimension Stepper Motor Operating System
LIN Yu,TANG Yizhu
(Fuzhou University,F(xiàn)uzhou,350004,China
Abstract:This three dimension operating system is a part of the fundus photography system,the camera can move and localize accurently through it,which can move up and down,left and right,front and back by the host computer through easy control instruction,spped acceleration and deceleration.It is operated by STC89C58RD+ microcontroller based on RTX51[CD*4]TINY operating system.So it can realize three dimension motion of the camera,then completes the process of fundus photography.
eywords:three dimension;two phase stepper motor;RTX51 TINY;serial port
三軸步進電機系統(tǒng)在機器人、機床加工中心、全方位跟蹤等系統(tǒng)中都有廣泛的應用前景。傳統(tǒng)眼底照相系統(tǒng)主要
采用手動控制來確定相機位置,本系統(tǒng)可實現(xiàn)全自動瞳孔定位。主要介紹三軸步進電機系統(tǒng)的實現(xiàn)。
1 眼底照相系統(tǒng)
眼底照相系統(tǒng)主要由以下3個部分構(gòu)成:
(1 三個二相步進電機及相應控制器構(gòu)成三軸電機系統(tǒng);
(2 電機驅(qū)動器負責接收控制命令參數(shù)及發(fā)送脈沖給相應電機;
(3上位機由遙控面板或軟件實現(xiàn)。
其系統(tǒng)工作流程:由眼底照相系統(tǒng)軟件進行瞳孔自動定位和聚焦,調(diào)用“爬山算法”確定焦距及瞳孔位置, 再發(fā)送相應的控制指令給下位機,控制電機移動從而調(diào)整相機至置最佳位置,周而復始直至最佳位置。眼底照相系統(tǒng)流程圖見圖1。
2 系統(tǒng)硬件設計
2.1 三軸二相步進電機及驅(qū)動器
此系統(tǒng)采用的電機與驅(qū)動器均為金壇市三鑫電機有限公司產(chǎn)品:
二相步進電機型號:42BYGH107 步進電機是一種用電脈沖信號進行驅(qū)動控制,并將電脈沖信號轉(zhuǎn)換成相應的角位移或線位移的機電執(zhí)行元件。
二相混合式步進電機驅(qū)動器型號:SH-2024B 該型號驅(qū)動器具有工作電壓范圍寬、效率高,相電流、細分數(shù)可調(diào),自動半流的特點,相電流設定從0.5~2 A,細分數(shù) 設定有2,5,10,20,40共5檔,可滿足微步距驅(qū)動的要求。

2.2 控制板
控制板基于STC89C58RD+專用電機控制板,為本實驗室開發(fā),具有如下功能:
(1 五軸步進電機控制(15路數(shù)字信號輸出);
(2 16路開關量輸入,路開關量輸出,4路功率驅(qū)動輸出;
(3 128×64圖形液晶顯示、30個可編輯功能鍵、15個LED燈指示;
(4 全光電隔離、雙電源供電、高運行可靠性;
(5 高速CPU,ISP串口編程,可直接通過通信口修改軟件,無需拆下電路;
(6 一路RS 232通信接口,可與PC機[G!6]遠程通信,實現(xiàn)遠程監(jiān)控功能。
(7 可能過RS 232通信接口外接副機遙控板,減少控制板接線,提高可靠性。
控制器電路見圖2。
3 系統(tǒng)軟件設計
系統(tǒng)采用RTX51TINY操作系統(tǒng),共創(chuàng)建如下進程:初始化進程INIT,串口通信進程COM,電機轉(zhuǎn)動進程IOCIRCLE及串口中斷函數(shù)serial (。
各進程功能介紹下:
進程INIT():串口初始化函數(shù)serial(,各參數(shù)初始化,創(chuàng)建COM,IOCIRCLE進程,刪除自身。
串口初始化serial(:判斷串口得到的控制字是否有誤(采[H]用偶校驗),有錯直接返回,正確則喚醒進程COM(。
進程COM():判斷控制字類型,更改相應寄存器的值,并調(diào)用IOCIRCLE(進程。
進程IOCIRCLE():依據(jù)各寄存器值,控制電機的運動狀態(tài)。

流程圖見圖3,指令結(jié)構(gòu)見圖4。
4 結(jié) 語
將傳統(tǒng)的手控眼底照相系統(tǒng)改進為自動控制,實現(xiàn)了上位機系統(tǒng)的簡化,上位機只需要發(fā)送相應的控制命令即可實現(xiàn)對三軸步進電機的控制,此三軸步進電機系統(tǒng)很容易改進成多電機系統(tǒng)。
本系統(tǒng)的上位機實現(xiàn)遙控板控制與軟件控制,軟件控制若采用Java實現(xiàn)則可搭建B/S架構(gòu),實現(xiàn)遠程控制。

參 考 文 獻
[1]王曉明.電動機的單片機控制[M].北京:北京航空航天大學出版社,2002.
[2]李朝青.PC機與單片機DSP數(shù)據(jù)通信技術選編[M].北京:北京航空航天大學出版社,2003.
[3]朱東海,劉良平.Visual C++6 使用詳解[M].北京:機械工業(yè)出版社,1999.