基于飞思卡尔单片机的微型热敏打印机的设计与实现文档格式.docx

上传人:b****6 文档编号:20699491 上传时间:2023-01-25 格式:DOCX 页数:9 大小:121.11KB
下载 相关 举报
基于飞思卡尔单片机的微型热敏打印机的设计与实现文档格式.docx_第1页
第1页 / 共9页
基于飞思卡尔单片机的微型热敏打印机的设计与实现文档格式.docx_第2页
第2页 / 共9页
基于飞思卡尔单片机的微型热敏打印机的设计与实现文档格式.docx_第3页
第3页 / 共9页
基于飞思卡尔单片机的微型热敏打印机的设计与实现文档格式.docx_第4页
第4页 / 共9页
基于飞思卡尔单片机的微型热敏打印机的设计与实现文档格式.docx_第5页
第5页 / 共9页
点击查看更多>>
下载资源
资源描述

基于飞思卡尔单片机的微型热敏打印机的设计与实现文档格式.docx

《基于飞思卡尔单片机的微型热敏打印机的设计与实现文档格式.docx》由会员分享,可在线阅读,更多相关《基于飞思卡尔单片机的微型热敏打印机的设计与实现文档格式.docx(9页珍藏版)》请在冰豆网上搜索。

基于飞思卡尔单片机的微型热敏打印机的设计与实现文档格式.docx

当接通热敏打印机电源(+12v),供电模块输出+5v用于所有控制电路,还输出用于热敏头加热印字的+7.2v电压,将其与打印头vh相连,在时钟clk的配合下,打印数据经数据输入di引脚移入热敏打印头内部的移位寄存器中,当cpu将一行384位数据全部移入移位寄存器后,cpu将热敏打印头内部锁存端lat置为低电平,移位寄存器的数据被锁存到锁存器,然后cpu将热敏都加热控制信号stb置为高电平,此时根据384点输入的数据是1或0决定发热元件是否发热,由此在热敏纸上产生要打印的点行。

4硬件设计

4.1主控器件

采用freescale公司s12系列单片机的mc9s12d64作为主控器件,该器件是一款性能优良的单片机,包含一个16位中央处理单元、64kbflash、4kbram,、1kbeeprom、两个异步串行通信接口和一个同步串行接口等丰富资源[2],能够满足本设计的需求,该器件具有良好的稳定性,使得打印机能够在恶劣的工业现场使用。

4.2热敏打印头过热保护模块

若民打印头加热时间一般为1ms,连续加热超过1s后,很容易烧毁热敏头,所以必须对热敏打印头添加过热保护电路,过热保护电路图如图3所示,图中vh为7.2v热敏打印头驱动电压,vh的供给与否由常开继电器控制,由cpu的一个i/o口输出控制加热电压源控制端tc1,参见图2与图3。

th为外部电阻与热敏打印头内部热敏电阻的分压值。

热敏打印头温度升高,则th电压降低,当热敏打印头温度上升到一定值时,th电压低于比较器u1b的引脚6参考电压,则引脚7输出一个低电平,此时无论tc1为何值,与门u6的引脚3都为低电平,进而q1截止,继电器断开,热敏打印头加热电源被切断[5]。

同时主控器件检测到比较器u1b的引脚7输出低电平信号,进入中断,暂停打印工作。

当检测到u1b的引脚7为高电平后,延时一段时间,出中断。

此时若热敏打印头温度降低,th电压高于u1b的引脚6参考电压后,cpu恢复到正常工作情况,反之,比较器u1b的引脚7输出依然是低电平,继电器保持断开;

主控器件再次进入中断模块,这样就可以起到保护热敏打印头的作用。

4.3步进电机驱动模块

步进电机是将输入的电脉冲信号转换成角位移或直线位移的伺服电动机。

ftp-628热敏打印头中使用的是二相四拍步进电机控制打印纸走纸及走纸速度。

本系统采用lb1836m进行驱动。

lb1836m是低饱和、双通道双向电机驱动器件,常用于微型打印机、相机等便携设备,图4给出步进电机的驱动电路,引脚in1、in2、in3和in4是步进脉冲的输入端,out1、out2、out3、out4为步进脉冲的输出端,分别与热敏打印头中电机对应的a、na、b、nb相连接。

uot[1:

4]与in[1:

4]的逻辑关系为out=in。

