文章目录

  • 前言
  • 一、热敏打印模块
  • 二、使用注意事项
    • 1.测试热敏打印机模块
    • 2.选择合适的供电电压
    • 3.选择合适的串口通信波特率
  • 总结

前言

在实际生活中,我们经常需要打印各种票据,如购物之后,收银员给出的小票。在医院挂号,挂号机打印出的序号。在需要打印信息的场景中,热敏打印机总是会出现。由于其体积较小,便于放置和信息更新快等优点,已被日常生活广泛使用。之前在项目中也接触到热敏打印机相关的应用,在网上也未收集到关于热敏打印机相关的更多信息,现在就自己的项目经历,与大家分享一下。


一、热敏打印模块

此次接触的打印模块为EM5820,它是由广州优库电子有限公司开发的一款嵌入式热敏打印模块,EM5820 可以支持热敏打印,最大打印宽度为 58mm。产品主要应用于医疗设备和电子称设备中, 也可以应用于其它的需要打印收据的场合。EM5820通过 USB/TTL/RS232 接口连接设备。

二、使用注意事项

在拿到热敏打印机后,一头雾水,不知道如何使用。在网上搜索关于热敏打印机信息,相关信息寥寥无几,近乎没有。只能硬着头皮来,自己去尝试看如何去使用。在探索的过程中也遇到许多问题,浪费了不少时间和精力,现在就自己遇到的问题及解决方法与大家分享一下,希望为后来者提供参考。

1.测试热敏打印机模块

拿到打印机后,首先应该对其进行功能测试,以检验机器是否能正常工作,产品生产方通常都会提供测试方案。厂家提供热敏打印机功能测试方法有2种,第一种是使用USB接口,在电脑安装指定的软件,按照一定步骤进行测试即可,另一种是使用微控制器运行程序代码进行测试。比较这两种方法,前者似乎更简单,类似傻瓜相机的操作一样,而第二种方法,厂家并无详细的文档以告诉测试者如何进行测试,给出的测试SDK也仅仅是C文件和头文件,连完整的测试项目都未给出,显而易见,第二种测试方法相对于第一种的难度更大,并且容易出现由于人为疏忽造成的测试结果不准确。显然选择使用USB接口是测试的明智选择。

2.选择合适的供电电压

对于测试,我们选择第一种测试方法,将打印机连接电源(使用文档中已给出打印机电压和电流大小范围,我们选择5V电压供电为模块供电),再将热敏打印模块通过USB线与电脑相连,运行指定的程序,热敏打印机果然能够打印信息,但是打印出的文字和图形的墨迹太浅,几乎看不清,显然不能在实际生产中使用,需要对此进行探究,以确定是因为打印模块本身问题,还是用户自身操作问题。经过多次测试后(如重启热敏打印机、断开USB线重连等方法),得出的文字效果未有明显变化,仍旧不清晰。此时,想到厂家给出的只是关于热敏打印机的电压和电流的可选范围,在对打印模块供电电压,我们是在规定范围内随意选择的,会不会是电压太小?并且此为热敏打印模块,模块是通过打印头产生热量使打印字产生颜色变化的,温度不够,或许导致字迹不清晰。打印模块的热能是收到电压和电流影响的,不合适的电压将导致打印模块功率降低,产生的热能减少。可以尝试在使用手册规定的范围内升高供给打印机的电压,观察打印效果,看其是否有变化,如有变化,将会朝着什么方向转变。我们尝试将供给EM5820的电压提升到6V,打印出的文字效果比电压5V时,文字清晰多了。按照这样的方式,我们一步步在指定的电压范围内提升电压进行测试,查看效果,发现当电压提升到6.5V以上,打印效果不会有更大的提升,所以最终将电压确定在6.5V,此时打印的文字较为清晰,并且未给打印机提供过大的功率。由上可知,如热敏打印模块输出文字打印效果不清晰,可能是因为对其提供的电压太低了,不能产生足够热量,应该在使用手册中给出的电压范围内适当调高电压。
热敏打印机参数信息

3.选择合适的串口通信波特率

经过上一步,我们确定了热敏打印机是能够正常使用的,并能够打印出任意文字、图形等(测试打印出的内容包含文字和图形),下一步便开启对微控制器控制热敏打印机进行探索。厂家提供用于热敏打印机测试的SDK,SDK文件夹中只有c文件和h文件,未给出完整的测试项目。逐个查看所给文件后,得知厂家只提供热敏打印机使用的相关文件c文件和h文件,用户需要自己建立项目,再将热敏打印机文件加入即可,任何一种型号的控制器都可(只要是STM32系列的就可),并且采用串口通信方式来与热印机进行交互。考虑只需对热敏打印机通过串口进行通信,无需控制器具有较高性能,为降低材料成本,STM32F1系列的单片机即可满足需求。实验选择使用STM32F103C8T6作为微控制器与热敏打印机通信,选择串口1作为通信接口。重新创建一个串口收发项目之后,将热敏打印机相关文件移入其中,经过测试,是可以打印出东西,但是全部都是乱码,经过反复查看,发现自己创建的淳口通信程序的波特率选择的是115200,而使用手册中写明波特率默认为9600(当时也看到了关于波特率的信息,但是未明白“默认9600”是什么意思),要求串口波特率必须为9600,通过将串口通信速率调整到9600后,再经过实验,一切正常。全部的测试效果都能打印出来,效果清晰。由上可知如果打印出的效果是乱码,可能是波特率设置不正确导致的。
热敏打印机参数信息
注意:热敏打印机与STM32单片机通过串口连接时,也需要注意接线方式,如果只是将VH、TX、RX和GND与单片机上对应位置相连,而忽略CTS,则单片机运行程序时,热敏打印机不会作出反应,还应该将即热敏打印机接口处CTS与STM32单片机的RTS相连。
热敏打印机接口图

