三軸數控銑床半實物仿真實驗系統設計
2016-1-22 來源:哈爾濱工程大學工程訓練中心 電工程學院 作者:朱曉明 李欣 李霞
摘要: 為了充分發揮四軸運動控制開發平臺的功能潛力,以其為研究對象,開發了三軸數控銑床半實物仿真實驗系統。該系統通過庫函數將軟件功能與硬件控制相結合,實現了通過軟件來控制硬件的控制方式。基于 OpenGL 圖形庫和內置定時器實現了路徑仿真和加工仿真功能。該系統既可進行單機路徑仿真,也可聯機控制電機運行及實際路徑仿真,以適應不同的實驗場合。經過測試,證明該半實物仿真實驗系統能有效挖掘實驗設備的潛在功能,有助于培養學生對數控系統的設計能力。
關鍵詞: 數控系統; 四軸開發平臺; 半實物仿真
0 前言
運動控制系統設計是機電類及相關專業本科學生的一門重要的實踐創新課程。該課程以機電自動化實用控制技術和運動控制技術為核心內容,在相關實驗平臺上,通過實時操作為學生提供綜合創新、實踐訓練機會,以提高學生的工程意識,培養學生的專業能力、工程實踐能力和創新能力。
在眾多的相關實驗設備中,四軸運動控制開發平臺具有很強的代表性。它是許多機電一體化系統的微縮模型,它采用開放式結構設計,對于運動控制和機電一體化系統的教學和科研具有普遍意義。然而,在一些運動控制系統設計中,由于設備實驗面板上只有4 個電機軸轉動,無法通過 4 個軸的運行查看控制對象 (比如數控機床的加工刀具) 軌跡運動的空間效果。因此,為了充分發揮四軸運動控制開發平臺的功能潛力,結合 TRIZ 系統理論中的分割原則,提出了在四軸平臺上開發三軸數控銑床的仿真實驗系統,充分利用電機編碼器的反饋信息設計虛擬刀具,完成一個半實物仿真數控系統的設計與開發,使學生在實驗中了解數控系統的運行過程與設計方法,這樣培養了學生的實踐能力。
1 實驗系統組成
整個實驗系統的組成分為兩大部分: 實驗設備機械本體與硬件控制平臺。機械本體如圖 1 所示。機械本體包括 4 個控制軸的測試轉盤、電機及其驅動器。面板上 4 個轉盤周圍標有刻度,通過轉盤可以觀察電機的轉動角度。4 個電機包括兩個步進電機和兩個交流伺服電機。同時面板下面為每個軸配備了伺服報警、正負限位、原點觸發按鈕,用于完成對應的運動控制測試功能。面板下方還安裝了 16 個 LED燈,用于完成系統的輸出功能設計。LED 燈下方安裝了 16 個輸入開關,用于完成系統的輸入功能設計。

圖 1 實驗設備機械本體
硬件控制平臺采用模塊化結構,使用了上下位機結構。上位機使用通用計算機,用于設計人機界面等非實時功能。下位機采用深圳固高公司的運動控制器(型號 GT400- SV),利用 PCI 總線與計算機連接,完成路徑規劃、軌跡控制等實時功能。運動控制器通過端子板與實驗設備連接。
2 實驗系統功能分析和訓練目標
文中所提出的三軸數控銑床實驗仿真系統,是一種半實物仿真系統,主要是利用實驗設備已有的可控電機完成實際的運動軌跡控制,同時利用庫函數取得電機編碼器脈沖值,并通過參數轉換變為移動坐標值,導入到計算機中的虛擬三維環境,形成虛擬刀具的運動軌跡,從而完成同步軌跡仿真。同時,利用路徑仿真信息完成加工效果仿真,驗證加工結果的正確性。通過這種設計模式,既可以充分利用設備的控制功能,又可以利用虛擬設計彌補其缺乏控制對象(刀具) 的缺點,對設備是一種有效的功能擴展,發揮了其潛能。根據數控系統的功能特點,主要功能設計包括讀取數控 G 代碼、譯碼、電機控制、位置反饋與路徑仿真、加工結果仿真等。
根據實驗教學要求,系統的訓練目標主要包括:(1) 功能設計,包括多軸 (3 軸) 多段連續軌跡的位置控制、位置監控設計、數控加工 G 代碼的譯碼設計。(2) 編程設計,包括基于 VC ++ 環境下三維建模設計、動態路徑仿真設計、定時器設計、字符串string 類使用、C ++ 下大規模數組的使用菜單欄工具欄設計。
3 系統軟件功能設計
3. 1 開發環境
開發所使用的操作系統平臺為微軟公司的 Win-dows2000Pro 版,開發平臺為微軟公司的 VC + + 6. 0軟件開發環境。同時,控制器廠商固高公司還給用戶提供了配套的運動控制器庫函數。用戶可通過調用庫函數,給運動控制器發送控制命令。而運動控制器通過相應的控制策略,將控制指令轉換為控制信號,通過驅動器的放大,控制電機轉動,最終完成相應的軌跡控制任務。通過不同庫函數的組合設計,用戶可以完成特定功能的設計,進行系統定制。
3. 2 譯碼功能設計
為了減少學習難度,譯碼模塊只識別直線控制指令及其控制參數,即 x、y、z 坐標。為了增加趣味性,數控系統的加工 G 代碼生成,沒有采用專業的Pro/E、UG 軟件,而是采用了藝術造型軟件 ArtCAM,可輕松生成漂亮有趣的三維圖形加工 G 代碼。譯碼模塊的流程如圖 2 所示。通過該流程處理,可以將數控 G 代碼中的控制信息存入控制指令數組,以便轉為控制指令庫函數。通過譯碼模塊,可將多段 G 代碼文件轉為相同指令容量的字符指令數組,作為控制指令生成的數據源。

