一种热敏打印机降低步进电机运行噪声的方法与流程

文档序号:25437616发布日期:2021-06-11 21:55阅读:274来源:国知局
一种热敏打印机降低步进电机运行噪声的方法与流程

本发明涉及热敏打印机技术领域,特别是指一种热敏打印机降低步进电机运行噪声的方法。



背景技术:

热敏打印机是一种利用打印头的加热元件,通过接触热敏打印纸后使其显色,打印出相应图案的一种设备。

热敏打印技术目前的应用越来越广泛,遍及社会各行业领域,在收银、餐饮、银行、快递等各种领域,用于打印各种单据。近些年来,热敏打印技术的应用场景逐渐从商业应用覆盖到消费类产品,例如学生错题打印机、儿童相机等家庭消费产品,家用市场的规模逐渐增大。

家用产品,如学生错题打印机,主要使用场合在家庭、学校、图书馆等,对产品的噪声有较高要求,工作时要相对比较安静。但受成本和体积限制,一般使用低压热敏打印头,电压低,所以与高压热敏打印头比,要产生相同的加热能量,需要更长的加热时间;同时为避免电流过大,需要分段加热,使得低压热敏打印机行加热时间长,因而行打印速度慢。每行打印完毕后,电机还需要运行进行走纸,所以整个打印过程,速度特别慢。为了提高打印速度,一般会采用边打印边走纸的方式。

边打印边走纸如果要匀速打印,那么打印时间就取决于单行最大加热时间,这样的话速度依然较慢,所以为了提高打印速度,一般会采用变速的方式来运行。现有热敏打印机的控制方案,其步进电机一般采用2相控制或1-2相控制。步进电机的运行速度根据行加热所需的实际时间来进行变速调节:在需要加热点数较少、所需加热时间较短的行,电机运行速度较快;在需要加热点数较多、所需加热时间较长的行,电机运行速度较慢。在不影响打印质量的前提下,最快打印速度就是加热时间等于电机运行时间。

以上现有方案的主要缺陷是,使用上述变速方法时,在速度出现大的变化时,会产生较大的噪声,原因如下:

打印一张图片,图片每一行的点数都不一样,有多有少,所以加热时间也会出现较大的变化,以一张图片的打印作为示例(参见图1),是打印一张图片每一行的加热时间,横轴代表行数,纵轴代表加热时间,可以看到加热时间是会不断变化的。如果根据加热时间来决定电机每行的运行时间,那么上图也就变成了电机每行的运行时间。从图中可以看出,打印一张图片的构成中会有较多的变速过程,这样频繁的变速会导致步进电机发出较大的噪声。

为了减少频繁变速,目前有许多采用速度分级的方式,将电机的运行时间分成许多个挡位,根据加热时间来决定当前电机的速度要在哪个挡位上,这样小的加热时间变化就不会引起电机速度变化,达到一种类似滤波的作用,使电机运行更平滑。但是该方法下,依然存在加热时间突然变得很大或很小(参见图2),导致挡位变化较大,因而造成一个大的变速,同样会导致步进电机发出较大的噪声。



技术实现要素:

本发明的目的在于提供一种热敏打印机降低步进电机运行噪声的方法,通过对步进电机的变速过程进行平滑处理,减少步进电机在变速时产生的噪声。

为了达成上述目的,本发明的解决方案是:

一种热敏打印机降低步进电机运行噪声的方法,打印前预先接收n行打印数据,根据所接收的n行打印数据计算出该n行打印数据每一行所需要的电机加热时间,根据电机加热时间,得到加热时间的峰值、平均值和变化率,进而判断n行打印数据的变化趋势,再根据变化趋势计算出电机每行的运行时间,打印时根据该电机每行的运行时间来控制电机转速,如此循环,直至接收完所有打印数据后,打印完成。

上述方法的具体实现步骤为:

步骤1、打印机预先接收n行打印数据;

步骤2、计算出n行打印数据每一行所需要的电机加热时间;

步骤3、计算出加热时间的峰值、平均值和变化率,进而判断n行打印数据的变化趋势,再根据变化趋势进行区分加热时间的变化场景,对应不同场景采用不同算法计算电机每行的运行时间;

步骤4、将电机每行的运行时间保存,之后打印时再读取电机运行时间来控制电机转速;

步骤5、判断是否有新的打印数据需要接收,若是,就返回步骤2,重新计算并更新电机每行的运行时间,否则打印结束。

