1、 引言
隨著現代科技的發展,數控技術的發展趨勢是開放式數控。開放式數控系統具有即插即用、可移植性、可擴展性和可互操作性特點。PC―NC是目前比較實用的一種開放式數控系統模式,PC―NC可歸納為3種:PC板插入到NC裝置中;軟件NC;NC板插入到PC中。其中,第一種方案保留原有的數控系統不變,插入的PC板主要承擔人一機界面、編程和通信等功能,用以提高系統開放性。此方案為目前主流數控系統廠商采用,可靠性較高但開放性有限。第二種方案的實時性對PC的CPU要求很高。第三種方案是在PC硬件平臺和操作系統的基礎上,采用自主開發或購買的運動控制卡來實現數控機床所需的全部功能。其中PC進行非實時處理,實時插補控制由運動控制卡來承擔,采用這種方案設計的數控系統開放性好,人一機界面靈活,非常適合非標準數控機床的開發。
文中給出了基于第三種方案的運動控制卡設計方案,采用CH365型PCI總線接口和MCX314As型運動控制器作為核心硬件,實現運動控制卡的4軸位置、速度、S曲線的加減速控制;直線、圓弧、位模式插補功能:自動原位搜尋功能以及4路信號輸入和8路通用輸出。與其他控制卡相比,其位模式插補功能、自動原位搜尋功能及電子齒輪設計最有特色。
2、 PCI總線接口電路
目前,計算機總線技術已由ISA總線發展到PCI總線,PCI的含義是周邊元件互連(peripheral component interconnect)。PCI局部總線是一種高性能的32位/64位地址/數據復用總線,總線時鐘頻率高達33MHz/66MHz,同步控制,猝發傳送時數據傳遞速率高達132MB/s(32位)或264MB/s(64位)。
實現PCI接口的方法有二種:使用復雜可編程邏輯器件或現場可編程門陣列(如CPLD/FPGA)和使用專用電路(如PCI9052和CH365等)。采用CPLD/FPGA實現PCI接口雖然靈活性高且性能較好,但其IP核的價格較高,而采用專用電路固然靈活性較差,但不影響其使用性能,尤其是可以利用器件生產廠商提供的配套工具,大大簡化設計和縮短開發周期,從而降低開發成本。
目前市場上有多種PCI接口電路.國外的如PLX公司的:PCI90系列,Altera公司的eplok,AMCC公司的S5933等,這些接口電路的性能好、適應對象較廣,但價格較昂貴。南京沁恒公司推出一款CH365型PCI接口電路,該器件性能完全滿足PCI接口規范,雖然頻率較低(16MHz),但可滿足設計需要且使用方便,價格低于國外產品,性價比高。經比較,本設計采用CH365作PCI接口器件。
CH365具有以下滿足本運動控制卡設計的性能特點:
實現基于32位PCI總線的從設備接口:
轉換為主動并行接口,8位數據,16位地址,I/O讀寫,存儲器讀和寫:
可以設定PCI板卡的設備標識(Vendol ID、De-vice ID,Class Code等);
支持以字節、字或雙字為單位對I/O端口或者存儲器進行讀寫:
非突發存取的實測速度高達7MB/s,讀寫脈沖寬度為30ns~240ns可選,滿足運動控制卡要求:
支持長度達240字節的I/O端口:
支持低電平有效的本地中斷請求,支持中斷共享:
內置4μs~1ms的硬件計時單元,用于軟件運行過程中的延時參考。
3、 運動控制器
目前傳統的運動控制器多采用嵌入式高性能單片機(如MC6833l微控制器)或DSP(TMS320xxx或DSP56xxx)來實現,系統集成度不夠高,電路復雜,且軟、硬件研制周期長,性能一致性較難保證。采用專用運動控制器可以提高系統集成度、插補速度及可靠性,同時簡化電路,縮短開發周期。
目前市場上有多種運動控制器,如美國的PMD公司,日本的NOVA、KY()PAL、SEEK公司的產品。本設計采用日本NOVA公司的MCX314As,它是MCX314的改進型,能夠同時控制4個伺服馬達或步進馬達,能以脈沖串形式輸出,對伺服馬達和步進馬達進行位置控制、插補驅動速度控制等。具有許多突出功能。
(1)以固定速度或加/減速度輸出指定數量的脈沖達到定量驅動;連續輸出驅動脈沖,直至高位的停止命令或外部的停止信號有效時停止實現連續驅動。用于快速歸零原點開關搜尋、掃描操作、控制馬達旋轉連續驅動速度等。
(2)設定各線段的加/減速曲線為定速、直線(梯形)加/減速或S曲線加/減速,使用S曲線加/減速可使運動更平滑,但降低了總速度。
(3)每個控制軸都有2個用于控制當前位置的32位可逆計數器,一個是在器件內部管理驅動脈沖輸出的邏輯位置計算器,另一個是管理來自外部編碼器脈沖的實際位置計數器;另外每個軸還有2個32位比較寄存器,用于比較邏輯位置計數器和實際位置計數器的位置大小,可作為軟件限位控制。
(4)可以任選2軸或3軸,進行直線插補、圓弧插補、位模式插補驅動。插補坐標范圍是從當前位置到一8,388,608~+8,388,608之間,在整個指定的直線插補范圍內的插補精度是+0.5LSB.插補速度范圍是1pps~4Mpps;位插補驅動可以產生任何插補曲線;同時可以進行直線插補→圓弧插補→直線插補的連續插補驅動,連續插補時最高達2Mpos。
(5)加/減速驅動的定速開始時、定速完畢時、驅動完畢時、位置計數器和比較器之間的大小關系變化時均會產生中斷。此外,連續插補、位模式插補發生下一個數據請求時位置限制也會產生中斷。
其他功能主要有外部信號控制的驅動操作、脈沖輸出/輸入方式的選擇、硬件限制信號輸入、緊急停止、每軸具有8個通用輸出信號和4個通用輸入信號、驅動狀態的輸出。
4、 控制卡系統設計
4.1控制卡硬件結構設計
控制卡硬件結構如圖1所示。PCI端的主要信號有地址、數據多路復用的輸入/輸出信號(AD[3l-O])、總線命令和字節使能多路復用信號(CBE[3-O])、奇偶校驗信號(PAR)、幀周期信號(FRAME)、發起設備準備好信號(IRDY)、目標設備準備好信號(TRDY)、初始化設備選擇信號(IDSEL)、設備選擇信號(I)EVSEL)、時鐘輸入信號(CLK)、復位信號(RST)和中斷信號(INTA)。這些信號完全符合:PCI規范的要求。
控制卡本地端使用的信號主要有雙向數據信號(D[7-0]),地址信號(A[14―0]),獨立輸出控制信號A15,I/O端口讀/寫控制信號(IOP_RD,IOP_WR)及中斷信號(INTA)。CH365在I/O讀寫控制時只用到8根地址線A[7―0]。在本系統中,低4位地址信號A[3―0]作為MCX314As中寄存器的地址信號直接連到MCX314As,高4位A[7―4]作為譯碼電路的輸入信號來產生MCX314As的片選信號,A[14―8]空閑不用,獨立輸出控制信號A15作為控制是否啟用電子齒輪電路的選通開關信號。
對于MCX314As,其RSq、端與CH365共用,該輸入把:MCX314As的RESETN置為低電平且大于4周期以上時,執行復位。CS端為MCX314As的片選信號,由CPLD中的譯碼電路模塊產生。H16L8端接地,設置電路處于8位數據總線訪問方式,這是因為CH365的數據傳輸是8位。也正因為這樣,本系統只用到MCX314As的16位數據總線D[15:0]中的D[7:0],而D[15:8]要經高電阻接至+5V。RD和WR分別為MCX314As的讀、寫信號線,當它們為低電平時,可以對MCX314As進行寄存器的讀寫操作。需要特別注意的是由于本系統采用8位數據傳輸,所以對于MCX314As中的16位寄存器分為高8位和低8位地址,讀寫操作必須訪問2次。A[3:0]用來選擇MCX314As的寄存器地址。BLTSYN連接MCX314As忙信號,處于低電平時不能執行寫入命令。MCX-314As只有一個中斷INTN,所有中斷源都需進行“或運算”后輸出到中斷信號端口。與其他運動控制卡相比,本運動控制卡的最大特色是具有位插補功能、自動原位搜尋功能及電子齒輪設計。
與直線、圓弧插補相比,位插補不是由幾個參數和指令來產生任一特定的運動控制(如直線、圓弧等),它需要由上位機提供所有的插補數據。而這種插補模式卻有很大的適應性,它對插補數據沒有任何形式的限制,這無疑為實現樣條插補、特殊函數曲線插補提供了方便,使得本運動控制卡在加工復雜輪廓曲線的工件時有很大的優越性,尤其適用于仿形機上的應用。由于位插補需要大量的插補數據,因此如何生成和管理這些數據就成為位插補模式應用的關鍵。一般來講,插補數據都是由上位機提前生成的,這樣,如何管理這些數據使其能及時寫入而讓插補連續進行就成為本設計系統的一個關鍵。針對這些數據“先進先出”的特點.本設計系統采用隊列管理機制,并結合MCX314As中的堆棧計數器(SC),利用中斷不斷地將插補數據寫入MCX314As中的4個(正反向各2個)數據緩沖區,從而保證了位插補的連續性。位插補的終止有2種方式:向正反方向各2個緩沖區都寫入l;上位機停止寫入數據。
自動原位搜尋功能有助于機床快速歸零到機床參考點。在此功能下,設計系統按選定軸負方向高速驅動至原點附近,然后以低速驅動直到原點信號或編碼器Z信號激活而停止。再以設定的驅動速度往正方向快速歸零到機床參考點。與其他控制系統的通過程序實現機制相比,該功能更為簡單方便。
在3軸極坐標螺旋仿形加工中,要求其中2軸(極徑、極角)按工件外形輪廓曲線聯動插補。第三軸按設定的螺距跟隨極角坐標軸進給。在一般三軸加工中,上位機發送來的加工數據都為3維增量坐標,這里的第三軸增量坐標數據由設定的螺距決定,而M(2X314As的速度是按合成速度來控制的,這樣就會出現下述情況:當粗加工螺距設定很大時。第三軸數據值就大,速度分量也很大,導致其它2軸速度分量大大降低,影響加工效率與質量。考慮到這種情況,本系統基于電子隨動原理設計了電子齒輪,1軸可以按設定的比率從動于其他3軸中的任意l軸(類似機械齒輪傳動),也可以解除這種從動關系的設定。在電子齒輪關系機制下,上述的3軸極坐標螺旋仿形加工就只需2軸數據,而第三軸按設定的傳動比率跟隨前者中的某一軸,從而理想地解決了這個難題。
為了提高反饋脈沖的分辨率,本設計系統還采用了4倍頻電路設計,對電動機的編碼反饋脈沖進行4倍頻處理。
為了提高板卡的集成度,本系統使用VHDL硬件描述語言在(2PLD(MAX7000)中實現系統所需的一些外圍電路。如地址譯碼(用于產生M(2X314As的片選信號)、4倍頻電路、電子齒輪電路、速度倍率手輪譯碼等,限于篇幅,不再介紹。
系統對電機的控制脈沖由MCX314As產生,并根據需要選擇是否采用電子齒輪傳動方式,然后經差分驅動輸出驅動器產生差分驅動輸出,既可以控制數字式交流伺服驅動器,也可以控制步進電機驅動器。電機編碼器反饋信號(A、B、Z)經過高速光電隔離后輸入CPLD,經過4倍頻后傳輸給MCX314As的實際位置寄存器,用于位置顯示和軟件限位。通用輸出信號經過74LS06型輸出緩沖器輸出。外部反饋脈沖(如超程限位信號、原位搜索信號等)及外部手動控制信號要經過光電隔離才能輸入MCX314As。
本系統采用MCX314As默認的16MHz頻率作為時鐘信號。該時鐘決定了每個軸的正/負方向的驅動脈沖時間周期。圖2示出MCX314As的時鐘電路。
4.2控制卡系統的軟件設計
控制卡系統的軟件設計主要是板卡驅動程序設計、CPLD硬件語言描述程序和MCX314As功能驅動函數設計。本系統的驅動程序主要是圍繞(2H365來實現該板卡與PC的接口功能,選用DriverStudio 2.6開發工具,快速有效地開發了在Windows環境下用戶級的WDM設備驅動程序,向該板卡的運用程序提供I/O基址、中斷號等。CPLD硬件語言描述程序是用VHDL編寫的,主要實現M(2X314As的片選信號、4倍頻電路、電子齒輪電路、速度倍率手輪譯碼等外圍電路功能。MCX314As的功能驅動函數設計是用于MCX314As的初始化、速度和加速度設置、直線插補、圓弧插補、歸零搜索(1IOME)、硬件限位、位插補、數字信號的輸入/輸出和中斷信號處理等功能函數設計。限于篇幅,這里只給出位插補的程序流程,如圖3所示。
5、 結束語
使用高集成度的MCX314As型運動控制器能實現4軸控制或3軸聯動的位置、速度、加速度控制,并能實現直線、圓弧、位3種模式的連續插補,具有接口簡單、易于編程、工作可靠的特點。采用CH365作為PCI―ISA的橋接口,大大簡化了PCI接口的設計。與其他以DSP或微控制器為控制核心的運動控制器相比,本設計雖然在功能多樣性和靈活性上不如后者,但具有可靠性高、實時性好、適合列表曲線仿型加工時犬數據量快速連續加工的特點。
責任編輯:gt
-
微控制器
+關注
關注
48文章
7562瀏覽量
151503 -
單片機
+關注
關注
6037文章
44562瀏覽量
635823 -
控制器
+關注
關注
112文章
16381瀏覽量
178293
發布評論請先 登錄
相關推薦
評論