3. 3 電機軌跡控制與位置反饋設計
對于固高運動控制器的軌跡控制方式,分為單段軌跡與多段連續軌跡兩種控制方式。由于三軸數控銑床的加工代碼包括成百上千段指令,因此屬于多段連續軌跡控制。運動控制器的多段軌跡控制原理是在控制器上設計了一個 8 KB 的環形隊列緩沖區,用戶將部分控制指令先存入緩沖區,并執行這些緩沖區指令,既提高了通訊效率,又提高了運行特性。
控制器對緩沖區中運動命令的具體處理機制如下: 用戶首先不斷向緩沖區發送運動命令,直到緩沖區滿。緩沖區滿時,運動控制器拒絕接收用戶輸入的命令,并返回緩沖區滿的信息。此時啟動緩沖區的命令隊列,隨著命令的執行,緩沖區會有新的空間釋放出來,用戶可以繼續發送更多的命令。直到所有指令都存入緩沖區 (不是所有指令都執行完),就可以關閉緩沖區,完成緩沖區指令模式。對于三軸數控系統,存入緩沖區的控制指令主要使用固高的三坐標運動控 制 庫 函 數: GT _ LnXYZ ( double x,double y,double z)。其中 (x,y,z) 值是刀具從當前點以直線插補的方式運動的目標點。至于具體的插補算法和控制指令發送,則由運動控制器自動完成,使用戶可以把主要精力放到系統功能設計。
位置反饋功能的設計主要有兩個作用: (1) 使用戶通過虛擬儀表了解當前刀具的位置; (2) 在聯機路徑仿真時確定虛擬刀具的空間位置。
位置反饋主要使用了功能庫函數: GT_GetAtlPos(long& pos)。其中長整數指針類型自變量 pos 存儲了從脈沖編碼器返回的當前軸的脈沖形式位置。而在虛擬環境中用戶的坐標單位為 mm,因此需要進行系數轉換。由于設備面板上軸 1 和軸 2 的編碼器分辨率為4 000,軸 3 的編碼器分辨率為 10 000,設虛擬環境下的滾珠絲杠的螺距為 5 mm,則由位置的脈沖量到用戶坐標單位的轉換系數為:
(1) 1 和 2 軸 4 000/5 =800,(2) 3 軸10 000/5 =2 000。也就是說從編碼器反饋的脈沖值分別除以上述換算系數可以轉換為虛擬環境下的用戶坐標值。
3. 4 路徑仿真設計
路徑仿真可使用戶在三維環境下由虛擬刀具的軌跡查看控制效果,實驗效果直觀。該系統的路徑仿真設計了兩種模式: 聯機仿真與單機仿真。聯機仿真時控制系統與四軸運動控制開發平臺連接,直接控制電機運動,并通過編碼器的反饋,顯示為虛擬刀具的空間位置,保持與實際電機同步運行。單機仿真則是控制系統運行在單臺計算機上、通過定時器周期性更新每段指令的刀具終點位置。下面主要介紹聯機路徑仿真設計。
路徑仿真主要采用 VC ++ 6. 0 內置的 OpenGL 圖形庫完成路徑的動態繪制。主要分為環境設置、位置采集與已有路徑繪制。
在 VC ++6. 0 中進行三維路徑繪制之前需要復雜的環境設置,主要包括創建設備描述表和像素格式描述表以及環境參數設置。像素格式明確了 OpenGL 繪制平面的特性,如象素緩沖區是單緩沖還是雙緩沖,數據是 RGBA 方式還是 Color Index 方式等。每個OpenGL 顯示設備一般用名為PIXELFORMATDE-SCRIPTOR的結構來表示像素格式,這個結構包含 26個屬性信息。環境參數設置則主要包括光源的個數、性質、陰影模式、深度緩存、顏色混合模式、線寬、清屏顏色、多邊形顯示方式。這些參數的設置需要逐個測試才能獲得較好的顯示效果。
位置采集是實現虛擬刀具與實際電機同步的關鍵環節,需保證采集數據的實時性與準確性。其中準確性主要是利用前述庫函數 GT_GetAtlPos(long& pos)與單位換算來實現。而實時性則主要是采用了短時間間隔的內置定時器來完成。通過定時器的消息處理函數OnTimer 每一次觸發,實現了電機脈沖數據采集、單位換算、三維坐標存入路徑點數組。定時器中的另一個重要設計是更新畫面,利用函數 InvalidateRect(NULL,false)失效當前客戶端界面,從而導致重新繪制最新路徑。在開始聯機仿真時通過 SetTimer (1,10,NULL) 啟動定時器,定時器的調用周期為 10ms,保證了虛擬刀具軌跡仿真過程的流暢性。
仿真中路徑繪制的設計方法是將每次采集的三維電機位置存入路徑點數組,然后將數組中所有點依次用直線連接,形成一條首尾相連的加工路徑,最后將窗口背景進行顏色清除,重新繪制整條路徑并進行雙緩沖區顯示。隨著路徑不斷更新,就會產生路徑的動態同步效果。為了實現畫面更新不閃爍,采用了雙緩沖技術,通過 OpenGL 的圖形功能函數 SwapBuffers(wglGetCurrentDC()),在視圖類的 OnDraw(CDC*pDC)函數中實現。
整個系統中最為重要的路徑顯示設計采用了OpenGL 里面的空間繪圖函數,其關鍵實現代碼如下:glBegin(GL_LINE_STRIP);for (int i = 0 ;i < m_atlPt. size();i ++ ){tp = m_atlPt[i] ;glVertex3d(tp. x,tp. y,tp. z);}glEnd();)其中模式參數 GL_LINE_STRIP 的作用是將所有的空間點依次連成一條折線。
4 聯機控制測試
為了測試三軸數控銑床的控制系統譯碼、位置控制及軌跡顯示的穩定性以及準確性,將其與四軸運動控制平臺進行聯機測試。其中加工 G 代碼生成采用英國 Deltau 公司的 ArtCAM 2008 軟件。它是復雜立體三維浮雕設計、珠寶、裝飾設計和加工的首選 CAD/CAM 軟件解決方案,可快速將二維圖形轉換成三維藝術產品。此次測試利用一個二維蜥蜴圖片生成三維空間立體圖形,然后后置生成三維加工 G 代碼。在測試之前,需要對其進行處理,只保留 G00,G01 指令代碼,經檢測,最后生成 G 代碼 38 644 行,加工范圍 70 mm × 120 mm × 5 mm。所設計的虛擬毛坯尺寸為 150 mm ×150 mm ×10 mm,采用直徑 1. 5 mm 球頭刀。經過聯機電機控制后,生成的聯機加工路徑仿真圖如圖 3 所示。刀具加工軌跡與虛擬毛坯求交后形成的加工效果仿真圖如圖 4 所示。對比兩圖可知,者保持了一致性,證明該系統設計合理,運行穩定可靠。

