?

基于FPGA的噴墨打印機控制系統

2015-09-16 22:27高德洋侯立剛張志遠
現代電子技術 2015年18期
關鍵詞:步進電機

高德洋 侯立剛 張志遠

摘 要: 提出一種基于FPGA的噴墨打印機控制系統,使用Altera公司的FPGA芯片EP1C6Q240C8作為控制核心,把噴墨打印機分為兩部分研究,控制噴墨打印機噴墨的打印頭與控制噴墨打印機走紙的步進電機,實現噴墨打印機打印頭的噴墨與步進電機的走紙運動的聯合控制。實驗結果表明,該系統不但能實現對噴墨打印機的高精度控制,并且具有操作簡單、可升級性強等特點。

關鍵詞: FPGA; 噴墨打印機; 打印頭; 步進電機

中圖分類號: TN709?34 文獻標識碼: 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

噴墨打印機摒棄了原始打印機的擊打的工作方式,采用更為先進的微壓控制技術與氣泡噴墨控制技術,其無論在體積上、可操作性上、打印噪音的控制方面,較原始的打印機都有很大的突破,使用專用紙張時可以打印出與照片相媲美的圖片。所以,研發噴墨打印機的控制系統,是制造自主知識產權的噴墨打印機的基礎,也是制造以噴墨打印機作為輸出部件的設備的重要基礎。

現場可編程門陣列(Field Programmable Gate Array,FPGA)是在PAI,GAL等邏輯器件的基礎上發展起來的。由于它具有集成度高、速度快、開發周期短、費用低、用戶可定義功能及可重復編程和擦寫等許多優點,其應用領域不斷擴大。這些器件的靈活性和通用性使它們成為了研制和開發復雜數字系統的理想選擇[1]。

在國內,對于噴墨打印機的打印頭與電機聯合控制的研究相對較少,而且大多數的控制核心芯片采用單片機,其速度、精度、開發周期、可操作性、可升級性等遠不如FPGA,因此本文提出了一種基于FPGA的噴墨打印機控制系統,并且同時實現噴墨打印機的噴墨與走紙運動。

1 系統整體設計

如圖1所示,本文將噴墨打印機的控制系統分為控制噴墨打印機噴墨的打印頭與控制噴墨打印機走紙的步進電機,在FPGA的控制下,實現對噴墨打印機的打印頭的噴墨與步進電機的機械運動的控制。噴墨打印機的工作共有3種模式:FPGA控制打印頭噴墨;FPGA控制步進電機運動;FPGA對打印頭和步進電機的聯合控制。

1.1 FPGA控制打印頭噴墨

1.1.1 打印頭

噴墨技術主要分為微電壓控制技術與氣泡噴墨打印技術,本文采用的打印機頭為氣泡噴墨打印頭,特點是打印頭和墨盒集成在一起,噴頭上集成噴嘴數量比微電壓控制技術噴頭上的噴嘴要多得多,噴嘴數量排列多,打印每一行的寬度也就寬,從而完成一頁內容的時間就會短。因此氣泡噴墨打印頭在打印速度上要比微電壓控制打印頭快,對其進行控制系統的研究與搭建有重要的意義。

1.1.2 打印頭的控制信號要求

