基于飛思卡爾單片機(jī)的微型熱敏打印機(jī)的設(shè)計
關(guān)鍵詞:熱敏打印機(jī);過熱保護(hù);步進(jìn)電機(jī);串行外圍接口
1 引言
常用的微型針式打印機(jī)速度慢、噪聲大,無法滿足某些場合的需要。微型熱敏打印機(jī)具有打印速度快、噪音低、可靠性高、字跡清晰、機(jī)頭小而輕等優(yōu)點(diǎn),可滿足各種場合的打印要求,因此得到廣泛應(yīng)用。筆者在汽車行駛記錄儀的開發(fā)過程中,根據(jù)要求,選用較為先進(jìn)的熱敏打印機(jī)作為打印設(shè)備。但微型熱敏打印頭對打印時序和溫度要求較高,一旦控制不當(dāng)極易造成打印頭燒毀,其控制系統(tǒng)的軟硬件設(shè)計較復(fù)雜。本文選用FTP-628系列熱敏打印頭開展以下研發(fā)工作。
2 系統(tǒng)組成
本文介紹的微型熱敏打印機(jī)主要由主控器件、步進(jìn)電機(jī)驅(qū)動模塊、熱敏打印頭過熱保護(hù)模塊、熱敏打印頭缺紙檢測模塊、RS-232通信模塊和供電模塊等部分組成。系統(tǒng)的結(jié)構(gòu)框圖如圖l所示。其中步進(jìn)電機(jī)驅(qū)動模塊負(fù)責(zé)控制打印紙走紙及走紙速度;熱敏打印頭過熱保護(hù)模塊防止熱敏打印頭溫度過高損壞;熱敏打印頭缺紙檢測電路完成熱敏打印頭是否有紙檢測;RS-232通信模塊實(shí)現(xiàn)打印機(jī)與汽車行駛記錄儀之間的通信;供電模塊給控制電路及熱敏打印頭供電。
3 熱敏打印工作原理
熱敏打印頭FTP-628的框圖如圖2所示。該熱敏打印頭點(diǎn)結(jié)構(gòu)為384點(diǎn)/行,水平方向點(diǎn)密度為8點(diǎn)/mm,垂直方向行間距:8點(diǎn)/mm。有效打印寬度48 mm。打印速度最大為60 mm/s。
當(dāng)接通熱敏打印機(jī)電源(+12 V),供電模塊輸出+5 V用于所有控制電路,還輸出用于熱敏頭加熱印字的+7.2 V電壓,將其與打印頭VH相連。在時鐘CLK的配合下,打印數(shù)據(jù)經(jīng)數(shù)據(jù)輸入DI引腳移入熱敏打印頭內(nèi)部的移位寄存器中。當(dāng)CPU將一行384位數(shù)據(jù)全部移入移位寄存器后,CPU將熱敏打印頭內(nèi)部鎖存端LAT置為低電平,移位寄存器的數(shù)據(jù)被鎖存到鎖存器;然后CPU將熱敏頭加熱控制信號STB置為高電平,此時根據(jù)384點(diǎn)輸入的數(shù)據(jù)是l或0決定發(fā)熱元件是否發(fā)熱,由此在熱敏紙上產(chǎn)生要打印的點(diǎn)行。
4 硬件設(shè)計
4.1 主控器件
采用Freescale公司S12系列單片機(jī)中的MC9S12D64作為主控器件。該器件是一款性能優(yōu)良的單片機(jī),包含一個16位中央處理單元、64 KBFlash、4 KB RAM、1 KB EEPROM、兩個異步串行通信接口和一個同步串行接口等豐富資源,能夠滿足本設(shè)計的需求。該器件具有良好的穩(wěn)定性,使得打印機(jī)能夠在惡劣的工業(yè)現(xiàn)場使用。
4.2 熱敏打印頭過熱保護(hù)模塊
熱敏打印頭加熱時間一般為1 mS,連續(xù)加熱超過1 s后,很容易燒毀熱敏頭,所以必須對熱敏打印頭添加過熱保護(hù)電路。過熱保護(hù)電路圖如圖3所示。圖中VH為7.2V熱敏打印頭驅(qū)動電壓,VH的供給與否由常開繼電器控制。由CPU的一個I/O口輸出控制加熱電壓源控制端TCl,參見圖2與圖3。TH為外部電阻與熱敏打印頭內(nèi)部熱敏電阻的分壓值。熱敏打印頭溫度升高,則TH電壓降低。當(dāng)熱敏打印頭溫度上升到一定值時,TH電壓低于比較器U1B的引腳6參考電壓,則引腳7輸出一個低電平,此時無論ICI為何值,與門U6的引腳3都為低電平,進(jìn)而Ql截止,繼電器斷開,熱敏打印頭加熱電源被切斷。同時主控器件檢測到比較器U1B的引腳7輸出低電平信號,進(jìn)入中斷,暫停打印工作。當(dāng)檢測到U1B的引腳7為高電平后,延時一段時間,出中斷。此時若熱敏打印頭溫度降低,TH電壓高于U1B的引腳6參考電壓后,CPU恢復(fù)到正常工作情況;反之,比較器U1B的引腳7輸出依然是低電平,繼電器保持?jǐn)嚅_;主控器件再次進(jìn)入中斷模式。這樣就可以起到保護(hù)熱敏打印頭的作用。
4.3 步進(jìn)電機(jī)驅(qū)動模塊
步進(jìn)電機(jī)是將輸入的電脈沖信號轉(zhuǎn)換成角位移或直線位移的伺服電動機(jī)。FTP-628熱敏打印頭中使用的是二相四拍步進(jìn)電機(jī)控制打印紙走紙及走紙速度。本系統(tǒng)采用LB1836M進(jìn)行驅(qū)動。LB1836M是低飽和、雙通道雙向電機(jī)驅(qū)動器件,常用于微型打印機(jī)、相機(jī)等便攜設(shè)備。圖4給出步進(jìn)電機(jī)的驅(qū)動電路。引腳INl、IN2、IN3和IN4是步進(jìn)脈沖的輸入端。OUT1、OUT2、OUT3、OUT4為步進(jìn)脈沖的輸出端,分別與熱敏打印頭中電機(jī)對應(yīng)的A、NA、B、NB相連接。OUT[1:4]與IN[1:4]的邏輯關(guān)系為OUT=IN。輸出驅(qū)動電壓由引腳VS控制,其電壓高低決定了步進(jìn)電機(jī)工作電流的大小,影響步進(jìn)電機(jī)運(yùn)行的快慢,決定走紙快慢。LBl836M輸入端的四個步進(jìn)脈沖可由單片機(jī)的PWM0、PWMl、PWM2、PWM3四路PWM通道產(chǎn)生。四路PWM的相位關(guān)系為PWM0與PWM2反相,PWMl與PWM3反相,PWM0與PWMl相差π/2。
4.4 數(shù)據(jù)加載
數(shù)據(jù)加載即將內(nèi)存緩沖區(qū)的數(shù)據(jù)輸出到熱敏打印頭的移位寄存器中,然后進(jìn)行打印。由于本設(shè)計采用的主控器件帶有串行外圍接口(SPI),所以將SPI用于數(shù)據(jù)加載。使用SPI加載數(shù)據(jù),不但電路比硬件方式數(shù)據(jù)移位簡化,而且較I/O口模擬串行數(shù)據(jù)傳輸?shù)臅r序移位速度更快,從而整體提高了打印機(jī)性能。
如圖5所示,將主控器件設(shè)為主機(jī),熱敏打印頭內(nèi)部移位寄存器設(shè)為從機(jī)。主控器件MC9S12D64將打印的數(shù)據(jù)存入SPI數(shù)據(jù)寄存器。當(dāng)數(shù)據(jù)寄存器寫入數(shù)據(jù)后,數(shù)據(jù)開始傳輸。數(shù)據(jù)通過串行時鐘線的同步信號循環(huán)移位8位,移入熱敏打印頭內(nèi)部的移位寄存器中,實(shí)現(xiàn)了數(shù)據(jù)的加載。
5 軟件設(shè)計
本熱敏打印機(jī)的軟件設(shè)計主要是通過RS-232通信模塊接收由汽車行使記錄儀傳來的數(shù)據(jù),并判斷數(shù)據(jù)類型。當(dāng)接收到數(shù)據(jù)時,首先要判斷是命令字還是字符數(shù)據(jù)。如果是命令字,則打印機(jī)按照命令動作,如果是字符數(shù)據(jù),則進(jìn)入打印狀態(tài)。進(jìn)入打印狀態(tài)后,尋找要打印字符的首地址,按照該字符的規(guī)范,從字庫中取出打印點(diǎn)陣放入SPI數(shù)據(jù)寄存器,并傳輸?shù)綗崦舸蛴☆^的移位寄存器,按行打印,走紙。具體打印流程如圖6所示。
6 結(jié)束語
本文對熱敏打印機(jī)的控制部分作了介紹。文中介紹的設(shè)計方案實(shí)現(xiàn)了微型熱敏打印機(jī)正常運(yùn)行。根據(jù)實(shí)際情況,可選擇不同的熱敏打印頭與微控制器,以滿足需求。設(shè)計的熱敏打印機(jī)取得了良好的打印效果,驗(yàn)證了設(shè)計方案的合理性。