喬 磊,楊召彬,王政皓,趙慶志,王宜龍
( 1.山東理工大學(xué) 機(jī)械工程學(xué)院,山東 淄博 255000;2.濟(jì)南交通技師學(xué)院,濟(jì)南 250200)
傳統(tǒng)的經(jīng)濟(jì)型數(shù)控機(jī)床[1]多采用步進(jìn)電機(jī)來構(gòu)成開環(huán)的伺服控制系統(tǒng)。在長(zhǎng)時(shí)間的生產(chǎn)加工中,數(shù)控加床往往會(huì)出現(xiàn)丟步、發(fā)熱嚴(yán)重、振動(dòng)以及噪音大等問題[2],這些問題增大了機(jī)床的系統(tǒng)誤差,嚴(yán)重影響了機(jī)床的加工精度[3],降低了機(jī)床的使用壽命。在高速、高精度的現(xiàn)代化加工[4]中,交流伺服電機(jī)憑借其優(yōu)勢(shì),克服了步進(jìn)電機(jī)的不足,得到了廣泛的的應(yīng)用[5]。雖然伺服電機(jī)的控制方案有很多,比如單片機(jī)系統(tǒng)、專業(yè)運(yùn)動(dòng)控制PLC、PC機(jī)和I/O卡,PC機(jī)和運(yùn)動(dòng)控制卡等[6],但是在現(xiàn)有的控制方案研究中對(duì)于如何具體的實(shí)現(xiàn)交流伺服電機(jī)的控制和信號(hào)的實(shí)時(shí)采集講解較為模糊。
針對(duì)上述情況,本文從理實(shí)一體化[7]的角度出發(fā),以PCI-1750數(shù)據(jù)采集卡為例,對(duì)交流伺服電機(jī)控制進(jìn)行應(yīng)用性研究,研制了一臺(tái)基于PCI-1750數(shù)據(jù)采集卡的交流伺服電機(jī)實(shí)驗(yàn)臺(tái),并開發(fā)了與之配套的交流伺服電機(jī)控制系統(tǒng)。對(duì)數(shù)據(jù)采集卡如何進(jìn)行交流伺服電機(jī)控制和各種信號(hào)的實(shí)時(shí)采集進(jìn)行了詳細(xì)說明,解決了應(yīng)用性研究中如何具體實(shí)現(xiàn)伺服電機(jī)的控制和信號(hào)的實(shí)時(shí)采集講解較為模糊的問題。
基于PC開放式數(shù)控系統(tǒng)[8]能夠充分的利用計(jì)算機(jī)的資源,可以運(yùn)用各種可視化語言編譯程序[8],充分保證系統(tǒng)性能,通用性強(qiáng),數(shù)控系統(tǒng)更加靈活。
數(shù)據(jù)采集卡功能強(qiáng)大,可靠性高,實(shí)時(shí)性好,具有多路隔離數(shù)字量輸入輸出通道,可以通過隔離數(shù)字量輸出通道發(fā)送數(shù)字量信號(hào)給交流伺服電機(jī)驅(qū)動(dòng)器,伺服電機(jī)驅(qū)動(dòng)器再將數(shù)字量轉(zhuǎn)變?yōu)樗欧姍C(jī)需要的模擬量,從而實(shí)現(xiàn)數(shù)據(jù)采集卡對(duì)交流伺服電機(jī)的控制。
基于PC的開放式數(shù)控系統(tǒng)類型有PC嵌入型CNC、NC嵌入型PC和全軟件型NC[9]。本控制系統(tǒng)采用NC嵌入型PC的方法,以PC機(jī)+PCI-1750數(shù)據(jù)采集卡為基礎(chǔ),在VC++6.0的軟件環(huán)境下開發(fā)該交流伺服電機(jī)的運(yùn)動(dòng)控制系統(tǒng),并研制交流伺服電機(jī)數(shù)控實(shí)驗(yàn)臺(tái)用以驗(yàn)證控制系統(tǒng)的穩(wěn)定性。具體的設(shè)計(jì)方案,如圖1所示。
圖1 交流伺服電機(jī)實(shí)驗(yàn)臺(tái)設(shè)計(jì)方案
根據(jù)實(shí)驗(yàn)臺(tái)的設(shè)計(jì)要求并結(jié)合實(shí)驗(yàn)室內(nèi)現(xiàn)有的條件,選用北京凱恩帝的80ST-M02430A交流伺服電機(jī)和SD300-30交流永磁同步伺服驅(qū)動(dòng)器。
PCI-1750數(shù)據(jù)采集卡是一款PCI總線的半長(zhǎng)卡[10]。PCI-1750帶有兩組ULN2803達(dá)林頓晶體管矩陣,每組ULN2803帶有8路NPN達(dá)林頓晶管,連接陣列適合邏輯電平數(shù)字電路和高電壓的場(chǎng)所。由于ULN2803的存在,PCI-1750數(shù)據(jù)采集卡能夠提供16路隔離數(shù)字量輸入通道、16路隔離輸出通道及一個(gè)帶輸入信號(hào)的隔離計(jì)數(shù)器/定時(shí)器[10],具體的針腳定義如圖2所示。
PCI-1750支持干接點(diǎn),且?guī)в?500VDC隔離保護(hù),在需要高電壓保護(hù)的工業(yè)場(chǎng)所內(nèi)應(yīng)用較為廣泛[10]。PCI-1750板卡的每個(gè)隔離數(shù)字量輸入輸出通道都能夠與計(jì)算機(jī)I/O端口的一個(gè)位互為對(duì)應(yīng),編程簡(jiǎn)單方便。
圖2 PCI-1750針腳定義
伺服電機(jī)需要通過相應(yīng)的驅(qū)動(dòng)器處理PCI-1750數(shù)據(jù)采集卡傳來的數(shù)字量信號(hào),伺服電機(jī)驅(qū)動(dòng)器將這些數(shù)字量信號(hào)處理后發(fā)給伺服電機(jī),從而實(shí)現(xiàn)PCI-1750數(shù)據(jù)采集卡對(duì)伺服電機(jī)的控制,因此,伺服電機(jī)與PCI -1750板卡的接口電路主要指板卡與伺服電機(jī)的驅(qū)動(dòng)器相連的接口電路。具體的接線,如圖3所示。
圖3 輸出信號(hào)接線圖
根據(jù)設(shè)計(jì)要求,該伺服電機(jī)控制系統(tǒng)需要實(shí)現(xiàn)對(duì)位置指令PULS、位置指令SIGN、伺服使能SVON、報(bào)警清除ACLR、位置偏置清零CLE和指令脈沖禁止INH等信號(hào)的控制。根據(jù)SD300驅(qū)動(dòng)器說明書提供的接線圖可知,PCI板卡將控制位置指令PULS和位置指令SIGN的數(shù)字量信號(hào)直接發(fā)給驅(qū)動(dòng)器(PCI板卡發(fā)出的是低電平,輸入進(jìn)驅(qū)動(dòng)器時(shí),與位置指令的負(fù)接口相連)。伺服電機(jī)控制系統(tǒng)通過控制相應(yīng)回路的通斷實(shí)現(xiàn)對(duì)伺服使能、報(bào)警清除、位置偏置清零、指令脈沖禁等信號(hào)的控制,在這個(gè)回路中,存在24V直流電源,因此考慮引入24V直流繼電器,通過PCI板卡控制直流繼電器的常開觸點(diǎn)的通斷來控制各信號(hào)。同時(shí)PCI-1750板卡在控制電機(jī)通電和斷電時(shí),也考慮采用24V直流繼電器,通過PCI-1750板卡控制直流繼電器常開或者常閉觸點(diǎn)的通斷,實(shí)現(xiàn)弱電對(duì)強(qiáng)電的控制,達(dá)到控制電機(jī)通斷電目的。
機(jī)床在運(yùn)行的過程中,各種限位開關(guān)信號(hào)的實(shí)時(shí)采集和反饋是數(shù)控系統(tǒng)的重要任務(wù),是不可或缺的重要功能模塊[11]。PCI板卡通過隔離數(shù)字量輸入通道可以檢測(cè)各種數(shù)字量輸入信號(hào),并且可以通過相應(yīng)的程序?qū)⑿盘?hào)反饋到PC機(jī)上,實(shí)現(xiàn)人機(jī)交互。
開關(guān)量數(shù)字信號(hào)讀入計(jì)算機(jī)的方法主要有直接短接法、分壓法以及光電隔離法等[12]。PCI-1750板卡提供了16路隔離量輸入通道 ,支持干接法和濕接法。濕接法是在IDI接口和IGND接口之間施加5~48V電壓,但如果接線不當(dāng)容易燒壞板卡;干接法是將板卡的IDI接口直接與IGND接口連接,接線簡(jiǎn)單,不會(huì)因?yàn)槭д`而燒壞板卡。綜合考慮,本實(shí)驗(yàn)臺(tái)采用干接法。
根據(jù)設(shè)計(jì)要求,伺服電機(jī)輸入到PCI-1750板卡的開關(guān)量數(shù)字信號(hào)主要有伺服使能、報(bào)警清除、CCW驅(qū)動(dòng)使能和CW驅(qū)動(dòng)使能。伺服使能和報(bào)警清除信號(hào)直接通過驅(qū)動(dòng)器提供的專門接口進(jìn)行檢測(cè),而對(duì)CCW驅(qū)動(dòng)使能和CW驅(qū)動(dòng)使能的檢測(cè),該實(shí)驗(yàn)臺(tái)設(shè)計(jì)時(shí)引入了行程開關(guān)。在行程開關(guān)動(dòng)作時(shí),隔離數(shù)字量輸入IDI接口和IGND 之間的通斷,會(huì)引起IDI接口的高低電平變化,PC機(jī)通過伺服電機(jī)控制系統(tǒng)的信息采集模塊讀取相應(yīng)IDI引腳的電位信息,并且顯示在用戶界面,操作者可以實(shí)時(shí)掌握各個(gè)信號(hào)的情況,發(fā)現(xiàn)信號(hào)異常后可以及時(shí)進(jìn)行相應(yīng)的調(diào)整。
該伺服電機(jī)控制系統(tǒng)實(shí)現(xiàn)了開放式、模塊化和集成化[13],具體的模塊結(jié)構(gòu)如圖4所示。
圖4 伺服電機(jī)控制系統(tǒng)軟件模塊圖
本伺服電機(jī)控制系統(tǒng)以VC++6.0作為開發(fā)平臺(tái),具體的開發(fā)步驟如下:
(1)安裝PCI-1750驅(qū)動(dòng)程序,并確保安裝完全;
(2)創(chuàng)建一個(gè)MFC工程,并將Include中頭文件Driver. h和靜態(tài)庫(kù)文件Adsapi32添加到工程到中;
(3)編寫程序
交流伺服電機(jī)控制系統(tǒng)的程序主要分為四部分:參數(shù)設(shè)置部分、電機(jī)控制部分、信息采集部分和反饋顯示部分。下面對(duì)本控制系統(tǒng)中的一些關(guān)鍵部分進(jìn)行原理說明。
對(duì)PCI-1750板卡的函數(shù)進(jìn)行處理。由于研華提供的PCI-1750數(shù)據(jù)采集卡所用的函數(shù)并沒有封裝好,調(diào)用比較麻煩,而在進(jìn)行控制系統(tǒng)開發(fā)時(shí),需要多次使用這些函數(shù),這樣在系統(tǒng)編程時(shí)容易造成混亂,因此本交流伺服電機(jī)控制系統(tǒng)開發(fā)時(shí),選擇將PCI-1750數(shù)據(jù)采集卡的函數(shù)定義成一個(gè)類,這樣在需要使用數(shù)據(jù)采集卡的函數(shù)時(shí),可以直接調(diào)用,比較方便,同時(shí)精簡(jiǎn)了程序。
多線程技術(shù)的應(yīng)用。在電機(jī)的運(yùn)行過程中,程序還要實(shí)時(shí)監(jiān)控伺服使能、CCW驅(qū)動(dòng)使能和CW驅(qū)動(dòng)使能等信號(hào),如果在主線程中運(yùn)行電機(jī)正反轉(zhuǎn)程序,會(huì)占用系統(tǒng)資源,可能會(huì)出現(xiàn)類似于“死機(jī)”的情況。因此,在編程的時(shí)候引入了多線程技術(shù)[14],多線程可以實(shí)現(xiàn)多任務(wù)的并行處理,允許一個(gè)復(fù)雜的程序同時(shí)執(zhí)行多個(gè)任務(wù),各線程相互獨(dú)立,當(dāng)采用多線程的技術(shù)時(shí),CPU為這些獨(dú)立的線程分配一些CPU時(shí)間,系統(tǒng)以輪轉(zhuǎn)的方式向線程提供時(shí)間片,提高了CPU 的使用效率,避免了單獨(dú)一個(gè)主線程時(shí)某項(xiàng)任務(wù)長(zhǎng)時(shí)間占用CPU時(shí)間,處理運(yùn)算時(shí)會(huì)出現(xiàn)類似于死機(jī)的情況。在信號(hào)的檢測(cè)時(shí),因?yàn)橐瑫r(shí)檢測(cè)多個(gè)信號(hào),因此,本系統(tǒng)為每個(gè)信號(hào)輸入都開辟了一個(gè)單獨(dú)的線程,避免多個(gè)信號(hào)檢測(cè)時(shí)相互產(chǎn)生影響。
輸出信號(hào)的處理。在板卡輸出編程時(shí),引入了一個(gè)unsigned char型變量pBuffer,一個(gè)unsigned char型變量有8個(gè)位,可以直接輸入或者輸出到一組ULN2803的8組輸入IDI接口或者輸出IDO接口,同時(shí),value和10101010B進(jìn)行與運(yùn)算,容易實(shí)現(xiàn)一個(gè)脈沖內(nèi)的高低電平變化,比ptDioWriteBit函數(shù)直接寫到位編程更加方便,可以一次處理多個(gè)接口的信號(hào),綜合處理各數(shù)字量輸出和數(shù)字量輸入信號(hào)的能力加強(qiáng)。
根據(jù)設(shè)計(jì)要求,完成了基于PCI-1750數(shù)據(jù)采集卡的交流伺服電機(jī)數(shù)控實(shí)驗(yàn)臺(tái)的制作,具體的實(shí)驗(yàn)臺(tái)的實(shí)物圖如圖5所示。
交流伺服電機(jī)控制系統(tǒng)控制PCI-1750數(shù)據(jù)采集卡通過SD300驅(qū)動(dòng)器向伺服電機(jī)發(fā)出數(shù)字量脈沖信號(hào),實(shí)現(xiàn)交流伺服電機(jī)數(shù)控實(shí)驗(yàn)臺(tái)的控制。在控制系統(tǒng)通過PCI-1750數(shù)據(jù)采集卡控制交流伺服電機(jī)進(jìn)行實(shí)驗(yàn)的同時(shí),同樣控制步進(jìn)電機(jī)與其形成對(duì)比實(shí)驗(yàn),經(jīng)過長(zhǎng)時(shí)間的運(yùn)行測(cè)試,交流伺服電機(jī)運(yùn)轉(zhuǎn)比較平穩(wěn),噪音較低,能夠平穩(wěn)的進(jìn)行快速啟動(dòng)和暫停,并且低速時(shí)也不會(huì)出現(xiàn)類似于步進(jìn)電機(jī)的振動(dòng)現(xiàn)象;加速性能較好,經(jīng)過測(cè)量,步進(jìn)電機(jī)從靜止加速到工作轉(zhuǎn)速需要200~400ms,而交流伺服電機(jī)加速僅需要3~10ms左右,適合各種場(chǎng)所應(yīng)用尤其數(shù)控機(jī)床進(jìn)給驅(qū)動(dòng)。
通過長(zhǎng)時(shí)間的實(shí)驗(yàn)測(cè)試,交流伺服電機(jī)數(shù)控實(shí)驗(yàn)臺(tái)的運(yùn)行正常,交流伺服電機(jī)控制系統(tǒng)穩(wěn)定性良好,交流伺服電機(jī)運(yùn)行和各種信號(hào)的采集正常,達(dá)到了預(yù)期的目標(biāo),證明本文在前面提出的控制方案完全正確。
圖5 交流伺服電機(jī)實(shí)驗(yàn)臺(tái)
本文以PCI-1750數(shù)據(jù)采集卡為基礎(chǔ),制作了了交流伺服電機(jī)數(shù)控實(shí)驗(yàn)臺(tái),設(shè)計(jì)了基于多線程技術(shù)的伺服電機(jī)控制系統(tǒng),實(shí)現(xiàn)了控制系統(tǒng)的模塊化和集成化。通過對(duì)交流伺服電機(jī)進(jìn)行應(yīng)用性研究,對(duì)如何進(jìn)行交流伺服電機(jī)的控制和信號(hào)的實(shí)時(shí)采集做出了詳細(xì)的說明,為以后伺服電機(jī)的應(yīng)用性研究拓寬了道路,為傳統(tǒng)的經(jīng)濟(jì)型數(shù)控機(jī)床改造提供了技術(shù)參考。
[1] 孫杰,金珊.經(jīng)濟(jì)型五軸數(shù)控加工硬件系統(tǒng)的設(shè)計(jì)與應(yīng)用 [J].組合機(jī)床與自動(dòng)化加工技術(shù),2011(6): 65-68.
[2] 陳艷紅,鄧娜. 步進(jìn)電機(jī)細(xì)分驅(qū)動(dòng)在機(jī)床數(shù)控改造中的應(yīng)用[J]. 制造業(yè)自動(dòng)化, 2010, 32(14):76-77.
[3] 李小彭, 劉春時(shí), 馬曉波,等. 數(shù)控機(jī)床加工精度提高技術(shù)的進(jìn)展及其存在的問題[J]. 組合機(jī)床與自動(dòng)化加工技術(shù), 2010(11):1-4.
[4] 趙國(guó)勇, 徐志祥, 趙福令. 高速高精度數(shù)控加工中NURBS曲線插補(bǔ)的研究[J]. 中國(guó)機(jī)械工程, 2006, 17(3):291-294.
[5] 孫佐. 基于8XC196單片機(jī)的EPA和PTS實(shí)現(xiàn)伺服電控制[J]. 組合機(jī)床與自動(dòng)化加工技術(shù), 2005(5):67-69.
[6] 姜榮. 一種基于運(yùn)動(dòng)控制卡的伺服電機(jī)控制系統(tǒng)[J]. 機(jī)電產(chǎn)品開發(fā)與創(chuàng)新, 2006, 19(3):113-114.
[7] 李清德, 王岳圓. 淺談理實(shí)一體化教學(xué)模式在單片機(jī)課程中的應(yīng)用[J]. 職教論壇, 2011(32):32-33.
[8] 張海浪, 舒志兵, 鄭之開. 基于開放式數(shù)控系統(tǒng)的輔助控制系統(tǒng)設(shè)計(jì)[J]. 組合機(jī)床與自動(dòng)化加工技術(shù), 2017(1):82-84.
[9] 尹家凡, 王孫安. 基于PC的開放式數(shù)控系統(tǒng)的研究[J]. 機(jī)床與液壓, 2003(2):88-90.
[10] 姜培昌, 盧軍霞, 趙慶志. 基于PCI-1750數(shù)據(jù)采集卡的步進(jìn)電機(jī)控制系統(tǒng)設(shè)計(jì)[J]. 山東理工大學(xué)學(xué)報(bào)(自然科學(xué)版), 2010, 24(1):93-95.
[11] 高躍武, 趙慶志, 韓紹民,等. 行程開關(guān)和接近開關(guān)在數(shù)控系統(tǒng)中的匹配設(shè)計(jì)[J]. 機(jī)床與液壓, 2015, 43(4):141-143.
[12] 趙慶志,姜衛(wèi)東,李磊. 機(jī)電設(shè)備組裝測(cè)試與故障維修[M].北京:機(jī)械工業(yè)出版社,2015.
[13] 張海云, 趙玉剛, 侯仰海,等. 微型教學(xué)型三坐標(biāo)數(shù)控銑床的研制[J]. 機(jī)床與液壓, 2009, 37(11):52-53.
[14] 楊珂, 宋國(guó)堃, 趙世平. 基于多線程技術(shù)的測(cè)控系統(tǒng)軟件設(shè)計(jì)[J]. 電子設(shè)計(jì)工程, 2016, 24(16):89-91.