热敏打印机的设计实现

电子说

1.3w人已加入

描述

热敏打印机简介

热敏打印机是一种通过对热敏纸加热之后显示文字或图案的打印机。

热敏打印机具有速度快、噪声低、可靠性高、字迹清晰、机头小而轻等优点,可满足各种应用场景:快递单打印机、POS机、收银台和打称台打票据等.

通过视频来了解热敏打印机的工作原理

打印头

打印机的速度以及打印宽度直接受打印头的影响

直流电机控制

2.1 电机加速表

为了更好地控制电机,需生成一个固定的电机加速时间表来控制电机的加减速

2.2 加热时间表

通常加热时间和加速时间关系是由电机每次步进的距离来决定加热时间。

如果是两步一个点行,就需要分4次加热,第一步时,需要先加热前半再马上加热后半,第二步时,需要先加热前半再马上加热后半,这样就完成了一整行的加热。所以每次加热的最大时间为当前步进时间的一半。

2.3 加热流程图

直流电机控制

2.4 时序图

第一行需要特殊处理,加热时间不能超过一个步进的时间

直流电机控制

软件

3.1 打印头保护

在定时器中完成打印头的一些监控功能

3.1.1 电压监控

热敏头的供电电压为24V,需要实时监控供电电压,电压过高容易烧坏打印头

3.1.2 温度监控

热敏打印头上一般有个热敏电阻的温度传感器,用于检测热敏头温度,如果热敏头温度过高也会烧坏打印头

3.3 走纸控制

通过步进电机,2步一行(0.125mm)即每步0.0625mm来控制热敏纸的卷动,使用固定的加速表开启定时器来控制STEP信号

3.4 切纸控制

如果是连续式的热敏纸就需要用直流电机控制切刀,切断卷纸

3.5 字库及图像

有专门的字库IC,通过SPI控制,外部FLASH用于存储图像以及固件等

3.6 加热控制

使用固定的加热时间表开启定时器来控制片选信号

3.7 串口通信

通过USB虚拟串口,接收电脑发送的指令或者图像来控制打印

直流电机控制

3.8 多任务设计方案

3.8.1 USB虚拟串口,数据接收中断(端点3)

3.8.2 走纸STEP控制中断

3.8.3 加热控制中断

3.8.4 数据准备线程

3.8.5 数据打印线程

3.8.6 信号量分布

直流电机控制

3.8.7 整体框图

直流电机控制

遇到的坑

4.1 打印不清晰或者打印二维码图片时有图案被拉长,如正方形被拉成长方形

这是由于加热时间太长导致,最佳的加热时间是需要经过一定次数的测试得到的,此项目是两步一点行,所以最大的加热时间是一个步进时间的一半再减去其他事物所需时间

4.2 文字变形,图案变形等

可能是打印头被弄脏了导致,或者打印头坏了

4.3 标签打印时,测试标签长度不准确

由于间隙传感器或者其他硬件的限制导致,即使算法再好也无济于事,有的传感器测出来的数值偏大,有的传感器测出来的数值偏小,这就需要将电位器调节到最佳档位

4.4 标签打印时,停止的位置不准确

这是由于间隙传感器所取的阈值不准,每次传感器所读回的值可能不太稳定,导致经过纸时有可能会被判断为间隙导致走纸异常

4.5 步进电机异响或者堵转

4.5.1 APM32替代STM32需要更改初始化时钟,否则会出现时钟初始化失败,导致Delay函数不准确,从而导致步进时间有问题,最后造成电机堵转的情况

4.5.2 步进驱动IC的静音模式和高速模式

在静音模式下,当速度达到某个档位时,内部会出现报错的情况,导致电机有异响堵转,最后配置成高速模式即可解决问题。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
评论(0)
发评论
jf_51550640 11-07
0 回复 举报
要是能提供一下源码就Nice了 收起回复

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分