高德洋 侯立剛 張志遠(yuǎn)
摘 要: 提出一種基于FPGA的噴墨打印機(jī)控制系統(tǒng),使用Altera公司的FPGA芯片EP1C6Q240C8作為控制核心,把噴墨打印機(jī)分為兩部分研究,控制噴墨打印機(jī)噴墨的打印頭與控制噴墨打印機(jī)走紙的步進(jìn)電機(jī),實(shí)現(xiàn)噴墨打印機(jī)打印頭的噴墨與步進(jìn)電機(jī)的走紙運(yùn)動(dòng)的聯(lián)合控制。實(shí)驗(yàn)結(jié)果表明,該系統(tǒng)不但能實(shí)現(xiàn)對噴墨打印機(jī)的高精度控制,并且具有操作簡單、可升級性強(qiáng)等特點(diǎn)。
關(guān)鍵詞: FPGA; 噴墨打印機(jī); 打印頭; 步進(jìn)電機(jī)
中圖分類號: TN709?34 文獻(xiàn)標(biāo)識碼: A 文章編號: 1004?373X(2015)18?0064?04
Abstract: A FPGA?based control system of inkjet printer is proposed, which takes FPGA chip EP1C6Q240C8 of Altera Corporation as the control core. The inkjet printer is divided into the printing head and the stepping motor to research. The former is used to control the inkjet of inkjet printer, and the latter is used to control the paper feeding of inkjet printer. The combined control of the two parts was realized. The experimental results show that the system can realize high precision control of the inkjet printer, and has the characteristics of easy operation and better upgradability.
Keywords: FPGA; inkjet printer; printing head; stepping motor
噴墨打印機(jī)摒棄了原始打印機(jī)的擊打的工作方式,采用更為先進(jìn)的微壓控制技術(shù)與氣泡噴墨控制技術(shù),其無論在體積上、可操作性上、打印噪音的控制方面,較原始的打印機(jī)都有很大的突破,使用專用紙張時(shí)可以打印出與照片相媲美的圖片。所以,研發(fā)噴墨打印機(jī)的控制系統(tǒng),是制造自主知識產(chǎn)權(quán)的噴墨打印機(jī)的基礎(chǔ),也是制造以噴墨打印機(jī)作為輸出部件的設(shè)備的重要基礎(chǔ)。
現(xiàn)場可編程門陣列(Field Programmable Gate Array,F(xiàn)PGA)是在PAI,GAL等邏輯器件的基礎(chǔ)上發(fā)展起來的。由于它具有集成度高、速度快、開發(fā)周期短、費(fèi)用低、用戶可定義功能及可重復(fù)編程和擦寫等許多優(yōu)點(diǎn),其應(yīng)用領(lǐng)域不斷擴(kuò)大。這些器件的靈活性和通用性使它們成為了研制和開發(fā)復(fù)雜數(shù)字系統(tǒng)的理想選擇[1]。
在國內(nèi),對于噴墨打印機(jī)的打印頭與電機(jī)聯(lián)合控制的研究相對較少,而且大多數(shù)的控制核心芯片采用單片機(jī),其速度、精度、開發(fā)周期、可操作性、可升級性等遠(yuǎn)不如FPGA,因此本文提出了一種基于FPGA的噴墨打印機(jī)控制系統(tǒng),并且同時(shí)實(shí)現(xiàn)噴墨打印機(jī)的噴墨與走紙運(yùn)動(dòng)。
1 系統(tǒng)整體設(shè)計(jì)
如圖1所示,本文將噴墨打印機(jī)的控制系統(tǒng)分為控制噴墨打印機(jī)噴墨的打印頭與控制噴墨打印機(jī)走紙的步進(jìn)電機(jī),在FPGA的控制下,實(shí)現(xiàn)對噴墨打印機(jī)的打印頭的噴墨與步進(jìn)電機(jī)的機(jī)械運(yùn)動(dòng)的控制。噴墨打印機(jī)的工作共有3種模式:FPGA控制打印頭噴墨;FPGA控制步進(jìn)電機(jī)運(yùn)動(dòng);FPGA對打印頭和步進(jìn)電機(jī)的聯(lián)合控制。
1.1 FPGA控制打印頭噴墨
1.1.1 打印頭
噴墨技術(shù)主要分為微電壓控制技術(shù)與氣泡噴墨打印技術(shù),本文采用的打印機(jī)頭為氣泡噴墨打印頭,特點(diǎn)是打印頭和墨盒集成在一起,噴頭上集成噴嘴數(shù)量比微電壓控制技術(shù)噴頭上的噴嘴要多得多,噴嘴數(shù)量排列多,打印每一行的寬度也就寬,從而完成一頁內(nèi)容的時(shí)間就會短。因此氣泡噴墨打印頭在打印速度上要比微電壓控制打印頭快,對其進(jìn)行控制系統(tǒng)的研究與搭建有重要的意義。
1.1.2 打印頭的控制信號要求
打印頭中共有7個(gè)主要控制信號[2] S1~S6,K,其中S4,S5,S6是需要差分的信號:
S1:使能信號EN,3.3 V TTL電平,低電平有效;
S2:輔助信號A, 3.3 V TTL電平,高電平有效;
S3:輔助信號B,3.3 V TTL電平,高電平有效;
S4:+(LVDS+ 信號高);
S4:-(LVDS- 信號低);
S5:+(LVDS+);
S5:-(LVDS-);
S6:+(LVDS+);
S6:-(LVDS-);
K:GND。
其中:使能信號S1為噴頭的起始信號;S2,S3為輔助信號,分別對應(yīng)數(shù)據(jù)信號S4、S5,S4比S2遲4個(gè)時(shí)鐘周期,S5比S3遲4個(gè)時(shí)鐘周期;S6為時(shí)鐘信號,要求頻率為28.5 MHz;K為GND信號,需要連接1 kΩ電阻并接地。
當(dāng)滿足打印頭控制信號要求的前提下,數(shù)據(jù)信號S4,S5在輔助信號S2,S3有效后的528個(gè)周期里為低電平的部分,打印頭進(jìn)入工作狀態(tài)[3]。
1.1.3 FPGA控制打印頭噴墨的工作原理
如圖2所示,采用氣泡噴墨打印頭驅(qū)動(dòng)板,其主要由Altera公司的FPGA芯片EQ1C6T144C8作為核心控制,AS芯片作為邏輯儲存,一個(gè)AM26LV31I差分芯片和一個(gè)LVC14A信號傳輸芯片作為整個(gè)板子的輸入的接收接口,一個(gè)AM26LV32I差分芯片和一個(gè)LVC14A信號傳輸芯片作為整個(gè)板子的輸出接口、打印頭的輸入接口[4]。
氣泡噴墨打印頭驅(qū)動(dòng)板需要的信號即為1.1.2節(jié)中提到的S1~S6,K信號,其中S4,S5作為輸入信號來自于FPGA開發(fā)板中的EP1C6Q240C8芯片,S1,S2,S3,S6,K信號的邏輯通過USB Blaster下載到AS芯片中。
FPGA上的轉(zhuǎn)接板是由一個(gè)AM26LV32I差分芯片和一個(gè)LVC14A信號傳輸芯片組成,其的作用是與打印頭驅(qū)動(dòng)板實(shí)現(xiàn)接口對接,使FPGA開發(fā)板中的EP1C6Q240C8芯片把驅(qū)動(dòng)信號發(fā)送到打印頭驅(qū)動(dòng)板。其PCB原理圖如圖3所示。
FPGA開發(fā)板的EP1C6Q240C8芯片主要輸出信號共有4個(gè):cs_n,sck,mosi_s4,mosi_s5。其中:cs_n是整個(gè)系統(tǒng)的使能信號,低有效,當(dāng)其有效時(shí),整個(gè)系統(tǒng)開始工作;sck是氣泡噴墨打印頭驅(qū)動(dòng)板的工作時(shí)鐘信號,由于FPGA開發(fā)板提供的時(shí)鐘為50 MHz,不滿足氣泡噴墨打印頭驅(qū)動(dòng)板的時(shí)鐘工作要求,因此其由開發(fā)板的FPGA芯片EP1C6Q240C8調(diào)用IP核鎖相環(huán)分倍頻后得到;cs_n和sck這2個(gè)信號由FPGA開發(fā)板經(jīng)過轉(zhuǎn)接板的信號傳輸芯片LVC14A發(fā)送給氣泡噴墨打印頭驅(qū)動(dòng)板的相對應(yīng)的LVC14A芯片,再經(jīng)過驅(qū)動(dòng)板上的FPGA芯片EQLC6T144C8發(fā)送給打印頭的接收端相對應(yīng)的芯片LVC14A;
mosi_s4,mosi_s5即為1.1.2節(jié)中所描述的打印頭噴墨的數(shù)據(jù)信號S4,S5,這2個(gè)信號由開發(fā)板的FPGA芯片EP1C6Q240C8經(jīng)過轉(zhuǎn)接板上的AM26LV32I芯片發(fā)送給打印頭驅(qū)動(dòng)板的AM26LV31I芯片,在氣泡噴墨打印頭驅(qū)動(dòng)板的FPGA芯片EP1C6T144C8中經(jīng)過移位寄存器后發(fā)送給打印頭接收端的相對應(yīng)芯片AM26LV32I。
1.2 FPGA控制步進(jìn)電機(jī)運(yùn)動(dòng)
1.2.1 FPGA控制步進(jìn)電機(jī)運(yùn)動(dòng)的工作原理
如圖4所示,步進(jìn)電機(jī)一般包括PUL,DR,F(xiàn)REE這3個(gè)主要輸入控制信號和2個(gè)碼盤輸出信號。其中,PUL是步進(jìn)電機(jī)運(yùn)動(dòng)需要的脈沖信號,其不僅決定了電機(jī)是否轉(zhuǎn)動(dòng),而且其寬度也決定了電機(jī)轉(zhuǎn)動(dòng)的速度,其在不超過驅(qū)動(dòng)器可接受的脈沖頻率和電機(jī)響應(yīng)頻率脈沖的前提下越寬電機(jī)轉(zhuǎn)動(dòng)的速度越慢,反之越快[5];DR是步進(jìn)電機(jī)的方向信號,其確定步進(jìn)電機(jī)的轉(zhuǎn)動(dòng)方向;FREE是步進(jìn)電機(jī)的脫機(jī)信號,當(dāng)脫機(jī)信號FREE為低電平時(shí),驅(qū)動(dòng)器輸出到電機(jī)的電流被切斷,電機(jī)轉(zhuǎn)子處于自由狀態(tài)(脫機(jī)狀態(tài))。如果在驅(qū)動(dòng)器不斷電的情況下要求直接轉(zhuǎn)動(dòng)電機(jī)軸(手動(dòng)方式),就可以將FREE信號置低,使電機(jī)脫機(jī),進(jìn)行手動(dòng)操作或調(diào)節(jié)。
碼盤經(jīng)常以轉(zhuǎn)速傳感器的形式出現(xiàn),其不但能檢測電機(jī)的轉(zhuǎn)動(dòng)速度,也能有效地對電機(jī)定位;碼盤一般設(shè)在電機(jī)的一端,使電機(jī)和碼盤同步轉(zhuǎn)動(dòng),這樣便可以通過接收到碼盤轉(zhuǎn)動(dòng)時(shí)所產(chǎn)生的2個(gè)脈沖信號來定位電機(jī)。
FPGA作為步進(jìn)電機(jī)的信號源,其能提供較穩(wěn)定的控制信號,但由于FPGA的標(biāo)準(zhǔn)電平為3.3 V?LVTTL,而步進(jìn)電機(jī)的驅(qū)動(dòng)電平為5 V,因此,需要在FPGA與電機(jī)驅(qū)動(dòng)板、FPGA與碼盤間加入電平轉(zhuǎn)換芯片以保證電機(jī)的正常驅(qū)動(dòng)與碼盤的正常反饋[6]。
1.2.2 步進(jìn)電機(jī)的精度的確認(rèn)
碼盤的兩個(gè)輸出信號SignalA,SignalB作為電機(jī)的定位信號,當(dāng)電機(jī)轉(zhuǎn)動(dòng)時(shí),碼盤向FPGA發(fā)送SignalA,SignalB,其信號為相位相差90°的脈沖方波信號[7],如圖5所示。
在FPGA內(nèi)部把SignalA,SignalB信號的異或作為電機(jī)的定位信號,利用計(jì)數(shù)器與數(shù)碼管直觀的定位電機(jī)的實(shí)際位移[8]。由于電機(jī)帶動(dòng)打印機(jī)的走紙會存在一定的機(jī)械抖動(dòng)誤差;因此SignalA,SignalB會產(chǎn)生一些極小的脈沖誤差信號,會影響電機(jī)的定位精度;因此需要對碼盤的輸出信號進(jìn)行簡單的信號濾波處理。
高頻率時(shí)鐘對低頻率信號的采樣處理即可較好地完成濾波,由于電機(jī)的脈沖頻率約為1 kHz,碼盤因與其保持同步運(yùn)動(dòng),所以其輸出的2個(gè)定位信號SignalA,SignalB的頻率也為1 kHz,因此用相對高頻50 MHz的時(shí)鐘分別采樣相對低頻1 kHz的信號SignalA,SignalB,使兩信號通過20 b的移位寄存器,當(dāng)在移位寄存器中的SignalA,SignalB 20 b均為1或0的時(shí)候輸出1或0,否則不輸出并繼續(xù)移位。對同樣距離進(jìn)行定位測試,并通過數(shù)碼管觀察其結(jié)果,電機(jī)位移精度如表1所示。
表1 電機(jī)位移精度確認(rèn)
如表1所示,在同樣的距離下,當(dāng)碼盤信號沒有經(jīng)過濾波處理時(shí),電機(jī)的定位位移相對較大,相同速度下每一次的定位也不夠準(zhǔn)確,而且由于電機(jī)轉(zhuǎn)動(dòng)的越快,其產(chǎn)生的脈沖誤差越多,因此未濾波的時(shí)候,電機(jī)的轉(zhuǎn)動(dòng)速度嚴(yán)重影響電機(jī)的定位精度;當(dāng)碼盤信號經(jīng)過濾波處理后,電機(jī)的位移明顯減小,而且電機(jī)的轉(zhuǎn)動(dòng)速度不再影響電機(jī)的定位精度,定位效果準(zhǔn)確。
1.3 FPGA對打印頭和步進(jìn)電機(jī)的聯(lián)合控制
1.3.1 FPGA對打印頭和步進(jìn)電機(jī)聯(lián)合控制的工作原理
系統(tǒng)分為4種狀態(tài):空閑狀態(tài);走紙狀態(tài);噴墨狀態(tài);噴墨走紙狀態(tài),如圖6所示[9]。
1.3.2 FPGA對打印頭和步進(jìn)電機(jī)聯(lián)合控制的quartus
上的實(shí)現(xiàn)[10]
圖7中左邊模塊為數(shù)碼管顯示模塊,右邊模塊為電機(jī)、打印機(jī)的頂層模塊。在FPGA中設(shè)置一個(gè)工作控制輸入信號spray_ctrlin,一個(gè)FREE控制輸入信號FREE_ctrlin,當(dāng)FREE_ctrlin生效時(shí),電機(jī)進(jìn)入脫機(jī)狀態(tài);當(dāng)spray_ctrlin生效時(shí)FPGA產(chǎn)生PUL、DR信號并發(fā)送給電機(jī),系統(tǒng)進(jìn)入走紙狀態(tài),并將電機(jī)碼盤的2個(gè)輸出信號發(fā)送給FPGA,將經(jīng)過濾波后的定位信號作為數(shù)碼管的輸入并對其計(jì)數(shù),將計(jì)得的數(shù)作為電機(jī)運(yùn)動(dòng)的實(shí)際位移,再根據(jù)實(shí)際位移來觸發(fā)打印頭與電機(jī)內(nèi)部的噴墨使能信號,當(dāng)噴墨信號有效時(shí)打印頭進(jìn)入噴墨狀態(tài),整體系統(tǒng)進(jìn)入噴墨走紙狀態(tài), 6位的7段數(shù)碼管上也會實(shí)時(shí)顯示出電機(jī)的實(shí)際位移。
2 實(shí)驗(yàn)結(jié)果與硬件實(shí)際連接
2.1 打印頭與電機(jī)聯(lián)合控制結(jié)果
圖8為電機(jī)1先左右運(yùn)動(dòng)實(shí)現(xiàn)x軸走紙,并在指定好的位置實(shí)現(xiàn)打印頭的單色噴墨,當(dāng)走紙并噴墨完成第一行后,電機(jī)2上下運(yùn)動(dòng)實(shí)現(xiàn)y軸走紙,隨后逆向重復(fù)一次x軸走紙單色噴墨。
圖9為電機(jī)1、電機(jī)2同時(shí)運(yùn)動(dòng)實(shí)現(xiàn)x,y軸同時(shí)走紙,并在指定好的位置實(shí)現(xiàn)打印頭的雙色噴墨。
2.2 硬件實(shí)際連接
硬件實(shí)際連接如圖10~圖12所示。
3 結(jié) 語
本文通過對當(dāng)前噴墨技術(shù)、打印技術(shù)的研究,在前人的理論基礎(chǔ)上再創(chuàng)新,提出了對噴墨打印機(jī)的噴墨與電機(jī)的聯(lián)合控制,在FPGA平臺下搭建了噴墨打印機(jī)的控制系統(tǒng)。實(shí)驗(yàn)結(jié)果表明,該系統(tǒng)能夠精確的實(shí)現(xiàn)對打印頭的噴墨控制以及電機(jī)的走紙控制,且其操作簡單,可升級性強(qiáng)。這對制造自主知識產(chǎn)權(quán)的噴墨打印機(jī)提供了堅(jiān)實(shí)的基礎(chǔ),對當(dāng)下熱門的以噴墨打印機(jī)作為輸出部件的設(shè)備制造提供了更多的可能。
參考文獻(xiàn)
[1] 董盈鈞,孔明,馬忠祥.基于FPGA的打印機(jī)走紙控制系統(tǒng)[J].微型機(jī)與應(yīng)用,2010,29(21):94?95.
[2] 馬玉春,陸華.基于C語言的壓電式噴墨打印機(jī)驅(qū)動(dòng)程序設(shè)計(jì)[J].瓊州學(xué)院學(xué)報(bào),2011,18(2):11?12.
[3] 王彥,田丹丹,陳瓊,等.基于FPGA的微型打印機(jī)驅(qū)動(dòng)電路和程序設(shè)計(jì)[J].南華大學(xué)學(xué)報(bào),2004,18(3):79?82.
[4] 廖強(qiáng),文榮,夏洋,等.基于SoPC的寬幅噴墨打印機(jī)控制系統(tǒng)[J].計(jì)算機(jī)工程,2009,35(19):260?261.
[5] 陳興文,劉燕.基于FPGA實(shí)現(xiàn)步進(jìn)電機(jī)脈沖信號控制器設(shè)計(jì)[J].機(jī)械設(shè)計(jì)與制造,2006(2):86?87.
[6] 龐淑娟,倪受東.基于FPGA的步進(jìn)電機(jī)速度控制器的設(shè)計(jì)[J].新技術(shù)新工藝,2008(4):32?33.
[7] 劉加峰,蘆勤,郁蘇娟,等.步進(jìn)電機(jī)控制電路一種基于FPGA的實(shí)現(xiàn)[J].微計(jì)算機(jī)應(yīng)用,2007,28(8):864?865.
[8] 安立宇,趙曙光,杜丘.基于FPGA的兩相步進(jìn)電機(jī)細(xì)分驅(qū)動(dòng)器設(shè)計(jì)[J].儀表技術(shù),2009(1):31?32.
[9] 粘朋雷,李國林,毛維平,等.基于FPGA與VHDL的微型打印機(jī)的驅(qū)動(dòng)設(shè)計(jì)[J].現(xiàn)代電子技術(shù),2010,33(24):72?73.
[10] 周潤景,圖雅,張麗敏.基于QuartusⅡ的FPGA/CPLD[M].北京:電子工業(yè)出版社,2007.