基于飞思卡尔单片机的微型热敏打印机的设计
扫描二维码
随时随地手机看文章
关键词:热敏打印机;过热保护;步进电机;串行外围接口
1 引言
常用的微型针式打印机速度慢、噪声大,无法满足某些场合的需要。微型热敏打印机具有打印速度快、噪音低、可靠性高、字迹清晰、机头小而轻等优点,可满足各种场合的打印要求,因此得到广泛应用。笔者在汽车行驶记录仪的开发过程中,根据要求,选用较为先进的热敏打印机作为打印设备。但微型热敏打印头对打印时序和温度要求较高,一旦控制不当极易造成打印头烧毁,其控制系统的软硬件设计较复杂。本文选用FTP-628系列热敏打印头开展以下研发工作。
2 系统组成
本文介绍的微型热敏打印机主要由主控器件、步进电机驱动模块、热敏打印头过热保护模块、热敏打印头缺纸检测模块、RS-232通信模块和供电模块等部分组成。系统的结构框图如图l所示。其中步进电机驱动模块负责控制打印纸走纸及走纸速度;热敏打印头过热保护模块防止热敏打印头温度过高损坏;热敏打印头缺纸检测电路完成热敏打印头是否有纸检测;RS-232通信模块实现打印机与汽车行驶记录仪之间的通信;供电模块给控制电路及热敏打印头供电。
3 热敏打印工作原理
热敏打印头FTP-628的框图如图2所示。该热敏打印头点结构为384点/行,水平方向点密度为8点/mm,垂直方向行间距:8点/mm。有效打印宽度48 mm。打印速度最大为60 mm/s。
当接通热敏打印机电源(+12 V),供电模块输出+5 V用于所有控制电路,还输出用于热敏头加热印字的+7.2 V电压,将其与打印头VH相连。在时钟CLK的配合下,打印数据经数据输入DI引脚移入热敏打印头内部的移位寄存器中。当CPU将一行384位数据全部移入移位寄存器后,CPU将热敏打印头内部锁存端LAT置为低电平,移位寄存器的数据被锁存到锁存器;然后CPU将热敏头加热控制信号STB置为高电平,此时根据384点输入的数据是l或0决定发热元件是否发热,由此在热敏纸上产生要打印的点行。
4 硬件设计
4.1 主控器件
采用Freescale公司S12系列单片机中的MC9S12D64作为主控器件。该器件是一款性能优良的单片机,包含一个16位中央处理单元、64 KBFlash、4 KB RAM、1 KB EEPROM、两个异步串行通信接口和一个同步串行接口等丰富资源,能够满足本设计的需求。该器件具有良好的稳定性,使得打印机能够在恶劣的工业现场使用。
4.2 热敏打印头过热保护模块
热敏打印头加热时间一般为1 mS,连续加热超过1 s后,很容易烧毁热敏头,所以必须对热敏打印头添加过热保护电路。过热保护电路图如图3所示。图中VH为7.2V热敏打印头驱动电压,VH的供给与否由常开继电器控制。由CPU的一个I/O口输出控制加热电压源控制端TCl,参见图2与图3。TH为外部电阻与热敏打印头内部热敏电阻的分压值。热敏打印头温度升高,则TH电压降低。当热敏打印头温度上升到一定值时,TH电压低于比较器U1B的引脚6参考电压,则引脚7输出一个低电平,此时无论ICI为何值,与门U6的引脚3都为低电平,进而Ql截止,继电器断开,热敏打印头加热电源被切断。同时主控器件检测到比较器U1B的引脚7输出低电平信号,进入中断,暂停打印工作。当检测到U1B的引脚7为高电平后,延时一段时间,出中断。此时若热敏打印头温度降低,TH电压高于U1B的引脚6参考电压后,CPU恢复到正常工作情况;反之,比较器U1B的引脚7输出依然是低电平,继电器保持断开;主控器件再次进入中断模式。这样就可以起到保护热敏打印头的作用。
4.3 步进电机驱动模块
步进电机是将输入的电脉冲信号转换成角位移或直线位移的伺服电动机。FTP-628热敏打印头中使用的是二相四拍步进电机控制打印纸走纸及走纸速度。本系统采用LB1836M进行驱动。LB1836M是低饱和、双通道双向电机驱动器件,常用于微型打印机、相机等便携设备。图4给出步进电机的驱动电路。引脚INl、IN2、IN3和IN4是步进脉冲的输入端。OUT1、OUT2、OUT3、OUT4为步进脉冲的输出端,分别与热敏打印头中电机对应的A、NA、B、NB相连接。OUT[1:4]与IN[1:4]的逻辑关系为OUT=IN。输出驱动电压由引脚VS控制,其电压高低决定了步进电机工作电流的大小,影响步进电机运行的快慢,决定走纸快慢。LBl836M输入端的四个步进脉冲可由单片机的PWM0、PWMl、PWM2、PWM3四路PWM通道产生。四路PWM的相位关系为PWM0与PWM2反相,PWMl与PWM3反相,PWM0与PWMl相差π/2。
4.4 数据加载
数据加载即将内存缓冲区的数据输出到热敏打印头的移位寄存器中,然后进行打印。由于本设计采用的主控器件带有串行外围接口(SPI),所以将SPI用于数据加载。使用SPI加载数据,不但电路比硬件方式数据移位简化,而且较I/O口模拟串行数据传输的时序移位速度更快,从而整体提高了打印机性能。
如图5所示,将主控器件设为主机,热敏打印头内部移位寄存器设为从机。主控器件MC9S12D64将打印的数据存入SPI数据寄存器。当数据寄存器写入数据后,数据开始传输。数据通过串行时钟线的同步信号循环移位8位,移入热敏打印头内部的移位寄存器中,实现了数据的加载。
5 软件设计
本热敏打印机的软件设计主要是通过RS-232通信模块接收由汽车行使记录仪传来的数据,并判断数据类型。当接收到数据时,首先要判断是命令字还是字符数据。如果是命令字,则打印机按照命令动作,如果是字符数据,则进入打印状态。进入打印状态后,寻找要打印字符的首地址,按照该字符的规范,从字库中取出打印点阵放入SPI数据寄存器,并传输到热敏打印头的移位寄存器,按行打印,走纸。具体打印流程如图6所示。
6 结束语
本文对热敏打印机的控制部分作了介绍。文中介绍的设计方案实现了微型热敏打印机正常运行。根据实际情况,可选择不同的热敏打印头与微控制器,以满足需求。设计的热敏打印机取得了良好的打印效果,验证了设计方案的合理性。