CN121403870A - 基于步进细分的打印控制方法、打印机以及存储介质 - Google Patents
基于步进细分的打印控制方法、打印机以及存储介质Info
- Publication number
- CN121403870A CN121403870A CN202511580415.5A CN202511580415A CN121403870A CN 121403870 A CN121403870 A CN 121403870A CN 202511580415 A CN202511580415 A CN 202511580415A CN 121403870 A CN121403870 A CN 121403870A
- Authority
- CN
- China
- Prior art keywords
- subdivision
- printing
- updated
- target
- movement
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Character Spaces And Line Spaces In Printers (AREA)
Abstract
本申请实施例提供了一种基于步进细分的打印控制方法、打印机以及存储介质,方法包括:响应于步进电机移动,基于目标细分周期生成步进细分信号;响应于检测到所述步进细分信号达到目标信号数量,向打印头输出用于打印的触发信号;其中,所述目标细分周期根据所述步进电机的全步周期和目标细分值确定,所述目标细分值根据所述步进电机的移动精度与所述打印头的打印精度之间的公倍数和所述移动精度确定,所述目标信号数量根据所述打印精度和所述公倍数确定。本申请实施例能够在不增加硬件成本的情况下实现打印与电机的多次同步。
Description
技术领域
本申请实施例涉及但不限于打印机技术领域,尤其涉及一种基于步进细分的打印控制方法、打印机以及存储介质。
背景技术
在相关技术中,一般点阵式打印机需要通过PWM控制器控制步进电机来控制打印介质与打印头之间的相对位置,然后还需要控制打印头进行同步打印,否则会出现打印变形的现象。
当前有几种方式来抑制这种打印变形现象,第一种是使用另外一个计时器来控制打印头打印,但打印与电机的同步只在打印开始时进行一次同步;第二种是使用PWM控制器中断来同步打印,但如果步进电机的全步精度和打印头的打印精度不匹配时,这种方式无法使用;第三种是需要增加光栅传感器,但增加光栅传感器会增加硬件成本。
发明内容
本申请实施例提供一种基于步进细分的打印控制方法、打印机以及存储介质,能够在不增加硬件成本的情况下实现打印与电机的多次同步。
一方面,本申请实施例提供了一种基于步进细分的打印控制方法,包括以下步骤:
响应于步进电机移动,基于目标细分周期生成步进细分信号;
响应于检测到所述步进细分信号达到目标信号数量,向打印头输出用于打印的触发信号;
其中,所述目标细分周期根据所述步进电机的全步周期和目标细分值确定,所述目标细分值根据所述步进电机的移动精度与所述打印头的打印精度之间的公倍数和所述移动精度确定,所述目标信号数量根据所述打印精度和所述公倍数确定。
在一实施例中,所述方法还包括:
根据已输出的所述触发信号的数量和所述步进电机的当前移动方向,对所述全步周期进行更新;
根据更新后的所述全步周期控制所述步进电机移动。
在一实施例中,所述根据已输出的所述触发信号的数量和所述步进电机的当前移动方向,对所述全步周期进行更新,包括:
确定所述步进电机当前的移动速率状态;
根据已输出的所述触发信号的数量和所述当前移动方向对所述移动速率状态进行更新;
根据更新后的所述移动速率状态对所述全步周期进行更新。
在一实施例中,所述移动速率状态通过光栅控制值确定;
所述根据已输出的所述触发信号的数量和所述当前移动方向对所述移动速率状态进行更新,包括:
根据已输出的所述触发信号的数量和所述当前移动方向对所述移动速率状态对当前的所述光栅控制值进行更新;
根据更新后的所述光栅控制值确定更新后的所述移动速率状态。
在一实施例中,所述光栅控制值根据第一控制置位值和第二控制置位值确定;
所述对根据已输出的所述触发信号的数量和所述当前移动方向对所述移动速率状态对当前的所述光栅控制值进行更新,包括:
根据已输出的所述触发信号的数量、所述当前移动方向和当前的所述移动速率状态,确定所述第一控制置位值和所述第二控制置位值中待更新的一个;
对所述第一控制置位值和所述第二控制置位值中待更新的一个进行置位更新。
在一实施例中,所述方法还包括:
响应于所述打印精度和所述移动精度中至少一个被更新,根据当前的所述打印精度和所述移动精度对所述目标细分周期和所述目标信号数量进行更新;
根据更新后的所述目标细分周期和更新后的所述目标信号数量控制所述触发信号的输出。
在一实施例中,所述步进电机和所述打印头满足以下之一:
所述步进电机包括字车电机,所述打印头包括字车;
所述步进电机包括打印介质移动电机,所述打印头包括热敏头。
另一方面,本申请实施例还提供了一种打印机,包括:
至少一个处理器;
至少一个存储器,用于存储至少一个程序;
当至少一个所述程序被至少一个所述处理器执行时实现如前面所述的基于步进细分的打印控制方法。
另一方面,本申请实施例还提供了一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令用于执行如前面所述的基于步进细分的打印控制方法。
另一方面,本申请实施例还提供了一种计算机程序产品,包括计算机程序或计算机指令,所述计算机程序或所述计算机指令存储在计算机可读存储介质中,打印机的处理器从所述计算机可读存储介质读取所述计算机程序或所述计算机指令,所述处理器执行所述计算机程序或所述计算机指令,使得所述打印机执行如前面所述的基于步进细分的打印控制方法。
本申请实施例提供了一种基于步进细分的打印控制方法、打印机以及存储介质,方法可以响应于步进电机移动,基于目标细分周期生成步进细分信号;响应于检测到所述步进细分信号达到目标信号数量,向打印头输出用于打印的触发信号;其中,所述目标细分周期根据所述步进电机的全步周期和目标细分值确定,所述目标细分值根据所述步进电机的移动精度与所述打印头的打印精度之间的公倍数和所述移动精度确定,所述目标信号数量根据所述打印精度和所述公倍数确定。由于步进细分信号的输出周期是基于移动精度、打印精度、步进电机的全步周期所确定的,因此在步进电机在基于全步周期进行转动时,步进细分信号可以基于与全步周期关联的目标细分周期进行同步输出,在此基础上,由于计算步进细分信号达到一定数量后可以输出一次触发信号,因此在步进电机在基于全步周期不停转动时,触发信号可以不停的同步输出,使得打印受到了电机的同步控制,这种控制方式无需增加光栅,也无需额外增加定时器进行定时打印中断,实现了在不增加硬件成本的情况下实现打印与电机的多次同步。
附图说明
图1是本申请实施例提供的基于步进细分的打印控制方法的控制硬件架构示意图;
图2是本申请实施例提供的一种基于步进细分的打印控制方法的流程示意图;
图3是本申请一个实施例提供的控制信号示意图;
图4是相关技术中的不同打印模式的步进电机速度示意图;
图5是本申请另一个实施例提供的控制信号示意图;
图6是本申请一个实施例提供的基于步进细分的打印控制方法的执行流程示意图;
图7是本申请一个实施例提供的打印机的结构示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。
需要说明的是,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于流程图中的顺序执行所示出或描述的步骤。本申请实施例的描述中,多个(或多项)的含义是两个以上,大于、小于、超过等理解为不包括本数,以上、以下、以内等理解为包括本数。如果有描述到“第一”、“第二”等只是用于区分技术特征为目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量或者隐含指明所指示的技术特征的先后关系。此外,在本申请实施例的描述中,所提及的各类取值(诸如第一值、第二值等)均可以灵活地表现为单一的数字代码或枚举类型值。
在相关技术中,点阵式的打印机包括针式打印机和热敏打印机。针式打印机通过字车来进行打印,具体地,针式打印机的字车包括字车电机以及包括打印针的打印头,字车电机一般是步进电机,步进电机上有齿轮,通过齿轮带动皮带动作,从而使打印头可以进行随动,以移动到打印介质中的特定位置,然后打印头出针打印。而热敏打印机与针式打印机的打印方式相反,热敏打印机中包括有通过热敏方式进行打印的打印头(也即热敏头)和打印介质移动电机,打印介质移动电机一般是步进电机,在热敏打印的过程中,热敏头的位置是固定的,只能通过热敏打印介质的移动使热敏头相对位移到特定位置,然后进行加热。
根据上述的分析内容可知,无论是针式打印机还是热敏打印机,都需要令打印头相对移动至特定的打印位置,并需要控制打印头进行同步打印,否则会出现打印变形的现象。
当前有几种方式来抑制这种打印变形现象,第一种是使用另外一个计时器来控制打印头打印,但打印与电机的同步只在打印开始时进行一次同步;第二种是使用PWM控制器中断来同步打印,但如果步进电机的全步精度和打印头的打印精度不匹配时,这种方式无法使用;第三种是需要增加光栅传感器,但增加光栅传感器会增加硬件成本。
为了能够在不增加硬件成本的情况下实现打印与电机的多次同步,本申请实施例提供了一种基于步进细分的打印控制方法、打印机、计算机可读存储介质以及计算机程序产品,方法可以响应于步进电机移动,基于目标细分周期生成步进细分信号;响应于检测到步进细分信号达到目标信号数量,向打印头输出用于打印的触发信号;其中,目标细分周期根据步进电机的全步周期和目标细分值确定,目标细分值根据步进电机的移动精度与打印头的打印精度之间的公倍数和移动精度确定,目标信号数量根据打印精度和公倍数确定。由于步进细分信号的输出周期是基于移动精度、打印精度、步进电机的全步周期所确定的,因此在步进电机在基于全步周期进行转动时,步进细分信号可以基于与全步周期关联的目标细分周期进行同步输出,在此基础上,由于计算步进细分信号达到一定数量后可以输出一次触发信号,因此在步进电机在基于全步周期不停转动时,触发信号可以不停的同步输出,使得打印受到了电机的同步控制,这种控制方式无需增加光栅,也无需额外增加定时器进行定时打印中断,实现了在不增加硬件成本的情况下实现打印与电机的多次同步。
参见图1,图1示出了用于实现本申请实施例提供的基于步进细分的打印控制方法的控制硬件架构。在本申请实施例中,控制架构包括步进电机控制模块(也即图中右下角的STM模块),该步进电机控制模块具有如下特性:PWM通道的周期和脉宽可编程、PWM通道具有专用计数器、PWM通道的使能可编程、PWM通道的PWM脉冲极性可选择、PWM输出重复次数可编程、产生的信号可输出到打印头。
参见图2,图2示出了本申请实施例提供的一种基于步进细分的打印控制方法的流程。在本申请实施例,基于步进细分的打印控制方法可以包括以下步骤。
步骤110:响应于步进电机移动,基于目标细分周期生成步进细分信号;
步骤120:响应于检测到步进细分信号达到目标信号数量,向打印头输出用于打印的触发信号。
在步骤110至120当中,目标细分周期根据步进电机的全步周期和目标细分值确定,目标细分值根据步进电机的移动精度与打印头的打印精度之间的公倍数和移动精度确定,目标信号数量根据打印精度和公倍数确定。
在一实施例中,步进电机移动是指步进电机基于PWM控制器输出的PWM信号进行移动的情况。其中,PWM控制器基于设定的全步周期输出的PWM信号。需要注意的是,由于步进电机的特性,步进电机的一个全步的移动距离是固定的,因此无论全步周期长短,都无法影响一个全步的移动距离,只能影响移动一个全步的距离的速度。
在一实施例中,基于目标细分周期生成步进细分信号是指从PWM控制器开始输出PWM信号开始,通过PWM控制器中的专用计时器开始进行计时直至计时达到目标细分周期后生成一个步进细分信号的过程。其中,目标细分周期的计时是持续性的,假如PWM信号不停输出,专用计时器就会不停地计时,每完成一个目标细分周期的计时就对计时器进行清零和生成一个步进细分信号,之后在重新开始新的一个目标细分周期的计时。需要注意的是,步进电机的全步周期通过PWM控制器中的周期寄存器进行计时,并非通过PWM控制器中的专用计时器进行计时。
在一实施例中,步进细分信号达到目标信号数量可以通过多种方式确定,此处具体不作限定。举例而言,步进细分信号达到目标信号数量可以通过PWM控制器中的计数器确定,比如每检测到一个步进细分信号,PWM控制器中的计数器中的值加1,然后每次读取计数器中的值来确定步进细分信号达到目标信号数量。再举例而言,步进细分信号达到目标信号数量可以通过预设的变量确定,每检测到一个步进细分信号就在在软件层面上对预设的变量进行加1,然后每次确认变量的值是否等于目标信号数量。
在一实施例中,步进电机和打印头满足以下之一:步进电机包括字车电机,打印头包括字车;步进电机包括打印介质移动电机,打印头包括热敏头。
在一实施例中,用于打印的触发信号是指用于控制打印头在打印介质上打印一个点阵数据的信号,其中,点阵数据是指根据需要打印的内容所转换得到的打印数据。举例而言,假如打印头为字车,那么触发信号具体可以体现为令字车出针的信号。再举例而言,假如打印头为热敏头,那么触发信号具体可以体现为令热敏头对自身在热敏打印介质上正对的位置进行加热以使热敏打印介质上出现点阵数据的信号。
在一实施例中,目标细分周期根据步进电机的全步周期和目标细分值确定,是指通过目标细分值对步进电机的全步周期进行细分得到目标细分周期的操作。举例而言,假设全步周期为全步周期240us,目标细分值为3,那么根据步进电机的全步周期和目标细分值,目标细分周期即为80us。
在一实施例中,步进电机的移动精度是指步进电机转动一个步进角所形成的移动距离。需要注意的是,步进电机的移动精度具体到不同类型的打印机时会有不同的具体体现。举例而言,假设打印头为字车,步进电机的移动精度具体可以体现为字车电机每转动一个步进角后字车所移动距离。再举例而言,假设打印头为热敏头,步进电机的移动精度具体可以体现为打印介质移动电机每转动一个步进角后,热敏打印介质移动的距离。
在一实施例中,打印头的打印精度是指打印头在连续打印的两个点阵数据之间的距离。需要注意的是,打印头的打印精度具体到不同类型的打印机时会有不同的具体体现。举例而言,假设打印头为字车,打印精度具体可以体现为打印纸质上2个连续打印的点之间的距离。再举例而言,假设打印头为热敏头,打印精度具体可以体现为热敏头在两次发热之间的热敏打印介质的移动距离。
下面以步进电机包括字车电机,打印头包括字车为例来详细说明图2示出的实施例。
参见图3,假设字车电机的全步移动精度A=120DPI,打印精度B=90DPI,最小公倍数就是C=lcm(120,90)=360DPI。所以步进细分信号FINEA_OUT的精度C=360DPI,也即字车电机控制的一个全步移动距离是1/120英寸,而一个步进细分信号对应字车移动了1/360英寸,所以一个全步周期所包含的步进细分信号个数FINEA_REPEAT=(1/A)/(1/C)=(1/120)/(1/360)=3。那么,在速度相同的情况下,如果字车电机的全步的周期是TA=240us,那边目标细分周期就是TC=TA/FINEA_REPEAT=240us/3=80us。在PWM控制器内部有一个细分计时器FINEA_TIMER和一个细分计数器FINEA_CNT。固件在配置全步周期240us到PWM的周期寄存器时,同时也会把细分周期TC=80us配置到细分计时器FINEA_TIMER,把细分个数FINEA_REPEAT=3配置到FINEA_CNT。每次启动全步周期的计时,也会同步启动FINEA_TIMER计时,3个FINEA_TIMER计时FINEA_CNT完毕,当前全步的细分完成。下一个全步的细分,需要再启动全步周期计时才会重新开始FINEA_TIMER的计时,通过同步全步控制信号和步进细分信号,间接达成电机控制和触发信号的同步。
根据步进细分信号的精度C和打印精度B,算出触发信号FINEB_OUT和细分信号FINEA_OUT的倍数关系为FINEB_TRIG_VAL=(1/B)/(1/C)。具体地,步进细分信号FINEA_OUT精度是C=360DPI,打印精度是B=90DPI(相当于打印介质两个相邻的打印点之间的距离是1/90英寸),那么FINEB_TRIG_VAL=(1/B)/(1/C)=(1/90)/(1/360)=4。配置FINEB_TRIG_BAL为4,就能用4个步进细分信号FINEA_OUT组合成一个触发信号FINEB_OUT。
下面再以步进电机包括打印介质移动电机,打印头包括热敏头为例来详细说明图2示出的实施例。
假设打印介质移动电机的全步移动精度A=120DPI,打印精度B=90DPI,最小公倍数就是C=lcm(120,90)=360DPI。所以步进细分信号FINEA_OUT的精度C=360DPI,也即打印介质移动电机控制的一个全步移动距离是1/120英寸,而一个步进细分信号对应热敏打印介质移动了1/360英寸,所以一个全步周期所包含的步进细分信号个数FINEA_REPEAT=(1/A)/(1/C)=(1/120)/(1/360)=3。那么,在速度相同的情况下,如果打印介质移动电机的全步的周期是TA=240us,那边目标细分周期就是TC=TA/FINEA_REPEAT=240us/3=80us。在PWM控制器内部有一个细分计时器FINEA_TIMER和一个细分计数器FINEA_CNT。固件在配置全步周期240us到PWM的周期寄存器时,同时也会把细分周期TC=80us配置到细分计时器FINEA_TIMER,把细分个数FINEA_REPEAT=3配置到FINEA_CNT。每次启动全步周期的计时,也会同步启动FINEA_TIMER计时,3个FINEA_TIMER计时FINEA_CNT完毕,当前全步的细分完成。下一个全步的细分,需要再启动全步周期计时才会重新开始FINEA_TIMER的计时,通过同步全步控制信号和步进细分信号,间接达成电机控制和触发信号的同步。
根据步进细分信号的精度C和打印精度B,算出触发信号FINEB_OUT和细分信号FINEA_OUT的倍数关系为FINEB_TRIG_VAL=(1/B)/(1/C)。具体地,步进细分信号FINEA_OUT精度是C=360DPI,打印精度是B=90DPI(也即热敏打印介质上两个相邻的热敏打印点之间的距离是1/90英寸),那么FINEB_TRIG_VAL=(1/B)/(1/C)=(1/90)/(1/360)=4。配置FINEB_TRIG_BAL为4,就能用4个步进细分信号FINEA_OUT组合成一个触发信号FINEB_OUT。
在一实施例中,在执行上述方法的过程中,具体还可以响应于打印精度和移动精度中至少一个被更新,根据当前的打印精度和移动精度对目标细分周期和第一目标信号数量进行更新,然后根据更新后的目标细分周期和更新后的目标信号数量控制触发信号的输出。
下面以步进电机包括字车电机,打印头包括字车为例来详细说明精度发生更新的实施例。
假设字车电机更新后的全步移动精度A=150DPI,打印精度B=100DPI,最小公倍数就是C=lcm(150,100)=300DPI。所以一个全步周期所包含的步进细分信号个数FINEA_REPEAT=(1/A)/(1/C)=(1/150)/(1/300)=2。那么,在速度相同的情况下,如果字车电机的全步的周期是TA=240us,那边更新后的目标细分周期就是TC=TA/FINEA_REPEAT=240us/2=120us。在PWM控制器内部有一个细分计时器FINEA_TIMER和一个细分计数器FINEA_CNT。固件在配置全步周期240us到PWM的周期寄存器时,同时也会把细分周期TC=120us配置到细分计时器FINEA_TIMER,把细分个数FINEA_REPEAT=2配置到FINEA_CNT。每次启动全步周期的计时,也会同步启动FINEA_TIMER计时,2个FINEA_TIMER计时FINEA_CNT完毕,当前全步的细分完成。下一个全步的细分,需要再启动全步周期计时才会重新开始FINEA_TIMER的计时,通过同步全步控制信号和步进细分信号,间接达成电机控制和触发信号的同步。
根据步进细分信号的精度C和打印精度B,算出触发信号FINEB_OUT和细分信号FINEA_OUT的倍数关系为FINEB_TRIG_VAL=(1/B)/(1/C)。具体地,步进细分信号FINEA_OUT精度是C=300DPI,打印精度是B=100DPI,那么FINEB_TRIG_VAL=(1/100)/(1/300)=3。配置FINEB_TRIG_BAL为3,就能用3个步进细分信号FINEA_OUT组合成一个触发信号FINEB_OUT。
需要注意的是,热敏打印机中的打印精度和移动精度发生更新后的实施例可以参照上述距离,此处具体不再赘述。
在上述实施例的基础上,还可以通过触发信号的数量来对步进电机的移动速度,以使打印与电机的同步能够匹配电机的实际速率变化,从而在变速打印的过程中减少打印变形的现象。
在一实施例中,在执行上述方法的过程中,具体还可以先根据已输出的触发信号的数量和步进电机的当前移动方向,对全步周期进行更新,然后根据更新后的全步周期控制步进电机移动。
具体地,参见图4,无论打印机在何种打印模式,步进电机在打印过程中均会经历“静止→加速→匀速→减速→静止”这些阶段,每个阶段因速率需求不同会导致步进电机处于不同的速率状态,不同速率下所打印的点的数量是不同,因此触发信号的数量可以反应步进电机当前所处的速率状态,从而能够对步进电机的速度进行反馈性调整,进而可以实现打印和电机移动之间的循环反馈控制,以使电机与打印进行同步。
需要注意的是,速率状态的变化是一个循环,并且这个循环与电机的移动方向相关,比如步进电机的移动方向为A,那么速率状态会根据触发信号的数量进行“A0→A1→A2→A3→A0”的循环,步进电机的移动方向为A的反向,那么速率状态会根据触发信号的数量进行“A0→A3→A2→A1→A0”的循环。
在一实施例中,在根据已输出的触发信号的数量和步进电机的当前移动方向,对全步周期进行更新的过程中,具体可以根据已输出的触发信号的数量和步进电机的当前移动方向在预设的全步周期表进行查询,确定已输出的触发信号的数量和步进电机的当前移动方向所共同对应的全步周期值,使用该全步周期值对当前的全步周期进行更新。其中,全步周期表可以存储这多个触发信号的数量和多个步进电机的当前移动方向所对应的全步周期值。另外,步进电机的移动方向可以通过PWM信号的极性、PWM控制器中的方向寄存器中的置位值等方式确定,此处具体不作限定。
在一实施例中,在根据已输出的触发信号的数量和步进电机的当前移动方向,对全步周期进行更新的过程中,具体可以先确定步进电机当前的移动速率状态,接着,根据已输出的触发信号的数量和当前移动方向对移动速率状态进行更新,然后根据更新后的移动速率状态对全步周期进行更新。
在一实施例中,移动速率状态可以通过光栅控制值确定,在根据已输出的触发信号的数量和当前移动方向对移动速率状态进行更新的过程中,具体可以先根据已输出的触发信号的数量和当前移动方向对移动速率状态对当前的光栅控制值进行更新,然后根据更新后的光栅控制值确定更新后的移动速率状态。其中,光栅控制值可以通过预设的变量进行记录,也可以通过其他的方式确定。
在一实施例中,光栅控制值可以根据第一控制置位值和第二控制置位值确定,在根据已输出的触发信号的数量和当前移动方向对移动速率状态对当前的光栅控制值进行更新的过程中,具体可以先根据已输出的触发信号的数量、当前移动方向和当前的移动速率状态,确定第一控制置位值和第二控制置位值中待更新的一个,然后对第一控制置位值和第二控制置位值中待更新的一个进行置位更新。其中,两个控制置位值都只能通过0或者1置位,因此对控制置位值进行更新就是当前的置位值更改为另一个置位值,比如置位值为0,那对控制置位值进行更新,置位值就会变成1;再比如置位值为1,那对控制置位值进行更新,置位值就会变成0。
下面给出一个具体例子来说明如何通过第一控制置位值和第二控制置位值来实现全步周期的更新。
参见图5,PWM控制器中配置有用于表示步进电机的移动方向的方向寄存器DIR以及两个光栅控制输入寄存器,每检测到一个触发信号,两个光栅控制输入寄存器中的一个会发生改变,假设第一控制置位值为PHA,第二控制置位值为PHB,DIR=1表示正方向,DIR=0表示反方向。PHA和PHB在初始状态时为0,代表移动速率状态A0。当检测到触发信号的数量为1且DIR=1时,对PHA进行更新,此时PHA=1,PHB=0,代表着从移动速率状态A0进入移动速率状态A1,此时根据移动速率状态A1对应的全步周期对当前的全步周期进行更新;当检测到触发信号的数量为2且DIR=1时,对PHB进行更新,此时PHA=1,PHB=1,代表着从移动速率状态A1进入移动速率状态A2,此时根据移动速率状态A2对应的全步周期对当前的全步周期进行更新;当检测到触发信号的数量为3且DIR=1时,对PHA进行更新,此时PHA=0,PHB=1,代表着从移动速率状态A2进入移动速率状态A3,此时根据移动速率状态A3对应的全步周期对当前的全步周期进行更新;当检测到触发信号的数量为4且DIR=1时,对PHB进行更新,此时PHA=0,PHB=0,代表着从移动速率状态A3重新进入移动速率状态A0,完成一次循环,此时根据移动速率状态A0对应的全步周期对当前的全步周期进行更新。触发信号的数量为4之后的数量以此类推,不作赘述。
当检测到触发信号的数量为1且DIR=0时,对PHB进行更新,此时PHA=0,PHB=1,代表着从移动速率状态A0进入移动速率状态A3,此时根据移动速率状态A3对应的全步周期对当前的全步周期进行更新;当检测到触发信号的数量为2且DIR=0时,对PHA进行更新,此时PHA=1,PHB=1,代表着从移动速率状态A3进入移动速率状态A2,此时根据移动速率状态A2对应的全步周期对当前的全步周期进行更新;当检测到触发信号的数量为3且DIR=0时,对PHB进行更新,此时PHA=1,PHB=0,代表着从移动速率状态A2进入移动速率状态A1,此时根据移动速率状态A1对应的全步周期对当前的全步周期进行更新;当检测到触发信号的数量为4且DIR=0时,对PHA进行更新,此时PHA=0,PHB=0,代表着从移动速率状态A1重新进入移动速率状态A0,完成一次循环,此时根据移动速率状态A0对应的全步周期对当前的全步周期进行更新。触发信号的数量为4之后的数量以此类推,不作赘述。
基于上述的实施例,下面给出一个打印机在执行上述实施例提供的基于步进细分的打印控制方法时的实际动作。
参见图6,打印机的内核固件先根据打印速度(对应于步进电机的全步周期)、打印精度以及步进电机移动精度,计算出步进细分信号和步进电机的全步倍数关系参数FINEAREPEAT、步进细分信号FINEA OUT的周期、触发信号FINEB OUT和FINEA OUT的倍数关系FINEB TRIG VAL;接着,配置步进电机控制器对应的寄存器设置全步周期和FINEA OUT的周期等参数;然后根据这些配置的参数启动电机;在电机运行的过程中,每个电机全步周期完成之后进行中断,执行以下中断时间:根据电机全步周期,重新计算并配置FINEA OUT周期;在中断事件后,打印头相对到达打印开始位置,启动打印,使能FINEB OUT EN,FINEB OUTIE常输出,印头控制器根据输入的FINEB OUT信号,控制印头出针打印,直至打印完成。
除了上述实施例外,本申请的一个实施例还提供了打印机。参见图7,图7是本申请一实施例提供的一种打印机的结构示意图。如图7所示,该打印机包括存储器1100、处理器1200。存储器1100、处理器1200的数量可以是一个或多个,图7中以一个存储器1100和一个处理器1200为例;图7中的存储器1100和处理器1200可以通过总线或其他方式连接,图7中以通过总线连接为例。
存储器1100作为一种计算机可读存储介质,可用于存储一个或多个软件程序、计算机可执行程序以及模块,如本申请任一实施例提供的信息处理方法对应的程序、指令或者模块。处理器1200通过执行存储在存储器1100中的一个或多个计算机程序、指令以及模块实现如本申请任一实施例提供的基于步进细分的打印控制方法。
存储器1100可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的计算机程序。此外,存储器1100可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件或其他非易失性固态存储器件。 在一些实例中,存储器1100可进一步包括相对于处理器1200远程设置的存储器,这些远程存储器可以通过网络连接至设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
除了上述实施例外,本申请的一个实施例还提供了一种计算机可读存储介质,存储有计算机可执行指令,计算机可执行指令用于执行如前面任意实施例中的基于步进细分的打印控制方法。
此外,本申请的一个实施例还提供了一种计算机程序产品,包括计算机程序或计算机指令,计算机程序或计算机指令存储在计算机可读存储介质中,打印机的处理器从计算机可读存储介质读取计算机程序或计算机指令,处理器执行计算机程序或计算机指令,使得打印机执行如前面任意实施例中的基于步进细分的打印控制方法。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统可以被实施为软件、固件、硬件及其适当的组合。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
以上是对本申请的较佳实施进行了具体说明,但本申请并不局限于上述实施方式,熟悉本领域的技术人员在不违背本申请精神的前提下还可作出种种的等同变形或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。
Claims (10)
1.一种基于步进细分的打印控制方法,其特征在于,包括以下步骤:
响应于步进电机移动,基于目标细分周期生成步进细分信号;
响应于检测到所述步进细分信号达到目标信号数量,向打印头输出用于打印的触发信号;
其中,所述目标细分周期根据所述步进电机的全步周期和目标细分值确定,所述目标细分值根据所述步进电机的移动精度与所述打印头的打印精度之间的公倍数和所述移动精度确定,所述目标信号数量根据所述打印精度和所述公倍数确定。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
根据已输出的所述触发信号的数量和所述步进电机的当前移动方向,对所述全步周期进行更新;
根据更新后的所述全步周期控制所述步进电机移动。
3.根据权利要求2所述的方法,其特征在于,所述根据已输出的所述触发信号的数量和所述步进电机的当前移动方向,对所述全步周期进行更新,包括:
确定所述步进电机当前的移动速率状态;
根据已输出的所述触发信号的数量和所述当前移动方向对所述移动速率状态进行更新;
根据更新后的所述移动速率状态对所述全步周期进行更新。
4.根据权利要求3所述的方法,其特征在于,所述移动速率状态通过光栅控制值确定;
所述根据已输出的所述触发信号的数量和所述当前移动方向对所述移动速率状态进行更新,包括:
根据已输出的所述触发信号的数量和所述当前移动方向对所述移动速率状态对当前的所述光栅控制值进行更新;
根据更新后的所述光栅控制值确定更新后的所述移动速率状态。
5.根据权利要求4所述的方法,其特征在于,所述光栅控制值根据第一控制置位值和第二控制置位值确定;
所述对根据已输出的所述触发信号的数量和所述当前移动方向对所述移动速率状态对当前的所述光栅控制值进行更新,包括:
根据已输出的所述触发信号的数量、所述当前移动方向和当前的所述移动速率状态,确定所述第一控制置位值和所述第二控制置位值中待更新的一个;
对所述第一控制置位值和所述第二控制置位值中待更新的一个进行置位更新。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
响应于所述打印精度和所述移动精度中至少一个被更新,根据当前的所述打印精度和所述移动精度对所述目标细分周期和所述目标信号数量进行更新;
根据更新后的所述目标细分周期和更新后的所述目标信号数量控制所述触发信号的输出。
7.根据权利要求1至6中任一项所述的方法,其特征在于,所述步进电机和所述打印头满足以下之一:
所述步进电机包括字车电机,所述打印头包括字车;
所述步进电机包括打印介质移动电机,所述打印头包括热敏头。
8.一种打印机,其特征在于,包括:
至少一个处理器;
至少一个存储器,用于存储至少一个程序;
当至少一个所述程序被至少一个所述处理器执行时实现如权利要求1至7中任意一项所述的基于步进细分的打印控制方法。
9.一种计算机可读存储介质,存储有计算机可执行指令,其特征在于,所述计算机可执行指令用于执行如权利要求1至7中任意一项所述的基于步进细分的打印控制方法。
10.一种计算机程序产品,包括计算机程序或计算机指令,其特征在于,所述计算机程序或所述计算机指令存储在计算机可读存储介质中,打印机的处理器从所述计算机可读存储介质读取所述计算机程序或所述计算机指令,所述处理器执行所述计算机程序或所述计算机指令,使得所述打印机执行权利要求1至7中任意一项所述的基于步进细分的打印控制方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202511580415.5A CN121403870A (zh) | 2025-10-31 | 2025-10-31 | 基于步进细分的打印控制方法、打印机以及存储介质 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202511580415.5A CN121403870A (zh) | 2025-10-31 | 2025-10-31 | 基于步进细分的打印控制方法、打印机以及存储介质 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| CN121403870A true CN121403870A (zh) | 2026-01-27 |
Family
ID=98496602
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202511580415.5A Pending CN121403870A (zh) | 2025-10-31 | 2025-10-31 | 基于步进细分的打印控制方法、打印机以及存储介质 |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN121403870A (zh) |
-
2025
- 2025-10-31 CN CN202511580415.5A patent/CN121403870A/zh active Pending
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US4189246A (en) | Variable print-hammer control for on-the-fly-printing | |
| US4147967A (en) | Apparatus and method for controlling the velocity of a moveable member | |
| US4345263A (en) | Recording apparatus | |
| US4158800A (en) | Control system | |
| US4232975A (en) | Print hammer control | |
| JP2009113445A (ja) | サーマルプリンタ及びサーマルプリンタの印字速度制御方法 | |
| JPS5962163A (ja) | プリンタ | |
| CN121403870A (zh) | 基于步进细分的打印控制方法、打印机以及存储介质 | |
| JP2563302B2 (ja) | ステツピングモ−タの駆動方法及びその駆動方法を用いたシ−ト送り装置 | |
| JP3188976B2 (ja) | 印字制御装置及び方法 | |
| JPS59150768A (ja) | ラインサ−マルヘツドの駆動方法 | |
| JPWO1991019612A1 (ja) | 印字制御装置及び方法 | |
| TW503185B (en) | Control method for ink-jet output | |
| JPH0357875B2 (zh) | ||
| EP3431300A1 (en) | Printer | |
| JPS5829237B2 (ja) | シリアルブリンタ | |
| JPS6019237B2 (ja) | パルスモ−タの速度制御方法 | |
| JP2836061B2 (ja) | シリアルドットプリンタ | |
| US10511241B2 (en) | Motor control device and printer | |
| JP3049857B2 (ja) | ワイヤドット式プリントヘッドの駆動制御装置 | |
| CN110774773B (zh) | 热敏打印机及计算机可读取的记录介质 | |
| JPH07163195A (ja) | ステッピングモータコントローラ | |
| JPH10226123A (ja) | プリンタの制御方法および装置 | |
| JP4366066B2 (ja) | 記録装置の制御方法と記録装置 | |
| JP2004351792A (ja) | 記録装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PB01 | Publication | ||
| SE01 | Entry into force of request for substantive examination |