基于復雜可編程邏輯器件的多步進電機分時控制
石科峰,何俊華
(中國科學院西安光學精密機械研究所,陜西西安710119)
摘要:根據多I/0口的特點,設計,在運動控制卡的控制F基于復雜可編程邏輯器件(CPLD)的多步進電機控制。以運動控制卡系統為上位機,通過對CPLD編程進行電機的分時控制。由于運動控制卡的輸入、輸出均采用光耦隔離,因此抗干擾能力強、脈沖輸出頻率誤差率低;同時,CPLD具有高速性能,可達到列多臺步進電機的速度及位置的精確控制。
關鍵詞:運動控制卡;步進電機;復雜可編程邏輯控制器件
中圖分類號:TM 383 6文獻標志碼:A文章編號:16734540(2010)064)0354)3l
0 引言
步進電機在工業、航天等領域的應用范圍越來越廣,不同的應用要求和環境對電機的控制也提出了不同的設計方法。比較常見的針對實現多步進電機的控制有兩種:(1)完全基于運動控制卡,該方法設計簡單,但需要多個運動控制卡,在硬件的連接上也比較復雜;(2)通過運動控制卡+繼電器,對多電機的控制需要多個繼電器占用空間且浪費成本。本文介紹的系統采用運動控制卡作為上位機,對電機進行分組選擇,復雜可編程邏輯器件(Complex Programmable Logic Device,CPLD)作為下位機控制電機的通斷,大大簡化,電路,并節約了成本。
1 系統總體結構
該系統由運動控制卡模塊、CPLD電路、4個組件控制模塊(每組件8臺,共32臺電機)等組成。各組件控制模塊相互獨立,分別用于控制各組件的電機運動?刂撇糠植捎蒙钲诒姙閿悼丶夹g有限公司的ADT8940運動控制卡和Xilinx公司的XC9536CPLD,由于要控制32臺電機,為了減少擴展I/O口的設計,系統采用CPLD取代傳統的單片機[1]。運動控制卡通過PCI總線與計算機通信,其兩個開關量的輸出信號作為CPLD的輸_八信號,進行電機的分組選擇,CPLD的輸出信號通過模擬開關74HC4052使被選中組的電機導通。系統總體結構如圖1所示。
2系統的硬件設計
2.1運動控制卡模塊
運動控制卡完成電機運動控制的所有細節,包括脈沖和方向信號的輸出、加減速的處理、原點、限位及電機的分組選擇信號等。運動控制卡根據Pc機的實時控制指令向步進電機驅動器發出脈沖、方向等控制信號,通過相應的步進電機驅動器驅動電機運行。系統采用的ADT8940有如下特點[2]:(1)基于PCI總線的高性能伺服/步進
控制卡,支持即插即用。(2)脈沖輸出方式可用單脈沖(脈沖+方向)或雙脈沖(脈沖+脈沖)方式。該系統采用單脈沖方式,****脈沖頻率2 MHz,采用先進技術,保證在輸出頻率較高時,頻率誤差小于0.1%。(3)速度控制可用定速和梯形加減速。,(4)位置管理采用兩個加/減計數器。一個用于內部管理驅動脈沖輸出的邏輯位置計數器;一個用于接收外部的輸入,輸八信號是A/B相輸入的編碼器或光柵尺,作為實際位置計數器。(5)汁數器位數高達32位,****范圍為一2 147 483 648~+2 147 483 647。(6)所有入、輸出均采用光耦隔離,抗干擾性強。運動控制R模塊的關鍵在于軟件設計,主要是根據Pc機的實時指令,由兩個開關輸出量0uL、OuT,作為cPLD的輸入信號進行電機分組選擇,脈沖和方向信號分別接到8塊模擬開關74Hc4052的16個公共端,由分組信號選通后接人電機。由于ADT8940是四軸控制卡,而系統每個組件有8臺電機,岡此需要2張運動控制卡,如圖2所示。
2.2 CPLD電路
整個系統有四臺組件,但要求同一時間只有一臺組件在工作。由于是分時工作的,因此可以通過cPLD控制電路來選擇四個中的一個組件,如果需要調整其他組件,可以再次進行選擇。系統采用xilinx公司的xc9536cPLD,屬x00500系列器件,是一款高性能、有特點的可編程邏輯器件。從結構上看,其包含三個單元:宏單元、可編程I/O單元和可編程的內部連線。其主要特點如下:(1)高性能。在所有可編程引腳之間pin—pin延時5 ns,系統的時鐘速度可達到i00 MHz。(2)容量范圍大。容量范圍為36個宏單元,可用系統門為800個。(3)5 V在系統編程,可以編程lO000次。(4)具有強大的強腳鎖定能力。(5)每個宏單元都有可編程低功耗模式。(6)沒有用的引腳有編程接地能力。
對于cPLD電路,運動控制卡的兩個開關量輸出信號作為cPLD的 |