体积、成本等问题的限制,一般对打印头的供电上没有恒流器件,因此分组不均匀会导致同一行中出现字迹深浅不一的情况。这个需要经过大量测试来确定。Р报警控制Р打印头检测主要包括:纸张检测、打印头温度检测和压杆检测。温度检测和纸张检测都是模拟信号,需要接到adc上转换成数字值后来判断。压杆检测只需要接到普通的io口上或者外部中断上即可。Р纸张检测Р主要判断纸张的状态,包括:缺纸、黑标和正常。一般最好可以配合压杆检测一起来判断。Р压杆检测Р用来判断打印头压杆是否弹起,可以检测纸仓是否被打开。Р温度检测Р检测打印头加热点的温度,在温度过热时需要程序上暂停打印以实现打印头保护。Р压杆和温度检测都很简单,需要注意的是温度检测与纸张检测一样,分压电阻应采用1%精度的精密电阻。Р纸张检测是比较麻烦。纸张检测依赖于至于打印头一边的一个光感传感器。由于是光敏器件,在有强光照射时会使读到的数值变化很大。以1310的打印头传感器信号经过adc转换后得到的值为例,正常状态时,有纸:值在500~700范围内波动;黑标:100~150左右;缺纸:15~30左右。但在有强光直射时(阳光直射),缺纸状态下读到的值的范围会扩大到15~400甚至更大,这已经覆盖了黑标范围。在这种情况下,黑标和缺纸会误判。所以必须在软件上加以设计来排除这些可能的误判。目前采用的比较合适的方法是,设定一个阈值区分有纸和缺纸(包括黑标)两种状态,而黑标和缺纸则通过软件程序来实现,即,当检测值小于设定阈值时,可判为非正常状态,之后继续走纸(如果打印机静止则启动)N点行,如果在N点行内所得值始终小于阈值,则判为缺纸,如果在经历过一段低值后回复正常,则认为是黑标。具体实现在此就不赘述了。Р大体上说,对热敏打印头的控制最需要注意的就是以上几点。其他也有一些细节可以做做文章,比如根据电池电压的高低和环境温度动态调节打印速度等等,这里就不一一叙述了。