打印頭中共有7個主要控制信號[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為輔助信號,分別對應數據信號S4、S5,S4比S2遲4個時鐘周期,S5比S3遲4個時鐘周期;S6為時鐘信號,要求頻率為28.5 MHz;K為GND信號,需要連接1 kΩ電阻并接地。

當滿足打印頭控制信號要求的前提下,數據信號S4,S5在輔助信號S2,S3有效后的528個周期里為低電平的部分,打印頭進入工作狀態[3]。

1.1.3 FPGA控制打印頭噴墨的工作原理

如圖2所示,采用氣泡噴墨打印頭驅動板,其主要由Altera公司的FPGA芯片EQ1C6T144C8作為核心控制,AS芯片作為邏輯儲存,一個AM26LV31I差分芯片和一個LVC14A信號傳輸芯片作為整個板子的輸入的接收接口,一個AM26LV32I差分芯片和一個LVC14A信號傳輸芯片作為整個板子的輸出接口、打印頭的輸入接口[4]。

氣泡噴墨打印頭驅動板需要的信號即為1.1.2節中提到的S1~S6,K信號,其中S4,S5作為輸入信號來自于FPGA開發板中的EP1C6Q240C8芯片,S1,S2,S3,S6,K信號的邏輯通過USB Blaster下載到AS芯片中。

FPGA上的轉接板是由一個AM26LV32I差分芯片和一個LVC14A信號傳輸芯片組成,其的作用是與打印頭驅動板實現接口對接,使FPGA開發板中的EP1C6Q240C8芯片把驅動信號發送到打印頭驅動板。其PCB原理圖如圖3所示。

FPGA開發板的EP1C6Q240C8芯片主要輸出信號共有4個:cs_n,sck,mosi_s4,mosi_s5。其中:cs_n是整個系統的使能信號,低有效,當其有效時,整個系統開始工作;sck是氣泡噴墨打印頭驅動板的工作時鐘信號,由于FPGA開發板提供的時鐘為50 MHz,不滿足氣泡噴墨打印頭驅動板的時鐘工作要求,因此其由開發板的FPGA芯片EP1C6Q240C8調用IP核鎖相環分倍頻后得到;cs_n和sck這2個信號由FPGA開發板經過轉接板的信號傳輸芯片LVC14A發送給氣泡噴墨打印頭驅動板的相對應的LVC14A芯片,再經過驅動板上的FPGA芯片EQLC6T144C8發送給打印頭的接收端相對應的芯片LVC14A;

mosi_s4,mosi_s5即為1.1.2節中所描述的打印頭噴墨的數據信號S4,S5,這2個信號由開發板的FPGA芯片EP1C6Q240C8經過轉接板上的AM26LV32I芯片發送給打印頭驅動板的AM26LV31I芯片,在氣泡噴墨打印頭驅動板的FPGA芯片EP1C6T144C8中經過移位寄存器后發送給打印頭接收端的相對應芯片AM26LV32I。

1.2 FPGA控制步進電機運動

1.2.1 FPGA控制步進電機運動的工作原理

如圖4所示,步進電機一般包括PUL,DR,FREE這3個主要輸入控制信號和2個碼盤輸出信號。其中,PUL是步進電機運動需要的脈沖信號,其不僅決定了電機是否轉動,而且其寬度也決定了電機轉動的速度,其在不超過驅動器可接受的脈沖頻率和電機響應頻率脈沖的前提下越寬電機轉動的速度越慢,反之越快[5];DR是步進電機的方向信號,其確定步進電機的轉動方向;FREE是步進電機的脫機信號,當脫機信號FREE為低電平時,驅動器輸出到電機的電流被切斷,電機轉子處于自由狀態(脫機狀態)。如果在驅動器不斷電的情況下要求直接轉動電機軸(手動方式),就可以將FREE信號置低,使電機脫機,進行手動操作或調節。

碼盤經常以轉速傳感器的形式出現,其不但能檢測電機的轉動速度,也能有效地對電機定位;碼盤一般設在電機的一端,使電機和碼盤同步轉動,這樣便可以通過接收到碼盤轉動時所產生的2個脈沖信號來定位電機。

FPGA作為步進電機的信號源,其能提供較穩定的控制信號,但由于FPGA的標準電平為3.3 V?LVTTL,而步進電機的驅動電平為5 V,因此,需要在FPGA與電機驅動板、FPGA與碼盤間加入電平轉換芯片以保證電機的正常驅動與碼盤的正常反饋[6]。

1.2.2 步進電機的精度的確認

碼盤的兩個輸出信號SignalA,SignalB作為電機的定位信號,當電機轉動時,碼盤向FPGA發送SignalA,SignalB,其信號為相位相差90°的脈沖方波信號[7],如圖5所示。

在FPGA內部把SignalA,SignalB信號的異或作為電機的定位信號,利用計數器與數碼管直觀的定位電機的實際位移[8]。由于電機帶動打印機的走紙會存在一定的機械抖動誤差;因此SignalA,SignalB會產生一些極小的脈沖誤差信號,會影響電機的定位精度;因此需要對碼盤的輸出信號進行簡單的信號濾波處理。

高頻率時鐘對低頻率信號的采樣處理即可較好地完成濾波,由于電機的脈沖頻率約為1 kHz,碼盤因與其保持同步運動,所以其輸出的2個定位信號SignalA,SignalB的頻率也為1 kHz,因此用相對高頻50 MHz的時鐘分別采樣相對低頻1 kHz的信號SignalA,SignalB,使兩信號通過20 b的移位寄存器,當在移位寄存器中的SignalA,SignalB 20 b均為1或0的時候輸出1或0,否則不輸出并繼續移位。對同樣距離進行定位測試,并通過數碼管觀察其結果,電機位移精度如表1所示。

表1 電機位移精度確認

如表1所示,在同樣的距離下,當碼盤信號沒有經過濾波處理時,電機的定位位移相對較大,相同速度下每一次的定位也不夠準確,而且由于電機轉動的越快,其產生的脈沖誤差越多,因此未濾波的時候,電機的轉動速度嚴重影響電機的定位精度;當碼盤信號經過濾波處理后,電機的位移明顯減小,而且電機的轉動速度不再影響電機的定位精度,定位效果準確。

1.3 FPGA對打印頭和步進電機的聯合控制

1.3.1 FPGA對打印頭和步進電機聯合控制的工作原理

系統分為4種狀態:空閑狀態;走紙狀態;噴墨狀態;噴墨走紙狀態,如圖6所示[9]。

1.3.2 FPGA對打印頭和步進電機聯合控制的quartus

上的實現[10]

圖7中左邊模塊為數碼管顯示模塊,右邊模塊為電機、打印機的頂層模塊。在FPGA中設置一個工作控制輸入信號spray_ctrlin,一個FREE控制輸入信號FREE_ctrlin,當FREE_ctrlin生效時,電機進入脫機狀態;當spray_ctrlin生效時FPGA產生PUL、DR信號并發送給電機,系統進入走紙狀態,并將電機碼盤的2個輸出信號發送給FPGA,將經過濾波后的定位信號作為數碼管的輸入并對其計數,將計得的數作為電機運動的實際位移,再根據實際位移來觸發打印頭與電機內部的噴墨使能信號,當噴墨信號有效時打印頭進入噴墨狀態,整體系統進入噴墨走紙狀態, 6位的7段數碼管上也會實時顯示出電機的實際位移。

2 實驗結果與硬件實際連接

2.1 打印頭與電機聯合控制結果

圖8為電機1先左右運動實現x軸走紙,并在指定好的位置實現打印頭的單色噴墨,當走紙并噴墨完成第一行后,電機2上下運動實現y軸走紙,隨后逆向重復一次x軸走紙單色噴墨。

圖9為電機1、電機2同時運動實現x,y軸同時走紙,并在指定好的位置實現打印頭的雙色噴墨。

2.2 硬件實際連接

硬件實際連接如圖10~圖12所示。

3 結 語

本文通過對當前噴墨技術、打印技術的研究,在前人的理論基礎上再創新,提出了對噴墨打印機的噴墨與電機的聯合控制,在FPGA平臺下搭建了噴墨打印機的控制系統。實驗結果表明,該系統能夠精確的實現對打印頭的噴墨控制以及電機的走紙控制,且其操作簡單,可升級性強。這對制造自主知識產權的噴墨打印機提供了堅實的基礎,對當下熱門的以噴墨打印機作為輸出部件的設備制造提供了更多的可能。

參考文獻

[1] 董盈鈞,孔明,馬忠祥.基于FPGA的打印機走紙控制系統[J].微型機與應用,2010,29(21):94?95.

[2] 馬玉春,陸華.基于C語言的壓電式噴墨打印機驅動程序設計[J].瓊州學院學報,2011,18(2):11?12.

[3] 王彥,田丹丹,陳瓊,等.基于FPGA的微型打印機驅動電路和程序設計[J].南華大學學報,2004,18(3):79?82.

[4] 廖強,文榮,夏洋,等.基于SoPC的寬幅噴墨打印機控制系統[J].計算機工程,2009,35(19):260?261.

[5] 陳興文,劉燕.基于FPGA實現步進電機脈沖信號控制器設計[J].機械設計與制造,2006(2):86?87.

[6] 龐淑娟,倪受東.基于FPGA的步進電機速度控制器的設計[J].新技術新工藝,2008(4):32?33.

[7] 劉加峰,蘆勤,郁蘇娟,等.步進電機控制電路一種基于FPGA的實現[J].微計算機應用,2007,28(8):864?865.

[8] 安立宇,趙曙光,杜丘.基于FPGA的兩相步進電機細分驅動器設計[J].儀表技術,2009(1):31?32.

[9] 粘朋雷,李國林,毛維平,等.基于FPGA與VHDL的微型打印機的驅動設計[J].現代電子技術,2010,33(24):72?73.

[10] 周潤景,圖雅,張麗敏.基于QuartusⅡ的FPGA/CPLD[M].北京:電子工業出版社,2007.

猜你喜歡
步進電機
一種可自動伸縮的嵌入式LED燈具設計
步進電機智能控制的設計與實現
工礦機車GK1F、GK1C柴油機調速控制
基于單片機的自動化立體車庫控制系統設計
基于單片機的雷達伺服控制系統
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合