所述步骤3中,变化率的算法为:

设n行打印数据中,第i行打印数据的电机加热时间为yi、变化率为hi,则

所述步骤3中,变化趋势的算法为:

使用最小二乘法直线拟合,通过最小二乘法拟合加热时间变化曲线的斜率来实现判断:

电机运行时间变化趋势图中x轴为行数,y轴为加热时间,设拟合直线的公式为:y=bx+a,其中

其中a是回归方程的常数项,就是拟合直线在y轴上的截距,b就是拟合直线的斜率,若斜率大于0,表示趋势是递增;若斜率小于0,表示趋势是递减。

所述步骤3中,区分加热时间变化场景的方法包括:

根据实际的打印机来设定变化率阈值h,先计算出打印一张图片所有行的加热时间,计算出所有的变化率,然后观测突变的点的变化率情况来选定变化率阈值;同时,设定斜率阈值k,k值根据实际情况来选取;

若-h<hi<h,且-k<b<k,则为场景一加热时间稳定平滑;

若-h<hi<h,且b>k,则为场景二加热时间逐步提高;

若-h<hi<h,且b<-k,则为场景三加热时间逐步减少;

若hi>h,则为场景四加热时间突然变长;

若hi<-h,则为场景五加热时间突然变短;

所述步骤3中,对应不同场景计算电机每行的运行时间的方法包括:

①当处于场景一加热时间稳定平滑时,从该n行的加热时间中选取最大值作为电机当前行的运行时间;

②当场景二加热时间逐步提高时,每行的电机运行时间通过y=bx+c来计算得到;

所述y=bx+a中,x为行数值,y为对应行的电机运行时间,b为根据已知的n行的加热时间计算得到的斜率,已知n行的加热时间、n行对应的行数值x、斜率b的情况下,通过y=bx计算出所有y值,然后用n行的加热时间减去计算出的所有y值得到差值组,再从差值组中选出最大的差值作为a的数值,得到加热时间逐步提高时电机运行时间的计算公式y=bx+c,然后代入x的行数值,得到y为对应行的电机运行时间;

③当场景三加热时间逐步减少时,采用上述②的计算方式得到每行的电机运行时间;

④当场景四加热时间突然变长时,直接使用突变的起始行xi1及其加热时间yi1,以及突变行xi2及其加热时间yi2,将这两个点的参数代入y=dx+e这个线性方程来计算出d和e的参数,然后再通过这个方程来计算这段时间内的每行电机的运行时间;

⑤当场景五加热时间突然变短时,采用上述④的计算方式得到每行的电机运行时间。。

采用上述技术方案后,本发明通过预先接收打印数据,对打印数据进行预处理得到每一行的加热时间,并根据加热时间计算电机的相应运行速度,对电机的运行时间做平滑处理,从而减少步进电机在变速时产生的噪声,相比现有的技术在降噪能力上具有显著提升。

附图说明

图1为现有普通热敏打印机打印一张图片时电机加热时间随打印行数变化的折线图;

图2为现有采用速度分级式控制的热敏打印机打印一张图片时电机加热时间和运行时间随打印行数变化的折线图;

图3为本发明具体实施例的流程图;

图4为本发明进行场景区分的流程图;

图5为本发明在加热时间变化小、稳定平滑时电机运行时间的变化趋势图;

图6为本发明在加热时间变化小、稳定平滑时电机运行时间的示例图;

图7为本发明在加热时间趋势逐步提高时电机运行时间的变化趋势图;

图8为本发明在加热时间趋势逐步提高时电机运行时间的示例图;

图9为本发明在加热时间趋势逐步减少时电机运行时间的变化趋势图;

图10为本发明在加热时间出现突变、时间突然变长时电机运行时间的变化趋势图;

图11为本发明在加热时间出现突变、时间突然变长时电机运行时间的示例图;

图12为本发明在加热时间出现突变、时间突然变短时电机运行时间的变化趋势图;

图13为本发明对步进电机的变速过程进行平滑处理后打印一张图片时电机运行时间随打印行数变化的折线图;

图14为本发明增加采用速度分级方式后打印一张图片时电机运行时间随打印行数变化的折线图;

具体实施方式

为了进一步解释本发明的技术方案,下面通过具体实施例来对本发明进行详细阐述。

