提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
生活中随处可见热敏打印机的身影,例如:小票打印机,标签打印机,热敏打印具有速度快、噪音低,打印清晰,使用方便的优点。本文记录从硬件设计到软件实现,动手做一个热敏打印机。
热敏打印机通过蓝牙,串口,USB发送数据到MCU,解析得到的数据从spi flash获取汉字或ASSIC数据,发送到打印机头。
控制打印机头加热,控制打印机的步进电机走纸,从而实现热敏打印。
主控MCU选择STM32F103C8T6或者pin to pin的GD32F103C8T6,电源使用DC12V供电,通过LM2596S直流降压模块,后期可以通过旋转电位器可以调热敏打印机的供电电压,再经过2个LDO AMS1117-5.0,AMS1117-3.3输出5.0V和3.3V电压,5V电压可以给USB供电,3.3V电压给MCU和其他模块供电,通过SPI接口连接外部flash,用于存储字库,USB用于识别打印机类型,可以通过UART可以打印log,一路串口用于连接HC08透传模块,便于手机连接通过蓝牙打印数据。
使用AD10软件画原理图和PCB
在嘉立创打板后,迫不及待开始买材料开始焊接,焊接调试 的过程中,发现V1存在一些问题:
过孔小了,焊接的时候比较麻烦,不能很好对准
关于LM2596S降压模块,刚拿到手的时候,不能输出电压,需要逆时针旋转10圈左右,再可以正常调电压;转动电位器调电压的时候可以用万用表接在OUT-和OUT+,看输出的电压数值。
错的封装:
修改后:
没有找到打印机孔位尺寸图,手搓的有些偏差
画错了5V电源和3.3V电源电路,导致烧掉了一颗MCU,后来通过飞线测试5.0V电源和3.3V电源正常
关闭JTAG,GPIOB4 上电时会拉高几百ms,改为GPIOB6
初始化B5和B6 先拉高再拉低,正常
割断STB2,接在KEY GPIO6 IO上
电机IO上电时有问题 IN2,PA15 改为 PB9,修改后:B9 飞线连到IN2上
买的座子是30 pin下接,PCB和实物座子不匹配,重新买上接的30 pin座子
增加一个IO GPIOB7 控制蜂鸣器
焊接的是2pin的DC座子,跟PCB没有关系【忽略不管】
焊接的时候焊盘比较小,按键焊盘改大一些方便焊接
添加SWD丝印,VCC,SWDIO,SWCLK,GND
添加UART丝印,VCC,TXD,RXD,GND
在STB1,STB2网络增加焊点,便于软件调试
通过设计热敏打印机PCB,调试硬件发现设计的硬件问题,再修改验证。