摘 要:敘述了基于PC/104和步進電機的三軸轉臺控制器的設計和實現。該控制器采用PC/104作為中央處理器,系統兼容性好、擴展能力強、軟件開發周期短;用48路強驅動數字輸出板(HSM-3221/3222)為I/O板設計接口電路,大多數邏輯均在PC/104內實現,可靠性高、抗干擾能力強;對步進電機的控制主要采用軟件控制的方式,控制簡單方便,節省資源。
關鍵詞:步進電機; PC/104; 轉臺控制器
1 前言
步進電機是機電設備中廣泛使用的一種電機,以控制、驅動裝置構成的步進電機伺服系統在經濟型數控機床、機器人、工業過程控制及儀器儀表等領域得到了廣泛的應用。過去由純電路設計的步進電機控制和驅動電路,往往電路結構復雜,使用元器件多而成本高且通用性差。如果采用微型計算技術,以及軟件編程的方法,將會避免復雜電路的設計,降低元器件的成本,使步進電機控制更具有通用性和靈活性。
我們本次設計的控制器是以PC/104作為步進電機控制的一套系統,從而實現對三軸轉臺的轉向、轉速及轉角的有效控制。因此根據實際應用的情況,我們將主要精力放在控制軟件的設計上。
2 系統硬件實現
嵌入式計算機PC/104是近年來發展起來的一種新型計算機,由于使用方便,在各種控制系統中得到越來越多的應用。它將一臺計算機集成為一塊體積很小的線路 板模塊,包括CPU、內存、兩個RS-232串口,1個并口104總線;支持CRT/LCD顯示,以實時顯示系統運行狀態;具有硬盤及軟驅接口;帶一定容量的Flash電子盤,存儲控制軟件及相關數據;可方便地進行高級語言編程由于高度集成化,大大簡化了控制系統的硬件設計,提高了可靠性;裝備了操作系統,方便了軟件開發;處理速度快,控制系統的實時性明顯優于傳統的微處理器;另外可根據系統需要,方便地擴展不同的接口板如A/D、D/A、I/O、Timer等,具有良好的擴展性。系統采用PC/104,電路簡單可靠,結構緊湊。對于不同型號的步進電機的控制,不需改變硬件電路,通過修改軟件,即能實現多種控制,靈活方便,通用性強,成本低,具有廣闊的應用領域。
在接口電路中,我們采用48路強驅動數字輸出板 (HSM-3221/3222)作為I/O電路。HSM-3221/3222板是基于PC/104總線的48路強驅動數字輸出板。其輸出的最大電流達250mA。該48路數字I/O可分成兩組24路數字I/O,每組又分成三個8位接口。該板的核心芯片是82C55A。HSM-3222與HSM-3221不同之處在于其輸出端接有上拉電阻,電阻可根據實際需要選擇(如5.6K、10K等)。其軟件開發方式靈活方便,系統修改方便快捷,從而可以降低設計風險。
本控制器是通過開環實現的,因此系統的硬件比較簡單,其總體結構如圖1所示。整個系統由PC/104、顯示器、鍵盤、HSM-3221/3222以及步進電機及其驅動器組成。
[align=center]

圖1 系統總體結構圖[/align]
微機通過PC/104標準接口和接口電路連接,接口板由HSM-3221/3222和必要的外圍電路組成。它接受CPU發送的動作指令,并將這些指令轉換成對應的脈沖、方向信號,通過步進電機驅動器指揮步進電機動作,從而完成帶動三軸轉臺轉動所要求的角度的任務。在此,計算機的操作系統我們選用DOS6.22,軟件開發環境使用TurboC2.0,它們占用的存儲空間都比較小。
在系統的控制上,采用主要由軟件來控制。在這種控制方式中,微機只需要向接口電路發送脈沖數、脈沖方向指令,并由接口電路轉發至步進電機的驅動器,來控制多臺步進電機的運動控制。從而實現對三軸轉臺三個軸運動的控制。
3 系統軟件實現
由于本控制器采用的是主要由軟件來控制的方式,因此這部分是此次設計的重點。進行軟件控制的方式好處是易于修改,出現問題后易于發現與解決。從而具有較高的應用前景。系統的軟件流程如圖2 所示。
整個程序主要由三個部分,即控制步進電機的單向轉動,往返轉動以及歸零來控制轉臺的工作。在初始化中,由鍵盤輸入轉臺需要轉動的角度和速度,然后仍由鍵盤控制轉臺的轉動方式。值得注意的是在往返運動中,“取原脈沖數*2”是因為往返運動指的是在初始化中所輸入的角度的正負值之間進行往返運動。
[align=center]

圖2 系統軟件流程圖[/align]
以下是在DOS環境下用TurboC2.0所編的源程序的主要部分:
以其中一軸為例,程序如下:
/*————————計算步進脈沖數:——————-*/
phy_num=(phy_yz-phy_dq)*113;
if(phy_num<0)
?。?
phy_right=0;
phy_num= - phy_num;
}
else phy_right=1;
/*————————-送脈沖數:————————-*/
for(;;)
?。?
if(phy_num>0)
{
if(phy_right==1) phy|=0x02;
else phy&=0xfd;
phy|=0x01;
outportb(base+0,phy);
?。?
delay(phy_sl);
if(phy_num>0)
?。?
phy&=0xfe;
outportb(base+0,phy);
phy_num——;
if(phy_right==1)
phy_dq=phy_dq+1.0/113;
else phy_dq=phy_dq-1.0/113;
?。?
/*——————————-按任意鍵暫?!?*/
if(kbhit()) break;
/*————————計數到零,停止工作————————-*/
if(phy_num==0)
break;
}
經過運行確定此控制器工作良好,達到設計要求。
4 結束語
本文介紹了一種采用PC/104和HSM-3221/3222為核心設計接口電路以及步進電機的三軸轉臺控制器,系統結構小巧緊湊,性能穩定可靠,控制簡單高效,人機界面友好。該控制器在三軸轉臺的運動控制系統中使用,效果良好。
參考文獻:
[1] 陳云,等?;贗SA總線的步進電機控制器軟硬件實現 組合機床與自動化加工技術 2002(7)。
[2] 霍迎輝,陳宇翔。步進電機的微機和單片機控制[J]。電機電器技術,2003(3)。
[3] 楊樹國,等。多臺步進電機的計算機控制及運動規劃[J]。哈爾濱理工大學學報,2000(3)。
[4] 侯書銘。HSM-3221/3222使用說明書。
基于PC/104和步進電機的三軸轉臺控制器設計資料下載