`


总结

通过上述的开发分享,大家应该对嵌入式热敏打印模块有了大致的了解,下一步我们将进行二次开发,加油呀。

【嵌入式热敏打印模块(1)】相关推荐

  1. fc588热敏打印机驱动_为称重仪表设计热敏打印模块 - 工业自动化称重仪表

    随着称重技术的日益进步,其周边配套设施也日益完善,尤其是打印机方面.因为很多时候用户都需要保存或打印称重记录,用以数据的核对和备份.而一般自带微打的仪表,都是配置针式微打,其换纸不方便.打印浓度深浅不 ...

  2. Qt编写的项目作品25-硬件综合应用(热敏打印+身份证+短信猫)

    一.功能特点 (一).串口热敏打印 标准热敏打印协议解析,无依赖,支持任意系统. 可打印各种文字信息比如访客单.报警信息等. 可打印条形码即一维码. 可打印二维码,设置二维码尺寸. 支持多线程打印图片 ...

  3. arduino水温度传感器数字显示_【雕爷学编程】Arduino动手做(5)---热敏温度传感器模块...

    37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的.鉴于本人手头积累了一些传感器模块,依照实践(动手试试)出真知的理念,以学习和交流为目的,这里准备逐 ...

  4. 【雕爷学编程】Arduino动手做(5)---热敏温度传感器模块

    37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的.鉴于本人手头积累了一些传感器模块,依照实践(动手试试)出真知的理念,以学习和交流为目的,这里准备逐 ...

  5. 【硬件专题】案例:热敏打印效果差?为什么是多个因素造成的?

         案例背景:我们收到异常反馈是海外客户说产品的热敏打印在有的位置会比较模糊.因为我们产品在生命周期内有做过打印机部品的替代,所以市面上会有两种品牌打印机混用的情况.同事在海外的初步分析后发现异 ...

  6. 佳博便携式条码打印机怎么使用_佳博打印机如何设置热敏打印

    原标题:佳博打印机如何设置热敏打印 现在市场上标签纸种类比较多,如果你的打印机适合哪种标签纸,你需要在你的打印机上安装对应的标签纸即可,这里以佳博打印机安装热敏纸为例,首选需要在打印机上安装热敏纸,安 ...

  7. Android硬件控制之POS热敏打印(支持任意图表)

    简介 在Android实现Pos打印的应用场景?实现pos打印的难度?如何用只支持黑白的热敏打印机打印出灰阶效果? 在Android实现Pos打印的应用场景? pos热敏打印机在平时生活中还是挺常见的 ...

  8. 佳博热敏条码打印机修改ip_高赋码热转印打印和热敏打印区别

    在热转印打印中,热敏打印头给色带加热,油墨熔化在标签材料上以形成图案.色带材料被介质吸收,图案构成了标签的一部分.该技术提供了其他按需式打印技术无法匹敌的图案质量和耐久性. 与热敏打印机相比,热转印打 ...

  9. Web使用热敏打印小票(IE环境)

    概述 在html页下使用Epson P60II 热敏纸下打印小票,使用的打印方案为调用window.print(). 代码实现 1.定义窗体,设置宽度和高度 <body onload=" ...

最新文章

  1. 130万奖金池!国家智能网联汽车创新中心ICV创新算法攻关任务报名通道火热开启!...
  2. R语言ggplot2可视化:ggplot2可视化密度图(显示数据密集区域)、ggplot2可视化密度图(对数坐标):log10比例的收入密度图突出了在常规密度图中很难看到的收入分布细节
  3. Oracle11g创建表空间
  4. 1351. 密码锁【难度: 一般 / 知识点: 枚举 容斥原理】
  5. tp3.2部署在nginx主页正常,其他页面404问题解决方式
  6. express 4.x 获取post提交的数据
  7. m3u8格式的视频链接怎么在自己电脑上播放
  8. 超牛逼的性能调优利器 — 火焰图
  9. html5分镜头脚本范例,(最新整理)分镜头脚本范本
  10. PAT 甲级 1016. Phone Bills
  11. uva 11290 - Gangs(卡特兰数)
  12. oracle获取最新的一条数据
  13. 游戏市场阴影下的游戏手机厂商,和他们无法触碰的未来
  14. Web安全工具—Sqlmap常用命令和参数(持续更新)
  15. c语言 输出音频 单片机,单片机播放WAV格式音频的理解
  16. 今天和几个朋友交流个人品牌的看法
  17. Android实现更换头像功能(适配Android7.0版本)
  18. instance在oracle意思,INSTANCE_NAME的含义及作用
  19. 计算机音乐我还是曾经那个少年,我还是曾经那个少年
  20. ubuntu20.04如何安装搜狗输入法

热门文章

  1. Endnote中文参考文献格式
  2. ios 自动打包命令_iOS Xcode 自动打包,一键上传AppStore脚本
  3. 让IE6/IE7/IE8浏览器支持CSS3属性
  4. NAND FLASH MT29F4G08
  5. 1代iPhone 3.0 OS 刷机+破解+使用技巧
  6. Ae:图层的常用属性及相关操作
  7. verilog 实现9位有符号乘法器
  8. ffmpeg源码中ffplay音视频同步原理及实现
  9. 【医学图像分割】读论文系列 1
  10. python的符号怎么打_python plt可视化――打印特殊符号和制作图例代码