劉惠敏,劉立山,夏琳琳,段文達(dá)
(1.青島農(nóng)業(yè)大學(xué)機(jī)電工程學(xué)院,山東青島266109;2.東北電力大學(xué)自動(dòng)化工程學(xué)院,吉林吉林132012)
在現(xiàn)代工業(yè)自動(dòng)化技術(shù)中,運(yùn)動(dòng)控制代表著最廣泛的用途,承擔(dān)著最復(fù)雜的任務(wù),是自動(dòng)化技術(shù)的一個(gè)重要分支[1]。作為軌跡控制、伺服控制應(yīng)運(yùn)而生的運(yùn)動(dòng)控制器不僅在機(jī)床行業(yè)得到大量推廣使用,而且在許多小型自動(dòng)化裝備系統(tǒng)中也得到廣泛的應(yīng)用。運(yùn)動(dòng)控制器可以同步控制多個(gè)運(yùn)動(dòng)軸,實(shí)現(xiàn)多軸協(xié)調(diào)運(yùn)動(dòng)和高速的點(diǎn)位運(yùn)動(dòng)。而且其工作過程基于PC 機(jī),故在控制系統(tǒng)的開發(fā)過程中,具有更大的靈活性和開放性,實(shí)現(xiàn)復(fù)雜的控制功能,使得用戶能在短期內(nèi)開發(fā)出功能強(qiáng)大的運(yùn)動(dòng)控制系統(tǒng),以適應(yīng)各應(yīng)用領(lǐng)域的要求。
機(jī)電系統(tǒng)在投入實(shí)際使用之前,需要在實(shí)驗(yàn)室中進(jìn)行專門深入研究,但是機(jī)電控制系統(tǒng)安全性和可靠性一直是實(shí)驗(yàn)室研究的主要障礙和大多數(shù)控制系統(tǒng)需要克服的難點(diǎn)[2]。作者提出的運(yùn)動(dòng)控制實(shí)驗(yàn)開發(fā)平臺(tái)可以有效地解決開發(fā)階段存在的這種矛盾,它通過固高公司GUC 系列的通用一體化運(yùn)動(dòng)控制器發(fā)送控制命令,通過電機(jī)帶動(dòng)各軸運(yùn)轉(zhuǎn),通過軸的狀態(tài)驗(yàn)證所設(shè)計(jì)系統(tǒng)的運(yùn)行狀態(tài),并且不實(shí)際帶動(dòng)機(jī)械負(fù)載。因此它簡單、安全,具備一個(gè)機(jī)電控制系統(tǒng)所具有的控制機(jī)構(gòu),便于學(xué)生掌握現(xiàn)代機(jī)電控制的基本原理,對于運(yùn)動(dòng)控制和機(jī)電一體化系統(tǒng)以及開放式數(shù)控系統(tǒng)的教學(xué)和科研具有普遍意義。
該實(shí)驗(yàn)開發(fā)平臺(tái)是基于固高公司GUC 系列通用一體化運(yùn)動(dòng)控制器,通過端子板連至外部伺服機(jī)構(gòu),可同步控制4 個(gè)軸的協(xié)調(diào)運(yùn)動(dòng)。該平臺(tái)系統(tǒng)的基本結(jié)構(gòu)如圖1所示。
圖1 運(yùn)動(dòng)控制教學(xué)開發(fā)平臺(tái)系統(tǒng)結(jié)構(gòu)
該運(yùn)動(dòng)控制教學(xué)實(shí)驗(yàn)平臺(tái)的核心部件為通用型一體化運(yùn)動(dòng)控制器,其型號(hào)為GUC-400-ESV-M01-L2/F4G,這種一體化運(yùn)動(dòng)控制器將嵌入式計(jì)算機(jī)與運(yùn)動(dòng)控制器結(jié)合為一體,以Intel 標(biāo)準(zhǔn)X86 架構(gòu)的CPU 和芯片組為系統(tǒng)處理器,采用高性能DSP 和FPGA 作為運(yùn)動(dòng)控制協(xié)處理器,可以在實(shí)現(xiàn)高性能多軸協(xié)調(diào)運(yùn)動(dòng)控制和高速點(diǎn)位運(yùn)動(dòng)控制的同時(shí),實(shí)現(xiàn)普通計(jì)算機(jī)的所有基本功能,并為用戶提供了構(gòu)成計(jì)算機(jī)系統(tǒng)的標(biāo)準(zhǔn)輸入輸出設(shè)備接口,因而是一種理想的嵌入式一體化解決方案[3]。
該運(yùn)動(dòng)控制器支持直線插補(bǔ)、圓弧插補(bǔ)功能;支持閉環(huán)與開環(huán)控制;具備數(shù)字濾波器:PID +速度前饋+加速度前饋功能;支持小線段的連續(xù)軌跡的速度優(yōu)化策略——前瞻預(yù)處理功能;具有螺旋線插補(bǔ)功能和刀向跟隨功能等;具有優(yōu)越的運(yùn)動(dòng)控制功能和性能,特別適用于高速、高精度插補(bǔ)運(yùn)動(dòng)控制要求的場合[3]。例如,高速雕銑、雕刻、切割、PCB 加工等行業(yè)。另外,該運(yùn)動(dòng)控制器還提供高速IO 現(xiàn)場總線擴(kuò)展接口,可進(jìn)行IO 擴(kuò)展,能滿足多IO 點(diǎn)控制要求。該運(yùn)動(dòng)控制器技術(shù)參數(shù)見表1。
表1 通用一體化運(yùn)動(dòng)控制器相關(guān)技術(shù)參數(shù)
該實(shí)驗(yàn)開發(fā)平臺(tái)的伺服系統(tǒng)共采用4 臺(tái)伺服電動(dòng)機(jī),分別用于對軸1、軸2、軸3、軸4 的控制。其中2 臺(tái)交流伺服電機(jī)、2 臺(tái)步進(jìn)電機(jī),屬于伺服步進(jìn)混合型平臺(tái)。伺服系統(tǒng)實(shí)現(xiàn)了電信號(hào)到機(jī)械動(dòng)作的轉(zhuǎn)換,對系統(tǒng)的動(dòng)態(tài)性能、控制質(zhì)量和功能具有決定性的影響。用戶通過計(jì)算機(jī)向運(yùn)動(dòng)控制器發(fā)送運(yùn)動(dòng)控制指令,運(yùn)動(dòng)控制器對指令進(jìn)行解釋和處理后,施加給電機(jī)驅(qū)動(dòng)器,驅(qū)動(dòng)器將控制信號(hào)放大,傳送至伺服電機(jī),使電機(jī)按照指令要求的動(dòng)作運(yùn)轉(zhuǎn),通過電機(jī)帶動(dòng)各軸轉(zhuǎn)動(dòng)觀察和驗(yàn)證系統(tǒng)的運(yùn)行狀態(tài)。
1.2.1 交流伺服電機(jī)及其驅(qū)動(dòng)器
該平臺(tái)軸1 和軸2 均采用松下交流伺服電機(jī)進(jìn)行拖動(dòng),型號(hào)為MSMD012P1U。其功率為200 W,額定轉(zhuǎn)速3 000 r/min,額定轉(zhuǎn)矩0.32 N·m,最大轉(zhuǎn)矩0.95 N·m。驅(qū)動(dòng)器選擇松下交流伺服電機(jī)驅(qū)動(dòng)器MADDT1205,驅(qū)動(dòng)器類型A 型,A4 系列,最大瞬時(shí)輸出電流10 A,輸入電源電壓單相200 V,電流檢測器的額定電流5 A。
1.2.2 步進(jìn)電機(jī)及其驅(qū)動(dòng)器
該平臺(tái)軸3 和軸4 采用四通兩相混合式步進(jìn)電機(jī),型號(hào)為57BYG250C,相數(shù)為2 相,轉(zhuǎn)動(dòng)慣量為200 g·cm2,步距角0.9°/1.8°,空載啟動(dòng)頻率2.5 kHz。驅(qū)動(dòng)器采用四通兩相混合式步進(jìn)電機(jī)驅(qū)動(dòng)器,型號(hào)為SH-20806C,電源電壓DC 24 ~70 V,輸出相電流最大6 A,步進(jìn)脈沖頻率0 ~50 kHz,邏輯輸入電流6 ~10 mA。
對于交流伺服電機(jī),其角度傳感器為光電碼盤,直接安裝在電機(jī)的轉(zhuǎn)子上,與驅(qū)動(dòng)器構(gòu)成閉環(huán)控制系統(tǒng)。通過修改相應(yīng)的接線以及不同的驅(qū)動(dòng)器參數(shù)設(shè)定,可以構(gòu)成位置控制、轉(zhuǎn)矩控制和速度控制3 種不同的控制模式。當(dāng)系統(tǒng)選擇用步進(jìn)電機(jī)時(shí),控制模式為開環(huán)控制方式,不需要編碼器。
該平臺(tái)采用固高公司的ACC6-PN5-T12-K61 觸摸屏,該觸摸屏LCD 尺寸為12 寸高亮真彩TFT,分辨率為800 ×600,DC 24 V 電源,按鍵數(shù)為61。通過HMI 接口接至通用一體化運(yùn)動(dòng)控制器。各軸光電開關(guān)選擇OMRON EE-SX671,接至端子板CN12 相應(yīng)的端口上。端子板的CN13 和CN14 端口是通用數(shù)字量輸入/輸出端口,可連接開關(guān)或者驅(qū)動(dòng)指示燈作為相應(yīng)的輸入和輸出,進(jìn)行實(shí)驗(yàn)結(jié)果的驗(yàn)證或觀察。
在系統(tǒng)硬件平臺(tái)搭建好以后,最重要的是進(jìn)行應(yīng)用軟件的設(shè)計(jì)。嵌入式計(jì)算機(jī)中安裝的操作系統(tǒng)是WinCE 嵌入式操作系統(tǒng)。此時(shí)針對常規(guī)的操作系統(tǒng)進(jìn)行開發(fā),VB、VC 等開發(fā)工具就不方便使用了。微軟提供了Embedded Visual Basic(簡稱EVB)、Embedded Visual C(簡稱EVC)、Visual Studio.NET 等工具,它們是專門針對WinCE 操作系統(tǒng)的開發(fā)工具,目前用得最多的還是EVC。作者采用eMbedded Visual C++4.0 進(jìn)行應(yīng)用軟件的開發(fā),并以實(shí)現(xiàn)二維插補(bǔ)運(yùn)動(dòng)為例,介紹應(yīng)用軟件的設(shè)計(jì)過程。
在普通PC 機(jī)上安裝并打開eMbedded Visual C++4.0,新建一個(gè)MFC AppWizard(exe)工程,鍵入工程名稱GEdemo 后點(diǎn)擊確定,在彈出的對話框中選擇“Dialog based”,依次添加按鈕、編輯框、靜態(tài)文本框控件、組合框控件等,構(gòu)成二維插補(bǔ)運(yùn)動(dòng)的界面。
GUC 系列一體化運(yùn)動(dòng)控制器附帶的光盤中,有運(yùn)動(dòng)控制器的動(dòng)態(tài)鏈接庫文件和頭文件,在設(shè)計(jì)的工程中加入動(dòng)態(tài)鏈接庫,就可以在自己的程序中調(diào)用運(yùn)動(dòng)控制器提供的各類函數(shù)。具體步驟如下:
(1)將固高公司提供的winCE 專用的動(dòng)態(tài)鏈接庫文件ges.dll 及相關(guān)頭文件ges.h 和ges.lib 拷貝到創(chuàng)建的GEdemo 工程文件夾中。
(2)選擇Project- >settings 打開設(shè)置。選擇Link 選項(xiàng),在Object/library modules:一欄中鍵入ges.lib 后點(diǎn)擊OK。
(3)在GEdemoDlg.cpp 中加入頭文件ges.h,則可在自己的工程中調(diào)用運(yùn)動(dòng)控制器提供的各類函數(shù)。
2.3.1 運(yùn)動(dòng)控制器和各控制軸初始化
在實(shí)現(xiàn)具體控制功能之前,必須要對運(yùn)動(dòng)控制器和各控制軸進(jìn)行初始化,并根據(jù)具體的硬件配置情況進(jìn)行參數(shù)的設(shè)置[4]。在此以實(shí)現(xiàn)二維插補(bǔ)運(yùn)動(dòng)為例,此時(shí)只需要對軸1 和軸2 進(jìn)行初始化。在“Initialization”按鈕對應(yīng)的函數(shù)中輸入如下的程序:
在該函數(shù)中,定義了4 個(gè)雙精度變量,目的是為了進(jìn)行單位換算,因?yàn)樵贕T 函數(shù)GT_SetSynAcc(cbA)、GT_SetSynVel(cbV)和GT_LnXY(cbX,cbY)中,單位分別為pulse/ms2、pulse/ms 和pulse,而正常使用的單位為m/s2、m/min、min。變量換算關(guān)系[5]具體如表2所示。
表2 二維插補(bǔ)運(yùn)動(dòng)指令單位換算關(guān)系表
換算過程如下:
單位換算前,雖然已經(jīng)將Edit 控件設(shè)置成了成員變量,但是程序本身直接調(diào)用該成員變量時(shí),成員變量不會(huì)自動(dòng)刷新參數(shù)來獲取用戶輸入的數(shù)值,因此在這里需要加上UpdateData()函數(shù),讓系統(tǒng)刷新參數(shù),從而使成員變量獲取用戶輸入的數(shù)值,這樣才能得到外部數(shù)據(jù)到內(nèi)部函數(shù)的一個(gè)連接過程,否則所有的m_cba、m_vbc、m_cbx、m_cby 成員變量都將為0。
2.3.3 關(guān)閉各軸及運(yùn)動(dòng)控制器
運(yùn)動(dòng)結(jié)束,關(guān)閉各軸和運(yùn)動(dòng)控制卡,在Stop 按鈕函數(shù)中輸入如下程序:
在普通PC 機(jī)上程序編程調(diào)試完畢,即完成了運(yùn)動(dòng)控制軟件界面的設(shè)計(jì)。下一步,需要將程序?qū)胪ㄓ靡惑w化運(yùn)動(dòng)控制器。首先,將PC 機(jī)與通用一體化運(yùn)動(dòng)控制器通過網(wǎng)線連接。然后將所使用的普通PC 機(jī)的本地連接IP 選擇為手動(dòng)獲取,IP 地址為192.186.0.3,子網(wǎng)掩碼為255.255.255.0。在EVC中打開建立的工程,在菜單欄的下拉菜單中選擇GUC-STANDARDS 和Win32 [WCEx86]Debug 后點(diǎn)擊測試運(yùn)行。編譯成功會(huì)出現(xiàn)如圖2所示的對話框。
圖2 通訊連接界面
通過觸摸屏,在WinCE 環(huán)境中點(diǎn)擊“開始”菜單中的“運(yùn)行”,在彈出的對話框中輸入“cmd”指令,然后將圖 2 出現(xiàn)的 CEMGRC.EXE /T:TCPIPC.DLL/Q/D:192.168.0.3:2 534 輸入到出現(xiàn)的界面中。觸摸屏上輸入完后點(diǎn)擊回車,普通PC 機(jī)上點(diǎn)擊“OK”按鈕(如圖2所示)。至此連接成功,可執(zhí)行程序下載至嵌入式計(jì)算機(jī)中。如果需要開機(jī)即啟動(dòng)編寫的運(yùn)動(dòng)控制程序,則可將可執(zhí)行程序的快捷方式放到WinCE 的開機(jī)啟動(dòng)文件夾中。
至此,就可以通過觸摸屏對設(shè)計(jì)的軟件進(jìn)行相應(yīng)參數(shù)的設(shè)置,如圖3所示。通過界面操作向運(yùn)動(dòng)控制器發(fā)送控制命令,從而控制各電機(jī)運(yùn)行,實(shí)現(xiàn)二維插補(bǔ)運(yùn)動(dòng)。對于該平臺(tái)使用人員,則可以根據(jù)控制要求按照上述步驟設(shè)計(jì)和開發(fā)符合自己運(yùn)動(dòng)控制系統(tǒng)要求的操作界面,從而實(shí)現(xiàn)相應(yīng)的控制。
圖3 二維插補(bǔ)運(yùn)動(dòng)控制操作界面
介紹了一種基于固高GUC 系列的通用一體化運(yùn)動(dòng)控制器的運(yùn)動(dòng)控制教學(xué)實(shí)驗(yàn)開發(fā)平臺(tái),給出了系統(tǒng)的硬件結(jié)構(gòu)以及應(yīng)用軟件的設(shè)計(jì)過程。通過軟、硬件連調(diào)實(shí)驗(yàn),證明該系統(tǒng)可以實(shí)現(xiàn)預(yù)期的控制要求,該設(shè)計(jì)方案是可行的。在運(yùn)動(dòng)控制教學(xué)過程中,學(xué)生可通過該平臺(tái)掌握基于運(yùn)動(dòng)控制器的運(yùn)動(dòng)控制系統(tǒng)的組成、工作原理,也可以自己設(shè)計(jì)、編寫程序?qū)崿F(xiàn)對電機(jī)的控制,觀察各軸的運(yùn)行狀態(tài),驗(yàn)證相關(guān)的理論知識(shí)??砷_設(shè)的實(shí)驗(yàn)有二維插補(bǔ)原理與應(yīng)用實(shí)驗(yàn)、多軸協(xié)調(diào)運(yùn)動(dòng)編程實(shí)驗(yàn)、數(shù)控代碼編程實(shí)驗(yàn)等;在科研方面,該平臺(tái)具備了一個(gè)機(jī)電控制系統(tǒng)所具有的完整的控制機(jī)構(gòu),可以看成是一個(gè)嵌入式運(yùn)動(dòng)控制系統(tǒng)的微縮模型。由于平臺(tái)本身并不拖動(dòng)負(fù)載,因而在開發(fā)設(shè)計(jì)階段安全、可靠,有利于控制系統(tǒng)的開發(fā)和系統(tǒng)功能的模擬驗(yàn)證??蛇M(jìn)行機(jī)器人、加工機(jī)械、生產(chǎn)裝配、開放式數(shù)控等方面的研究工作。
【1】鄭魁敬,高建設(shè).運(yùn)動(dòng)控制技術(shù)及工程實(shí)踐[M].北京:中國電力出版社,2009:56-59.
【2】固高科技有限公司.運(yùn)動(dòng)控制開發(fā)平臺(tái)實(shí)驗(yàn)指導(dǎo)書:1.2版[M],2009.
【3】固高科技有限公司.GUC 系列運(yùn)動(dòng)控制器用戶手冊[M],2009.
【4】固高科技有限公司.GE 系列運(yùn)動(dòng)控制器編程手冊[M],2009.
【5】固高科技有限公司.GE 系列運(yùn)動(dòng)控制器用戶手冊[M],2009.
【6】羅炳軍,陳健,樊亞妮.基于運(yùn)動(dòng)控制器的開放式運(yùn)動(dòng)控制系統(tǒng)研究與應(yīng)用[J].工業(yè)儀表與自動(dòng)化裝置,2006(3):10-11.
【7】許家忠,王東野,溫武,等.基于嵌入式運(yùn)動(dòng)控制器的鉆床控制系統(tǒng)[J].自動(dòng)化技術(shù)與應(yīng)用,2010(10):19-21.
【8】董正凱.基于運(yùn)動(dòng)控制器的開放式數(shù)控平臺(tái)的研究[D].哈爾濱:哈爾濱工業(yè)大學(xué),2010:25-28.