CN116073818B - 步进驱动器脉冲计数方法和装置 - Google Patents
步进驱动器脉冲计数方法和装置 Download PDFInfo
- Publication number
- CN116073818B CN116073818B CN202310247460.3A CN202310247460A CN116073818B CN 116073818 B CN116073818 B CN 116073818B CN 202310247460 A CN202310247460 A CN 202310247460A CN 116073818 B CN116073818 B CN 116073818B
- Authority
- CN
- China
- Prior art keywords
- value
- pulse
- identification
- counter value
- counting
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K23/00—Pulse counters comprising counting chains; Frequency dividers comprising counting chains
-
- H—ELECTRICITY
- H02—GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
- H02P—CONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
- H02P8/00—Arrangements for controlling dynamo-electric motors of the kind having motors rotating step by step
- H02P8/14—Arrangements for controlling speed or speed and torque
- H02P8/20—Arrangements for controlling speed or speed and torque characterised by bidirectional operation
Abstract
本发明涉及一种步进驱动器脉冲计数方法和装置,涉及步进驱动器脉冲计数技术,该方法获取脉冲计数标识位的标识值,根据脉冲计数标识位的标识值进行脉冲计数,包括:若脉冲计数标识位的标识值为0,则根据当前脉冲计数器值、历史脉冲计数器值计算下一时刻脉冲计数值,历史脉冲计数器值是上一个中断采集周期的脉冲计数器值;若脉冲计数标识位的标识值为1,则根据当前时刻脉冲计数值、当前脉冲计数器值、历史脉冲计数器值计算下一时刻脉冲数值,解决了现有技术中的步进驱动器过程中,电机方向和脉冲之间的时间差难以控制在需求范围之内的问题。
Description
技术领域
本发明涉及步进驱动器脉冲计数技术领域,尤其涉及一种步进驱动器脉冲计数方法和装置。
背景技术
目前步进驱动器很多都是采用的是脉冲+方向信号的控制方式,要让步进电机正转、反转走固定位置,需要控制器同时发送脉冲和方向信号给到步进电机驱动器,步进电机驱动器接收脉冲信号走固定位置,接收方向信号进行正反转切换。
目前步进驱动器内部都是用定时器来计数所接收的脉冲个数,用外部中断来采集方向信号,来决定对定时器的计数值是进行增计数还是进行减计数,电机方向和脉冲之间的时间差不能过小,否则会导致计数出现错误:一般都要求启动的时候方向信号要超前脉冲信号时间t1>5us,停止的时候也需要方向信号滞后脉冲信号时间t2>5us。
发明内容
本发明要解决的技术问题在于克服现有技术中步进驱动器过程中,电机方向和脉冲之间的时间差难以控制在需求范围之内的问题,从而提供一种步进驱动器脉冲计数方法和装置。
为解决上述技术问题,本发明公开实施例至少提供一种步进驱动器脉冲计数方法和装置。
第一方面,本发明公开实施例提供了一种步进驱动器脉冲计数方法,包括:
获取脉冲计数标识位的标识值,所述脉冲计数标识位的标识值用于标记指定存储区域是否存储有当前时刻脉冲计数值,所述脉冲计数标识位的标识值为0,表示所述指定存储区域内未存储有所述当前时刻脉冲计数值,所述脉冲计数标识位的标识值为1,表示所述指定存储区域内存储有所述当前时刻脉冲计数值;
根据所述脉冲计数标识位的标识值进行脉冲计数,包括:
若所述脉冲计数标识位的标识值为0,则根据当前脉冲计数器值、历史脉冲计数器值计算下一时刻脉冲计数值,所述历史脉冲计数器值是上一个中断采集周期的脉冲计数器值;
若所述脉冲计数标识位的标识值为1,则根据所述当前时刻脉冲计数值、所述当前脉冲计数器值、所述历史脉冲计数器值计算下一时刻脉冲数值。
可选地,所述指定存储区域为全局变量,在所述获取脉冲计数标识位的标识值之前,所述方法还包括:将所述当前时刻脉冲计数值锁存到全局变量中,并且将所述脉冲计数标识位的标识值置位为1。
可选地,所述根据当前脉冲计数器值、历史脉冲计数器值计算下一时刻脉冲计数值包括:获取所述当前脉冲计数器值和所述历史脉冲计数器值;
计算所述当前脉冲计数器值相对所述历史脉冲计数器值的第一增量值;将所述第一增量值累加计入所述第一增量值,作为下一时刻脉冲计数值;将所述脉冲计数标识位的标识值置位为0。
可选地,所述根据所述当前时刻脉冲计数值、所述当前脉冲计数器值、所述历史脉冲计数器值计算下一时刻脉冲数值包括:根据所述当前时刻脉冲计数值和所述当前脉冲计数器值计算第二增量值;根据所述当前时刻脉冲计数值和所述历史脉冲计数器值计算第三增量值;根据所述第二增量值和所述第三增量值计算下一时刻脉冲计数值;将所述脉冲计数标识位的标识值置位为0。
可选地,所述根据所述当前时刻脉冲计数值和所述当前脉冲计数器值计算第二增量值包括:将所述当前脉冲计数器值相对所述当前时刻脉冲计数值的增量作为所述第二增量值。
可选地,所述根据所述当前时刻脉冲计数值和所述历史脉冲计数器值计算第三增量值为:将所述当前脉冲计数器值相对所述历史脉冲计数器值的增量作为所述第三增量值。
可选地,所述根据所述第二增量值和所述第三增量值计算下一时刻脉冲计数值为:将所述第二增量值和第三增量值累加计入所述第一增量值,作为下一时刻脉冲计数值。
第二方面,本发明公开实施例还提供一种步进驱动器脉冲计数装置,包括:
标识值获取模块,用于获取脉冲计数标识位的标识值,所述脉冲计数标识位的标识值用于标记指定存储区域是否存储有当前时刻脉冲计数值,所述脉冲计数标识位的标识值为0,表示所述指定存储区域内未存储有当前时刻脉冲计数值,所述脉冲计数标识位的标识值为1,表示所述指定存储区域内存储有当前时刻脉冲计数值;
脉冲计数模块,用于根据所述脉冲计数标识位的标识值进行脉冲计数;
所述脉冲计数模块包括:
第一脉冲计算子模块,用于若所述脉冲计数标识位的标识值为0,则根据当前脉冲计数器值、历史脉冲计数器值计算下一时刻脉冲计数值,所述历史脉冲计数器值是上一个中断采集周期的脉冲计数器值;
第二脉冲计算子模块,用于若所述脉冲计数标识位的标识值为1,则根据所述当前时刻脉冲计数值、所述当前脉冲计数器值、所述历史脉冲计数器值计算下一时刻脉冲数值。
第三方面,本发明公开实施例还提供一种计算机设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当计算机设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行上述第一方面,或第一方面中任一种可能的实施方式中的步骤。
第四方面,本发明公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述第一方面,或第一方面中任一种可能的实施方式中的步骤。
本发明的实施例提供的技术方案可以具有以下有益效果:
获取脉冲计数标识位的标识值,根据脉冲计数标识位的标识值进行脉冲计数,若脉冲计数标识位的标识值为0,则根据当前脉冲计数器值、历史脉冲计数器值计算下一时刻脉冲计数值,历史脉冲计数器值是上一个中断采集周期的脉冲计数器值;若脉冲计数标识位的标识值为1,则根据当前时刻脉冲计数值、当前脉冲计数器值、历史脉冲计数器值计算下一时刻脉冲数值,优化减少脉冲之间的时间差,且无需多余硬件,节省成本。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了现有技术中电机方向和脉冲之间的时间差时序示意图;
图2示出了本发明公开实施例所提供的一种步进驱动器脉冲计数方法的流程图;
图3示出了本发明公开实施例所提供的另一种步进驱动器脉冲计数方法的流程图;
图4示出了本发明公开实施例所提供的一种步进驱动器脉冲计数装置的结构示意图;
图5示出了本发明公开实施例所提供的一种计算机设备的结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如发明内容中所详述的、本发明的一些方面相一致的装置和方法的例子。
实施例1
如图2所示,本发明公开实施例所提供的一种步进驱动器脉冲计数方法的流程图,该方法包括:
S21:获取脉冲计数标识位的标识值,脉冲计数标识位的标识值用于标记指定存储区域是否存储有当前时刻脉冲计数值,脉冲计数标识位的标识值为0,表示指定存储区域内未存储有当前时刻脉冲计数值,脉冲计数标识位的标识值为1,表示指定存储区域内存储有当前时刻脉冲计数值。
S22:根据脉冲计数标识位的标识值进行脉冲计数,包括:
S221:若脉冲计数标识位的标识值为0,则根据当前脉冲计数器值、历史脉冲计数器值计算下一时刻脉冲计数值,历史脉冲计数器值是上一个中断采集周期的脉冲计数器值。
S222:若脉冲计数标识位的标识值为1,则根据当前时刻脉冲计数值、当前脉冲计数器值、历史脉冲计数器值计算下一时刻脉冲数值。
可以理解的是,本实施例提供的技术方案,获取脉冲计数标识位的标识值,根据脉冲计数标识位的标识值进行脉冲计数,若脉冲计数标识位的标识值为0,则根据当前脉冲计数器值、历史脉冲计数器值计算下一时刻脉冲计数值,历史脉冲计数器值是上一个中断采集周期的脉冲计数器值;若脉冲计数标识位的标识值为1,则根据当前时刻脉冲计数值、当前脉冲计数器值、历史脉冲计数器值计算下一时刻脉冲数值,优化减少脉冲之间的时间差,且无需多余硬件,节省成本。
实施例2
如图3所示,作为上述实施例的一种改进,本发明公开实施例所提供的另一种步进驱动器脉冲计数方法的流程图,该方法包括:
S31:将当前时刻脉冲计数值锁存到全局变量中,并且将脉冲计数标识位的标识值置位为1。
S32:获取脉冲计数标识位的标识值,脉冲计数标识位的标识值用于标记指定存储区域是否存储有当前时刻脉冲计数值,脉冲计数标识位的标识值为0,表示指定存储区域内未存储有当前时刻脉冲计数值,脉冲计数标识位的标识值为1,表示指定存储区域内存储有当前时刻脉冲计数值。
S33:根据脉冲计数标识位的标识值进行脉冲计数。
具体的,S33包括:
S331:若脉冲计数标识位的标识值为0,则根据当前脉冲计数器值、历史脉冲计数器值计算下一时刻脉冲计数值,历史脉冲计数器值是上一个中断采集周期的脉冲计数器值。
S332:若脉冲计数标识位的标识值为1,则根据当前时刻脉冲计数值、当前脉冲计数器值、历史脉冲计数器值计算下一时刻脉冲数值。
在一些可选实施例中,S331可以但不限于通过以下过程实现(图中未示出):
S331:获取当前脉冲计数器值和历史脉冲计数器值。
S332:计算当前脉冲计数器值相对历史脉冲计数器值的第一增量值。
S333:将第一增量值累加计入第一增量值,作为下一时刻脉冲计数值。
S334:将脉冲计数标识位的标识值置位为0
在一些可选实施例中,S332可以但不限于通过以下过程实现(图中未示出):
S3321:根据当前时刻脉冲计数值和当前脉冲计数器值计算第二增量值。
具体的,可以将当前脉冲计数器值相对当前时刻脉冲计数值的增量作为第二增量值。
S3322:根据当前时刻脉冲计数值和历史脉冲计数器值计算第三增量值。
具体的,可以将当前脉冲计数器值相对历史脉冲计数器值的增量作为第三增量值。
S3323:根据第二增量值和第三增量值计算下一时刻脉冲计数值。
具体的,可以将第二增量值和第三增量值累加计入第一增量值,作为下一时刻脉冲计数值。
S3324:将脉冲计数标识位的标识值置位为0。
可以理解的是,本实施例提供的技术方案,获取脉冲计数标识位的标识值,根据脉冲计数标识位的标识值进行脉冲计数,若脉冲计数标识位的标识值为0,则根据当前脉冲计数器值、历史脉冲计数器值计算下一时刻脉冲计数值,历史脉冲计数器值是上一个中断采集周期的脉冲计数器值;若脉冲计数标识位的标识值为1,则根据当前时刻脉冲计数值、当前脉冲计数器值、历史脉冲计数器值计算下一时刻脉冲数值,优化减少脉冲之间的时间差,且无需多余硬件,节省成本。
实施例3
如图4所示,本发明实施例还提供一种步进驱动器脉冲计数装置,包括:
标识值获取模块41,用于获取脉冲计数标识位的标识值,脉冲计数标识位的标识值用于标记指定存储区域是否存储有当前时刻脉冲计数值,脉冲计数标识位的标识值为0,表示指定存储区域内未存储有当前时刻脉冲计数值,脉冲计数标识位的标识值为1,表示指定存储区域内存储有当前时刻脉冲计数值;
脉冲计数模块42,用于根据脉冲计数标识位的标识值进行脉冲计数;
脉冲计数模块42包括:
第一脉冲计算子模块421,用于若脉冲计数标识位的标识值为0,则根据当前脉冲计数器值、历史脉冲计数器值计算下一时刻脉冲计数值,历史脉冲计数器值是上一个中断采集周期的脉冲计数器值;
第二脉冲计算子模块422,用于若脉冲计数标识位的标识值为1,则根据当前时刻脉冲计数值、当前脉冲计数器值、历史脉冲计数器值计算下一时刻脉冲数值。
在一些可选实施例中,如图该装置还包括:
脉冲计数标识位设置模块,用于将当前时刻脉冲计数值锁存到全局变量中,并且将脉冲计数标识位的标识值置位为1。
在一些可选实施例中,第一脉冲计算子模块421包括:
计数器值获取子模块4211,用于获取当前脉冲计数器值和历史脉冲计数器值;
第一增量值计算子模块4212,用于计算当前脉冲计数器值相对历史脉冲计数器值的第一增量值;
第一脉冲计算子模块4213,用于将第一增量值累加计入第一增量值,作为下一时刻脉冲计数值;
第一脉冲计数标识位设置子模块4214,用于将脉冲计数标识位的标识值置位为0。
在一些可选实施例中,第二脉冲计算子模块422包括:
第二增量值计算子模块4221,用于根据当前时刻脉冲计数值和当前脉冲计数器值计算第二增量值;
具体的,第二增量值计算子模块可以将当前脉冲计数器值相对当前时刻脉冲计数值的增量作为第二增量值。
第三增量值计算子模块4222,用于根据当前时刻脉冲计数值和历史脉冲计数器值计算第三增量值;
具体的,第三增量值计算子模块可以将当前脉冲计数器值相对历史脉冲计数器值的增量作为第三增量值。
第二脉冲计算子模块4223,用于根据第二增量值和第三增量值计算下一时刻脉冲计数值;
具体的,第二脉冲计算子模块将第二增量值和第三增量值累加计入第一增量值,作为下一时刻脉冲计数值。
第二脉冲计数标识位设置子模块4224,用于将脉冲计数标识位的标识值置位为0。
可以理解的是,本实施例提供的技术方案,获取脉冲计数标识位的标识值,根据脉冲计数标识位的标识值进行脉冲计数,若脉冲计数标识位的标识值为0,则根据当前脉冲计数器值、历史脉冲计数器值计算下一时刻脉冲计数值,历史脉冲计数器值是上一个中断采集周期的脉冲计数器值;若脉冲计数标识位的标识值为1,则根据当前时刻脉冲计数值、当前脉冲计数器值、历史脉冲计数器值计算下一时刻脉冲数值,优化减少脉冲之间的时间差,且无需多余硬件,节省成本。
实施例4
基于同一技术构思,本申请实施例还提供了一种计算机设备,包括存储器1和处理器2,如图5所示,所述存储器1存储有计算机程序,所述处理器2执行所述计算机程序时实现上述任一项所述的步进驱动器脉冲计数方法。
其中,存储器1至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、磁性存储器、磁盘、光盘等。存储器1在一些实施例中可以是步进驱动器脉冲计数系统的内部存储单元,例如硬盘。存储器1在另一些实施例中也可以是步进驱动器脉冲计数系统的外部存储设备,例如插接式硬盘,智能存储卡(Smart Media Card, SMC),安全数字(Secure Digital, SD)卡,闪存卡(FlashCard)等。进一步地,存储器1还可以既包括步进驱动器脉冲计数系统的内部存储单元也包括外部存储设备。存储器1不仅可以用于存储安装于步进驱动器脉冲计数系统的应用软件及各类数据,例如步进驱动器脉冲计数程序的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
处理器2在一些实施例中可以是一中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器或其他数据处理芯片,用于运行存储器1中存储的程序代码或处理数据,例如执行步进驱动器脉冲计数程序等。
可以理解的是,本实施例提供的技术方案,获取脉冲计数标识位的标识值,根据脉冲计数标识位的标识值进行脉冲计数,若脉冲计数标识位的标识值为0,则根据当前脉冲计数器值、历史脉冲计数器值计算下一时刻脉冲计数值,历史脉冲计数器值是上一个中断采集周期的脉冲计数器值;若脉冲计数标识位的标识值为1,则根据当前时刻脉冲计数值、当前脉冲计数器值、历史脉冲计数器值计算下一时刻脉冲数值,优化减少脉冲之间的时间差,且无需多余硬件,节省成本。
本发明公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法实施例中所述的步进驱动器脉冲计数方法的步骤。其中,该存储介质可以是易失性或非易失的计算机可读取存储介质。
本发明公开实施例所提供的步进驱动器脉冲计数方法的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行上述方法实施例中所述的步进驱动器脉冲计数方法的步骤,具体可参见上述方法实施例,在此不再赘述。
本发明公开实施例还提供一种计算机程序,该计算机程序被处理器执行时实现前述实施例的任意一种方法。该计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(Software DevelopmentKit,SDK)等等。
可以理解的是,上述各实施例中相同或相似部分可以相互参考,在一些实施例中未详细说明的内容可以参见其他实施例中相同或相似的内容。
需要说明的是,在本发明的描述中,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本发明的描述中,除非另有说明,“多个”的含义是指至少两个。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,虽然本发明已以较佳实施例揭示如上,然而并非用以限定本发明,任何本领域技术人员,在不脱离本发明技术方案范围内,当可利用上述揭示的技术内容做出些许更动或修饰为等同变化的等效实施例,但凡是未脱离本发明技术方案内容,依据本发明的技术实质对以上实施例所作的任何简介修改、等同变化与修饰,均仍属于本发明技术方案的范围内。
Claims (10)
1.一种步进驱动器脉冲计数方法,其特征在于,包括:
获取脉冲计数标识位的标识值,所述脉冲计数标识位的标识值用于标记指定存储区域是否存储有当前时刻脉冲计数值,所述脉冲计数标识位的标识值为0,表示所述指定存储区域内未存储有所述当前时刻脉冲计数值,所述脉冲计数标识位的标识值为1,表示所述指定存储区域内存储有所述当前时刻脉冲计数值;
根据所述脉冲计数标识位的标识值进行脉冲计数,包括:
若所述脉冲计数标识位的标识值为0,则根据当前脉冲计数器值、历史脉冲计数器值计算下一时刻脉冲计数值,所述历史脉冲计数器值是上一个中断采集周期的脉冲计数器值;
若所述脉冲计数标识位的标识值为1,则根据所述当前时刻脉冲计数值、所述当前脉冲计数器值、所述历史脉冲计数器值计算下一时刻脉冲数值。
2.根据权利要求1所述的步进驱动器脉冲计数方法,其特征在于,所述指定存储区域为全局变量,在所述获取脉冲计数标识位的标识值之前,所述方法还包括:
将所述当前时刻脉冲计数值锁存到全局变量中,并且将所述脉冲计数标识位的标识值置位为1。
3.根据权利要求2所述的步进驱动器脉冲计数方法,其特征在于,所述根据当前脉冲计数器值、历史脉冲计数器值计算下一时刻脉冲计数值包括:
获取所述当前脉冲计数器值和所述历史脉冲计数器值;
计算所述当前脉冲计数器值相对所述历史脉冲计数器值的第一增量值;
将所述第一增量值累加计入所述第一增量值,作为下一时刻脉冲计数值;
将所述脉冲计数标识位的标识值置位为0。
4.根据权利要求3所述的步进驱动器脉冲计数方法,其特征在于,所述根据所述当前时刻脉冲计数值、所述当前脉冲计数器值、所述历史脉冲计数器值计算下一时刻脉冲数值包括:
根据所述当前时刻脉冲计数值和所述当前脉冲计数器值计算第二增量值;
根据所述当前时刻脉冲计数值和所述历史脉冲计数器值计算第三增量值;
根据所述第二增量值和所述第三增量值计算下一时刻脉冲计数值;
将所述脉冲计数标识位的标识值置位为0。
5.根据权利要求4所述的步进驱动器脉冲计数方法,其特征在于,所述根据所述当前时刻脉冲计数值和所述当前脉冲计数器值计算第二增量值为:将所述当前脉冲计数器值相对所述当前时刻脉冲计数值的增量作为所述第二增量值。
6.根据权利要求5所述的步进驱动器脉冲计数方法,其特征在于,所述根据所述当前时刻脉冲计数值和所述历史脉冲计数器值计算第三增量值为:将所述当前脉冲计数器值相对所述历史脉冲计数器值的增量作为所述第三增量值。
7.根据权利要求6所述的步进驱动器脉冲计数方法,其特征在于,所述根据所述第二增量值和所述第三增量值计算下一时刻脉冲计数值为:将所述第二增量值和第三增量值累加计入所述第一增量值,作为下一时刻脉冲计数值。
8.一种步进驱动器脉冲计数装置,其特征在于,包括:
标识值获取模块,用于获取脉冲计数标识位的标识值,所述脉冲计数标识位的标识值用于标记指定存储区域是否存储有当前时刻脉冲计数值,所述脉冲计数标识位的标识值为0,表示所述指定存储区域内未存储有当前时刻脉冲计数值,所述脉冲计数标识位的标识值为1,表示所述指定存储区域内存储有当前时刻脉冲计数值;
脉冲计数模块,用于根据所述脉冲计数标识位的标识值进行脉冲计数;
所述脉冲计数模块包括:
第一脉冲计算子模块,用于若所述脉冲计数标识位的标识值为0,则根据当前脉冲计数器值、历史脉冲计数器值计算下一时刻脉冲计数值,所述历史脉冲计数器值是上一个中断采集周期的脉冲计数器值;
第二脉冲计算子模块,用于若所述脉冲计数标识位的标识值为1,则根据所述当前时刻脉冲计数值、所述当前脉冲计数器值、所述历史脉冲计数器值计算下一时刻脉冲数值。
9.一种计算机设备,其特征在于,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当计算机设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行如权利要求1至7中任一项所述步进驱动器脉冲计数方法。
10.一种计算机可读存储介质,其特征在于,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如权利要求1至7中任一项所述的步进驱动器脉冲计数方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310247460.3A CN116073818B (zh) | 2023-03-15 | 2023-03-15 | 步进驱动器脉冲计数方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310247460.3A CN116073818B (zh) | 2023-03-15 | 2023-03-15 | 步进驱动器脉冲计数方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116073818A CN116073818A (zh) | 2023-05-05 |
CN116073818B true CN116073818B (zh) | 2023-06-27 |
Family
ID=86175158
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310247460.3A Active CN116073818B (zh) | 2023-03-15 | 2023-03-15 | 步进驱动器脉冲计数方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116073818B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102035455A (zh) * | 2010-11-30 | 2011-04-27 | 中冶南方(武汉)自动化有限公司 | 一种变频器m/t测速方法 |
CN102281046A (zh) * | 2010-06-12 | 2011-12-14 | 中兴通讯股份有限公司 | 调度乘法器的方法和抵消脉冲生成器 |
CN104393979A (zh) * | 2014-12-12 | 2015-03-04 | 成都朗锐芯科技发展有限公司 | 一种用于时钟恢复的离散补偿调整方法 |
CN110061734A (zh) * | 2019-04-12 | 2019-07-26 | 北京无线电测量研究所 | 一种惯导组件输出脉冲计数方法和装置 |
CN111416617A (zh) * | 2020-03-18 | 2020-07-14 | 广州土圭垚信息科技有限公司 | 一种时钟同步方法、装置及电子设备 |
CN112434254A (zh) * | 2020-11-24 | 2021-03-02 | 上海维宏智能技术有限公司 | 针对正余弦编码器实现增量脉冲计数值校正处理的方法、系统、装置、处理器及其存储介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7292656B2 (en) * | 2002-04-22 | 2007-11-06 | Cognio, Inc. | Signal pulse detection scheme for use in real-time spectrum analysis |
JP2010169555A (ja) * | 2009-01-23 | 2010-08-05 | Sanyo Electric Co Ltd | パルス周期計測方法 |
-
2023
- 2023-03-15 CN CN202310247460.3A patent/CN116073818B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102281046A (zh) * | 2010-06-12 | 2011-12-14 | 中兴通讯股份有限公司 | 调度乘法器的方法和抵消脉冲生成器 |
CN102035455A (zh) * | 2010-11-30 | 2011-04-27 | 中冶南方(武汉)自动化有限公司 | 一种变频器m/t测速方法 |
CN104393979A (zh) * | 2014-12-12 | 2015-03-04 | 成都朗锐芯科技发展有限公司 | 一种用于时钟恢复的离散补偿调整方法 |
CN110061734A (zh) * | 2019-04-12 | 2019-07-26 | 北京无线电测量研究所 | 一种惯导组件输出脉冲计数方法和装置 |
CN111416617A (zh) * | 2020-03-18 | 2020-07-14 | 广州土圭垚信息科技有限公司 | 一种时钟同步方法、装置及电子设备 |
CN112434254A (zh) * | 2020-11-24 | 2021-03-02 | 上海维宏智能技术有限公司 | 针对正余弦编码器实现增量脉冲计数值校正处理的方法、系统、装置、处理器及其存储介质 |
Non-Patent Citations (2)
Title |
---|
Pulsed Eddy Current Non-destructive Testing and Evaluation:A Review;Ali Sophian;Guiyun Tian;Mengbao Fan;;Chinese Journal of Mechanical Engineering(第03期);144-149 * |
一种用电信息采集器故障判断装置的设计;董寒宇;颜茜;沈煜宾;王辉;;电器与能效管理技术(第21期);222-228 * |
Also Published As
Publication number | Publication date |
---|---|
CN116073818A (zh) | 2023-05-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100389735B1 (ko) | 제어장치와 제어시스템 | |
US6496786B1 (en) | Method and apparatus for measuring a frequency datum | |
US20110080132A1 (en) | Stepping motor control circuit and analogue electronic watch | |
CN101834555A (zh) | 转速检测电路和具有该转速检测电路的电动机驱动器装置 | |
CN108535507B (zh) | 用于增量式编码器测速的计算机存储介质 | |
US11403251B2 (en) | Single-wire transmission method, chip and communication system | |
US9647606B2 (en) | Counter based circuit for measuring movement of an object | |
CN116073818B (zh) | 步进驱动器脉冲计数方法和装置 | |
CN101640540B (zh) | 数字信号解码方法 | |
US6300884B1 (en) | Method for decoding a quadrature encoded signal | |
JP3190853B2 (ja) | 誤り訂正処理方法及びその装置 | |
JP3123931B2 (ja) | 時間測定システム及びその時間測定方法 | |
CN111585478A (zh) | 伺服电机驱动电压控制方法、装置、电子设备及存储介质 | |
CN115015618B (zh) | 一种射频电源信号采集方法及装置 | |
CN108555906B (zh) | 机器人的控制方法、装置及机器人 | |
EP1184180B1 (en) | Cleaning control method for recording head, cleaning controller performing the method, and recorder incorporating the cleaning controller | |
CN114518782A (zh) | 微控制单元、电机转速测量方法及系统、存储介质 | |
CN109256998A (zh) | 控制电机电流高精度采样的方法及系统和伺服电机 | |
CN111042932B (zh) | 停机时间获取方法、装置及电子控制单元 | |
US7183731B2 (en) | Pulse generating method and pulse generator, and motor control system using the same | |
CN115001325B (zh) | 一种定时中断控制方法和多步进电机同步控制系统及方法 | |
CN114499299B (zh) | 减小电机驱动误差的方法、装置、终端及可读存储介质 | |
CN111478629A (zh) | 永磁无刷直流电机的位置检测方法、装置和电器设备 | |
CN117220563B (zh) | 电机控制方法和装置 | |
US6700511B1 (en) | Data conversion method, method for obtaining waveform information from square wave using the same, and method for generating square wave from waveform information using the same |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |