張秋風(fēng),劉 晉
(遼寧師范大學(xué) 計(jì)算機(jī)與信息技術(shù)學(xué)院,遼寧 大連116081)
隨著大型噴繪機(jī)應(yīng)用領(lǐng)域的拓展與普及,社會(huì)對(duì)噴繪產(chǎn)品的需求量與日俱增,同時(shí)人們對(duì)噴繪產(chǎn)品質(zhì)量的要求也越來(lái)越高。優(yōu)良的噴繪機(jī)系統(tǒng)設(shè)計(jì)和噴繪機(jī)噴頭性能高低是決定噴繪產(chǎn)品的質(zhì)量和噴繪機(jī)噴繪速度的關(guān)鍵,本實(shí)驗(yàn)室引進(jìn)一種新型高DPI工業(yè)用壓電噴頭,研制出一種新型高速多噴頭彩色噴繪機(jī)。該機(jī)器與國(guó)內(nèi)外市場(chǎng)現(xiàn)有機(jī)器相比,具有高速度、高質(zhì)量、高分辨率、適用于多種噴繪材質(zhì)等優(yōu)勢(shì),特別是對(duì)大幅面紡織品的印染優(yōu)勢(shì)明顯。本文介紹了機(jī)器的總體設(shè)計(jì),主要討論在設(shè)計(jì)控制系統(tǒng)[1-4]的軟硬件過(guò)程中遇到的一些問(wèn)題,并針對(duì)這些問(wèn)題給出了較優(yōu)的解決方案。
本系統(tǒng)可以由一臺(tái)PC機(jī)控制下運(yùn)行,采用新一代工業(yè)用壓電噴繪機(jī)噴頭,每噴頭510孔,180 dpi,為了提高噴繪速度,采用分組噴頭,每組6色或者8色,共3~6組可選,支持打印1~4灰度等級(jí)的墨滴,垂直運(yùn)動(dòng)采用仿步進(jìn)電機(jī)的開(kāi)環(huán)控制伺服電機(jī),能實(shí)現(xiàn) 1、2、4、8 pass的打印。
因此,本噴繪系統(tǒng)采用獨(dú)立的運(yùn)動(dòng)控制板和可組合的數(shù)據(jù)傳輸板以及各噴頭獨(dú)立的噴頭控制板結(jié)構(gòu),方便調(diào)試、運(yùn)輸和部件更換,整體設(shè)計(jì)圖如圖1所示。
本系統(tǒng)以PC機(jī)為總控制平臺(tái),由圖像數(shù)據(jù)處理單元、機(jī)械運(yùn)動(dòng)控制單元、噴頭控制單元、噴頭和電機(jī)組五大單元組成??紤]到噴繪的高速度和高精度的客戶(hù)需求,采用一個(gè)噴頭控制單元控制一個(gè)噴頭,一個(gè)圖像數(shù)據(jù)處理單元分發(fā)一組噴頭數(shù)據(jù),一個(gè)機(jī)械控制單元協(xié)調(diào)X軸水平運(yùn)動(dòng)和Y軸垂直運(yùn)動(dòng)的控制。PC機(jī)總控制程序統(tǒng)籌數(shù)據(jù)的分發(fā)和總體運(yùn)動(dòng)的控制,實(shí)現(xiàn)了噴頭執(zhí)行噴繪任務(wù)、圖像數(shù)據(jù)傳輸和機(jī)械運(yùn)動(dòng)控制的并行化。
噴頭控制單元的邏輯結(jié)構(gòu)如圖2所示,PC機(jī)控制平臺(tái)根據(jù)所需載入的圖像數(shù)據(jù)設(shè)定好噴繪參數(shù),通過(guò)USB總線把對(duì)應(yīng)的圖像數(shù)據(jù)下載到每個(gè)圖像數(shù)據(jù)處理單元,圖像處理單元由FPGA和32位MCU對(duì)噴繪數(shù)據(jù)進(jìn)行處理,通過(guò)數(shù)據(jù)分流傳輸接口與噴頭控制單元進(jìn)行圖像數(shù)據(jù)傳輸,再經(jīng)過(guò)噴頭控制單元內(nèi)CPLD進(jìn)行信號(hào)分配解碼與同步,將數(shù)據(jù)通過(guò)噴頭排線傳輸?shù)絿婎^。
然而,除了上述數(shù)據(jù)信號(hào),噴頭仍需要高壓驅(qū)動(dòng)才能執(zhí)行噴繪任務(wù)。由于噴頭工業(yè)生產(chǎn)工藝的問(wèn)題,系統(tǒng)所采用的噴頭的墨水腔容積總存在微小差別,即每個(gè)噴頭的容積電壓參數(shù)值是不同的,所以不能靜態(tài)寫(xiě)入程序中。針對(duì)這個(gè)問(wèn)題,系統(tǒng)解決方案是利用USB總線將參數(shù)由PC機(jī)控制窗口寫(xiě)入圖像數(shù)據(jù)處理單元,再由該單元通過(guò)I2C總線動(dòng)態(tài)加載入噴頭控制單元。經(jīng)過(guò)測(cè)試,該方案能很好地克服這一工藝缺陷,而且在更換噴頭時(shí)可以方便地對(duì)容積電壓參數(shù)進(jìn)行調(diào)整。
此外,由于噴頭內(nèi)部所盛墨水的溫度不同,系統(tǒng)需要實(shí)時(shí)調(diào)整當(dāng)前噴頭的驅(qū)動(dòng)電壓以實(shí)現(xiàn)噴頭所噴出的墨點(diǎn)大小一致,提高噴繪產(chǎn)品的視覺(jué)效果。本系統(tǒng)解決這個(gè)問(wèn)題的方法是利用噴頭內(nèi)置的溫度傳感器對(duì)噴頭內(nèi)部所盛墨水的溫度進(jìn)行溫度采樣,并將采樣電壓輸入到噴頭控制單元的8位MCU的10位A/D通道,MCU通過(guò)A/D轉(zhuǎn)換器將采樣信號(hào)轉(zhuǎn)化為當(dāng)前的墨水溫度值,驅(qū)動(dòng)程序則通過(guò)查找事先存儲(chǔ)的墨水溫度與驅(qū)動(dòng)電壓輸出特性對(duì)應(yīng)表,即T-V曲線,查找出應(yīng)該輸出的電壓值,最后通過(guò)PWM脈寬調(diào)制加載的高電壓,輸出對(duì)應(yīng)墨水溫度的驅(qū)動(dòng)電壓。
機(jī)械控制單元協(xié)調(diào)X軸水平運(yùn)動(dòng)和Y軸垂直運(yùn)動(dòng)的控制,即媒體拖動(dòng)機(jī)構(gòu)運(yùn)動(dòng)控制與噴頭運(yùn)動(dòng)控制[5-6]。
媒體拖動(dòng)機(jī)構(gòu)運(yùn)動(dòng)是通過(guò)電機(jī)來(lái)控制齒輪滾軸轉(zhuǎn)動(dòng),從而帶動(dòng)布匹或者紙張運(yùn)動(dòng)進(jìn)行批量噴繪生產(chǎn)。由于噴繪機(jī)噴頭的寬度和數(shù)目是不變的,噴頭在單位時(shí)間內(nèi)的噴繪任務(wù)也是不變的,所以媒體拖動(dòng)機(jī)構(gòu)的運(yùn)動(dòng)步長(zhǎng)位移是固定的。但是測(cè)試的過(guò)程中由于滾軸的力矩和質(zhì)量過(guò)大,采用較高的勻速運(yùn)動(dòng)控制時(shí)產(chǎn)生了較大的慣性,使步長(zhǎng)位移產(chǎn)生了過(guò)量現(xiàn)象。為了克服這一缺陷,這里采用了通過(guò)調(diào)節(jié)步進(jìn)電機(jī)驅(qū)動(dòng)波形的頻率來(lái)使?jié)L軸進(jìn)行階段性的變速運(yùn)動(dòng),應(yīng)在運(yùn)動(dòng)末尾階段設(shè)定一個(gè)減速階段,從而減少慣性對(duì)位移的影響。
噴頭的運(yùn)動(dòng)控制采用光柵尺位移傳感器進(jìn)行直線位移檢測(cè),通過(guò)接收來(lái)自光柵的差分脈沖編碼信號(hào)與機(jī)械原點(diǎn)信號(hào)來(lái)產(chǎn)生當(dāng)前噴頭小車(chē)距離原點(diǎn)的位置,并將其與噴繪的起始位置和結(jié)束位置進(jìn)行比較,得出噴繪區(qū)間信號(hào),通知上位機(jī)進(jìn)行控制。其中光柵正交脈沖解碼模塊,采用分辨率為180 dpi的光柵尺,利用計(jì)數(shù)脈沖對(duì)兩組信號(hào)的前后沿都進(jìn)行檢測(cè)鎖存,利用第一次的鎖存結(jié)果與第二次的鎖存結(jié)果進(jìn)行非運(yùn)算就能保證產(chǎn)生的前后沿信號(hào)都是標(biāo)準(zhǔn)的一個(gè)時(shí)鐘周期,進(jìn)而可以獲得720 dpi的計(jì)數(shù)脈沖、位置計(jì)數(shù)及方向信號(hào)。位置計(jì)數(shù)用于計(jì)算點(diǎn)火范圍,計(jì)數(shù)脈沖和方向信號(hào)用于產(chǎn)生點(diǎn)火信號(hào)和雙向回差相位校正。因?yàn)橐捎帽容^多的比較器,因此表示位置的數(shù)據(jù)位要仔細(xì)選擇。位置計(jì)數(shù)器的位數(shù)選擇計(jì)算如下,畫(huà)面采用720 dpi定位,因此每英寸有720個(gè)計(jì)數(shù)值,而噴頭小車(chē)行走的有效行程為5 m,即197英寸,使用的計(jì)數(shù)值為 197×720=141 840=22A10H,需占用18 bit,考慮可能出現(xiàn)小車(chē)過(guò)沖原點(diǎn)的情況,即位置可能出現(xiàn)負(fù)數(shù),因此采用19 bit比較合適,最高位僅用于判斷計(jì)算的符號(hào),而各個(gè)寄存器都采用18 bit來(lái)保存數(shù)據(jù)。
在設(shè)計(jì)噴頭驅(qū)動(dòng)板的過(guò)程中,由于T-V曲線表的數(shù)據(jù)量過(guò)于龐大,(從-20℃~+90℃,設(shè)計(jì)精度要求為0.1),如果直接存儲(chǔ)這些數(shù)據(jù)將耗費(fèi)巨大的存儲(chǔ)空間,那么如何基于上述硬件設(shè)計(jì)在保證噴繪實(shí)時(shí)性和節(jié)省存儲(chǔ)空間的前提下處理這些數(shù)據(jù)是一個(gè)較為棘手的問(wèn)題,下面給出兩種設(shè)計(jì)方案。
第一種方案是利用多項(xiàng)式對(duì)T-V曲線進(jìn)行擬合。如果采用這種方案,首先要將計(jì)算好的多項(xiàng)式V=f(T)的相關(guān)參數(shù)事先存入驅(qū)動(dòng)程序,這樣極大地節(jié)省了存儲(chǔ)空間,因?yàn)樾枰鎯?chǔ)的僅僅是多項(xiàng)式的若干常數(shù)項(xiàng)。當(dāng)MCU接收到溫度采樣數(shù)據(jù)時(shí),直接將數(shù)據(jù)代入實(shí)現(xiàn)存儲(chǔ)的多項(xiàng)式內(nèi)進(jìn)行計(jì)算,然后將計(jì)算結(jié)果進(jìn)行輸出。但是經(jīng)過(guò)計(jì)算,該項(xiàng)目的這組數(shù)據(jù)對(duì)應(yīng)的多項(xiàng)式次冪數(shù)高的不可容忍,在進(jìn)行數(shù)據(jù)計(jì)算時(shí),產(chǎn)生大量的浮點(diǎn)數(shù)乘法運(yùn)算,極大地增加了MCU的負(fù)擔(dān),實(shí)時(shí)性差。
第二種方案是利用最小二乘法曲線擬合對(duì)T-V曲線進(jìn)行逼近。該方案在精度保證的情況下,利用最小二乘法對(duì)曲線進(jìn)行動(dòng)態(tài)劃分,將T-V曲線劃分成若干條單調(diào)的直線,因此每條直線只需存儲(chǔ)對(duì)應(yīng)的斜率值和常數(shù)項(xiàng)兩個(gè)參數(shù)即可,在進(jìn)行數(shù)據(jù)還原時(shí)只需進(jìn)行一次乘法運(yùn)算和一次加法運(yùn)算。在測(cè)試中,該方案實(shí)際的運(yùn)行達(dá)到了項(xiàng)目的指標(biāo),滿足實(shí)時(shí)性與存儲(chǔ)空間的要求,被最終采用。
綜上,實(shí)時(shí)性最優(yōu)的方案是直接存儲(chǔ)T-V參數(shù)表,這樣根據(jù)讀入的溫度數(shù)據(jù)直接查表即可,無(wú)需進(jìn)行計(jì)算,但是這樣極大地浪費(fèi)了MCU的存儲(chǔ)空間,但在存儲(chǔ)空間允許或者是參數(shù)表比較小的情況下是可以采用的。而耗費(fèi)存儲(chǔ)量最小的方案是利用多項(xiàng)式對(duì)T-V曲線進(jìn)行擬合,通過(guò)存儲(chǔ)多項(xiàng)式參數(shù)來(lái)實(shí)現(xiàn)T-V的數(shù)據(jù)還原,此方案在多項(xiàng)式次冪數(shù)低、實(shí)時(shí)性要求不高的情況下是可以采用的。
本系統(tǒng)的噴頭控制由8位MCU和CPLD協(xié)調(diào)完成,MCU負(fù)責(zé)驅(qū)動(dòng)電壓的輸出控制,CPLD則主要負(fù)責(zé)像素?cái)?shù)據(jù)的配置。
MCU主要包含LED顯示與按鍵控制、A/D轉(zhuǎn)換、PWM輸出、Flash自編程、定時(shí)器中斷處理等模塊,實(shí)現(xiàn)對(duì)噴頭驅(qū)動(dòng)電壓的控制。
CPLD則主要負(fù)責(zé)噴頭所需時(shí)鐘信號(hào)的產(chǎn)生、配置數(shù)據(jù)和像素?cái)?shù)據(jù)的編碼,驅(qū)動(dòng)IC溫度檢測(cè)及報(bào)警信號(hào)發(fā)出,驅(qū)動(dòng)電壓輸出控制等功能。
MCU驅(qū)動(dòng)程序流程如圖3所示,噴頭控制板上電后,MCU首先初始化各寄存器,并開(kāi)始與上位機(jī)進(jìn)行通信,判斷是否需要重新設(shè)定相關(guān)參數(shù),如果需要?jiǎng)t接收參數(shù),否則直接由指定Flash地址讀出相關(guān)參數(shù),接著采集當(dāng)前墨水溫度,并將采集結(jié)果代入T-V曲線,計(jì)算出當(dāng)前應(yīng)輸出的驅(qū)動(dòng)電壓。此時(shí)如果接收到圖像處理單元的噴頭數(shù)據(jù)配置完成信號(hào)并且噴頭驅(qū)動(dòng)IC溫度檢測(cè)正常,則開(kāi)始對(duì)高壓進(jìn)行脈寬調(diào)制并輸出驅(qū)動(dòng)電壓,否則繼續(xù)實(shí)時(shí)采集當(dāng)前墨水溫度和計(jì)算當(dāng)前應(yīng)輸出的驅(qū)動(dòng)電壓。
圖3 MCU驅(qū)動(dòng)程序流程
本噴頭系統(tǒng)利用MCU和CPLD在數(shù)字信號(hào)處理方面各自的優(yōu)勢(shì)并行工作,能高效地完成大數(shù)據(jù)量的傳輸和計(jì)算任務(wù),滿足了大型噴繪機(jī)對(duì)高速高精度的要求,提高了工作效率。
本噴繪機(jī)經(jīng)測(cè)試,達(dá)到了客戶(hù)對(duì)噴繪效果和速度的要求。打印幅寬可以達(dá)到3.2 m,水平運(yùn)動(dòng)可以達(dá)到720 dpi的分辨率,點(diǎn)火頻率可以達(dá)到 14 kHz以上,具有外吐功能,能在噴頭閑置時(shí)進(jìn)行周期性吐墨,避免了噴頭堵塞。在國(guó)際市場(chǎng)上處于領(lǐng)先水平。但是由于利用USB總線進(jìn)行像素?cái)?shù)據(jù)的傳輸,在噴繪高清晰度圖像時(shí)像素?cái)?shù)據(jù)傳輸速度相比噴頭的吞吐速度慢,所以如果有一種更高速的數(shù)據(jù)傳輸通道來(lái)代替USB進(jìn)行數(shù)據(jù)傳輸,則有進(jìn)一步提升噴繪效率的空間。
[1]楊暉,張鳳言.大規(guī)??删幊踢壿嬈骷c數(shù)字系統(tǒng)設(shè)計(jì)[M].北京:北京航空航天大學(xué)出版社,2001.
[2]VAHID F.嵌入式系統(tǒng)設(shè)計(jì)[M].駱麗,譯.北京:北京航空航天大學(xué)出版社,2004.
[3]豬飼國(guó)夫,本多中二.數(shù)字系統(tǒng)設(shè)計(jì)[M].徐雅珍,譯.北京:科學(xué)出版社,2004.
[4]LABROSSE J J.嵌入式系統(tǒng)構(gòu)件[M].袁勤勇,譯.北京:機(jī)械工業(yè)出版社,2003.
[5]湯蘊(yùn)繆,史乃.電機(jī)學(xué)[M].北京:機(jī)械工業(yè)出版社,2001.
[6]李鐵才,杜坤.電機(jī)控制技術(shù)[M].哈爾濱:哈爾濱工業(yè)大學(xué)出版社,2000.