CN115001325B - 一种定时中断控制方法和多步进电机同步控制系统及方法 - Google Patents
一种定时中断控制方法和多步进电机同步控制系统及方法 Download PDFInfo
- Publication number
- CN115001325B CN115001325B CN202210424384.4A CN202210424384A CN115001325B CN 115001325 B CN115001325 B CN 115001325B CN 202210424384 A CN202210424384 A CN 202210424384A CN 115001325 B CN115001325 B CN 115001325B
- Authority
- CN
- China
- Prior art keywords
- stepping motor
- interruption
- timer
- interrupt
- comparison
- 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
- 238000000034 method Methods 0.000 title claims abstract description 79
- 230000001360 synchronised effect Effects 0.000 title claims abstract description 35
- 238000012545 processing Methods 0.000 claims abstract description 46
- 230000001960 triggered effect Effects 0.000 claims abstract description 22
- 230000015654 memory Effects 0.000 claims description 24
- 238000001514 detection method Methods 0.000 claims description 16
- 230000001133 acceleration Effects 0.000 claims description 7
- 230000008859 change Effects 0.000 claims description 7
- 230000008030 elimination Effects 0.000 claims description 7
- 238000003379 elimination reaction Methods 0.000 claims description 7
- 230000000737 periodic effect Effects 0.000 claims description 3
- 230000008569 process Effects 0.000 description 12
- 238000004891 communication Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 230000002441 reversible effect Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 3
- 239000007787 solid Substances 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000000630 rising effect Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000000819 phase cycle Methods 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
Images
Classifications
-
- 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 rotating step by step
- H02P8/24—Arrangements for stopping
-
- 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 rotating step by step
- H02P8/36—Protection against faults, e.g. against overheating or step-out; Indicating faults
-
- 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 rotating step by step
- H02P8/40—Special adaptations for controlling two or more stepping motors
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P80/00—Climate change mitigation technologies for sector-wide applications
- Y02P80/10—Efficient use of energy, e.g. using compressed air or pressurized fluid as energy carrier
Landscapes
- Engineering & Computer Science (AREA)
- Power Engineering (AREA)
- Control Of Stepping Motors (AREA)
Abstract
本发明公开了一种定时中断控制方法和多步进电机同步控制系统及方法,所述定时中断控制方法应用于控制器,包括:获取用于控制步进电机运行的电平信号并对电平信号进行处理得到对应频率的脉冲信号;根据脉冲信号的频率控制计数器响应计数操作直至达到预设装载值时触发中断并循环计数;根据脉冲信号的频率计算触发中断时对应的中断延时值并根据中断延时值和触发中断时的计数值计算得到对应的周期比较值;将周期比较值作为新的电机中断比较时间,使得定时器比较通道根据新的电机中断比较时间控制对应的步进电机响应中断操作。使每一个定时器比较通道都可以控制一个步进电机,在不增加定时器数量的同时也实现了对多个步进电机的控制,降低了成本。
Description
技术领域
本发明涉及电机控制技术领域,具体涉及一种定时中断控制方法和多步进电机同步控制系统及方法。
背景技术
传统的多步进电机控制方法采用基于数据总线的控制方式,将控制器、驱动器、电机集成为一套基本单元,单元与主控系统通过数据总线进行通信,以实现基本的协同控制,而这种模块化单元也意味着成本的上升和体积的增大。也有使用单MCU控制多个步进电机,但是往往受制于单片机内可用的内部定时器数量,能够同时控制电机的数量有限。因此亟需一种新的定时控制方法来控制多个步进电机。
发明内容
有鉴于此,本发明实施例提供了涉及一种定时中断控制方法和多步进电机同步控制系统及方法,以解决现有技术中使用单MCU中的定时器控制多个步进电机时受制于内部定时器的数量的技术问题。
本发明提出的技术方案如下:
本发明实施例第一方面提供一种定时中断控制方法,应用于控制器,所述控制器中的定时器包含多个定时器比较通道,每一个所述定时器比较通道用于控制对应的步进电机运行;该定时中断控制方法包括:获取用于控制步进电机运行的电平信号并对所述电平信号进行处理得到对应频率的脉冲信号;根据所述脉冲信号的频率控制计数器响应计数操作直至达到预设装载值时触发中断并循环计数;根据所述脉冲信号的频率计算触发中断时对应的中断延时值并根据所述中断延时值和触发中断时的计数值计算得到对应的周期比较值;将所述周期比较值作为新的电机中断比较时间,使得所述定时器比较通道根据所述新的电机中断比较时间控制对应的步进电机响应中断操作。
本发明实施例第二方面提供一种多步进电机同步控制系统,该多步进电机同步控制系统包括:多个步进电机系统,每一个所述步进电机系统包括步进电机;控制器,包括至少一个定时器,每一个所述定时器包含多个定时器比较通道,通过定时器比较通道与对应的步进电机系统连接,用于执行如权利要求1所述的定时中断控制方法。
可选地,所述步进电机系统还包括:驱动控制器,一侧与所述控制器连接,另一侧与所述步进电机连接,用于将所述控制器发送的控制信号转换为步进电机运行驱动信号;编码器,一侧与所述控制器连接,另一侧与所述步进电机连接,用于将接收的所述步进电机的位置信息转换为对应的编码器数据并输出至所述控制器;零点传感器,一侧与所述控制器连接,另一侧与所述步进电机连接,用于标识所述步进电机的零点位置并传输至所述控制器。
可选地,所述系统还包括:上位机,与所述控制器连接,用于接收所述控制器发送的所述步进电机系统的状态和调试信息。
可选地,所述驱动控制器包括加减速模块,用于控制所述步进电机的速度按照直线或者S形变化;所述编码器包括编码器数据获取处理模块以及失步和堵转检测模块,所述编码器数据获取处理模块用于对获取的编码器数据进行处理,所述失步和堵转检测模块用于读取和比较两次编码器的反馈数据并根据比较结果发送对应的失步和/或堵转标识至所述控制器;所述零点传感器包括电机初始化归零模块和零点位置数据获取处理模块,所述电机初始化归零模块用于将所述步进电机驱动至零点位置并响应与编码器数据的同步操作,所述零点位置数据获取处理模块用于控制所述步进电机下一步运行前将当前零点位置信号同步至所述控制器。
本发明实施例第三方面提供一种多步进电机同步控制方法,用于如本发明实施例第二方面及第二方面任一项所述的多步进电机同步控制系统,该多步进电机同步控制方法包括:获取编码器数据和定时器比较通道对应的周期比较值,所述编码器数据用于表征步进电机的位置信息,所述周期比较值用于控制对应的步进电机响应中断操作;当所述定时器比较通道开始中断处理,获取对应的中断信号并根据所述中断信号更新所述编码器数据;利用所述编码器数据判断所述步进电机的运行状态;当所述步进电机运行正常,对所述步进电机进行失步和/或堵转检测;当发生失步和/或堵转,响应故障消除操作直至控制所述步进电机运行至目标位置。
本发明实施例第四方面提供一种定时中断控制装置,应用于控制器,所述控制器中的定时器包含多个定时器比较通道,每一个所述定时器比较通道用于控制对应的步进电机运行;该定时中断控制装置包括:第一获取模块,用于获取用于控制步进电机运行的电平信号并对所述电平信号进行处理得到对应频率的脉冲信号;控制模块,用于根据所述脉冲信号的频率控制计数器响应计数操作直至达到预设装载值时触发中断并循环计数;计算模块,用于根据所述脉冲信号的频率计算触发中断时对应的中断延时值并根据所述中断延时值和触发中断时的计数值计算得到对应的周期比较值;处理模块,用于将所述周期比较值作为新的电机中断比较时间,使得所述定时器比较通道根据所述新的电机中断比较时间控制对应的步进电机响应中断操作。
本发明实施例第五方面提供一种多步进电机同步控制装置,用于如本发明实施例第二方面及第二方面任一项所述的多步进电机同步控制系统,该多步进电机同步控制装置包括:第二获取模块,用于获取编码器数据和定时器比较通道对应的周期比较值,所述编码器数据用于表征步进电机的位置信息,所述周期比较值用于控制对应的步进电机响应中断操作;更新模块,用于当所述定时器比较通道开始中断处理,获取对应的中断信号并根据所述中断信号更新所述编码器数据;判断模块,用于利用所述编码器数据判断所述步进电机的运行状态;检测模块,用于当所述步进电机运行正常,对所述步进电机进行失步和/或堵转检测;处理模块,用于当发生失步和/或堵转,响应故障消除操作直至控制所述步进电机运行至目标位置。
本发明实施例第六方面提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使所述计算机执行如本发明实施例第一方面所述的定时中断控制方法,或者如本发明实施例第二方面所述的多步进电机同步控制方法。
本发明实施例第七方面提供一种电子设备,包括:存储器和处理器,所述存储器和所述处理器之间互相通信连接,所述存储器存储有计算机指令,所述处理器通过执行所述计算机指令,从而执行如本发明实施例第一方面所述的定时中断控制方法,或者如本发明实施例第二方面所述的多步进电机同步控制方法。
本发明提供的技术方案,具有如下效果:
本发明实施例提供的定时中断控制方法,应用于控制器,所述控制器中的定时器包含多个定时器比较通道,每一个所述定时器比较通道用于控制对应的步进电机运行;获取用于控制步进电机运行的电平信号并对所述电平信号进行处理得到对应频率的脉冲信号;根据所述脉冲信号的频率控制计数器响应计数操作直至达到预设装载值时触发中断并循环计数;根据所述脉冲信号的频率计算触发中断时对应的中断延时值并根据所述中断延时值和触发中断时的计数值计算得到对应的周期比较值;将所述周期比较值作为新的电机中断比较时间,使得所述定时器比较通道根据所述新的电机中断比较时间控制对应的步进电机响应中断操作。该方法为控制器中每一个定时器比较通道设置新的电机中断比较时间,并利用该新的电机中断比较时间控制对应的步进电机响应中断操作,使得每一个定时器比较通道的功能扩展成为和定时器一样的时间基准单元,且和定时器一样能够产生控制电机的频率脉冲,即每一个定时器比较通道都可以实现对步进电机的控制。因此,通过本发明,在不增加定时器数量的同时也实现了对多个步进电机的控制,降低了成本。
本发明实施例提供的多步进电机同步控制系统,包括:多个步进电机系统,每一个所述步进电机系统包括步进电机;控制器,包括至少一个定时器,每一个所述定时器包含多个定时器比较通道,通过定时器比较通道与对应的步进电机系统连接,用于执行如本发明实施例所述的定时中断控制方法。该系统利用定时器比较通道响应控制对应步进电机的中断操作,使得每一个定时器比较通道都可以实现对步进电机的控制,即在不增加定时器数量的同时也实现了对多个步进电机的控制。
本发明实施例提供的多步进电机同步控制方法,用于如本发明实施例所述的多步进电机同步控制系统,包括:获取编码器数据和定时器比较通道对应的周期比较值,所述编码器数据用于表征步进电机的位置信息,所述周期比较值用于控制对应的步进电机响应中断操作;当所述定时器比较通道开始中断处理,获取对应的中断信号并根据所述中断信号更新所述编码器数据;利用所述编码器数据判断所述步进电机的运行状态;当所述步进电机运行正常,对所述步进电机进行失步和/或堵转检测;当发生失步和/或堵转,响应故障消除操作直至控制所述步进电机运行至目标位置。该方法利用周期比较值控制对应的步进电机响应中断操作,提高了控制数量;采用闭环控制,每一路中断处理过程都以编码器数据为标准,使得在一定范围内电机的失步将不影响最终的位置定位;对步进电机进行失步和/或堵转检测并根据检测结果进行处理,能够在出现故障时及时保护和提供告警。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明实施例的定时中断控制方法的流程图;
图2是根据本发明实施例提供的比较通道产生控制波形的示意图;
图3是根据本发明实施例的多步进电机同步控制系统的结构示意图;
图4是根据本发明实施例的多步进电机同步控制系统的结构框图;
图5是根据本发明实施例的多步进电机同步控制方法的流程图;
图6是根据本发明实施例的多步进电机同步控制方法的流程图;
图7是根据本发明实施例的定时中断控制装置的结构框图;
图8是根据本发明实施例的多步进电机同步控制装置的结构框图;
图9是根据本发明实施例提供的计算机可读存储介质的结构示意图;
图10是根据本发明实施例提供的电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供一种定时中断控制方法,应用于控制器,所述控制器中的定时器包含多个定时器比较通道,每一个所述定时器比较通道用于控制对应的步进电机运行;如图1所示,该方法包括如下步骤:
步骤S101:获取用于控制步进电机运行的电平信号并对所述电平信号进行处理得到对应频率的脉冲信号。具体地,定时器内部配置有捕获滤波器,首先,利用定时器的gpio接收捕获滤波器获取的电平信号,然后利用定时器中的寄存器对该获取的电平信号进行处理得到对应频率的脉冲信号。其中,电平信号包括高电平信号和低电平信号,由高电平信号变为低电平信号或者由低电平信号变为高电平信号时对应的变化的时刻即产生对应频率的脉冲信号。
步骤S102:根据所述脉冲信号的频率控制计数器响应计数操作直至达到预设装载值时触发中断并循环计数。具体地,首先,脉冲信号通过控制驱动器内部的电子器件控制加到步进电机上的电流的相序,从而产生一直向一个方向的力,使步进电机连续转动。脉冲信号的频率越快,对应的步进电机转动越快。
其次,定时器内部配置有捕获映射通道,通过该通道可以将脉冲信号映射到不同的比较通道中以控制对应的步进电机的运行。
最后,定时器内部配置有计数器和自动重装载寄存器,计数器只能往上计数,最大计数值为65535;自动重装载寄存器装着计数器能计数的最大数值(即预设装载值),当计数到这个值的时候,定时器产生溢出中断即触发中断。
因此,当利用脉冲信号控制步进电机开始转动,定时器中利用内置分频器驱动控制计数器开始计数,当计数值达到预设装载值时触发中断,计数器清零并从头开始计数(即循环计数)。
步骤S103:根据所述脉冲信号的频率计算触发中断时对应的中断延时值并根据所述中断延时值和触发中断时的计数值计算得到对应的周期比较值。具体地,首先利用下式计算触发中断时对应的中断延时值:
f=1/Tt
式中,f表示脉冲信号的频率;Tt表示对应的中断延时值;
然后,计算对应的周期比较值:
Tcomp=Tcnt+Tt
式中,Tcomp表示周期比较值;Tcnt表示触发中断时的计数值;
其中,此处计数值表示的是一路中断流程中计数完成对应的时间。具体地,计数器计数的是来自引脚上的脉冲,比如,引脚的脉冲为10KHz,那么一个脉冲周期就是100us,如果一路中断过程中计数器计数了10个脉冲周期,那么此时对应的计数值Tcnt=1ms。
在一实施例中,比较通道产生控制波形说明图如图2所示,包括定时器数值、比较通道计数值以及产生的脉冲波形图。
步骤S104:将所述周期比较值作为新的电机中断比较时间,使得所述定时器比较通道根据所述新的电机中断比较时间控制对应的步进电机响应中断操作。具体地,每一个定时器比较通道根据计算得到的周期比较数值控制对应的步进电机响应中断操作,即一个周期比较数值对应的周期作为一个新的中断过程,当达到该周期比较数值时触发中断操作。通过这种控制方法使得在不增加定时器数量的同时也实现了对多个步进电机的控制,降低了成本。
本发明实施例提供的定时中断控制方法,为控制器中每一个定时器比较通道设置新的电机中断比较时间,并利用该新的电机中断比较时间控制对应的步进电机响应中断操作,使得每一个定时器比较通道的功能扩展成为和定时器一样的时间基准单元,且和定时器一样能够产生控制电机的频率脉冲,即每一个定时器比较通道都可以实现对步进电机的控制。因此,通过本发明,在不增加定时器数量的同时也实现了对多个步进电机的控制,降低了成本。
本发明实施例还提供一种多步进电机同步控制系统,如图3所示,该多步进电机同步控制系统1包括:
多个步进电机系统11,每一个所述步进电机系统111包括步进电机1111。
控制器12,包括至少一个定时器121,每一个所述定时器包含多个定时器比较通道1211,通过定时器比较通道与对应的步进电机系统连接,用于执行如本发明实施例所述的定时中断控制方法。具体的,在该控制器中,一个定时器中包含的每一个定时器比较通道均可以控制一个步进电机。比如,一个多步进电机同步控制系统中包括3个步进电机系统(即对应3个电机)和一个控制器(只有一个包含3个比较通道的定时器)时,可以利用每一个比较通道来控制一个步进电机,这种控制方法使得在不增加定时器的同时也可以实现一个控制器对3个步进电机的控制。
本发明实施例提供的多步进电机同步控制系统,利用定时器比较通道响应控制对应步进电机的中断操作,使得每一个定时器比较通道都可以实现对步进电机的控制,即在不增加定时器数量的同时也实现了对多个步进电机的控制。
作为本发明实施例一种可选的实施方式,如图3所示,所述步进电机系统111还包括:
驱动控制器1112,一侧与所述控制器12连接,一侧与所述步进电机1111连接,用于将所述控制器12发送的控制信号转换为步进电机运行驱动信号;具体地,控制器中包含有驱动控制器接口,是驱动控制器与控制器之间控制信息传递的直接通道。在控制器中为每一个定时器比较通道分配一对I/O口(即驱动控制器接口),分别连接至对应驱动器控制器的方向控制端和脉冲控制端,利用该I/O口可以输出控制对应步进电机运行的方向和脉冲信号(即步进电机运行驱动信号),然后该步进电机根据该步进电机运行驱动信号运行。其中,驱动控制器可以采用具有脉冲、方向控制端口的成品驱动控制器,也可以采用各类集成式驱动控制模块,本发明对此不做具体限定,只要满足需求即可。
编码器1113,一侧与所述控制器12连接,一侧与所述步进电机1111连接,用于将接收的所述步进电机的位置信息转换为对应的编码器数据并输出至所述控制器12。具体地,控制器中包含有编码器接口,用于接收反映电机当前位置信息的编码器数据;编码器安装在步进电机的尾部,跟随步进电机同轴转动,实时输出反映该步进电机位置的数据(即位置信息)。其中,编码器可以为光电编码器、磁编码器等编码器,本发明对此不做具体限定,只要满足需求即可。
因此,利用该编码器接口接收步进电机的位置信息并处理为对应的编码器数据后传输至对应的控制器中。其中,编码器接口具有形式如ABZ或者SPI通信接口形式。
零点传感器1114,一侧与所述控制器12连接,一侧与所述步进电机1111连接,用于标识所述步进电机的零点位置并传输至所述控制器12。具体地,控制器中包含有零点信号接口,通过该接口将该控制器与零点传感器进行连接。零点传感安装在步进电机的起始位置,当步进电机系统111第一次启动时用于复位步进电机,标识当前编码器1113的零点。在步进电机系统111运行过程中,用于定期校准当前零点。其中,零点传感器可以包括光电传感器、霍尔传感器或机械传感器,根据实际需求进行设置,本发明对此不做具体限定;零点信号接口可以采用光电开关或者霍尔开关,安装在步进电机的限位处,当该步进电机运行至限位时,触发该零点传感器输出逻辑变化的信号。
具体地,零点信号接口即为高低电平接口,当该步进电机处于零点位置时输出低电平(或高电平),在零点位置之外时输出高电平(或低电平)。通过该零点信号可以在该步进电机系统启动或运行过程中实时校准对应的编码器数据。
作为本发明实施例一种可选的实施方式,如图3所示,所述系统还包括:
上位机13,与所述控制器12连接,用于接收所述控制器12发送的所述步进电机系统111的状态和调试信息。具体地,控制器中包含有外部通信接口,该外部通信接口包括ETH,CAN,RS232以及TTL接口的串口。其中,ETH、CAN和RS232为控制器与上位机之间提供各类冗余通信通道,TTL接口的串口用于实时输出步进电机系统的状态和调试信息。
具体地,首先,控制器通过这些通信接口接收上位机指令,其次,将对应的指令数据转换为动作命令,最后,通过定时器比较用到实现对每一个步进电机的同步控制。
作为本发明实施例一种可选的实施方式,如图3所示,所述驱动控制器1112包括加减速模块,用于控制所述步进电机的速度按照直线或者S形变化。具体地,该加减速模块包括步进电机加速态和步进电机减速态两个状态,分别用于控制该步进电机的速度按照直线或者S形变化,通过这种方式可以保证该步进电机在运行过程中的速度和加速度没有突变,减小冲击,即可以提高该步进电机的平稳性。而且,在该加减速模块中还可以实现对该步进电机的位置闭环控制。其中,实现位置闭环控制的原理是通过检测编码器反馈回的当前位置与设定位置的差值来确定电机是应该运行或停止。
所述编码器1113包括编码器数据获取处理模块以及失步和堵转检测模块,所述编码器数据获取处理模块用于对获取的编码器数据进行处理,所述失步和堵转检测模块用于读取和比较两次编码器的反馈数据并根据比较结果发送对应的失步和/或堵转标识至所述控制器。具体地,首先,该编码器数据获取处理模块通过编码器接口获取对应的编码器ABZ边沿信号,其次,将对应的AB信号逻辑处理后对位置进行递增或递减操作,并产生指示当前运行的方向数据。
然后,该失步和堵转检测模块通过定期读取、比较两次编码器的反馈数据来判断当前步进电机运行是否正常,并根据判断结果向该控制器输出对应的失步和/或堵转标识,最后,由该步进电机系统确定是否停机或继续运行。
具体地,将对应的AB信号逻辑处理后对位置进行递增或递减操作的具体实现过程为:
设置AB信号作为中断信号输入至对应的控制器,在产生中断触发时,首先判断该信号是A还是B,如果是A信号,则再判断该A信号是上升沿信号还是下降沿信号。
当该A信号为上升沿信号时,判断当前B信号是高电平还是低电平,如果是高电平,则表示当前该步进电机正向转动并将当前位置数值加1,如果是低电平,则表示当前该步进电机反向转动并将当前位置数值减1;
当该A信号为下降沿信号时,判断当前B信号是高电平还是低电平,如果是高电平,则表示当前该步进电机反向转动并将当前位置数值减1,如果是低电平,则表示当前该步进电机是正向转动并将当前位置数值加1。B信号的判断与A的逻辑相反,此处不再赘述。
所述零点传感器1114包括电机初始化归零模块和零点位置数据获取处理模块,所述电机初始化归零模块用于将所述步进电机驱动至零点位置并响应与编码器数据的同步操作,所述零点位置数据获取处理模块用于控制所述步进电机下一步运行前将当前零点位置信号同步至所述控制器。具体地,该电机初始化归零模块在该步进电机初次上电或需要时将该步进电机驱动到零点位置并将该位置与编码器数据同步,包括四个状态:慢速前向运行态一、快速反向运行态一、慢速前向运行态二、慢速反向运行态二。
该零点位置数据获取处理模块同步与该步进电机的控制频率,在控制步进电机下一步运行前将当前零点位置信号(即步进电机的零点位置数据)同步给对应的控制器。
在一实例中,该多步进电机同步控制系统1如图4所示。其中,电源模块用于将外部供电电源(包括通信专用48V直流电源、220V交流电源)变换为该多步进电机同步控制系统使用的稳定的各类电源(包括24V动力电源,12V信号电源和5V、3.3V逻辑电源),同时过滤外部干扰和隔离本级产生的干扰。
电源接入检测保护包括对输入各类电压的过压保护、欠压保护、EMC、反接保护;通信接口即为外部通信接口;MCU即为控制器。
本发明实施例还提供一种多步进电机同步控制方法,用于如本发明实施例所述的多步进电机同步控制系统1,如图5所示,该方法包括如下步骤:
步骤S201:获取编码器数据和定时器比较通道对应的周期比较值,所述编码器数据用于表征步进电机的位置信息,所述周期比较值用于控制对应的步进电机响应中断操作。具体地,利用定时器比较通道实现对步进电机的控制,因此,首先获取该比较通道对应的定时器比较周期数值,同时获取该步进电机的位置信息,并获取将该位置信息经过编码器出处理得到对应的编码器数据。
步骤S202:当所述定时器比较通道开始中断处理,获取对应的中断信号并根据所述中断信号更新所述编码器数据。具体地,对获取的中断信号进行逻辑处理之后即可以得到对应步进电机响应的位置操作(位置进行递增或递减操作),又通过编码器数据反应对应的步进电机的位置数据,因此即可以根据该中断信号可以更新对应的编码器数据。其中,对获取的中断信号进行逻辑处理之后即可以得到对应步进电机响应的位置操作(位置进行递增或递减操作)参考将对应的AB信号逻辑处理后对位置进行递增或递减操作的具体实现过程,此处不再赘述。
步骤S203:利用所述编码器数据判断所述步进电机的运行状态。具体地,当反馈的编码器数据准确,则该步进电机运行正常,否则运行异常。
步骤S204:当所述步进电机运行正常,对所述步进电机进行失步和/或堵转检测。具体地,当步进电机运行正常,进一步判断该步进电机是否出现失步和/或堵转。
步骤S205:当发生失步和/或堵转,响应故障消除操作直至控制所述步进电机运行至目标位置。具体地,当该步进电机发生失步和/或堵转时,控制该步进电机减速运行直至失步和/或堵转清除后,控制该步进电机继续加速/匀速运行直至目标位置;当控制该步进电机减速运行无法清除该失步和/或堵转时,控制该步进电机减速运行直至该步进电机停止。
当没有发生失步和/或堵转,则继续控制该步进电机继续加速/匀速运行直至目标位置。
本发明实施例提供的多步进电机同步控制方法,利用周期比较值控制对应的步进电机响应中断操作,提高了控制数量;采用闭环控制,每一路中断处理过程都以编码器数据为标准,使得在一定范围内电机的失步将不影响最终的位置定位;对步进电机进行失步和/或堵转检测并根据检测结果进行处理,能够在出现故障时及时保护和提高告警。
在一实施例中,该多步进电机同步控制流程如图6所示,当定时器比较通道中断处理开始,首先更新对应的步进电机的编码器数据并判断该步进电机的运行状态,当运行异常,则直接结束;
当运行正常,首先,判断该步进电机是否发生失步和/或堵转,若未发生,则控制该步进电机继续加速/匀速运行直至到达目标位置并结束;若发生,则控制该步进电机减速运行直至无失步和/或堵转时,控制该步进电机继续加速/匀速运行直至到达目标位置并结束;若控制该步进电机减速运行无法消除该失步和/或堵转,则该步进电机停止并结束。
本申请上述实施例记载的方案,将单颗MCU可控电机的数量大大扩大,在处理能力允许的范围内,有效提升了控制效率,降低了系统成本和复杂性。
相对于总线式控制方式,本方案省去了通信总线硬件和软件成本,缩减了系统开销,增强了实时性。由于没有独立模块,各电机模块体积也得到了控制。
相对于其它单纯采用定时器控制的方式,本方案通过使用比较通道来控制每一路电机,提高了控制数量,降低了成本。
本发明实施例还提供一种定时中断控制装置,应用于控制器,所述控制器中的定时器包含多个定时器比较通道,每一个所述定时器比较通道用于控制对应的步进电机运行;如图7所示,该装置包括:
第一获取模块701,用于获取用于控制步进电机运行的电平信号并对所述电平信号进行处理得到对应频率的脉冲信号;详细内容参见上述方法实施例中步骤S101的相关描述。
控制模块702,用于根据所述脉冲信号的频率控制计数器响应计数操作直至达到预设装载值时触发中断并循环计数;详细内容参见上述方法实施例中步骤S102的相关描述。
计算模块703,用于根据所述脉冲信号的频率计算触发中断时对应的中断延时值并根据所述中断延时值和触发中断时的计数值计算得到对应的周期比较值;详细内容参见上述方法实施例中步骤S103的相关描述。
处理模块704,用于将所述周期比较值作为新的电机中断比较时间,使得所述定时器比较通道根据所述新的电机中断比较时间控制对应的步进电机响应中断操作;详细内容参见上述方法实施例中步骤S104的相关描述。
本发明实施例提供的定时中断控制装置,为控制器中每一个定时器比较通道设置新的电机中断比较时间,并利用该新的电机中断比较时间控制对应的步进电机响应中断操作,使得每一个定时器比较通道的功能扩展成为和定时器一样的时间基准单元,且和定时器一样能够产生控制电机的频率脉冲,即每一个定时器比较通道都可以实现对步进电机的控制。因此,通过本发明,在不增加定时器数量的同时也实现了对多个步进电机的控制,降低了成本。
本发明实施例提供的定时中断控制装置的功能描述详细参见上述实施例中定时中断控制方法描述。
本发明实施例还提供一种多步进电机同步控制装置,如图8所示,该装置包括:
第二获取模块801,用于获取编码器数据和定时器比较通道对应的周期比较值,所述编码器数据用于表征步进电机的位置信息,所述周期比较值用于控制对应的步进电机响应中断操作;详细内容参见上述方法实施例中步骤S201的相关描述。
更新模块802,用于当所述定时器比较通道开始中断处理,获取对应的中断信号并根据所述中断信号更新所述编码器数据;详细内容参见上述方法实施例中步骤S202的相关描述。
判断模块803,用于利用所述编码器数据判断所述步进电机的运行状态;详细内容参见上述方法实施例中步骤S203的相关描述。
检测模块804,用于当所述步进电机运行正常,对所述步进电机进行失步和/或堵转检测;详细内容参见上述方法实施例中步骤S204的相关描述。
处理模块805,用于当发生失步和/或堵转,响应故障消除操作直至控制所述步进电机运行至目标位置;详细内容参见上述方法实施例中步骤S205的相关描述。
本发明实施例提供的多步进电机同步控制装置,利用周期比较值控制对应的步进电机响应中断操作,提高了控制数量;采用闭环控制,每一路中断处理过程都以编码器数据为标准,使得在一定范围内电机的失步将不影响最终的位置定位;对步进电机进行失步和/或堵转检测并根据检测结果进行处理,能够在出现故障时及时保护和提高告警。
本发明实施例提供的多步进电机同步控制装置的功能描述详细参见上述实施例中多步进电机同步控制方法描述。
本发明实施例还提供一种存储介质,如图9所示,其上存储有计算机程序901,该指令被处理器执行时实现上述实施例中定时中断控制方法或多步进电机同步控制方法的步骤。该存储介质上还存储有音视频流数据,特征帧数据、交互请求信令、加密数据以及预设数据大小等。其中,存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)、随机存储记忆体(Random Access Memory,RAM)、快闪存储器(Flash Memory)、硬盘(HardDisk Drive,缩写:HDD)或固态硬盘(Solid-State Drive,SSD)等;所述存储介质还可以包括上述种类的存储器的组合。
本领域技术人员可以理解,实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)、随机存储记忆体(RandomAccessMemory,RAM)、快闪存储器(Flash Memory)、硬盘(Hard Disk Drive,缩写:HDD)或固态硬盘(Solid-State Drive,SSD)等;所述存储介质还可以包括上述种类的存储器的组合。
本发明实施例还提供了一种电子设备,如图10所示,该电子设备可以包括处理器101和存储器102,其中处理器101和存储器102可以通过总线或者其他方式连接,图10中以通过总线连接为例。
处理器101可以为中央处理器(Central Processing Unit,CPU)。处理器101还可以为其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等芯片,或者上述各类芯片的组合。
存储器102作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态计算机可执行程序以及模块,如本发明实施例中的对应的程序指令/模块。处理器101通过运行存储在存储器102中的非暂态软件程序、指令以及模块,从而执行处理器的各种功能应用以及数据处理,即实现上述方法实施例中的定时中断控制方法或多步进电机同步控制方法。
存储器102可以包括存储程序区和存储数据区,其中,存储程序区可存储操作装置、至少一个功能所需要的应用程序;存储数据区可存储处理器101所创建的数据等。此外,存储器102可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施例中,存储器102可选包括相对于处理器101远程设置的存储器,这些远程存储器可以通过网络连接至处理器101。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
所述一个或者多个模块存储在所述存储器102中,当被所述处理器101执行时,执行如图1-2所示实施例中的定时中断控制方法或如图5-6所示实施例中的多步进电机同步控制方法。
上述电子设备具体细节可以对应参阅图1至图2以及图5至图6所示的实施例中对应的相关描述和效果进行理解,此处不再赘述。
虽然结合附图描述了本发明的实施例,但是本领域技术人员可以在不脱离本发明的精神和范围的情况下做出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。
Claims (10)
1.一种定时中断控制方法,应用于控制器,所述控制器中的定时器包含多个定时器比较通道,每一个所述定时器比较通道用于控制对应的步进电机运行;其特征在于,包括如下步骤:
获取用于控制步进电机运行的电平信号并对所述电平信号进行处理得到对应频率的脉冲信号;
根据所述脉冲信号的频率控制计数器响应计数操作直至达到预设装载值时触发中断并循环计数;
根据所述脉冲信号的频率计算触发中断时对应的中断延时值并根据所述中断延时值和触发中断时的计数值计算得到对应的周期比较值;
将所述周期比较值作为新的电机中断比较时间,使得所述定时器比较通道根据所述新的电机中断比较时间控制对应的步进电机响应中断操作;
所述根据所述脉冲信号的频率计算触发中断时对应的中断延时值并根据所述中断延时值和触发中断时的计数值计算得到对应的周期比较值,包括:
利用如下公式计算触发中断时对应的中断延时值:
f=1/Tt
式中,f表示脉冲信号的频率;Tt表示对应的中断延时值;
利用如下公式计算所述周期比较值:
Tcomp=Tcnt+Tt
式中,Tcomp表示周期比较值;Tcnt表示触发中断时的计数值。
2.一种多步进电机同步控制系统,其特征在于,包括:
多个步进电机系统,每一个所述步进电机系统包括步进电机;
控制器,包括至少一个定时器,每一个所述定时器包含多个定时器比较通道,通过定时器比较通道与对应的步进电机系统连接,用于执行如权利要求1所述的定时中断控制方法。
3.根据权利要求2所述的系统,其特征在于,所述步进电机系统还包括:
驱动控制器,一侧与所述控制器连接,另一侧与所述步进电机连接,用于将所述控制器发送的控制信号转换为步进电机运行驱动信号;
编码器,一侧与所述控制器连接,另一侧与所述步进电机连接,用于将接收的所述步进电机的位置信息转换为对应的编码器数据并输出至所述控制器;
零点传感器,一侧与所述控制器连接,另一侧与所述步进电机连接,用于标识所述步进电机的零点位置并传输至所述控制器。
4.根据权利要求2所述的系统,其特征在于,所述系统还包括:
上位机,与所述控制器连接,用于接收所述控制器发送的所述步进电机系统的状态和调试信息。
5.根据权利要求3所述的系统,其特征在于,
所述驱动控制器包括加减速模块,用于控制所述步进电机的速度按照直线或者S形变化;
所述编码器包括编码器数据获取处理模块以及失步和堵转检测模块,所述编码器数据获取处理模块用于对获取的编码器数据进行处理,所述失步和堵转检测模块用于读取和比较两次编码器的反馈数据并根据比较结果发送对应的失步和/或堵转标识至所述控制器;
所述零点传感器包括电机初始化归零模块和零点位置数据获取处理模块,所述电机初始化归零模块用于将所述步进电机驱动至零点位置并响应与编码器数据的同步操作,所述零点位置数据获取处理模块用于控制所述步进电机下一步运行前将当前零点位置信号同步至所述控制器。
6.一种多步进电机同步控制方法,其特征在于,用于如权利要求2-5任一项所述的多步进电机同步控制系统,包括如下步骤:
获取编码器数据和定时器比较通道对应的周期比较值,所述编码器数据用于表征步进电机的位置信息,所述周期比较值用于控制对应的步进电机响应中断操作;
当所述定时器比较通道开始中断处理,获取对应的中断信号并根据所述中断信号更新所述编码器数据;
利用所述编码器数据判断所述步进电机的运行状态;
当所述步进电机运行正常,对所述步进电机进行失步和/或堵转检测;
当发生失步和/或堵转,响应故障消除操作直至控制所述步进电机运行至目标位置。
7.一种定时中断控制装置,应用于控制器,所述控制器中的定时器包含多个定时器比较通道,每一个所述定时器比较通道用于控制对应的步进电机运行;其特征在于,包括:
第一获取模块,用于获取用于控制步进电机运行的电平信号并对所述电平信号进行处理得到对应频率的脉冲信号;
控制模块,用于根据所述脉冲信号的频率控制计数器响应计数操作直至达到预设装载值时触发中断并循环计数;
计算模块,用于根据所述脉冲信号的频率计算触发中断时对应的中断延时值并根据所述中断延时值和触发中断时的计数值计算得到对应的周期比较值;
处理模块,用于将所述周期比较值作为新的电机中断比较时间,使得所述定时器比较通道根据所述新的电机中断比较时间控制对应的步进电机响应中断操作;
所述计算模块,包括:
利用如下公式计算触发中断时对应的中断延时值:
f=1/Tt
式中,f表示脉冲信号的频率;Tt表示对应的中断延时值;
利用如下公式计算所述周期比较值:
Tcomp=Tcnt+Tt
式中,Tcomp表示周期比较值;Tcnt表示触发中断时的计数值。
8.一种多步进电机同步控制装置,其特征在于,用于如权利要求2-5任一项所述的多步进电机同步控制系统,包括:
第二获取模块,用于获取编码器数据和定时器比较通道对应的周期比较值,所述编码器数据用于表征步进电机的位置信息,所述周期比较值用于控制对应的步进电机响应中断操作;
更新模块,用于当所述定时器比较通道开始中断处理,获取对应的中断信号并根据所述中断信号更新所述编码器数据;
判断模块,用于利用所述编码器数据判断所述步进电机的运行状态;
检测模块,用于当所述步进电机运行正常,对所述步进电机进行失步和/或堵转检测;
处理模块,用于当发生失步和/或堵转,响应故障消除操作直至控制所述步进电机运行至目标位置。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使所述计算机执行如权利要求1所述的定时中断控制方法,或者如权利要求6所述的多步进电机同步控制方法。
10.一种电子设备,其特征在于,包括:存储器和处理器,所述存储器和所述处理器之间互相通信连接,所述存储器存储有计算机指令,所述处理器通过执行所述计算机指令,从而执行如权利要求1所述的定时中断控制方法,或者如权利要求6所述的多步进电机同步控制方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210424384.4A CN115001325B (zh) | 2022-04-20 | 2022-04-20 | 一种定时中断控制方法和多步进电机同步控制系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210424384.4A CN115001325B (zh) | 2022-04-20 | 2022-04-20 | 一种定时中断控制方法和多步进电机同步控制系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115001325A CN115001325A (zh) | 2022-09-02 |
CN115001325B true CN115001325B (zh) | 2023-03-24 |
Family
ID=83025957
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210424384.4A Active CN115001325B (zh) | 2022-04-20 | 2022-04-20 | 一种定时中断控制方法和多步进电机同步控制系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115001325B (zh) |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3438612B2 (ja) * | 1998-10-13 | 2003-08-18 | 富士ゼロックス株式会社 | ステッピングモ−タの制御装置 |
CN2617079Y (zh) * | 2003-05-01 | 2004-05-19 | 何伟斌 | 步进电机控制器 |
CN104702251B (zh) * | 2014-07-24 | 2017-04-19 | 北京航空航天大学 | 一种基于定时器的pwm波生成方法 |
CN106341063B (zh) * | 2016-09-09 | 2018-09-21 | 奇瑞汽车股份有限公司 | 步进电机加减速控制方法 |
CN107703819A (zh) * | 2017-10-31 | 2018-02-16 | 北京科技大学 | 一种单片机 |
JP7182993B2 (ja) * | 2018-10-23 | 2022-12-05 | 株式会社東芝 | エンコーダシステム |
CN112448627A (zh) * | 2019-08-30 | 2021-03-05 | 深圳市帝迈生物技术有限公司 | 一种多步进电机控制器、方法及多步进电机系统 |
-
2022
- 2022-04-20 CN CN202210424384.4A patent/CN115001325B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN115001325A (zh) | 2022-09-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8244423B2 (en) | Vehicle electronic control system, vehicle electronic control unit, and vehicle control synchronization method | |
CN202094830U (zh) | 多轴同步伺服驱动系统 | |
US10606225B2 (en) | Motor drive system, motor control system, and self-propelled robot | |
CN115001325B (zh) | 一种定时中断控制方法和多步进电机同步控制系统及方法 | |
JP2020518224A (ja) | 制御システム及び制御方法 | |
US9880525B2 (en) | Positioning apparatus and PLC system using same | |
CN114679249B (zh) | 一种EtherCAT通讯同步方法及装置 | |
US8375238B2 (en) | Memory system | |
CN116318508A (zh) | EtherCAT从站伺服同步的装置、方法、电子设备及存储介质 | |
CN115840402A (zh) | 一种双轴低压电机驱动器的控制时序优化方法及相关设备 | |
KR101481355B1 (ko) | 전압 동기화 방법 및 시스템 | |
CN113507244A (zh) | 一种电机的控制方法、装置及电子设备 | |
JP2014154043A (ja) | 電子制御装置、情報処理装置 | |
CN115102453A (zh) | 一种位置控制系统及方法 | |
CN103401495A (zh) | 利用单片机控制的步进电机系统及控制方法 | |
CN111092575B (zh) | 一种基于单片机控制步进电机的t型加减速控制方法 | |
CN108427606B (zh) | 一种调度运动控制器与伺服轴的连接和信息交换的时间片管理与控制装置 | |
EP1837727B1 (en) | Self-synchronous AC servo system for high-speed serial communication | |
CN112751520B (zh) | 计算机设备、存储介质、伺服电机的状态检测方法、装置和系统 | |
CN110262386B (zh) | 一种连续运转冷床的控制方法、系统以及计算机设备 | |
JP3791367B2 (ja) | エンジン制御装置 | |
JPH10301630A (ja) | 検出位置データ送信出力装置 | |
CN110601605A (zh) | 一种控制电机的方法、装置和系统 | |
CN108418477B (zh) | 电机的同步控制方法、电子设备以及具有存储功能的装置 | |
CN111293930B (zh) | 用于控制电机的方法和装置 |
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 |