谢谢分享,但是介绍说得那么好,但是分享的资料只有原理图和程序,没有提到的那些文档和流程图,那些文字工作原理,系统结构,程序的设计思想,具体的程序设计思路等都给我一些触动,我觉得之后做总结和前期项目考虑都需要。我就针对这个简单地展开思考了一下,以下是我的总结:
工作原理:颜色对比,通过透明膜“炭化”颜色变深,看起来纸上有了痕迹,然后就是“点成线,线成面”。通过给(很小的)热敏电阻加热,纸上和该热敏电阻接触的部分就炭化了(大概200℃左右),因为加热时间短,所以没有对周围造成什么影响(感觉加热时间长短会影响纸上的清晰度,也有可能是热敏纸质量有些次)
系统结构:打印头算一部分(执行),单片机及相应的电路算一部分(控制)还有就是数据的来源算一部分(采集),相当于眼睛“采集”到数据,大脑开始“控制”手拿起笔,通过笔“执行”手的动作在纸上画出来轨迹。
程序的设计思想:从结果往过程去分析,结果就是“要打出轨迹来”。 1.对于打印头来说,给热敏电阻加热才会在纸上留下痕迹,要想形成轨迹,需要移动。(打印头:需要给热敏电阻加热,还要让纸移动); 2.对于单片机及相应电路来说,我要让它干这个(加热和移动),我还得替它考虑加热温度高了怎么办,加热时间长了又怎么办(造成过热),还得替它想着没纸了怎么办,另外我还得想着怎么“采集”到数据,才能让打印头有事可干,数据多了我还得想着脑子里腾出一块地方专门记着(FLASH),还得想着怎么把数据给打印头,直接给它它还不认,必须得给它傻瓜式的点阵数据。还要把打印头“这位爷”伺候舒服了,控制着它的工作电压,同时还得准备需要用到的电路,我产生的小电流还管不了打印头的电机,然后得请个帮手(驱动电路)(我太难了) 3.对于采集,我看见啥是啥,我摸到啥听到啥是啥(接收到的数据),外界在变化我管不了,但我管得了自己不听不看不摸,(USB,网口,串口(包括RS232,RS485),少一种接口就少了一种接触外界的方式)
具体的程序设计思路和流程图:都是围绕着单片机及相应电路来说的。控制加热任务(注:控制连接到打印头的引脚来实现加热,相关联:过热中断(通过比较器判断转换后的电压来判断过热)) 和 控制移动任务(注:电机动作任务,相关联:缺纸中断(也是通过比较器判断))。过热中断和缺纸中断都是单片机的ADC采样。还有就是数据采集任务(通过USB,网口和串口接收数据并处理)与数据发送任务(将转换成点阵的数据通过SPI发送到打印头)
(P.S. 有一点我不确定是否理解对了,但我的理解是这样的:过热中断会触发控制打印头电压任务,使打印头停止工作来降温;缺纸中断会触发警报提示任务,可能是通过红灯闪烁和蜂鸣器响声来提示缺纸了)
以上只是我的个人理解,我并没有分析楼主的程序,各位看官请慎重。最后附上我看的一篇参考文章:https://tieba.baidu.com/p/6425913894 |