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