CN115208250A - 一种基于对象的步进电机控制装置、方法及系统 - Google Patents
一种基于对象的步进电机控制装置、方法及系统 Download PDFInfo
- Publication number
- CN115208250A CN115208250A CN202210803449.6A CN202210803449A CN115208250A CN 115208250 A CN115208250 A CN 115208250A CN 202210803449 A CN202210803449 A CN 202210803449A CN 115208250 A CN115208250 A CN 115208250A
- Authority
- CN
- China
- Prior art keywords
- control
- function
- motor
- address
- target
- 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.)
- Granted
Links
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 of the kind having motors rotating step by step
-
- 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
-
- 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/36—Protection against faults, e.g. against overheating, 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 of the kind having motors rotating step by step
- H02P8/36—Protection against faults, e.g. against overheating, step-out; Indicating faults
- H02P8/38—Protection against faults, e.g. against overheating, step-out; Indicating faults the fault being step-out
Abstract
本发明提供了一种基于对象的步进电机控制装置、方法及系统,该装置包括:数据结构体构建单元,用于基于目标电机的数据需求,生成结构化数据,结构化数据中预定义有指向不同控制端口的地址指针;I/O接口控制单元,用于基于结构化数据中的地址指针进行映射,将地址指针赋值为目标类型控制接口的位带地址;控制函数构建单元,用于基于目标电机的操作需求增减对应的功能函数,基于功能函数对目标电机的运行数据进行调整,并基于功能函数、位带地址和调整后的运行数据对目标电机进行控制。本发明通过上述方案实现对硬件的控制,无需再自行编写控制流程,大大地提高了开发效率。
Description
技术领域
本发明涉及电机控制技术领域,具体涉及一种基于对象的步进电机控制装置、方法及系统。
背景技术
在工业自动化控制系统中,步进电机以其良好的性能,优越的经济性和简便的控制方式而得到广泛的使用。在众多的商业成品电机驱动模块中,使用最多的是STEP/DIR控制接口,即只需要给驱动模块提供方向和脉冲信号即可驱动电机运行。为了达到应用上对定位运行时间和效率的要求,电机驱动模块一般都由外部单片机来驱动,单片机分配两个I/O口分别连接至控制模块的STEP/DIR端口,再由单片机内部的加速、减速、失步检测等模块控制STEP/DIR这两个端口输出对应的控制脉冲。
一般来说,单片机内部的软件控制模块的架构基本上都是一样的,对于众多的应用场景,当设计人员重新设计一套硬件实现时,都需要重头编写这些软件模块,这显然降低了开发效率,甚至会延误整体工作进程。
发明内容
因此,本发明要解决的技术问题在于克服现有技术中当设计人员重新设计一套硬件实现时,都需要重头编写这些软件模块,导致降低开发效率,延误整体工作进程的缺陷,从而提供一种基于对象的步进电机控制装置、方法及系统。
第一方面,本发明提供了一种步进电机的软件控制装置,包括:
数据结构体构建单元,用于基于目标电机的数据需求,生成结构化数据,所述结构化数据中预定义有指向不同控制端口的地址指针;
I/O接口控制单元,用于基于所述结构化数据中的所述地址指针进行映射,将所述地址指针赋值为目标类型控制接口的位带地址;
控制函数构建单元,用于基于所述目标电机的操作需求增减对应的功能函数,基于所述功能函数对所述目标电机的运行数据进行调整,并基于所述功能函数、位带地址和调整后的运行数据对所述目标电机进行控制。
通过上述方案,通过将对外接口、控制函数都封装成控制对象,通过根据具体需求自由增减功能控制函数,即可控制电机,无需再在控制其他一个或多个电机时重新自行编写控制流程,大大地提高了开发效率。
结合第一方面,本发明第一方面的第一实施方式中,所述数据结构体包括以下至少其一:电机编号、电机名称、加减速控制参数、警告标识、I/O控制指针及控制函数指针。
上述实施方式中,通过实例化结构化数据,方便I/O接口控制单元进行映射,进而实现对目标电机的控制。
结合第一方面的第一实施方式,本发明第一方面的第二实施方式中,所述功能函数至少包括:初始化函数、加减速函数、停止函数,所述控制函数构建单元包括:
初始化函数控制模块,用于将所述数据结构体的I/O控制指针赋值为当前控制I/O的地址,将所述加减速控制参数进行初始化,并将所述数据结构体内的所述控制函数指针赋值为具体实现的地址;
加减速函数控制模块,用于按照直线或者S曲线加速法,控制所述目标类型控制接口的脉冲频率按照直线或者S曲线变化,以控制所述目标电机的加速或减速;
停止函数控制模块,用于控制切换所述目标电机的控制状态;或,将目标位置与当前位置进行比对,当比对结果超出预设误差范围时触发所述警告标识。
上述实施方式中,通过构建上述控制函数,在控制其他一个或多个目标电机时,无需再重复编写控制方法,只需要实例化数据结构体即可。
第二方面,本发明提供了一种基于对象的电机控制方法,包括:
基于目标电机的数据需求,生成结构化数据,所述结构化数据中预定义有指向不同控制端口的地址指针;
基于所述结构化数据中的所述地址指针进行映射,将所述地址指针赋值为目标类型控制接口的位带地址;
基于所述目标电机的操作需求增减对应的功能函数,基于所述功能函数对所述目标电机的运行数据进行调整,并基于所述功能函数、位带地址和调整后的运行数据对所述目标电机进行控制。
通过上述方案,通过将对外接口、控制函数都封装成控制对象,通过根据具体需求自由增减功能控制函数,即可控制电机,无需再在控制其他一个或多个电机时重新自行编写控制流程,大大地提高了开发效率。
结合第二方面,本发明第二方面的第一实施方式中,所述数据结构体包括以下至少其一:电机编号、电机名称、加减速控制参数、警告标识、I/O控制指针及控制函数指针。
上述实施方式中,通过实例化结构化数据,方便I/O接口控制单元进行映射,进而实现对目标电机的控制。
结合第二方面,本发明第二方面的第二实施方式中,所述功能函数至少包括:初始化函数、加减速函数、停止函数,所述基于所述功能函数对所述目标电机的运行数据进行调整,并基于所述位带地址、调整后的运行数据对所述目标电机进行控制,包括:
基于所述初始化函数将所述数据结构体的I/O控制指针赋值为当前控制I/O的地址,将所述加减速控制参数进行初始化,并将所述数据结构体内的所述控制函数指针赋值为具体实现的地址;或者,
基于所述加减速函数按照直线或者S曲线加速法,控制所述目标类型控制接口的脉冲频率按照直线或者S曲线变化,以控制所述目标电机的加速或减速;或者,
基于所述停止函数控制切换所述目标电机的控制状态;或者,
基于所述停止函数将目标位置与当前位置进行比对,当比对结果超出预设误差范围时触发所述警告标识。
上述实施方式中,通过构建上述控制函数,在控制多个目标电机时,无需再重复编写控制方法,只需要实例化数据结构体即可。
第三方面,本发明提供了一种基于对象的电机控制系统,包括:电源、单片机及驱动器,其中,
所述驱动器用于驱动目标电机;所述单片机配置有至少两个I/O接口,分别连接至所述驱动器的目标类型控制端口;所述电源分别为所述单片机及驱动器供电;
所述单片机用于执行如上述第二方面或第二方面中任一实施方式所述的基于对象的电机控制方法,以控制所述驱动器驱动所述目标电机。
上述方案中,通过提供出一种通用的电机控制硬件系统框架,可以根据实际需求选用不同的硬件构成。
第四方面,本发明提供了一种电子设备,包括:
存储器和处理器,所述存储器和所述处理器之间互相通信连接,所述存储器中存储有计算机指令,所述处理器通过执行所述计算机指令,从而执行上述第二方面或第二方面中任一实施方式所述的基于对象的电机控制方法。
第五方面,本发明提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使所述计算机执行上述第二方面或第二方面中任一实施方式所述的基于对象的电机控制方法。
可以得知的,上述提供的电子设备或计算机可读存储介质等均用于执行上文所提供所对应的方法,且其所能达到的有益效果可参考方法对应的装置中的有益效果,此处不再赘述。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中步进电机的软件控制装置的结构示意图;
图2为本发明实施例中步进电机的软件控制系统的结构示意图;
图3为本发明实施例中步进电机的软件控制装置及控制方法的数据结构示意图;
图4为本发明实施例中步进电机的软件控制方法的流程框图;
图5为本发明实施例中电子设备的结构示意图。
具体实施方式
下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
另外,下文所描述的本发明不同实施方式中所涉及的技术特征只要彼此之间未构成冲突就可以相互结合。
本实施例提供一种步进电机的软件控制装置,如图1所示,包括:
数据结构体构建单元11,用于基于目标电机的数据需求,生成结构化数据,所述结构化数据中预定义有指向不同控制端口的地址指针;
具体地,数据需求是指区分电机对象、控制电机加减速等等,数据结构体可以是按照C语言的结构化数据将该数据需求所提取的数据封装为对象,该指向不同控制端口的地址指针用于实现对不同电机的具体控制以及指向控制电机不同阶段的功能函数。
I/O接口控制单元12,用于基于所述结构化数据中的所述地址指针进行映射,将所述地址指针赋值为目标类型控制接口的位带地址;
具体地,本实施例中,控制接口主要是指DIR和STEP两类端口,所述位带地址就是单片机中配置的物理内存地址,由于单片机对外的I/O口一般都是分组的,一组端口一般包含了16个端口,对端口的电平控制就是对该组端口的输出寄存器进行赋值,所以如果需要对单个端口进行控制,就需要将该组寄存器的数据全部读回,然后将对应端口位修改后再写入输出寄存器。本实施例中,通过使用位带,将输出寄存器的每一个比特位都映射到一个32位的物理地址上,再对该地址进行读写,就实现了对一个比特位的读写操作。采用位带的方式实现I/O接口,初始化时将数据结构体中定义的地址指针赋值为DIR和STEP控制端口的位带地址。
控制函数构建单元13,用于基于所述目标电机的操作需求增减对应的功能函数,基于所述功能函数对所述目标电机的运行数据进行调整,并基于所述功能函数、位带地址和调整后的运行数据对所述目标电机进行控制。
具体地,例如本实施例中,步进电机新增了温度传感器,需要在当前的数据结构体内增加温度数据,并添加温度读取处理函数,通过增加对应的功能函数,根据该位带地址及增加了温度数据后的整体运行数据,来对步进电机进行控制。
上述实施例中,通过将步进电机控制的对外接口、控制函数都封装成控制对象,每个对象都可以像高级语言那样实例化,然后初始化各类参数,即可完成电机控制功能,当需要增减相应的数据时,仅增减对应的功能函数,调用相应接口即可控制,无需再自行编写控制流程,大大地提高了开发效率。
在本发明的一个具体实施例中,如图3所示,所述数据结构体包括以下至少其一:电机编号、电机名称、加减速控制参数、警告标识、I/O控制指针及控制函数指针。
具体地,所述电机编号,用于区分不同的电机对象,从0开始递增的自然数,在实例化时赋予不同的数值,例如:在单片机中定义为一个字节的无符号数:uint8_t motorNum。
所述电机名称,用于直观的显示对应的电机属性,在数据结构体实例化时依据使用场景取名,例如:在单片机中定义为char name[100]。
所述加减速控制参数,分为直线加减速和S曲线加减速,直线加减速包含有电机状态、当前位置、目标位置、当前速度、目标速度、加速度、加速步数计数;若是选择S曲线加速,还包括有加加速参数;这些参数在单片机中定义为32位带符号整数,具体加减速算法在加减速控制函数部分实现。
所述警告标识,用于反应当前电机状态信息,电机状态包括失步告警、堵转报警、限位信号告警及驱动器异常告警,告警标识为位域数据,定义为一个字节的数据,每个告警占用该字节一位。
所述I/O控制指针,用于指向不同的控制端口,从而实现对不同的电机的具体控制,一个实施例为,在单片机系统中,对每一个I/O口都有对应的控制地址,将该指针赋值为端口的控制地址,Moto1.dir=(volatile unsigned int*)(BITBAND(GPIOA_ODR_Addr,1))。
所述控制函数指针,是本发明方案的主要功能实现,提供通用的实现方法以适用于不同的应用平台,包括有初始化函数、加速函数、减速函数及停止函数。分别指向控制电机不同阶段的实现函数。
上述实施例中,通过实例化结构化数据,方便I/O接口控制单元12基于结构化数据及其中的地址指针进行映射,将地址指针赋值为目标类型控制接口的位带地址,进而实现步进电机的控制。
在本发明的一个具体实施例中,如图3所示,所述功能函数至少包括:初始化函数、加减速函数、停止函数,所述控制函数构建单元13包括:
初始化函数控制模块,用于将所述数据结构体的I/O控制指针赋值为当前控制I/O的地址,将所述加减速控制参数进行初始化,并将所述数据结构体内的所述控制函数指针赋值为具体实现的地址;
加减速函数控制模块,用于按照直线或者S曲线加速法,控制所述目标类型控制接口的脉冲频率按照直线或者S曲线变化,以控制所述目标电机的加速或减速;
停止函数控制模块,用于控制切换所述目标电机的控制状态;或,将目标位置与当前位置进行比对,当比对结果超出预设误差范围时触发所述警告标识。
具体地,所述初始化函数控制模块是对I/O接口控制单元12的控制接口、电机的加减速等进行初始化赋值;在通过停止函数控制目标电机停止时,将目标电机状态由运行状态切换为停止状态,当电机当前位置与目标位置超出误差范围时,触发失步告警的警告标识。
上述实施例中,通过构建上述这些功能函数,可以实现对电机数据(数据结构体)进行初始化赋值、控制电机的加/减速功能以及在结束控制电机前将电机状态和参数等归零(设为初始状态)等控制功能;当需控制其他一个或多个电机时,无需再次重复编写控制流程(控制函数),只需要实例化对象(数据结构体),在控制函数的基础上即可完成对电机功能的控制。
本实施例提供一种基于对象的电机控制方法,如图4所示,包括:
S101:基于目标电机的数据需求,生成结构化数据,所述结构化数据中预定义有指向不同控制端口的地址指针;具体过程可参见上述实施例中数据结构体构建单元1所实现的功能的描述,在此不再赘述;
S102:基于所述结构化数据中的所述地址指针进行映射,将所述地址指针赋值为目标类型控制接口的位带地址;
S103:基于所述目标电机的操作需求增减对应的功能函数,基于所述功能函数对所述目标电机的运行数据进行调整,并基于所述功能函数、位带地址和调整后的运行数据对所述目标电机进行控制。
上述实施例中,通过将步进电机控制的对外接口、控制函数都封装成控制对象,每个对象都可以像高级语言那样实例化,然后初始化各类参数,即可完成电机控制功能,当需要增减相应的数据时,仅增减对应的功能函数,调用相应接口即可控制,无需再自行编写控制流程,大大地提高了开发效率。
在本发明的一个具体实施例中,所述数据结构体包括以下至少其一:电机编号、电机名称、加减速控制参数、警告标识、I/O控制指针及控制函数指针。
上述实施例中,通过实例化结构化数据,方便I/O接口控制单元12基于结构化数据及其中的地址指针进行映射,将地址指针赋值为目标类型控制接口的位带地址,进而实现步进电机的控制。
在本发明的一个具体实施例中,所述功能函数至少包括:初始化函数、加减速函数、停止函数,所述基于所述功能函数对所述目标电机的运行数据进行调整,并基于所述位带地址、调整后的运行数据对所述目标电机进行控制,包括:
基于所述初始化函数将所述数据结构体的I/O控制指针赋值为当前控制I/O的地址,将所述加减速控制参数进行初始化,并将所述数据结构体内的所述控制函数指针赋值为具体实现的地址;或者,
基于所述加减速函数按照直线或者S曲线加速法,控制所述目标类型控制接口的脉冲频率按照直线或者S曲线变化,以控制所述目标电机的加速或减速;或者,
基于所述停止函数控制切换所述目标电机的控制状态;或者,
基于所述停止函数将目标位置与当前位置进行比对,当比对结果超出预设误差范围时触发所述警告标识。
通过上述实施例,模块内部的加速、减速算法可以自由进行配置,可以根据实际需求和单片机处理能力分别选用直线或者S曲线的加减速函数,在控制多个步进电机时,无需再重复编写控制方法,只需要实例化数据结构体即可。
本实施例提供一种基于对象的电机控制系统,如图2所示,包括:电源21、单片机22及驱动器23,其中,
所述驱动器23用于驱动目标电机;所述单片机22配置有至少两个I/O接口,分别连接至所述驱动器23的目标类型控制端口;所述电源21分别为所述单片机22及驱动器23供电;
所述单片机22用于执行上述实施例所述的基于对象的电机控制方法,以控制所述驱动器23驱动所述目标电机。
具体地,为所述单片机22等逻辑电路提供的电源21为5V的低压电源21,为驱动器23供电的是外部供电的24V动力电源21,该24V动力电源21是通过DCDC电压转换器生成5V的低压电源21供给单片机22使用。所述单片机22对外提供至少两个I/O口,分别连接至驱动器23的STEP和DIR端口,实现对驱动器23的控制和算法的运行,如果需要控制多个电机,则相应增加对外控制的I/O端口。所述驱动器23采用驱动模块或者驱动芯片,对单片机22的接口为STEP/DIR。如果需要控制多个电机,则相应增加驱动芯片。
上述实施例中,本发明提供出一种通用的电机控制硬件系统框架,可以根据实际需求选用不同的硬件构成,在不同的应用实施中根据电源21供给、驱动能力需求、驱动电机数量等条件选用不同硬件实现。
综上所述,本发明通过基于上述通用控制系统,将电机控制对象实例化即可完成控制,且无需重复编写控制方法(控制函数),通过将面向对象的变成方法应用于工业化电机的控制系统中,精准且成熟的控制方案可以得到快速的应用,经过检验的软件架构可以减少出问题的概率,具备扩展性强等特点。
本实施例提供了一种电子设备,如图5所示,包括:
处理器71和存储器72,所述存储器和所述处理器之间互相通信连接,所述存储器中存储有计算机指令,所述处理器通过执行所述计算机指令,从而执行上述实施例所述的基于对象的电机控制方法。
所述处理器71,可以为中央处理器(CentralProcessingUnit,CPU),还可以为其他通用处理器、数字信号处理器(DigitalSignalProcessor,DSP)、专用集成电路(ApplicationSpecificIntegratedCircuit,ASIC)、现场可编程门阵列(Field-ProgrammableGateArray,FPGA)或者其他可15编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等芯片,或者上述各类芯片的组合。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器72,可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据跟踪轨迹重连装置的使用所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施例中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至跟踪轨迹重连装置。
本实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使所述计算机执行上述实施例所述的基于对象的电机控制方法的步骤。其中,存储介质可为磁碟、光盘、只读存储记忆体(Read-OnlyMemory,ROM)、随机存储记忆体(RandomAccessMemory,RAM)、快闪存储器(FlashMemory)、硬盘(HardDiskDrive,缩写:HDD)或固态硬盘(Solid-StateDrive,SSD)等;存储介质还可以包括上述种类的存储器的组合。
可以得知的,上述提供的电子设备或计算机可读存储介质等均用于执行上文所提供所对应的电机控制方法;因此,电子设备或计算机可读存储介质其所能达到的有益效果可参考电机控制方法所对应的电机控制装置中的有益效果,此处不再赘述。
需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,还可以是两个元件内部的连通,可以是无线连接,也可以是有线连接。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
还需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。
在本说明书的描述中,参考术语“本实施例”、“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
显然,上述实施例仅仅是为清楚地说明所作的举例,而并非对实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。而由此所引伸出的显而易见的变化或变动仍处于本发明创造的保护范围之中。
Claims (9)
1.一种步进电机的软件控制装置,其特征在于,包括:
数据结构体构建单元,用于基于目标电机的数据需求,生成结构化数据,所述结构化数据中预定义有指向不同控制端口的地址指针;
I/O接口控制单元,用于基于所述结构化数据中的所述地址指针进行映射,将所述地址指针赋值为目标类型控制接口的位带地址;
控制函数构建单元,用于基于所述目标电机的操作需求增减对应的功能函数,基于所述功能函数对所述目标电机的运行数据进行调整,并基于所述功能函数、位带地址和调整后的运行数据对所述目标电机进行控制。
2.根据权利要求1所述的基于对象的电机控制装置,其特征在于,所述数据结构体包括以下至少其一:电机编号、电机名称、加减速控制参数、警告标识、I/O控制指针及控制函数指针。
3.根据权利要求2所述的基于对象的电机控制装置,其特征在于,所述功能函数至少包括:初始化函数、加减速函数、停止函数,
所述控制函数构建单元包括:
初始化函数控制模块,用于将所述数据结构体的I/O控制指针赋值为当前控制I/O的地址,将所述加减速控制参数进行初始化,并将所述数据结构体内的所述控制函数指针赋值为具体实现的地址;
加减速函数控制模块,用于按照直线或者S曲线加速法,控制所述目标类型控制接口的脉冲频率按照直线或者S曲线变化,以控制所述目标电机的加速或减速;
停止函数控制模块,用于控制切换所述目标电机的控制状态;或,将目标位置与当前位置进行比对,当比对结果超出预设误差范围时触发所述警告标识。
4.一种基于对象的电机控制方法,其特征在于,包括:
基于目标电机的数据需求,生成结构化数据,所述结构化数据中预定义有指向不同控制端口的地址指针;
基于所述结构化数据中的所述地址指针进行映射,将所述地址指针赋值为目标类型控制接口的位带地址;
基于所述目标电机的操作需求增减对应的功能函数,基于所述功能函数对所述目标电机的运行数据进行调整,并基于所述功能函数、位带地址和调整后的运行数据对所述目标电机进行控制。
5.根据权利要求4所述的基于对象的电机控制方法,其特征在于,所述数据结构体包括以下至少其一:电机编号、电机名称、加减速控制参数、警告标识、I/O控制指针及控制函数指针。
6.根据权利要求4所述的基于对象的电机控制方法,其特征在于,所述功能函数至少包括:初始化函数、加减速函数、停止函数,
所述基于所述功能函数对所述目标电机的运行数据进行调整,并基于所述位带地址、调整后的运行数据对所述目标电机进行控制,包括:
基于所述初始化函数将所述数据结构体的I/O控制指针赋值为当前控制I/O的地址,将所述加减速控制参数进行初始化,并将所述数据结构体内的所述控制函数指针赋值为具体实现的地址;或者,
基于所述加减速函数按照直线或者S曲线加速法,控制所述目标类型控制接口的脉冲频率按照直线或者S曲线变化,以控制所述目标电机的加速或减速;或者,
基于所述停止函数控制切换所述目标电机的控制状态;或者,
基于所述停止函数将目标位置与当前位置进行比对,当比对结果超出预设误差范围时触发所述警告标识。
7.一种基于对象的电机控制系统,其特征在于,包括:电源、单片机及驱动器,其中,
所述驱动器用于驱动目标电机;所述单片机配置有至少两个I/O接口,分别连接至所述驱动器的目标类型控制端口;所述电源分别为所述单片机及驱动器供电;
所述单片机用于执行如权利要求4-6中任一项所述的基于对象的电机控制方法,以控制所述驱动器驱动所述目标电机。
8.一种电子设备,其特征在于,包括:
存储器和处理器,所述存储器和所述处理器之间互相通信连接,所述存储器中存储有计算机指令,所述处理器通过执行所述计算机指令,从而执行权利要求4-6中任一项所述的基于对象的电机控制方法。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使所述计算机执行权利要求4-6中任一项所述的基于对象的电机控制方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210803449.6A CN115208250B (zh) | 2022-07-07 | 2022-07-07 | 一种基于对象的步进电机控制装置、方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210803449.6A CN115208250B (zh) | 2022-07-07 | 2022-07-07 | 一种基于对象的步进电机控制装置、方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115208250A true CN115208250A (zh) | 2022-10-18 |
CN115208250B CN115208250B (zh) | 2023-03-24 |
Family
ID=83579808
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210803449.6A Active CN115208250B (zh) | 2022-07-07 | 2022-07-07 | 一种基于对象的步进电机控制装置、方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115208250B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0077094A1 (en) * | 1981-10-08 | 1983-04-20 | Océ-Nederland B.V. | Device for controlling a stepping motor |
JPH11215471A (ja) * | 1998-01-21 | 1999-08-06 | Toshiba Corp | 情報記録媒体及び情報記録媒体処理装置 |
EP0992904A2 (en) * | 1998-10-06 | 2000-04-12 | Texas Instruments Inc. | Cache coherence during emulation |
US20070174360A1 (en) * | 2006-01-11 | 2007-07-26 | Yuichi Yagawa | Storage system embedding database |
US20120254552A1 (en) * | 2011-03-30 | 2012-10-04 | Arm Limited | Memory access remapping |
CN103631712A (zh) * | 2013-10-23 | 2014-03-12 | 北京信息控制研究所 | 一种基于内存管理的模式化软件关键行为跟踪方法 |
CN106844310A (zh) * | 2017-01-22 | 2017-06-13 | 南京南瑞继保电气有限公司 | 一种结构化文本代码处理方法和系统 |
CN107769643A (zh) * | 2017-11-30 | 2018-03-06 | 深圳市青蓝自动化科技有限公司 | 一种步进电机控制方法、装置、步进电机及存储介质 |
CN111092575A (zh) * | 2019-12-12 | 2020-05-01 | 珠海博杰电子股份有限公司 | 一种基于单片机控制步进电机的t型加减速控制方法 |
-
2022
- 2022-07-07 CN CN202210803449.6A patent/CN115208250B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0077094A1 (en) * | 1981-10-08 | 1983-04-20 | Océ-Nederland B.V. | Device for controlling a stepping motor |
JPH11215471A (ja) * | 1998-01-21 | 1999-08-06 | Toshiba Corp | 情報記録媒体及び情報記録媒体処理装置 |
EP0992904A2 (en) * | 1998-10-06 | 2000-04-12 | Texas Instruments Inc. | Cache coherence during emulation |
US20070174360A1 (en) * | 2006-01-11 | 2007-07-26 | Yuichi Yagawa | Storage system embedding database |
US20120254552A1 (en) * | 2011-03-30 | 2012-10-04 | Arm Limited | Memory access remapping |
CN103631712A (zh) * | 2013-10-23 | 2014-03-12 | 北京信息控制研究所 | 一种基于内存管理的模式化软件关键行为跟踪方法 |
CN106844310A (zh) * | 2017-01-22 | 2017-06-13 | 南京南瑞继保电气有限公司 | 一种结构化文本代码处理方法和系统 |
CN107769643A (zh) * | 2017-11-30 | 2018-03-06 | 深圳市青蓝自动化科技有限公司 | 一种步进电机控制方法、装置、步进电机及存储介质 |
CN111092575A (zh) * | 2019-12-12 | 2020-05-01 | 珠海博杰电子股份有限公司 | 一种基于单片机控制步进电机的t型加减速控制方法 |
Non-Patent Citations (1)
Title |
---|
杨先春等: "CAD/DFD信息映射数学模型及其实现方法", 《机械设计》 * |
Also Published As
Publication number | Publication date |
---|---|
CN115208250B (zh) | 2023-03-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100858756B1 (ko) | 저장 디바이스 및 호스트 장치 | |
WO2012100145A1 (en) | Method and apparatus for memory management | |
CN104375972A (zh) | 用于可配置数学硬件加速器的微处理器集成配置控制器 | |
JPH0814785B2 (ja) | 表示制御装置 | |
EP4066095A1 (en) | Reduction of page migration between different types of memory | |
US20040193864A1 (en) | System and method for actively booting a computer system | |
EP1984827B1 (en) | An electronic device having a memory element and method of operation therefor | |
CN115208250B (zh) | 一种基于对象的步进电机控制装置、方法及系统 | |
US5606715A (en) | Flexible reset configuration of a data processing system and method therefor | |
US6684290B2 (en) | Memory rewriting apparatus and method for memory mapping rewriting program to same address space | |
US6925542B2 (en) | Memory management in a data processing system | |
KR100960095B1 (ko) | 마이크로컨트롤러 명령어 셋트 | |
JP2003256266A (ja) | メモリ装置 | |
CN1567367A (zh) | 智能卡的存储器结构及其控制方法 | |
US6898680B2 (en) | Minimization of overhead of non-volatile memory operation | |
JP2003015946A (ja) | メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム及びフラッシュメモリの制御方法 | |
WO2018198218A1 (ja) | ステッピングモータ駆動装置及びステッピングモータ駆動プログラム | |
KR100377165B1 (ko) | 억세스 시간의 선택적 조정 기능을 갖는 램 억세스 장치 | |
US7152145B2 (en) | Method for optimizing system performance by transferring a stack in a real time operating system | |
KR100897857B1 (ko) | 마이크로컨트롤러 명령어 셋트 | |
JPS5821300B2 (ja) | デンシケイサンキ ノ メモリアドレスシテイホウシキ | |
CN116880905A (zh) | 一种数据存储方法、装置、存储介质及电子设备 | |
KR100353814B1 (ko) | 확장된 램 억세스 명령어를 억세스하는 시간을 향상시킨램 억세스 장치 | |
JP3755653B2 (ja) | 接点入出力プログラムコントローラ | |
CN113806288A (zh) | 适用于SoC内核之间的数据交互方法、装置及电子设备 |
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 |