标签纸识别定位方法与流程

文档序号:22678624发布日期:2020-10-28 12:36阅读:412来源:国知局
标签纸识别定位方法与流程

本发明属于标签打印领域,涉及一种标签纸识别定位方法。



背景技术:

随着新技术的不断发展,人们对物品的标记已经不限于手写标签,使用打印机打印不干标签已经慢慢进入实际应用领域,现有的打印机器和打印机芯多没有标签检测功能。不能实现标签的定位功能。对于生产厂家来说实现标签定位,需要重新设计产品,从结构、软件、硬件、机芯全部更换周期较长,成本较大。



技术实现要素:

为了解决背景技术中存在的上述技术问题,本发明提供了一种可对标签进行精准定位以及可自动学习标签高度的标签纸识别定位方法。

为了实现上述目的,本发明采用如下技术方案:

一种标签纸识别定位方法,其特征在于:所述标签纸识别定位方法包括以下步骤:

1)对打印设备进行上电初始化;

2)检测打印设备是否有待打印的标签纸,若有,则进行步骤3);若无,则退出识别定位;

3)接收打印指令,在待打印的标签纸上开始打印,并上报消息打印中;

4)根据打印进度实时判断打印标签纸的结束位置或开始位置;

5)判断当前打印指令是否结束,若是,则退出识别定位;若否,则继续执行步骤3)直至打印指令结束。

上述步骤1)的具体实现方式是:

1.1)根据实际获取的待打印的标签纸确定待打印的标签纸的最大高度,所述待打印的标签纸的最大高度是20厘米;

1.2)初始化基础阈值;所述基础阈值是待打印的标签纸与底纸的对比度;所述待打印的标签纸通过背胶贴附在底纸上;

1.3)初始化待打印的标签纸的识别位置;

1.4)初始化adc控制器以及spi总线,确保adc控制器以及spi进入打印准备状态。

上述步骤4)的具体实现方式是:

4.1)通过adc控制器监测打印过程中每步的adc值;

4.2)保存连续16步监测得到的adc1值至adc16值,每连续8步进行求和,得到两个adc的和adc_sum1以及adc_sum2;

所述adc_sum1=adc1+adc2+adc3.....+adc8;

所述adc_sum2=adc9+adc10+adc11.....+adc16;

4.3)求取adc_sum2和adc_sum1的差值,所述差值是目标值objective;

4.4)根据目标值objective与基础阈值的关系判断打印标签纸的结束位置或开始位置。

上述步骤4.4)中根据目标值objective与基础阈值的关系判断打印标签纸的结束位置的具体实现方式是:若目标值objective小于步骤1.2)中的基础阈值时,则标记上一标签结束,记录标签结束位置,同时以标签结束位置为起点通过第一计数器进行倒计数,所述第一计数器的倒计数从220开启;以标签结束位置往下继续延伸20行作为第二起点,第二起点通过第二计数器进行倒计数,所述第二计数器的倒计数从200开启;根据打印指令继续打印,每打印一行所述第一计数器的数值以及第二计数器的数值均减一。

上述步骤4.4)中根据目标值objective与基础阈值的关系判断打印标签纸的开始位置的具体实现方式是:若目标值objective大于步骤1.2)中的基础阈值时,则标记下一标签开始,记录标签开始位置,同时以该位置为起点通过第一计数器进行倒计数,所述第一计数器的倒计数从200开启;根据打印指令继续打印,每打印一行所述第一计数器的数值减一。

上述步骤5)中的退出的具体实现方式是:

等待单张标签打印结束指令,收到单张标签打印结束指令,继续判断第二计数器的数值是小于0大于-20,若是,则倒退第二计数器的步数,并将第二计数器的数值归零;若第二计数器的数值大于0,则继续走待打印的标签纸至第二计数器的步数,并将第二计数器的数值清零并停止倒计数;若接收到单张标签打印结束指令后,0.5s未收到任何后续打印数据,则走纸70步,让打印的内容露出在纸仓外部方便撕纸,并标记位置,下次打印前则退纸70步。

本发明具有以下优点:

本发明提供了一种应用于手持终端的硬件硬件较小改动,结构无需更改,无需专门的标签机芯就可以实现标签定位及打印功能。可以较快的在现有产品上实现标签可靠定位及打印功能。只需要硬件做较小改动,软件增加标签本标签定位算法很快就可以实现标签定位功能。本方法可以可靠的自动识别标签纸,并且自动学习标签的高度,实现标签打印的定位,出纸,走到下一标签、走到撕纸的走纸过程控制。

附图说明

图1是打印机芯控制原理图;

图2是反射式红外控制原理图;

图3是反射式红外有mcu相连部分原理图;

图4是缺纸检测ad采集到的曲线。

图5是标签纸检测ad采集到的曲线。

图6是标签纸检测ad采集到的数据经过微分运算后的曲线。

图7是标签纸新标签开始检测异常曲线1。

图8是标签纸新标签开始检测异常曲线2。

图9是标签纸新标签开始检测异常曲线3。

图10是本热敏标签打印原理框图。

图11是反射式红外处理流程图。

图12是标签数据处理流程图。

具体实施方式

本发明提供了一种标签纸识别定位方法,该标签纸识别定位方法包括以下步骤:

1)对打印设备进行上电初始化:

1.1)根据实际获取的待打印的标签纸确定待打印的标签纸的最大高度,待打印的标签纸的最大高度是20厘米;

1.2)初始化基础阈值;基础阈值是待打印的标签纸与底纸的对比度;待打印的标签纸通过背胶贴附在底纸上;

1.3)初始化待打印的标签纸的识别位置;

1.4)初始化adc控制器以及spi总线,确保adc控制器以及spi进入打印准备状态。