参考图3所示,本发明为一种热敏打印机降低步进电机运行噪声的方法,打印机在进行打印时,提前接收后续所要的打印数据,例如提前接收50行的打印数据,根据该接收的打印数据,计算后续每一行所需的加热时间,根据这些加热时间,计算出电机在打印这些数据时每行的运行时间,主要遵照几个原则:当前行的电机运行时间不能小于加热时间、考虑平滑突变情况。

具体流程如下:

步骤1.打印前预先接收n行打印数据。具体行数根据芯片的性能决定,若芯片性能好,则能接收到的行数越多,后续处理的效果越好。

步骤2.根据所接收的n行打印数据计算出该n行打印数据每一行所需要的电机加热时间。

步骤3.根据电机加热时间,得到加热时间的峰值、平均值和变化率,进而判断n行打印数据的变化趋势,再根据变化趋势进行区分加热时间的变化场景,对应不同场景采用不同算法计算电机每行的运行时间。

(1)变化率的算法

设n行打印数据中,第i行打印数据的电机加热时间为yi、变化率为hi,则

(2)变化趋势的算法

变化趋势是使用最小二乘法直线拟合,通过最小二乘法拟合加热时间变化曲线的斜率来实现判断:

电机运行时间变化趋势图中x轴为行数,y轴为加热时间,设拟合直线的公式为:y=bx+a,其中

其中a是回归方程的常数项,就是拟合直线在y轴上的截距。

这里计算出来的b就是拟合直线的斜率,通过斜率就可以得知变化趋势:若斜率大于0,表示趋势是递增;若斜率小于0,表示趋势是递减。

(3)场景区分判断(见图4)

由于不同的打印机,机芯不同、加热电阻不同、弹簧压力不同、电压不同、图像加热算法不同,会导致最后计算出来的加热时间不相同,所以要根据实际的打印机来设定变化率阈值h。例如先计算出打印一张图片所有行的加热时间,计算出所有的变化率,然后观测突变的点的变化率情况来选定变化率阈值;同时,设定斜率阈值k,k值的选取也需根据实际情况来确认,不同打印机的状态不同。

若-h<hi<h,且-k<b<k,则为场景一加热时间稳定平滑;

若-h<hi<h,且b>k,则为场景二加热时间逐步提高;

若-h<hi<h,且b<-k,则为场景三加热时间逐步减少;

若hi>h,则为场景四加热时间突然变长;

若hi<-h,则为场景五加热时间突然变短;

(4)对应不同场景计算电机每行的运行时间

①当处于场景一加热时间稳定平滑时,从该n行的加热时间中选取最大值作为电机当前行的运行时间;

参考图5所示,如果得到n行数据,计算出这些数据的变化率小,变化趋势平稳,峰值参数与平均加热时间变化不大,则表示该场景下加热时间变化较小且稳定,此时电机的运行时间也要保持平稳,所以电机的运行时间取一个不小于最大加热时间的数值。

例如一组加热时间为{58,57,60,58,57,57,59,59,58,60,57,60,57,60,58,58,59,57,60},计算出斜率为0.18,这里的k值取值1/4,判断数据趋于稳定,直接选取最大值60作为电机的运行时间,从而得出如图6所示的电机运行时间。

②当场景二加热时间逐步提高时,每行的电机运行时间通过y=bx+c来计算得到。

参考图7所示,如果得到n行的加热时间,计算出相邻行加热时间之间的变化率很小,但变化趋势是逐步提高,则表示该场景下加热时间变化逐步提高,此时电机的运行时间也要逐步提高,所以电机的运行时间根据加热时间的变化趋势逐步提高,电机时间不能小于加热时间。

所述y=bx+a中,x为行数值,y为对应行的电机运行时间,b为根据已知的n行的加热时间计算得到的斜率,但a的值不能使用前文中得到的数值,需要重新计算,以保证不会出现数值小于加热时间,所以将a替换为c。

已知n行的加热时间、n行对应的行数值x、斜率b的情况下,通过y=bx计算出所有y值,然后用n行的加热时间减去计算出的所有y值得到差值组,再从差值组中选出最大的差值作为a的数值,得到加热时间逐步提高时电机运行时间的计算公式y=bx+c,然后代入x的行数值,得到y为对应行的电机运行时间。

例如一组加热时间为{56,57,60,58,57,57,59,59,61,60,62,63,62,64,64,63,65,66,65},计算出斜率为0.87,判断数据趋于递增,得到y=0.87x,接下来计算c的值,假如对应的行数是{2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20},