输出驱动电压由引脚vs控制,其电压高低决定了步进电机工作电流的大小,影响步进电机运行的快慢,决定走纸快慢,lb1836m输入端的四个步进脉冲可由单片机的pwm0、pwm1、pwm2、pwm3四路pwm通道产生。

四路pwm的相位关系为pwm0与pwm2反相,pwm1与pwm3反相,pwm0与pwm1相差π/2。

4.4数据加载

数据加载即将内存缓冲区的数据输出到热敏打印头的移位寄存器中,然后进行打印。

由于本设计采用的主控器件带有串行外围接口(spi),所以将spi用于数据加载,使用spi加载数据,不但电路比硬件方式数据移位简化,而且较i/o口模拟串行数据传输的时序移位速度更快,从而整体提高了打印机性能。

如图5所示,将主控器件设为主机,热敏打印机内部移位寄存设为从机,主控器件mc9s12d64将打印的数据存入spi数据寄存器。

当数据寄存器写入数据后,数据开始传输,数据通过串行时钟线的同步信号循环移位8位,移入热敏打印头内部的移位寄存器中,实现了数据的加载。

5软件设计

本热敏打印机的软件设计主要是通过rs-232通信模块接收由汽车行驶记录仪传来的数据,并判断数据类型。

当接收到数据时,首先要判断是命令字还是字符数据,如果是命令字,则打印机按照命令动作,如果是字符数据,则进入打印状态,进入打印状态后,寻找要打印字符的的首地址,按照该字符的规范,从字库中去除打印点阵放入spi数据寄存器,并传输到热敏打印头的移位寄存器,按行打印,走纸,具体打印流程如图6所示。

6结束语

本文对热敏打印机的控制部分作了介绍。

文中介绍的设计方案实现了微型热敏打印机正常运行,根据实际情况,可选择不同的热敏打印头与微控制器,以满足需求,设计的热敏打印机取得了良好的打印效果,验证了设计方案的合理性。

 

基于89S51单片机的微型热敏打印机软件设计

  摘要:

介绍了基于89S51单片机的微型热敏打印机的组成,分析了打印原理,详细给出了整体流程以及各个功能模块的软件设计。

热敏打印头采用I/O口模拟串行数据传输实现数据加载。

设计的微型热敏打印机运用于实际,取得了良好的效果。

关键词:

热敏打印机过热保护步进电机数据加载

1引言  由于常用的微型针式打印机的速度慢,噪声大,无法满足某些场合的需要。

微型热敏打印机具有打印速度快、噪音低、可靠性高、字迹清晰、机头小而轻等优点,可满足各种场合的打印要求,因此得到广泛应用。

笔者在汽车行驶记录仪的开发过程中,根据厂家要求,选用较为先进的热敏打印机作为打印设备。

但微型热敏打印头对打印时序和温度要求较高,一旦控制不当极易造成打印头烧毁。

因此,在有合理的硬件设计的基础上,软件设计也十分重要。

本文使用某些软件设计替代了部分硬件电路,使打印机的控制电路得到了简化。

2打印原理

  选用的FTP-628作为热敏打印头。

该热敏打印头点结构384点/行,水平方向点密度:

8点/mm,垂直方向行间距:

有效打印宽度48mm。

打印速度最大为60mm/秒[1]。

  要打印的数据在时钟CLK的配合下,经由数据输入脚DI移到热敏机芯内部的移位寄存器中。

经384个时钟周期,一行384位数据全部移到移位寄存器后,锁存端的锁存信号/LAT由CPU置低,移位寄存器的数据被锁存到锁存器。

然后热敏头加热控制信号STB产生高电平,此时根据384点输入的DI数据是1或者是0决定发热元件是否发热,由此在热敏纸上产生要打印的点行。

3系统整体框图

  本文介绍的微型热敏打印机由主控芯片、步进电机驱动模块、热敏打印头过热保护模块、热敏打印头缺纸检测模块、RS-232通信模块、供电模块等部分组成。

其中步进电机驱动模块负责控制打印纸走纸及走纸速度;

热敏打印头过热保护模块防止热敏打印头温度过高损坏;

热敏打印头缺纸检测电路完成热敏打印头是否有纸检测;

RS-232通信模块实现打印机与上位机之间的通信;

供电模块给控制电路及热敏打印头供电。

