依照噴墨頭驅動的原理與電路設計模擬的依據,驅動電路的架構可分成 三個部分,如圖 3.12 所示,分別有驅動開關電路、FPGA 控制晶片、電壓 迴授電路[12]。其中第一個部分為驅動開關電路,在每一片驅動模組建立 64 個獨立噴孔的驅動開關電路,這樣的設計可依照各種不同的噴頭噴孔數 量,進行彈性的系統擴展;另外依照不同的噴頭噴孔之等效電容值,可以 預先決定合適的充電放電電阻,讓控制的驅動電壓之充放電行為可以符合 噴頭的基本特性要求。第二部分為FPGA,該內部 HDL Code 之設計包含通 訊、噴印資料處理、電壓控制機制、迴授判斷控制、多模組交握機制、以 及噴頭溫度控制等,這些基礎的模組在配合下一節所提之驅動電壓控制校 正流程,可以將因噴孔本身的差異導致驅動的墨滴不一致的情況降到最 低,以找到最合適的驅動補償條件。第三部分為電壓迴授的電路,目的是 在作校正噴孔驅動電壓時,將各噴孔所被施予驅動電壓的位準能夠在精準 的迴授控制之下,得到最佳墨滴形成的行為。
(a)
(b)
圖 3.12 獨立噴孔驅動電路架構圖,(a)實體圖 (b)架構圖
在 FPGA 內部 HDL Code 控制機制方塊圖,如圖 3.13 中所示,包含通訊,
資料的接收、資料的輸出、電壓的調整、噴孔的指定、所有墨滴射出的時 機、數位控制的時間與類比電壓的關係表、電壓迴授監控、以及PWM 的溫 度控制等等,主要由控制狀態機(Control FSM)來決定,接收命令資料之 後,依照命令解碼之命令種類,執行不同的工作模式。
圖 3.13 獨立噴孔之驅動控制晶片架構
所設計控制的流程架構如圖 3.14 所示,而設定程序關係圖如圖 3.15 所 示。本設計因應工業應用的需求,以工業應用成熟的 UART 介面做為指令 之通訊媒介,硬體電路中的控制狀態機(Control FSM)將依照 UART 解碼 所得的指令形式進行動作的判別與流程控制,其指令的種類有”初始設 定”( Initial setting command)、”參數設定”(Parameter setting command)、”校 正之自我調整設定”(Self-tuning command)、”校正之使用者特定噴孔調整設 定”(User-tuning command)、”觀墨閃頻設定”(Strobe firing command) 以及”
噴頭溫度設定”(Thermo control command)。而所設計工作模式有”初始設 定”(Init setting)、”驅動電壓校正程序”(Calibration process)以及”噴印工作程 序”(Working firing process )等,以上所有的指令細節可對照表 3.2 指令說明 表所述。
IDLE
Inst. Decode Process
Choose a work process:
Process Finish =1
圖 3.14 獨立噴孔之驅動控制 FSM
Green item: The Input command of AWTC Blue item: The status response of AWTC 圖 3.15 工作模式與指令分類與操作程序關係圖
表 3.2 控制命令表 Initial Setting Command
Command message Code Descript Size Data
Set Board Number per
Head 0x00 0x23
Set Nozzle Number 0x00 0x23 0x4E 0x5A Set Max Voltage 0x00 0x23
0x4D 0x56
Circuit Rate 0x00 0x23 0x43 0x52
Command message Code Descript Size Data
Write Parameter 0x?? 0x23 0x57 0x50
Read Parameter 0x?? 0x23 0x52 0x50 --- 0x25
讀取此噴頭所有噴孔之 Counter 值
0 -
Self Tuning Command n 表示電路板編號,1為第1塊電路板
Command message Code Descript Size Data
Self Tuning 0x?? 0x23 Self Tuning Finished 0x?? 0x23
0x53 0x4F --- 0x25
完成Self Tune 0 -
User Tuning Command n 表示電路板編號,1為第1塊電路板
Command message Code Descript Size Data
User Tuning 0x?? 0x23 Counter Number 0x?? 0x23
0x55 0x43 Nozzle Voltage 0x?? 0x23
0x4E 0x56
Strobe Firing Command
Command message Code Descript Size Data
Strobe Firing Enable 0x?? 0x23 0x46 0x45
Strobe Firing Disable 0x?? 0x23 0x46 0x44
Strobe Firing Frequency
Heat Setting Command n 表示電路板編號,1為第1塊電路板
Command message Code Descript Size Data
Setting Heater Objective Temp
0x?? 0x23 Setting Heater Alarm
Temp
Get Temperature 0x?? 0x23 0x47 0x54 --- 0x25
讀取此噴頭目前之溫度 0 -
Now Temperature 0x?? 0x23 0x4E 0x54 --- 0x25
收到Get Temperature 命 令後,傳送此噴頭目前之 內部會界定所謂Master Board 以及 Slaver Board,讓 Master Board 來接收並 分配相關的命令資料與訊息,包含噴孔參數,噴印資料以及需要多少個噴 孔等等。
以 下 針 對 於 驅 動 電 壓 校 正 之 自 我 調 整 程 序 ( 簡 稱 自 我 調 整 程 序 , Self-tuning)與校正之使用者特定噴孔調整程序(簡稱使用者調整程序,
User-tuning)作說明。所謂自我調校之校正程序(Self-tuning)的目的是為了
讓所有噴孔上的驅動電壓皆可到目標設定值。依照 AWTC 設計的工作模 式,當控制訊號開啟的時間一樣長之下,對應到不同噴孔的壓電元件之電 容值時,將會有不同的充電電壓發生每一個不同電容值的噴孔上。對於初 使用的噴墨頭時,最好是經過這一個機制讓每一個噴孔依照其本身的等效 電容特性,讓驅動器調整應該要有的充電時間,使得輸出到噴頭上的每個 噴孔壓電元件上都有一樣的驅動電壓,此機制就是我們所謂的Self-tuning。
所謂使用者調整程序(User-tuning)的目的是在繼 Self-tuning 之後,在其 調整工作電壓已是一致的基礎下,將一些特有的或表現較為弱的噴孔再作 一些驅動電壓能量的調整,因為噴頭零件製作公差的關係,造成噴頭上的 流道參數或是等效電容的差異,Self-tuning 的充電補償是可以對於等效電容 的電氣特性之補償,但是不代表流體參數也是可以補的過去,所以在此需 要針對特定噴孔的噴墨行為再作驅動條件的調整,這個調整程序的迴授是 以CCD 影像擷取的方式,來判定墨滴的實際的差異,進而再作應該作的補 償,調整特定的噴孔使其成為與一般其他噴孔有一樣的噴墨行為狀況。
SPI 是接收噴印資料的資料格式,是一個串列傳輸資料的介面,其資料 內容代表所要驅動的噴墨頭其每一個噴孔的資料形式,如圖 3.16 所示,假 設一個噴頭有 128 個噴孔時,其所有需要傳輸的資料一共有 128Bits 的資 料。為了節省傳輸所耗的時間,我們將串列的資料分成兩的部分,一為奇 數位元資料,一為偶數位元資料,分開同時傳送如此將可以節省一半的資 料傳輸時間,又可以彈性的應付各種不同噴孔數量的資料輸入問題。當資 料接收完成時,就會等待一個噴墨驅動的時機點,當因為噴墨平台或是被 噴印的基板移動至應該噴印圖像的位置時,AWTC 就會依照所接收到資料 狀態,進行各噴墨孔壓電元件之獨立驅動波形的輸出。
圖 3.16 噴印資料 SPI 格式