2)检测打印设备是否有待打印的标签纸,若有,则进行步骤3);若无,则退出识别定位;

3)接收打印指令,在待打印的标签纸上开始打印,并上报消息打印中;

4)根据打印进度实时判断打印标签纸的结束位置或开始位置:

4.1)通过adc控制器监测打印过程中每步的adc值;

4.2)保存连续16步监测得到的adc1值至adc16值,每连续8步进行求和,得到两个adc的和adc_sum1以及adc_sum2;

adc_sum1=adc1+adc2+adc3.....+adc8;

adc_sum2=adc9+adc10+adc11.....+adc16;

4.3)求取adc_sum2和adc_sum1的差值,差值是目标值objective;

4.4)根据目标值objective与基础阈值的关系判断打印标签纸的结束位置或开始位置。

步骤4.4)中根据目标值objective与基础阈值的关系判断打印标签纸的结束位置的具体实现方式是:若目标值objective小于步骤1.2)中的基础阈值时,则标记上一标签结束,记录标签结束位置,同时以标签结束位置为起点通过第一计数器进行倒计数,第一计数器的倒计数从220开启;以标签结束位置往下继续延伸20行作为第二起点,第二起点通过第二计数器进行倒计数,第二计数器的倒计数从200开启;根据打印指令继续打印,每打印一行第一计数器的数值以及第二计数器的数值均减一。

步骤4.4)中根据目标值objective与基础阈值的关系判断打印标签纸的开始位置的具体实现方式是:若目标值objective大于步骤1.2)中的基础阈值时,则标记下一标签开始,记录标签开始位置,同时以该位置为起点通过第一计数器进行倒计数,第一计数器的倒计数从200开启;根据打印指令继续打印,每打印一行第一计数器的数值减一。

5)判断当前打印指令是否结束,若是,则退出识别定位;若否,则继续执行步骤3)直至打印指令结束。

判断是否收到单张标签打印结束指令,若是,则继续判断第二计数器的数值是小于0大于-20,若是,则倒退第二计数器的步数,并将第二计数器的数值归零;若第二计数器的数值大于0,则继续走待打印的标签纸至第二计数器的步数,并将第二计数器的数值清零并停止倒计数;若接受到单张标签打印结束指令,即无后续打印数据时,则等待0.5s无打印数据走纸70步,让打印的内容露出在纸仓外部方便撕纸,并标记位置,下次打印前则退纸70步。

本发明所提供的标签纸识别定位方法,应用于利用打印机芯缺纸监测功能实现、包括红外发射二极管、红外接收管、红外发射二级管控制方法,红外接收管监测电路;独有的标签定位算法可自动识别缺纸和标签间隙;标签高度自动学习算法;标签走纸算法、自动识别走到下一标签或撕纸识别;自动识别是否本次打印全部结束。

图1为打印机机芯控制部分原理图,主要实现打印机芯的数据发送,电机控制,加热控制等。图2红外驱动电路包括限流电阻r170、驱动io;驱动iomcu使用低电平开漏驱动。上述红外接收电路使用r171作为采样电阻。图3打印机电机驱动芯片为u57使用,可以实现正常的走纸和退纸功能。

下面将结合附图以及具体实施例来详细说明本发明。

1、硬件部分:硬件标签及缺纸检测采取间歇性控制红外发射管发光,这样可以有效减少环境光变化的光接收信号的干扰。光信号接收使用u58(stm32f103rc)pin27adc功能采集,较传统的io模式只有0和1两种状态这样接软件上可以实现纸张检测并且可靠性差。使用adc可以从软件上规避各种干扰可靠性明显增强。

2、模拟信号软件处理部分:如图4所示,图中曲线为缺纸检测曲线,靠软件可以明显区分出有纸无纸状态。如图5所示,图5中曲线为标签检测曲线,靠软件算法滤波之后通过微分运算可以得到图6所得图形,可以明显区分标签间隔。第一个尖峰为上一标签结束,第二个尖峰为下一标签开始。在实际应用中由于标签自身差异,反射底纸差异,标签间距差异还会出现图7和图8的情况。图7为未监测到下一标签开始,图8为未检测到上一标签结束。在算法处理中遇见图7的情况再检测到上一标签结束后步进电机50步以内没有检测下一签开始的话会软件将下一标签开始置位。对于图8的情况未检测到上一标签结束的情况,采取强行将上一标签结束置位,并在软件上计距上一标签结束已走50步的步进值。通过上述微分及异常处理方法,标签定位已经非常准确。

3、软件自动学习标签高度标签定位处理部分:在实际应用中,有时会偶发的出现两种情况,一种是如图9偶发出现没有检测到标签,或者偶发某张标签的结束和新标签的信号都非常微弱,针对这种情况建立了一种标签学习机制,当一卷标签打印完毕,新的一卷标签放入时会启动学习标签高度功能,会连续测量标签的高度,当遇到相邻连续三个标签高度相差不到1mm时,会将次高度记录为标签默认高度,当超过标签记录2mm时,会强制认为原有标签已结束,新标签已经开始。还有一种情况就是用户打印内容较多基本排满整张标签,这样的话就会出现下一标签打印出现偏位甚至跳过下一标签,在软件检测到标签结束监测到后2mm内打印下标签,会在软件是自动后退保证下一标签依然可以对齐。

4、走纸控制部分:打印机芯实际与光电管的检测没有在同一位置,采取检测标签结束指令后继续打印或者走纸170步即可走到下一标签继续下一标签。如果100ms内没有后续数据,继续走70步走到用户可以撕纸,再次接到打印数据是先后退70步再继续打印。通过此算法可以有效提高打印速度,和定位精度。(传统的做法要不不后退,这样打印会偏位,或者每次都后退会出现打印慢或者打印效率低下)。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1