左文娟,張秋菊,李克修
ZUO Wen-juan, ZHANG Qiu-ju, LI Ke-xiu
(江南大學(xué) 機械工程學(xué)院,無錫 214122)
智能化是制造自動化的發(fā)展方向。數(shù)控機床智能化體現(xiàn)在:1)能夠感知其自身的狀態(tài)和加工能力并能夠進行標(biāo)定;2)能夠監(jiān)視和優(yōu)化自身的加工行為;3)能夠?qū)λ庸すぜ馁|(zhì)量進行評估;4)具有自學(xué)習(xí)的能力[1]。作為高檔數(shù)控機床主要功能部件的轉(zhuǎn)塔刀架,也應(yīng)當(dāng)具備這四點智能化的功能。目前國內(nèi)的數(shù)控轉(zhuǎn)塔刀架多采用普通伺服電動機驅(qū)動,整個控制系統(tǒng)結(jié)構(gòu)相對比較簡單,成本較為低廉[2],但是存在著功能簡單單一,可靠性不強,應(yīng)用于不同數(shù)控系統(tǒng)參數(shù)調(diào)整困難等問題。
直驅(qū)技術(shù)是國內(nèi)外數(shù)控機床領(lǐng)域技術(shù)的發(fā)展趨勢,也是近年來的技術(shù)競爭焦點。已有很多關(guān)于直驅(qū)工作臺、直驅(qū)數(shù)控轉(zhuǎn)臺的研究[3,4],由于這類轉(zhuǎn)臺成本較高,目前多用于高精度、高效數(shù)控機床領(lǐng)域。數(shù)控直驅(qū)轉(zhuǎn)塔刀架是近年來出現(xiàn)的一種新型高檔電動刀架。它采用低速力矩永磁電機直接驅(qū)動刀架轉(zhuǎn)位,取消了傳統(tǒng)齒輪或蝸輪蝸桿傳動鏈,消除機械傳動誤差對刀架定位精度的影響,減少傳動噪音與傳動故障問題,提高了換刀速度、定位精度與運行可靠性,降低了運行維護成本。直驅(qū)轉(zhuǎn)塔刀架不但能夠做到在換刀時刀盤免抬升,而且同一刀架可以更換不同工位的刀盤。我國對數(shù)控直驅(qū)轉(zhuǎn)塔刀架的研究啟動較晚,但已有廠家如常州宏達數(shù)控裝備有限公司推出了相應(yīng)產(chǎn)品。
作為高檔數(shù)控機床的功能部件,數(shù)控直驅(qū)刀架的智能化是其必然發(fā)展趨勢。本文針對智能化機床和數(shù)控直驅(qū)刀架的發(fā)展需求,設(shè)計開發(fā)了基于嵌入式系統(tǒng)的直驅(qū)轉(zhuǎn)塔刀架智能控制器。該智能控制器主要由CNC信息交互模塊、驅(qū)動器信息交互模塊、人機界面信息交互模塊三部分組成,實現(xiàn)了刀架信息的監(jiān)控、反饋、故障診斷和參數(shù)優(yōu)化,有效提高了刀架的工作可靠性和智能化程度。
整個智能控制器硬件組成如圖1所示。該智能控制器主要由CNC信息交互模塊、驅(qū)動器信息交互模塊、人機界面信息交互模塊三部分組成,采用Raspberry Pi[5]作為智能控制器原理樣機的核心。使用串口或是CAN接口完成與底層驅(qū)動器信息交互,使用I/O接口與機床完成換刀信息交互,使用WEB接口完成與上層人機交互。由于Raspberry Pi所能夠提供的I/O接口數(shù)量有限,故采用I2C IO擴展芯片增加系統(tǒng)I/O數(shù)量,完成數(shù)字量信息交互;采用SPI擴展I/O接口,完成模擬量信息交互。
圖1 智能控制器硬件組成結(jié)構(gòu)
市面上已存在的機床都是采用I/O信號與轉(zhuǎn)塔刀架進行信息交互的,如發(fā)那科(FANUC)數(shù)控系統(tǒng)與轉(zhuǎn)塔刀架進行信息交互的部分為PMC,通過I/O信號完成對開關(guān)量的邏輯控制[6]。本文所設(shè)計的直驅(qū)轉(zhuǎn)塔刀架智能控制器,保留了實時I/O接口,使用MCP23017為樹莓派擴展16路輸入接口、16路輸出接口。本文設(shè)計的控制器控制的直驅(qū)轉(zhuǎn)塔刀架有8個刀位或12個刀位的,所以采用2進制計數(shù)方式,如2o、21等,控制器預(yù)留4個I/O接口可以滿足其刀位信號的要求。
圖2 與機床信息交互接口
智能控制器通過串口,采用Modbus通訊協(xié)議與驅(qū)動器進行信息交互。Modbus作為開源的現(xiàn)場總線,擁有很高的市場占有率,且絕大多數(shù)伺服驅(qū)動器都支持Modbus通信協(xié)議。與驅(qū)動器通信實現(xiàn)以下功能:
通過Modbus讀寫目標(biāo)角度值與當(dāng)前角度值,完成整個換刀動作。
利用PID控制器對矢量控制系統(tǒng)進行改進,優(yōu)化控制參數(shù)。
讀取刀位鎖緊角度值,計算誤差平均值,作為補償值。在智能控制器中裝有SQLite數(shù)據(jù)庫,對讀取到的刀位角度值大量數(shù)據(jù)進行存儲,通過對數(shù)據(jù)的分析預(yù)判斷刀架有無故障。
智能控制器通過以太網(wǎng)接口,以HTTP協(xié)議為基礎(chǔ),實現(xiàn)Web遠程監(jiān)控直驅(qū)轉(zhuǎn)塔刀架的功能。目前,在嵌入式系統(tǒng)中引入TCP/IP協(xié)議棧,以支持嵌入式設(shè)備接入網(wǎng)絡(luò),成為嵌入式系統(tǒng)必不可少的一個重要功能[7]。構(gòu)建局域網(wǎng),在RaspberryPi中部署REST服務(wù)[8],用戶通過Web訪問,進行遠程的監(jiān)控。人機界面所顯示的參數(shù)是智能控制器通過Modbus讀取后存放在SQLite數(shù)據(jù)庫中的,使用Json格式將數(shù)據(jù)打包[9],通過以太網(wǎng)接口發(fā)送到Web端,最終顯示在用戶面前。
直驅(qū)轉(zhuǎn)塔刀架換刀過程可表述為:首先不停檢測CNC是否有發(fā)出換刀指令,當(dāng)接收到換刀指令后先松開液壓系統(tǒng),若在這個過程中遇到故障進行報警;液壓系統(tǒng)正常松開后,需要驅(qū)動電機轉(zhuǎn)到相應(yīng)的刀位,若在這個過程中遇到故障進行報警;刀具刀位后,鎖緊液壓系統(tǒng),若在這個過程中遇到故障進行報警;液壓正常鎖緊就預(yù)示著一次換刀過程完成,向CNC發(fā)出換刀完成信號,完成整個換刀動作, 如圖3所示。
圖3 換刀動作流程圖
在直驅(qū)轉(zhuǎn)塔刀架處于加工運行時,智能控制器將實時監(jiān)測刀架和電機的運行狀態(tài),一旦監(jiān)測到刀架處于不正常工作狀態(tài)即發(fā)出報警信號,等待工作人員處理。 每一次的換刀動作都執(zhí)行最優(yōu)換刀路徑,使得換刀時電機所轉(zhuǎn)過的角度值最小,從而達到迅速換刀的目的。最優(yōu)換刀路徑算的如圖4所示。
遠程監(jiān)控的人機交互界面以Web的方式實現(xiàn),使用jQuery的Easyui框架完成前端頁面的構(gòu)建。為了確保監(jiān)控系統(tǒng)的安全性,在構(gòu)建前端頁面時設(shè)置了登陸對話框,擁有操作員身份的用戶才能有權(quán)限修改相應(yīng)的參數(shù),普通瀏覽者只能看到簡單的參數(shù)界面。整個Web頁面如圖5所示。人機交互系統(tǒng)的后臺采用Python的Flask框架實現(xiàn),F(xiàn)lask是一款簡潔的、靈活的、強大的Web框架,利用app向Flask中添加route的形式實現(xiàn)頁面中tab的增刪。增強了整個人機界面的軟件的伸縮性,便于軟件的維護和擴展。人機交互界面主要實現(xiàn)刀架參數(shù)的現(xiàn)實,刀架故障預(yù)判的提醒,刀架控制參數(shù)的修改,以及換刀動作的動畫仿真。
圖4 最優(yōu)換刀路徑算法流程圖
圖5 人機交互界面
整個人機交互的數(shù)據(jù)更新的實現(xiàn)如圖6表示。從時間上可以表述為:首先,前端Web頁面發(fā)出數(shù)據(jù)更新的請求,使用GET方法,Ajax異步更新頁面;后臺收到數(shù)據(jù)更新的請求后,查詢數(shù)據(jù)庫,查詢到相應(yīng)數(shù)據(jù)的存放寄存器地址;數(shù)據(jù)庫根據(jù)所更新數(shù)據(jù)的存放地址,利用Modbus通訊協(xié)議到驅(qū)動器中讀取當(dāng)前數(shù)據(jù);驅(qū)動器通過Modbus通訊協(xié)議將所需數(shù)據(jù)插入到數(shù)據(jù)庫中;數(shù)據(jù)庫中更新后的數(shù)據(jù)被后臺查詢到;最終,將更新數(shù)據(jù)打包成Json格式,前端以datagrid形式展示數(shù)據(jù)。
圖6 數(shù)據(jù)更新時序圖
從空間上,可以將直驅(qū)轉(zhuǎn)塔刀架遠程監(jiān)控人機交互的實現(xiàn)分為4個層次:用戶層、中間層、數(shù)據(jù)層、采集層。采集層采集采集直驅(qū)轉(zhuǎn)塔刀架的參數(shù),數(shù)據(jù)層利用SQLite輕型數(shù)據(jù)庫存儲數(shù)據(jù),中間層做數(shù)據(jù)的查詢和訪問,用戶層通過Web展示人機交互界面。如圖7所示。這樣降低了系統(tǒng)的耦合性,增加系統(tǒng)的構(gòu)件化水平,使系統(tǒng)各層之間分工明確,基礎(chǔ)框架模塊與擴展模塊之間功能定位明確,縮短開發(fā)周期,降低開發(fā)成本。同時,考慮系統(tǒng)的靈活性、可擴展性、可維護性。
圖7 人機交互空間結(jié)構(gòu)
直驅(qū)轉(zhuǎn)塔刀架最終定位精度是由齒盤決定的,粗定位精度直接由直驅(qū)電機決定。通過優(yōu)化直驅(qū)電機的控制特性,使得直驅(qū)轉(zhuǎn)塔刀架鎖緊時的粗定位角度值盡可能地接近精定位角度值,從而減小刀盤在軸向上被齒盤牽引做軸向的轉(zhuǎn)動量。這個扭矩作用在齒盤和電機軸上,會對齒盤和電機軸造成磨損,從而降低了刀架整體的使用壽命。直驅(qū)轉(zhuǎn)塔刀架在鎖緊時每個工位的角度值并不一定是整數(shù)值。如8工位的轉(zhuǎn)塔刀架的理論每個鎖緊角度值為:0°、45°、90°等,但實際上每相鄰的鎖緊角度差值不是精確的45°,為了延長刀架的使用壽命,使用在線誤差補償?shù)霓k法,通過優(yōu)化直驅(qū)電機控制特性,使得電機軸每次換刀后能夠盡可能接近鎖緊的實際角度值。
直驅(qū)轉(zhuǎn)塔刀架首次上電時,智能控制器啟動誤差校正程序,得到每個刀位鎖緊的實際角度值,誤差值為:Δ=實際鎖緊角度值-理論鎖緊角度值,該誤差角度值經(jīng)過多次讀取做平均所得,如1號刀位的鎖緊角度值如式(1)所示。
每個刀位之間的鎖緊角度誤差值如式(2)所示,每次換刀時與最優(yōu)換刀路徑算法相結(jié)合,每次計算出最優(yōu)換刀路徑后,再查找誤差補償表,最終實際要運動的角度值為:理論角度值+誤差角度值。初次給直驅(qū)轉(zhuǎn)塔刀架系統(tǒng)上電時啟用誤差自學(xué)習(xí)功能,此后在直驅(qū)轉(zhuǎn)塔刀架運行工程中,誤差實時在線補償。
基于機床智能的直驅(qū)轉(zhuǎn)塔刀架控制器,利用RaspberryPi作為硬件核心功能部件,通過與CNC信息交互,與驅(qū)動器信息交互,完成整個換刀過程工程,并利用Web實現(xiàn)了遠程監(jiān)控功能,在直驅(qū)轉(zhuǎn)塔刀架系統(tǒng)運行中充分體現(xiàn)了系統(tǒng)自我感知和自學(xué)習(xí)的功能。最終通過實際應(yīng)用驗證了直驅(qū)轉(zhuǎn)塔刀架控制器的可實施性。
[1] 鄢萍,閻春平,劉飛,等.智能機床發(fā)展現(xiàn)狀與技術(shù)體系框架[J].機械工程學(xué)報,2013,49(21):1-10.
[2] 李捷輝,應(yīng)明富.數(shù)控車床電動刀架控制系統(tǒng)的設(shè)計與實現(xiàn)[J].漳州職業(yè)技術(shù)學(xué)院學(xué)報,2010,12(4):1-4.
[3] 孫宜標(biāo),金石,王成元,等.直接驅(qū)動數(shù)控轉(zhuǎn)臺的QFT-H∞控制[J].組合機床與自動化加工技術(shù),2006,(11):48-51.
[4] 丁毅,曾珊琪,荀亮.在普通鏜床上實現(xiàn)蝸形凸輪加工的專用數(shù)控轉(zhuǎn)臺[J].西北輕工業(yè)學(xué)報,1996.
[5] Bush, Steve.ARM Linux computer will sell for just under £15 as RaspberryPi bears fruit[J].Electronics Weekly,2011,No.2478-6.
[6] 馬潮.基于PMC液壓凸輪刀塔控制系統(tǒng)的設(shè)計與故障分析[D].遼寧科技大學(xué),2013.
[7] 祁明.基于Internet的嵌入式智能控制器的研究[D].廈門大學(xué),2008.
[8] Cesare Pautasso.RESTful Web service composition with BPEL for REST[J].Data & Knowledge Engineering 68 (2009) 851-866.
[9] 陳瑋,賈宗璞.利用JSON降低XML數(shù)據(jù)冗余的研究[J].計算機應(yīng)用與軟件,2012,29(9):188-190,206.