根据实际需要,考虑成本,选择89S51单片机作为主控芯片[2]。

如图1,给出了主控芯片与各个模块之间的接口功能设计。

图1主控芯片与功能模块的接口设计

4系统软件设计

4.1整体流程

  如图2,给出了整个系统工作的软件流程图。

本热敏打印机的软件设计主要是通过RS-232通信模块接收由主机传来的数据。

当接收到数据时,首先要判断是命令字还是字符数据。

如果是命令字,则打印机按照命令动作;

如果判断为字符数据,则从字库中提取字符点阵,按行打印,走纸。

图2系统工作流程图

4.2数据加载与印字

  将内存缓冲区的数据输出到热敏打印头的移位寄存器中,可以通过硬件方式和软件移位的方式实现[3]。

本打印机实现方案采用的是后者。

一般情况下,软件移位是由I/O口模拟串行数据传输时序。

图3为I/O口实现数据移位流程图。

P1.0口模拟时钟CLOCK,P1.1口在CLOCK的配合下输出数据DATA,输出数据到热敏打印头内部的移位寄存器中。

  P2[0:

5]分别与打印头内部的加热选通信号STB[0:

5]相连接。

当数据全部移入到移位寄存器后,对STB[0:

5]操作,加热印字。

由于热敏打印机是通过打印头加热后在热敏打印纸上灼烧印字,所以,加热时间的长短决定了印字的清晰与快慢。

因此,根据实际情况,合理的设计加热时间对于实现热敏打印机的高质量打印十分重要。

图3I/O口实现数据移位流程图

4.3步进电机走纸及驱动

图4I/O口模拟输出PWM的时序图

  设计的热敏打印机内部的二相四拍步进电机控制打印头的走纸及走纸速度。

由2路I/O口模拟2路PWM输出,再经过两个非门,将输出的2路模拟PWM波形转换为4路,输入步进电机驱动器,驱动步进电机[4]。

图4为P1.2与P1.3口模拟输出PWM的时序图。

在一个周期内,P1.2较P1.3延时3/4个周期。

4.4保护与中断

  热敏打印头加热时间一般为1ms,连续加热超过1s后,很容易烧毁、损坏热敏头,所以实际的热敏打印机必须对热敏打印头添加过热保护电路。

当热敏打印头温度过高时,过热保护模块输出一个低电平到/INT0脚,使打印机进入中断[3]。

图5为过热保护中断流程图。

进入中断后,主控芯片断开热敏打印头加热供电控制继电器,停止热敏打印头的加热供电,并暂停其他动作。

当热敏打印头温度降低后,则过热保护模块输出一个高电平到/INT0脚,此时,打印机延时一段时间后出中断。

  热敏打印头内部用光电继电器作为传感器,检测打印头是否有纸。

当热敏打印头无纸时,传感器中的发光二极管发出的光束无法经由打印纸反射到光敏三极管上,光敏三极管由此而无法导通,经过外部电路后,/INT1为低电平,进入中断。

反之,/INT1为高电平,工作正常。

其中断流程与过热保护中断类似。

图5过热保护中断流程图

4.5字符库的构造与提取

  由于本打印机是应用于汽车行驶记录仪的专用打印机,按照汽车行驶记录仪的要求,约需使用100个左右的汉字以及26个大写英文字母以及10个阿拉伯数字,为降低字库对硬件存储空间的要求,采用自定义的字符库。

另外,自定义的字符库灵活性较强,在自定义字库中,这样既可以在同等打印宽度的情况下实现灵活打印,也可以使打印出来的字符效果美观。

提取字符点阵时,首先判断字符类型,再寻得要打印字符的首地址,按照该字符的点阵规范,从字库中取出打印点阵放入缓冲区,进而加载,并打印。

5结束语

本文创新点:

为简化硬件电路,采用软件移位实现数据加载,通过软件产生步进电机所需的PWM驱动信号;

为减小打印机对存储空间的需求,针对汽车行驶记录仪使用字符少的特点,设计了自定义的字符库。

  本文使用软件实现了热敏打印机的运行控制。

实验证明,微型热敏打印机在实时性要求不高的诸多场合能正常运行,验证了设计方案的合理性。

而对于实时性要求高、成本并不敏感的打印环境,则应该引入实时操作系统,实现对打印机的实时操作。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销 > 经济市场

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1