基于飛思卡爾單片機(jī)的微型熱敏打印機(jī)的設(shè)計(jì)與實(shí)現(xiàn)
1 引言
常用的微型針式打印機(jī)速度慢、噪聲大,無(wú)法滿足某些場(chǎng)合的需要,微型熱敏打印機(jī)具有打印速度快、噪聲低、可靠性高、字跡清晰、機(jī)頭小而輕等優(yōu)點(diǎn),可滿足各種場(chǎng)合的打印要求,因此得到廣泛應(yīng)用。筆者在汽車行駛記錄儀的開(kāi)發(fā)過(guò)程中,根據(jù)要求,選用較為先進(jìn)的熱敏打印機(jī)作為打印設(shè)備。但微型熱敏打印頭對(duì)打印時(shí)序和溫度要求較高,一旦控制不當(dāng)極易造成打印頭燒毀,其控制系統(tǒng)的軟硬件設(shè)計(jì)較復(fù)雜,本文選用ftp-628系列熱敏打印頭開(kāi)展以下研究工作。
本文引用地址:http://m.butianyuan.cn/article/21257.htm2 系統(tǒng)組成
本文介紹的微型熱敏打印機(jī)主要由主控制件、步進(jìn)電機(jī)驅(qū)動(dòng)模塊、熱敏打印頭過(guò)熱保護(hù)模塊、熱敏打印頭切紙檢測(cè)模塊、rs-232通信模塊和供電模塊等部分組成,系統(tǒng)的結(jié)構(gòu)圖如圖1所示,其中步進(jìn)電機(jī)驅(qū)動(dòng)模塊負(fù)責(zé)控制打印紙走紙及走紙速度,熱敏打印頭過(guò)熱保護(hù)模塊防止熱敏打印頭溫度過(guò)高損壞,熱敏打印頭缺紙檢測(cè)電路完成熱敏打印頭是否有紙檢測(cè),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。有效打印寬度48mm,打印速度最大為60mm/s[1]。
當(dāng)接通熱敏打印機(jī)電源(+12v),供電模塊輸出+5v用于所有控制電路,還輸出用于熱敏頭加熱印字的+7.2v電壓,將其與打印頭vh相連,在時(shí)鐘clk的配合下,打印數(shù)據(jù)經(jīng)數(shù)據(jù)輸入di引腳移入熱敏打印頭內(nèi)部的移位寄存器中,當(dāng)cpu將一行384位數(shù)據(jù)全部移入移位寄存器后,cpu將熱敏打印頭內(nèi)部鎖存端lat置為低電平,移位寄存器的數(shù)據(jù)被鎖存到鎖存器,然后cpu將熱敏都加熱控制信號(hào)stb置為高電平,此時(shí)根據(jù)384點(diǎn)輸入的數(shù)據(jù)是1或0決定發(fā)熱元件是否發(fā)熱,由此在熱敏紙上產(chǎn)生要打印的點(diǎn)行。
4 硬件設(shè)計(jì)
4.1 主控器件
采用freescale公司s12系列單片機(jī)的mc9s12d64作為主控器件,該器件是一款性能優(yōu)良的單片機(jī),包含一個(gè)16位中央處理單元、64kb flash、4kb ram,、1kb eeprom、兩個(gè)異步串行通信接口和一個(gè)同步串行接口等豐富資源[2],能夠滿足本設(shè)計(jì)的需求,該器件具有良好的穩(wěn)定性,使得打印機(jī)能夠在惡劣的工業(yè)現(xiàn)場(chǎng)使用。
4.2 熱敏打印頭過(guò)熱保護(hù)模塊
若民打印頭加熱時(shí)間一般為1ms,連續(xù)加熱超過(guò)1s后,很容易燒毀熱敏頭,所以必須對(duì)熱敏打印頭添加過(guò)熱保護(hù)電路,過(guò)熱保護(hù)電路圖如圖3所示,圖中vh為7.2v熱敏打印頭驅(qū)動(dòng)電壓,vh的供給與否由常開(kāi)繼電器控制,由cpu的一個(gè)i/o口輸出控制加熱電壓源控制端tc1,參見(jiàn)圖2與圖3。th為外部電阻與熱敏打印頭內(nèi)部熱敏電阻的分壓值。熱敏打印頭溫度升高,則th電壓降低,當(dāng)熱敏打印頭溫度上升到一定值時(shí),th電壓低于比較器u1b的引腳6參考電壓,則引腳7輸出一個(gè)低電平,此時(shí)無(wú)論tc1為何值,與門u6的引腳3都為低電平,進(jìn)而q1截止,繼電器斷開(kāi),熱敏打印頭加熱電源被切斷[5]。同時(shí)主控器件檢測(cè)到比較器u1b的引腳7輸出低電平信號(hào),進(jìn)入中斷,暫停打印工作。當(dāng)檢測(cè)到u1b的引腳7為高電平后,延時(shí)一段時(shí)間,出中斷。此時(shí)若熱敏打印頭溫度降低,th電壓高于u1b的引腳6參考電壓后,cpu恢復(fù)到正常工作情況,反之,比較器u1b的引腳7輸出依然是低電平,繼電器保持?jǐn)嚅_(kāi);主控器件再次進(jìn)入中斷模塊,這樣就可以起到保護(hù)熱敏打印頭的作用。
4.3 步進(jìn)電機(jī)驅(qū)動(dòng)模塊
步進(jìn)電機(jī)是將輸入的電脈沖信號(hào)轉(zhuǎn)換成角位移或直線位移的伺服電動(dòng)機(jī)。ftp-628熱敏打印頭中使用的是二相四拍步進(jìn)電機(jī)控制打印紙走紙及走紙速度。本系統(tǒng)采用lb1836m進(jìn)行驅(qū)動(dòng)。lb1836m是低飽和、雙通道雙向電機(jī)驅(qū)動(dòng)器件,常用于微型打印機(jī)、相機(jī)等便攜設(shè)備,圖4給出步進(jìn)電機(jī)的驅(qū)動(dòng)電路,引腳in1、in2、in3和in4是步進(jìn)脈沖的輸入端,out1、out2、out3、out4為步進(jìn)脈沖的輸出端,分別與熱敏打印頭中電機(jī)對(duì)應(yīng)的a、na、b、nb相連接。uot[1:4]與in[1:4]的邏輯關(guān)系為out=in。輸出驅(qū)動(dòng)電壓由引腳vs控制,其電壓高低決定了步進(jìn)電機(jī)工作電流的大小,影響步進(jìn)電機(jī)運(yùn)行的快慢,決定走紙快慢,lb1836m輸入端的四個(gè)步進(jìn)脈沖可由單片機(jī)的pwm0、pwm1、pwm2、pwm3四路pwm通道產(chǎn)生。四路pwm的相位關(guān)系為pwm0與pwm2反相,pwm1與pwm3反相,pwm0與pwm1相差π/2。
4.4 數(shù)據(jù)加載
數(shù)據(jù)加載即將內(nèi)存緩沖區(qū)的數(shù)據(jù)輸出到熱敏打印頭的移位寄存器中,然后進(jìn)行打印。由于本設(shè)計(jì)采用的主控器件帶有串行外圍接口(spi),所以將spi用于數(shù)據(jù)加載,使用spi加載數(shù)據(jù),不但電路比硬件方式數(shù)據(jù)移位簡(jiǎn)化,而且較i/o口模擬串行數(shù)據(jù)傳輸?shù)臅r(shí)序移位速度更快,從而整體提高了打印機(jī)性能。
如圖5所示,將主控器件設(shè)為主機(jī),熱敏打印機(jī)內(nèi)部移位寄存設(shè)為從機(jī),主控器件mc9s12d64將打印的數(shù)據(jù)存入spi數(shù)據(jù)寄存器。當(dāng)數(shù)據(jù)寄存器寫入數(shù)據(jù)后,數(shù)據(jù)開(kāi)始傳輸,數(shù)據(jù)通過(guò)串行時(shí)鐘線的同步信號(hào)循環(huán)移位8位,移入熱敏打印頭內(nèi)部的移位寄存器中,實(shí)現(xiàn)了數(shù)據(jù)的加載。
5 軟件設(shè)計(jì)
本熱敏打印機(jī)的軟件設(shè)計(jì)主要是通過(guò)rs-232通信模塊接收由汽車行駛記錄儀傳來(lái)的數(shù)據(jù),并判斷數(shù)據(jù)類型。當(dāng)接收到數(shù)據(jù)時(shí),首先要判斷是命令字還是字符數(shù)據(jù),如果是命令字,則打印機(jī)按照命令動(dòng)作,如果是字符數(shù)據(jù),則進(jìn)入打印狀態(tài),進(jìn)入打印狀態(tài)后,尋找要打印字符的的首地址,按照該字符的規(guī)范,從字庫(kù)中去除打印點(diǎn)陣放入spi數(shù)據(jù)寄存器,并傳輸?shù)綗崦舸蛴☆^的移位寄存器,按行打印,走紙,具體打印流程如圖6所示。
6 結(jié)束語(yǔ)
本文對(duì)熱敏打印機(jī)的控制部分作了介紹。文中介紹的設(shè)計(jì)方案實(shí)現(xiàn)了微型熱敏打印機(jī)正常運(yùn)行,根據(jù)實(shí)際情況,可選擇不同的熱敏打印頭與微控制器,以滿足需求,設(shè)計(jì)的熱敏打印機(jī)取得了良好的打印效果,驗(yàn)證了設(shè)計(jì)方案的合理性。
電路圖符號(hào)相關(guān)文章:電路圖符號(hào)大全
熱敏打印機(jī)相關(guān)文章:熱敏打印機(jī)原理
評(píng)論