代入y=0.87x,计算得到{1,2,3,4,5,6,6,7,8,9,10,11,12,13,13,14,15,16,17},

将已知的加热时间减去现在的计算出的y值得到一组差值{55,55,57,54,52,51,53,52,53,51,52,52,50,51,51,49,50,50,48},

计算出最大值为57,所以c的值为57,得到y=0.87x+57,代入公式计算得到运行时间{58,59,60,61,62,63,63,64,65,66,67,68,69,70,70,71,72,73,74},

得出如图8所示的每行电机的运行时间。

③当场景三加热时间逐步减少时,采用上述②的计算方式得到每行的电机运行时间。

参考图9所示,如果得到n行的加热时间,计算出相邻行加热时间之间的变化率很小,但变化趋势是数值逐渐减少,则表示该场景下加热时间变化逐步减少,此时电机的运行时间也要逐步减少,所以电机的运行时间根据加热时间的变化趋势逐步减少,运行时间不能小于加热时间。

④当场景四加热时间突然变长时,需要平滑这段过程,可以直接使用突变的起始行xi1及其加热时间yi1,以及突变行xi2及其加热时间yi2,将这两个点的参数代入y=dx+e这个线性方程来计算出d和e的参数,然后再通过这个方程来计算这段时间内的每行电机的运行时间。

参考图10所示,该场景下需要从当前行到峰值加热时间所在的行进行平滑过渡。如果得到n行的加热时间,计算出峰值加热时间与平均加热时间差距较大,则表示加热时间出现突变,此时就需要提前将电机的运行时间逐步提升,进行平滑过渡,避免突然减速。

例如一加热时间组为{56,57,60,58,57,57,59,59,75,76,77,75,74,78,77,77,77,77,76},

得到对应变化率组为{1.8%,5.3%,-3.3%,-1.7%,0,3.5%,0,27.1%,1.3%,1.3%,-2.6%,-1.3%,5.4%,-1.3%,0,0,0,-1.3%},

假设当前设备设定的变化率阈值为15%,会发现变化率组中存在一个大于变化率阈值的变化率为27.1%,表示数据在这里突然增大了。假设这组数据是从第2行开始

起始坐标就是xi1=2,yi1=56,突变点的坐标就是xi2=10,yi2=75,带入y=dx+e进行计算

计算得到e=51.25,d=2.375,所以方程是y=2.375x+51.25,再将行数带入计算得到对应行的电机运行时间,

第三行,x=3,带入方程y=58.375,向上取整就是59,以此类推。得到这点的坐标,和起始坐标的参数代入y=bx+a,计算得到y=2.375x+51.25,然后计算出一组到突变点的运行时间{56,59,61,63,66,68,71,73,75},

得出如图11所示的每行电机的运行时间。

⑤当场景五加热时间突然变短时,采用上述④的计算方式得到每行的电机运行时间。

参考图12所示,得到n行的加热时间,如果加热时间出现突然减少,此时就需要电机速度需要保持稳定,缓慢加速,进行平滑过渡,避免突然加速。

步骤4、将电机每行的运行时间保存,之后打印时再读取电机运行时间来控制电机转速;

步骤5、判断是否有新的打印数据需要接收,若是,就返回步骤2,重新计算并更新电机每行的运行时间,否则打印结束。

参考图13所示,可以看出,在打印一张图片的时候,如果是按照加热时间直接确定电机单行的运行时间,那么会有很多时候会出现运行速度的突变,从而造成较大的噪声。但经过平滑处理后,电机的速度更加平滑,就不会有电机速度突变的情况,从而运行噪声也会更小。

参考图14所示,在上述基础上采用速度分级的方式,将电机的运行时间分成许多个挡位,根据加热时间来决定当前电机的速度要在哪个挡位上,这样小的加热时间变化就不会引起电机速度变化,达到一种类似滤波的作用,使电机运行更平滑。

通过上述方案,本发明通过预先接收打印数据,对打印数据进行预处理得到每一行的加热时间,并根据加热时间计算电机的相应运行速度,对电机的运行时间做平滑处理,从而减少步进电机在变速时产生的噪声,相比现有的技术在降噪能力上具有显著提升。

上述实施例和图式并非限定本发明的产品形态和式样,任何所属技术领域的普通技术人员对其所做的适当变化或修饰,皆应视为不脱离本发明的专利范畴。

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