5 結論
實驗設備是實踐教學課程中的重要載體,其利用和開發的程度將直接影響著教學效果。隨著各種先進教學模式的不斷產生,各種開放式的實驗設備走進了課堂。如何對其進行有效開發和融入實踐教學成為一個重要的課題。文中介紹的基于開放結構的四軸運動控制開發平臺就屬于此類設備。開發者可利用該開放式結構,設計功能任意的運動控制系統。由于該設備的實驗面板只有 4 個電機作為控制對象,無執行機構 (如滾珠絲杠和加工刀具)。因此用戶無法直接觀察執行機構三維空間的軌跡控制效果(如刀具的運動軌跡)。基于這種不足,設計了三軸數控銑床實驗系統,通過在三維環境下的虛擬執行機構,可直接查看三維空間執行結構的軌跡控制效果,解決了該問題,最大限度地發揮了實驗設備的潛力。根據這種設計思想,可以基于該實驗設備,設計更多的實驗控制系統,實現多種場合的運動控制系統功能,充分挖掘其功能,并給學生更多的學習與鍛煉機會。
參考文獻:略
投稿箱:
如果您有機床行業、企業相關新聞稿件發表,或進行資訊合作,歡迎聯系本網編輯部, 郵箱:skjcsc@vip.sina.com
如果您有機床行業、企業相關新聞稿件發表,或進行資訊合作,歡迎聯系本網編輯部, 郵箱:skjcsc@vip.sina.com
更多相關信息