孫建輝,陳雨晴
(浙江工業(yè)大學(xué) 機(jī)械工程學(xué)院,杭州 310000)
基于Linux的薄壁管材沖孔自動(dòng)化生產(chǎn)線設(shè)計(jì)
孫建輝,陳雨晴
(浙江工業(yè)大學(xué) 機(jī)械工程學(xué)院,杭州 310000)
為了開發(fā)一種結(jié)構(gòu)簡(jiǎn)單、控制靈活的沖壓自動(dòng)化裝置,簡(jiǎn)述了一種基于Linux下的沖孔自動(dòng)化生產(chǎn)線,用于薄壁管材的沖孔;設(shè)計(jì)了以ARM為主控制器,CPLD為協(xié)處理器的方式來作為整個(gè)生產(chǎn)系統(tǒng)的控制核心,通過控制交流伺服電機(jī)、電磁閥等執(zhí)行元件完成動(dòng)作要求;建立了氣缸驅(qū)動(dòng)系統(tǒng)和沖壓機(jī)械手,機(jī)械手通過伺服電機(jī)的驅(qū)動(dòng)完成取料和旋轉(zhuǎn),在與沖床的相互配合下完成沖孔要求;構(gòu)造了生產(chǎn)線系統(tǒng)的故障樹,利用定量分析結(jié)合定性分析的方式對(duì)故障進(jìn)行分析;整個(gè)設(shè)計(jì)以Linux操作系統(tǒng)為平臺(tái),利用跨平臺(tái)的圖形界面應(yīng)用程序Qt編寫了人機(jī)界面,采用電容式觸摸屏通過界面向操作人員發(fā)送故障提示,大大減少了設(shè)備停機(jī)時(shí)間;實(shí)驗(yàn)結(jié)果表明該系統(tǒng)完全能滿足生產(chǎn)要求,穩(wěn)定可靠,操作便捷,響應(yīng)速度快。
機(jī)械手;故障樹;CPLD;ARM;Linux
隨著嵌入式系統(tǒng)在工業(yè)生產(chǎn)領(lǐng)域的普及,建立一套高效智能簡(jiǎn)單的自動(dòng)化生產(chǎn)線系統(tǒng)是提高企業(yè)生產(chǎn)效益的必然選擇。由于數(shù)字信息技術(shù)和網(wǎng)絡(luò)技術(shù)的蓬勃發(fā)展,給沖壓加工行業(yè)帶來了一股新的生機(jī)與活力。
金屬?zèng)_壓是目前工業(yè)生產(chǎn)中生產(chǎn)率最高的一種加工方法,同時(shí)也是人工上料操作較多的一個(gè)行業(yè)。生產(chǎn)工人勞動(dòng)工資增加,人工上料經(jīng)常出現(xiàn)手指被沖斷的安全事故,這樣的后果是勞動(dòng)者安全受到威脅,企業(yè)利潤(rùn)無法提高,而國內(nèi)大型企業(yè)多采用價(jià)格高昂、自動(dòng)化程度較高的進(jìn)口裝置,小型企業(yè)多選取手動(dòng)沖壓機(jī)。手動(dòng)沖壓采用人工來進(jìn)行上下料,安全性能差,電氣控制系統(tǒng)簡(jiǎn)單,各種參數(shù)都需要手動(dòng)調(diào)整,難以保證穩(wěn)定的生產(chǎn)精度。由于沖壓加工本身屬于重型加工作業(yè),對(duì)人身安全來說也難以得到保障。目前國內(nèi)在沖壓自動(dòng)化生產(chǎn)線領(lǐng)域,多采用單片機(jī)控制的方法,這種控制方法擴(kuò)展性差,精度低,處理速度不足以滿足復(fù)雜算法的要求,且送料裝置多采用機(jī)械式凸輪傳動(dòng)機(jī)構(gòu),導(dǎo)致的結(jié)果是結(jié)構(gòu)復(fù)雜,造價(jià)高,柔性差[1]。沖壓設(shè)備多采用液壓技術(shù),功率需求極大,控制復(fù)雜且費(fèi)用很高,液壓油泄露也給整個(gè)生產(chǎn)加工過程造成了諸多不便[2]。
為了適應(yīng)沖壓自動(dòng)化生產(chǎn)的需求,為中小型企業(yè)解決沖壓生產(chǎn)成本過大及工人安全無法得到保障的問題。課題研究采用了處理速度更快的ARM9微處理器和復(fù)雜可編程邏輯器件CPLD作為控制核心,并結(jié)合了速度更快的氣缸驅(qū)動(dòng)技術(shù),優(yōu)化了機(jī)械臂的設(shè)計(jì)。操作系統(tǒng)移植了Linux2.6的內(nèi)核作為應(yīng)用程序的開發(fā)平臺(tái),使得系統(tǒng)的實(shí)時(shí)性有了很大的提高。在人機(jī)界面方面,采取1 024*600的電容式觸摸屏,通過主菜單、對(duì)話框的方式實(shí)現(xiàn)參數(shù)輸入、產(chǎn)量記錄,具有智能故障診斷功能,用消息提示框顯示故障提示和維護(hù)建議,友好的人機(jī)界面為上下位機(jī)的通訊提供了一個(gè)快捷方便的紐帶,提供了一個(gè)靈活穩(wěn)定高效的自動(dòng)化控制系統(tǒng)。
1.1 薄壁管材沖孔自動(dòng)化裝置的工作原理
薄壁管材沖孔自動(dòng)化裝置主要由機(jī)械手、絲杠傳動(dòng)機(jī)構(gòu)、電磁閥、交流伺服電機(jī)、觸摸屏、信號(hào)燈、儲(chǔ)料柜等部分組成,其結(jié)構(gòu)如圖1所示。通過滾道將管料輸送到機(jī)械手,再通過機(jī)械手將管材上料到?jīng)_床,并配合沖孔節(jié)拍旋轉(zhuǎn)管料,完成沖孔。機(jī)械手送料及旋轉(zhuǎn)均通過伺服電機(jī)驅(qū)動(dòng), 通過機(jī)械手X-Y的移動(dòng)和Z軸的旋轉(zhuǎn)來配合三爪氣缸的抓緊/放開來實(shí)現(xiàn)沖孔動(dòng)作。電磁閥分別控制機(jī)械手氣爪,送料氣缸,沖床控制氣缸,推廢料氣缸,攪拌氣缸。
圖1 薄壁管材沖孔自動(dòng)化裝置結(jié)構(gòu)示意圖
1.2 控制系統(tǒng)的總體設(shè)計(jì)方案
控制系統(tǒng)主要由ARM9主控制器,CPLD協(xié)處理器,限位開關(guān),增量式編碼器,電磁閥,驅(qū)動(dòng)器組成,其整體結(jié)構(gòu)如圖2所示。 ARM9主要負(fù)責(zé)操作系統(tǒng)的運(yùn)行、控制算法的實(shí)現(xiàn)、信息存儲(chǔ)以及多機(jī)通信,并擴(kuò)展了A/D轉(zhuǎn)換器,電容式觸摸屏等外部硬件設(shè)備。CPLD主要負(fù)責(zé)從ARM接收信息,產(chǎn)生輸出脈沖控制電機(jī),同時(shí)增量式編碼器將電機(jī)運(yùn)行時(shí)的位移和轉(zhuǎn)角的數(shù)字信號(hào)反饋給CPLD,CPLD將接收到的信息交由ARM存儲(chǔ),從而實(shí)現(xiàn)了閉環(huán)控制。CPLD通過繼電器完成對(duì)電磁閥的有效連接,從而實(shí)現(xiàn)對(duì)電磁閥的開關(guān)控制,電磁閥分別控制機(jī)械手氣爪,送料氣缸,沖床控制氣缸,推廢料氣缸,攪拌氣缸。CPLD將傳感器采集到的信息編碼加密后傳遞給ARM,ARM解碼后傳送給上位機(jī)顯示,從而實(shí)現(xiàn)了對(duì)設(shè)備運(yùn)行狀況的實(shí)時(shí)檢測(cè)。
圖2 薄壁沖孔自動(dòng)化裝置硬件結(jié)構(gòu)圖
2.1 主控模塊
系統(tǒng)采用了Cortex-A9的內(nèi)核,主頻高達(dá)1.2 GHz,集成了4 GB的FLASH存儲(chǔ),支持CAN2.0協(xié)議,擴(kuò)展了標(biāo)準(zhǔn)I2C電容屏接口。該芯片以其體積小、低功耗、低成本、高性能等優(yōu)點(diǎn)而得到廣泛應(yīng)用。系統(tǒng)在ARM開發(fā)板上移植了Linux3.0的內(nèi)核,通過USB、JTAG、UART、網(wǎng)口與PC機(jī)連接,建立了交叉開發(fā)編譯環(huán)境,方便了程序的調(diào)試和數(shù)據(jù)的傳輸[3]。采用型號(hào)為EPM1270的CPLD芯片作為協(xié)處理器,CPLD與FPGA同為PLD(Programmable Logic Device)器件,CPLD具有更加豐富的邏輯資源,由于CPLD是通過內(nèi)部電路的邏輯功能編程,而FPGA是通過改變內(nèi)部連線的分布編程,故而CPLD的運(yùn)行速度也比FPGA更快[4]。
系統(tǒng)的主控模塊主要包括運(yùn)動(dòng)系統(tǒng)的控制來完成自動(dòng)上下料和旋轉(zhuǎn)沖孔,為了獲得較高的運(yùn)動(dòng)精度,X方向、Y方向、Z方向均采用交流伺服電機(jī),CPLD通過相應(yīng)的驅(qū)動(dòng)器控制這些電機(jī),交流伺服電機(jī)通過驅(qū)動(dòng)精密滾珠絲杠完成傳動(dòng),電機(jī)每接受10 000個(gè)脈沖轉(zhuǎn)動(dòng)一圈,通過已知的滾珠絲杠螺距計(jì)算出單個(gè)脈沖的傳送距離為1 um,發(fā)現(xiàn)完全滿足精度要求。
其中對(duì)于交流伺服電機(jī)的控制采用VHDL硬件語言編寫,CPLD內(nèi)部共有4個(gè)四字節(jié)計(jì)數(shù)器,通過設(shè)置CCTRW1寫地址為0BH,使得第0~3位=1,計(jì)數(shù)器1~4硬件清零。測(cè)量電機(jī)的轉(zhuǎn)角或位移用編碼器,每個(gè)編碼器為A、B、Z三個(gè)信號(hào)輸入。當(dāng)Z脈沖為上升沿A為上升沿且B=0時(shí)對(duì)應(yīng)計(jì)數(shù)器內(nèi)容清零,當(dāng)?shù)?~7位=1時(shí),計(jì)數(shù)器1~4內(nèi)容立即清零,再將CCTRW1的第4~7位清零。在進(jìn)行讀取數(shù)據(jù)的具體操作時(shí),如讀計(jì)數(shù)器1,先讀00H,得到最低字節(jié),再讀04H~06H(公用鎖存器,在讀最低字節(jié)時(shí)高字節(jié)內(nèi)容鎖存,以同步得到所有字節(jié)內(nèi)容)得到低到高字節(jié)的全部?jī)?nèi)容。用VHDL編寫的部分計(jì)數(shù)程序如下:
PROCESS (clock, rst)
BEGIN
IF rst='1' THEN cnt<=0;
ELSIF clock' EVENT AND clock='1' THEN
IF cnt=127 THEN cnt<=0;
ELSE cnt<=cnt+1;
END if;
END IF;
END PROCESS;
2.2 采集模塊
系統(tǒng)采用CPLD對(duì)收集到的信息進(jìn)行編碼,主要有增量式編碼器的數(shù)字信號(hào)和傳感器的數(shù)字信號(hào)。ARM發(fā)送相應(yīng)的指令給CPLD,CPLD讀取后脈沖發(fā)生器產(chǎn)生脈沖,由內(nèi)部計(jì)數(shù)器進(jìn)行計(jì)數(shù),達(dá)到一定脈沖計(jì)數(shù)后驅(qū)動(dòng)控制兩臺(tái)交流電機(jī)的轉(zhuǎn)動(dòng)和方向,采用增量式編碼器用來測(cè)量電機(jī)的位移和轉(zhuǎn)角,系統(tǒng)可同時(shí)測(cè)量四個(gè)編碼器。每個(gè)編碼器為A、B、Z三個(gè)信號(hào)輸入。當(dāng)CPLD中的值可讀后,采用中斷方式通知ARM,ARM與CPLD通過雙向總線交換數(shù)據(jù)。對(duì)于傳感器采集的信號(hào),選用AD7656芯片,共有6個(gè)模擬量的輸入,由于傳感器數(shù)量眾多,不可能給每一個(gè)傳感器分配引腳,故用可編程邏輯器件CPLD對(duì)采集的信號(hào)進(jìn)行數(shù)字編碼,然后將信號(hào)傳遞到ARM的CPIO引腳并存儲(chǔ),具體的電路接口示意圖如圖3所示。
圖3 采集模塊電路接口示意圖
由示意圖可知,A/D芯片的讀寫信號(hào)WR和RD,片選信號(hào)CS,啟動(dòng)轉(zhuǎn)換信號(hào)CONVSTA均由CPLD譯碼控制,CONVSTA信號(hào)在上升沿時(shí)有效,在硬件設(shè)置模式時(shí),分別啟動(dòng)V1~V2、V3~V4、V5~V6開始進(jìn)行數(shù)據(jù)轉(zhuǎn)換。RD信號(hào)低電平有效時(shí)進(jìn)行讀操作,此時(shí)AD數(shù)據(jù)讀取有效,WR信號(hào)低電平有效時(shí)進(jìn)行寫操作,此時(shí)AD數(shù)據(jù)輸出有效。由于CPLD與AD7656的接口電平范圍不一致故選用74ALVC164245芯片進(jìn)行轉(zhuǎn)換后達(dá)到統(tǒng)一標(biāo)準(zhǔn)。CPLD將數(shù)據(jù)傳遞給ARM9管理存儲(chǔ)后,通過USB-D+和 USB-D-接口外接移動(dòng)存儲(chǔ)設(shè)備,為加工生產(chǎn)數(shù)據(jù)的大容量存儲(chǔ)提供了更簡(jiǎn)單可靠的方式。
3.1 Linux系統(tǒng)的搭建
為了更好的提高沖孔自動(dòng)化裝置系統(tǒng)的實(shí)時(shí)性和穩(wěn)定性,在ARM上移植了Linux3.0的內(nèi)核。由于Linux的開源性以及其在不同平臺(tái)之間的可移植性,使得Linux在眾多操作系統(tǒng)之中脫穎而出。搭建一個(gè)Linux系統(tǒng),首先需要下載Linux源碼并通過打補(bǔ)丁的方式使其符合ARM結(jié)構(gòu),然后對(duì)Linux進(jìn)行配置裁減,這部分工作的改寫難度較大,通常由開發(fā)商提供。在以上步驟完成后再進(jìn)行交叉編譯環(huán)境的搭建[5]。
3.2 Linux下的應(yīng)用程序
應(yīng)用程序的設(shè)計(jì)主要包括對(duì)該裝置生產(chǎn)時(shí)加工總數(shù)的計(jì)數(shù),故障信息的采集以及控制程序的應(yīng)用,采用Qt/Embedded關(guān)鍵技術(shù)來完成圖形用戶程序的開發(fā)。應(yīng)用程序模塊主要包括以下模塊:系統(tǒng)初始化模塊、控制功能模塊、數(shù)據(jù)采集模塊、顯示模塊、通訊模塊。系統(tǒng)初始化模塊主要完成對(duì)硬件的初始化和配置,控制功能模塊主要完成對(duì)機(jī)械手的旋轉(zhuǎn)、自動(dòng)上下料和沖孔節(jié)拍快慢的控制、數(shù)據(jù)采集模塊主要是對(duì)各個(gè)功能氣缸的狀態(tài)以及傳感器的數(shù)字信號(hào)采集,通訊模塊采用CAN總線通訊協(xié)議來完成上下位機(jī)的數(shù)據(jù)交換,顯示模塊主要對(duì)采集來的數(shù)據(jù)融合處理后進(jìn)行顯示和對(duì)歷史數(shù)據(jù)的查詢??刂乒δ苣K流程圖如圖4所示。
圖4 控制功能流程圖
薄壁管材的沖孔加工過程十分復(fù)雜,沖壓加工屬于重型加工作業(yè),工作臺(tái)易損耗,一旦發(fā)生故障,普通操作工人無法準(zhǔn)確快速找出故障發(fā)生原因,故采取FT(故障樹)定量分析和定量分析相結(jié)合的方法,找出主要故障,優(yōu)化設(shè)計(jì),提高可靠性。
4.1 故障樹的定性分析
對(duì)故障樹進(jìn)行定性分析的目的是為了找出導(dǎo)致頂事件發(fā)生的所有可能組合。系統(tǒng)以“沖孔自動(dòng)化裝置不能按要求來完成沖孔”為頂事件,并設(shè)定了忽略小概率故障事件(控制系統(tǒng)電路連接線斷裂或接觸不良)的邊界條件建立了故障樹,如圖5所示。故障樹基本事件意義如表1。
圖5 薄壁沖孔自動(dòng)化裝置的故障樹
A管材未推至機(jī)械手處R軟件程序運(yùn)行不穩(wěn)定B管材斜放Q硬件電路故障C過渡料斗管材互相卡位S送料氣缸損壞D過渡料斗無管材T磁性開關(guān)損壞E送料氣缸沒有正常工作U電磁閥故障F送料電機(jī)零位錯(cuò)誤V通訊故障G送料電機(jī)沒有移動(dòng)到位K送料電機(jī)故障H推廢料氣缸沒有正常工作O聯(lián)軸器打滑I旋轉(zhuǎn)電機(jī)零位錯(cuò)誤P傳感器損壞J旋轉(zhuǎn)電機(jī)沒有移動(dòng)到位
4.2 故障樹的定量分析
對(duì)故障樹進(jìn)行定量分析的目的是為了排除繁冗信息簡(jiǎn)化故障樹模型。所謂割集是指系統(tǒng)的底事件的結(jié)合,只要這其中的一個(gè)底事件發(fā)生必然導(dǎo)致頂事件的發(fā)生,而最小割集是指所有故障發(fā)生的最小子集,由于故障樹系統(tǒng)數(shù)據(jù)龐大,故引入最小割集重要度的概念,來排除不重要信息,提高故障診斷正確率[6]。故障樹的全部最小割集如下:
AA=BB+CC+DD+EE+FF=BB+A+B+C+D+
K+O+P+S+T+H+I+J+U+R+Q
通過不斷實(shí)驗(yàn)進(jìn)行概率分析判斷出關(guān)鍵重要度較高的故障事件為:送料電機(jī)故障,故采取的措施是加強(qiáng)對(duì)送料電機(jī)的潤(rùn)滑保養(yǎng)和維護(hù),同時(shí)對(duì)于傳感器采集的信號(hào)需運(yùn)用小波變換理論,排除隨機(jī)信號(hào)的干擾[7]。
在系統(tǒng)的生產(chǎn)測(cè)試中,將控制面板的鑰匙開關(guān)打到工作模
式,觸摸屏經(jīng)過開機(jī)畫面自動(dòng)進(jìn)入工作界面,如圖6所示。當(dāng)鑰匙開關(guān)打到學(xué)習(xí)模式,界面顯示各種傳感器,氣缸磁性開關(guān)的狀態(tài)如圖7所示。按下運(yùn)行按鈕,設(shè)備配合沖床開始旋轉(zhuǎn)沖孔。為測(cè)試系統(tǒng)的故障診斷功能,特意不將管料退出,此時(shí)警報(bào)聲響起,固定端出料口上方接近開關(guān)指示燈亮,界面彈出故障提示框,如圖8和圖9所示,按下確定按鈕,并按下運(yùn)行/停止按鈕,設(shè)備重新開始工作。系統(tǒng)采用了跨平臺(tái)的C++圖形用戶程序Qt作為框架,提供了應(yīng)用程序開發(fā)人員藝術(shù)性的圖形用戶界面,通過不斷的設(shè)備調(diào)試,建立了故障維護(hù)數(shù)據(jù)庫,建立起快速的故障響應(yīng)機(jī)制,一旦故障發(fā)生,能在短時(shí)間內(nèi)給一線工人提供建設(shè)性的意見。
按鈕1:工件沖孔次數(shù)的設(shè)置 按鈕2:退回距離的標(biāo)定按鈕3:加工數(shù)量的清零 按鈕4:當(dāng)前設(shè)備運(yùn)行狀況的顯示圖6 工作界面
圖7 學(xué)習(xí)界面
圖8 故障提示框 圖9 故障報(bào)警
在沖壓自動(dòng)化生產(chǎn)線領(lǐng)域,本方案提供了一套智能、高效、穩(wěn)定的生產(chǎn)系統(tǒng)。其中,ARM用來實(shí)現(xiàn)控制系統(tǒng)的數(shù)據(jù)存儲(chǔ)和傳送,CPLD用來控制上料機(jī)械手的一系列動(dòng)作,該控制系統(tǒng)還能實(shí)時(shí)記錄下設(shè)備的產(chǎn)量,大大減少了生產(chǎn)管理部門的工作量,友好的人機(jī)交互界面使得操作更加直觀方面。同時(shí),利用Linux系統(tǒng)實(shí)現(xiàn)了體積小,效率高,可靠性強(qiáng)的應(yīng)用操作,具有的智能故障診斷功能減少了不必要的設(shè)備停機(jī)時(shí)間,提高了企業(yè)生產(chǎn)效率。該設(shè)計(jì)方案已經(jīng)投入生產(chǎn)并取得了較好的效果,具有很好的應(yīng)用前景。
[1] 莊宇昀,徐 輝.沖壓線的發(fā)展[J].一重技術(shù),2005(4):20-22.
[2] 李 勇.新一代沖壓技術(shù)[J].新技術(shù)新工藝,2003(4):31-32.
[3] 張海波,陳 濤,王建立,等.基于ARM+Linux的直流伺服控制系統(tǒng)設(shè)計(jì)[J].電子技術(shù)應(yīng)用,2012,08:33-36.
[4] 徐偉業(yè),江 冰,虞湘賓.CPLD/FPGA的發(fā)展與應(yīng)用之比較[J].現(xiàn)代電子技術(shù),2007,02:4-7.
[5] 趙明鑫.Linux內(nèi)核在ARM上的裁減與移植[J].計(jì)算機(jī)與數(shù)字工程,2009,07:81-84.
[6] 朱大奇,于盛林.基于故障樹最小割集的故障診斷方法研究[J].數(shù)據(jù)采集與處理,2002,03:341-344.
[7] 郭曉靜,宋勝博.APU故障智能診斷系統(tǒng)設(shè)計(jì)[J].計(jì)算機(jī)測(cè)量與控制,2015,11:3585-3588.
Automatic Production Line of Thin-walled Tube’s Punching Based on Linux
Sun Jianhui, Chen Yuqing
(Zhejiang University of Technology, Hangzhou 310000,China)
To design a simple and flexible punching automation equipment, a automatic line based on Linux which was designed for thin-walled tube’s punching was expounded. To control servo motor and magnetic valve ,ARM as a main controller and CPLD as a coprocessor for completing the motion requirement which are core system was designed, principle figure of cylinder drive system and manipulator were established, manipulator’s feeding and rotating were driven by a servo motor. Then completed the requirements with the help of puncher. The fault tree method was designed. qualitative and quantitative analysis was used for fault analysis. Linux as a platform, human interface was built by GUI application called Qt. Capacitive touch screen offered workers tips, equipment downtime was greatly reduced. The results show that the system can fully meet the demands, fast response and convenient operation.
manipulator; fault tree; CPLD; ARM; Linux
2016-01-25;
2016-02-29。
孫建輝(1955-),男,浙江杭州人,教授級(jí)高工,碩士生導(dǎo)師,主要從事計(jì)算機(jī)控制和機(jī)電一體化、航天非標(biāo)地面測(cè)試設(shè)備研制的工作。
1671-4598(2016)07-0097-03
10.16526/j.cnki.11-4762/tp.2016.07.026
TP3 文獻(xiàn)標(biāo)識(shí)碼:A