一种多步进电机控制器、方法及多步进电机系统

文档序号:938406 发布日期:2021-03-05 浏览:25次 >En<

阅读说明:本技术 一种多步进电机控制器、方法及多步进电机系统 (Multi-stepping motor controller, method and multi-stepping motor system ) 是由 丁辉 于 2019-08-30 设计创作,主要内容包括:本发明提供一种多步进电机控制器,包括:主MCU,包括至少两个主通信接口;多个电机驱动芯片,每个所述电机驱动芯片与一步进电机连接;其中,每个所述主通信接口与至少两个所述电机驱动芯片连接;所述主MCU用于接收外部信号,生成相应步进电机的控制指令;相应步进电机的所述电机驱动芯片用于接收所述控制指令,以根据所述控制指令驱动相应步进电机进行相应操作。本发明还提供其方法及多步进电机系统。本发明实现了单个MCU控制多个步进电机,简化了控制框架,减少了MCU的逻辑资源,降低成本。(The invention provides a multi-stepping motor controller, comprising: the main MCU comprises at least two main communication interfaces; the motor driving chips are connected with a stepping motor; each main communication interface is connected with at least two motor driving chips; the main MCU is used for receiving external signals and generating control instructions of corresponding stepping motors; and the motor driving chip of the corresponding stepping motor is used for receiving the control instruction so as to drive the corresponding stepping motor to carry out corresponding operation according to the control instruction. The invention also provides a method and a multi-stepping motor system thereof. The invention realizes that a single MCU controls a plurality of stepping motors, simplifies the control framework, reduces the logic resources of the MCU and lowers the cost.)

一种多步进电机控制器、方法及多步进电机系统

技术领域

本发明的所公开实施例涉及步进电机技术领域,且更具体而言,涉及一种多步进电机控制器、方法及多步进电机系统。

背景技术

传统的电机驱动电路中,每个电机的驱动需要独立的一个定时器和多个IO端口,当存在多个电机时,则需要使用具有更多IO端口的微控制器才能实现对多个电机的驱动,因此,对微控制器的IO端口资源的要求较苛刻,成本相对较高。

另外,传统的多步进电机驱动电路中,每个步进电机的加减速驱动控制的架构也较为复杂,一般采用MCU/ARM和FPGA来控制多个电机,成本相对较高,由于需要通过MCU与FPGA定制相关协议从而实现MCU来调度电机控制,增大开发资源。

发明内容

根据本发明的实施例,本发明提出多步进电机控制器、方法及多步进电机系统,以解决上述问题。

根据本发明的第一方面,公开一种实例性的多步进电机控制器,包括:主MCU,包括至少两个主通信接口;多个电机驱动芯片,每个所述电机驱动芯片与一步进电机连接;其中,每个所述主通信接口与至少两个所述电机驱动芯片连接;所述主MCU用于接收外部信号,生成相应步进电机的控制指令;相应步进电机的所述电机驱动芯片用于接收所述控制指令,以根据所述控制指令驱动相应步进电机进行相应操作。

在一些实施例中,所述至少两个主通信接口包括六个主通信接口。

在一些实施例中,每个所述通信接口与六个所述电机驱动芯片连接。

在一些实施例中,所述电机驱动芯片包括:从通信接口,与所述主MCU的所述主通信接口连接;子MCU,与所述从通信接口连接,用于根据相应步进电机的控制指令,生成脉冲信号、方向控制信号和/或使能控制信号;驱动桥电路,与所述子MCU连接,用于根据所述脉冲信号控制相应步进电机的转动速度和/或根据所述方向控制信号控制相应步进电机的转动方向,或根据所述使能控制信号控制相应步进电机的启动或停止运行。

根据本发明的第二方面,公开一种实例性的多步进电机系统,包括:多个步进电机;多个光耦,与所述多个步进电机一一对应,每个所述光耦用于表征相应步进电机的位置;电机控制器,包括:主MCU,包括至少两个主通信接口;多个电机驱动芯片,每个所述电机驱动芯片与一步进电机连接;其中,每个所述主通信接口与至少两个所述电机驱动芯片连接;所述主MCU用于接收根据所述光耦所表征的相应步进电机的位置而生成的触发信号,生成相应步进电机的控制指令;相应步进电机的所述电机驱动芯片用于接收所述控制指令,以根据所述控制指令驱动相应步进电机进行相应操作。

在一些实施例中,所述至少两个主通信接口包括六个主通信接口。

在一些实施例中,每个所述通信接口与六个所述电机驱动芯片连接。

在一些实施例中,所述电机驱动芯片包括:从通信接口,与所述主MCU的所述主通信接口连接;子MCU,与所述从通信接口连接,用于根据相应步进电机的控制指令,生成脉冲信号、方向控制信号和/或使能控制信号;驱动桥电路,与所述子MCU连接,用于根据所述脉冲信号控制相应步进电机的转动速度和/或根据所述方向控制信号控制相应步进电机的转动方向,或根据所述使能控制信号控制相应步进电机的启动或停止运行。

根据本发明的第三方面,公开一种实例性的多步进电机控制方法,应用于多步进电机控制器,其中所述多步进电机控制器包括:主MCU,包括至少两个主通信接口;多个电机驱动芯片,每个所述电机驱动芯片与一步进电机连接;其中每个所述主通信接口与至少两个所述电机驱动芯片连接;所述方法包括:接收外部信号,生成相应步进电机的控制指令;以及根据所述控制指令驱动相应步进电机进行相应操作。

在一些实施例中,所述控制指令是根据相应光耦所表征的相应步进电机的位置而生成的;根据所述控制指令驱动相应步进电机进行相应操作,包括:根据所述控制指令,生成脉冲信号、方向控制信号和/或使能控制信号;以及根据所述脉冲信号控制相应步进电机的转动速度,和/或根据所述方向控制信号控制相应步进电机的转动方向,或根据所述使能控制信号控制相应步进电机的启动或停止运行。

本发明的有益效果有:通过每个所述主通信接口与至少两个所述电机驱动芯片连接,实现主MCU控制多个步进电机,简化控制框架,减少主MCU的逻辑资源,降低成本。

附图说明

图1是本发明实施例的一种多步进电机控制器的结构示意图。

图2是本发明实施例的一种电机驱动芯片的结构示意图。

图3是本发明实施例的另一种电机驱动芯片的结构示意图。

图4是本发明实施例的一种多步进电机系统的结构示意图。

图5是本发明实施例的一种多步进电机控制方法的流程图。

具体实施方式

为使本领域的技术人员更好地理解本发明的技术方案,下面结合附图和具体实施方式对本发明的技术方案做进一步详细描述。

如图1所示,为本发明实施例的一种多步进电机控制器100的结构示意图。该多步进电机控制器100包括主MCU 101和多个电机驱动芯片(1,2…N)。主MCU 101包括至少两个主通信接口(1,2…M),每个电机驱动芯片与一步进电机连接。其中,每个主通信接口与至少两个电机驱动芯片连接,例如,如图1所示,主通信接口的数量为N,每个主通信接口与M个电机驱动芯片连接,N和M均为大于2的整数。

主MCU 101用于接收外部信号,生成相应步进电机的控制指令。相应步进电机的电机驱动芯片用于接收控制指令,以根据控制指令驱动相应步进电机进行相应操作。

需要注意的是,主MCU 101接收外部信号时,主MCU 101还需控制对多个电机驱动芯片(1,2…N)进行选择,以选择相应的电机驱动芯片,例如,电机驱动芯片2,从而驱动相应的步进电机进行操作。若外部信号表示需驱动某个步进电机,主MCU 101需要先控制选择该步进电机所对应的电机驱动芯片,例如,电机驱动芯片2。若外部信号表示需驱动两个步进电机,主MCU 101需要先控制选择这两个步进电机所对应的电机驱动芯片,例如,电机驱动芯片1和2。在一些实施例中,可以通过信号驱动芯片实现控制对多个电机驱动芯片进行选择,例如,当信号驱动芯片输出到某个电机驱动芯片的选择信号为低电平时,表示该电机驱动芯片被选择,进而驱动该电机驱动芯片所对应的步进电机进行操作。在一些实施例中,可以通过串并转换电路实现对多个电机驱动芯片进行选择,例如,选择其中的两个电机驱动芯片,进而驱动这两个电机驱动芯片所对应的步进电机进行操作。在本发明中,对多个电机驱动芯片的选择不作限定,其他多个电机驱动芯片的选择方式也均属于本发明。

本实施例中,通过每个主通信接口与至少两个电机驱动芯片连接,实现主MCU 101控制多个步进电机,简化控制框架,减少主MCU101的逻辑资源,降低成本。

在一些实施例中,至少两个主通信接口包括六个主通信接口,也就是说,如图1所示,N等于6。

在一些实施例中,每个通信接口与六个电机驱动芯片连接。也就是说,如图1所示,M等于6。

在一些实施例中,当N等于6,且M等于6时,主MCU 101可以控制36个电机驱动芯片,大大减少主MCU 101的逻辑资源,方便拓展驱动控制。

主通信接口为串行接口,在一些实施例中,主通信接口可以为采用SPI(SerialPeripheral Interface,串行外设接口)协议的接口,其称为SPI接口。在其他实施例中,主通信接口为采用UART(Universal Asynchronous Receiver/Transmitter)协议或I2C协议的接口。

在一些实施例中,电机驱动芯片可以采用分立的独立模块来实现。下面以电机驱动芯片1为例进行说明,具体地,如图2所示,电机驱动芯片1包括从通信接口11、子MCU 12和驱动桥电路13。

从通信接口11与主MCU 101的主通信接口连接,用于接收主MCU 101所生成的相应步进电机的控制指令。

子MCU 12与从通信接口11连接,用于根据相应步进电机的控制指令,生成脉冲信号、方向控制信号和/或使能控制信号。

驱动桥电路13与子MCU 12连接,用于根据脉冲信号控制相应步进电机的转动速度和/或根据方向控制信号控制相应步进电机的转动方向,或根据使能控制信号控制相应步进电机的启动或停止运行。

需要说明的是,从通信接口11与主通信接口(1,2…或M)连接,即从通信接口11与主通信接口(1,2…或M)采用相同的接口协议。例如,在主通信接口(1,2…或M)为SPI接口时,从通信接口11也为SPI接口。

在一些实施例中,电机驱动芯片可以为集成模块。下面以电机驱动芯片1为例进行说明,具体地,如图3所示,电机驱动芯片1包括从通信接口21、运动控制器22、可编程步进序列器23和驱动器24。

从通信接口21与主MCU 101的主通信接口连接,用于接收主MCU 101所生成的相应步进电机的控制指令,即通过从通信接口21与主MCU 101进行通信控制。

运动控制器22与从通信接口21连接,用于接收主MCU 101所生成的相应步进电机的控制指令。运动控制器22还通过与参考切换处理电路25连接,接收参考切换信号。运动控制器22根据主MCU 101所生成的相应步进电机的控制指令和参考切换信号,输出相应的电压信号。其中,运动控制器22包括线性6点RAMP(比例阀斜坡)生成器,其将原阶梯式电压进行缓慢变化,得到变化后的电压,原阶梯式电压与变化后的电压之间形成随时间上升或下降的斜坡。

可编程步进序列器23与运动控制器22连接,接收运动控制器22输出的电压信号,并与步进乘法器26连接,接收步进值信号和方向信号,可编程步进序列器23根据运动控制器22输出的电压信号和步进值信号和方向信号,输出相应的控制信号。

驱动器24与运动控制器22连接,用于根据控制信号,驱动相应的电机进行相应操作,例如,改变转动方向。

需要注意的是,电机驱动芯片1还可以包括UART线、时钟振荡器等,在此不进行详细说明。

如图4所示,为本发明实施例的一种多步进电机系统的结构示意图。该系统400包括多个步进电机(1,2…M*N)、多个光耦(1,2…M*N)和电机控制器401。多个光耦(1,2…M*N)与多个步进电机(1,2…M*N)一一对应,每个光耦(1,2…或M*N)用于表征相应步进电机的位置。

如图4所示,步进电机的数量和光耦的数量均为N*M。

如图4所示,电机控制器401包括主MCU 4011和多个电机驱动芯片。主MCU 4011包括至少两个主通信接口,每个电机驱动芯片与一步进电机连接。其中,每个主通信接口与至少两个电机驱动芯片连接,例如,如图4所示,主通信接口的数量为N,每个主通信接口与M个电机驱动芯片连接,N和M均为大于2的整数。

主MCU 4011用于接收根据光耦(1,2…或M*N)所表征的相应步进电机的位置而生成的触发信号,生成相应步进电机的控制指令。相应步进电机的电机驱动芯片用于接收控制指令,以根据控制指令驱动相应步进电机进行相应操作。

需要注意的是,主MCU 4011接收外部信号时,主MCU 4011还需控制对多个电机驱动芯片(1,2…N)进行选择,以选择相应的电机驱动芯片,例如,电机驱动芯片2,从而驱动相应的步进电机进行操作。若外部信号表示需驱动某个步进电机,主MCU 4011需要先控制选择该步进电机所对应的电机驱动芯片,例如,电机驱动芯片2。若外部信号表示需驱动两个步进电机,主MCU 4011需要先控制选择这两个步进电机所对应的电机驱动芯片,例如,电机驱动芯片1和2。在一些实施例中,可以通过信号驱动芯片实现控制对多个电机驱动芯片进行选择,例如,当信号驱动芯片输出到某个电机驱动芯片的选择信号为低电平时,表示该电机驱动芯片被选择,进而驱动该电机驱动芯片所对应的步进电机进行操作。在一些实施例中,可以通过串并转换电路实现对多个电机驱动芯片进行选择,例如,选择其中的两个电机驱动芯片,进而驱动这两个电机驱动芯片所对应的步进电机进行操作。在本发明中,对多个电机驱动芯片的选择不作限定,其他多个电机驱动芯片的选择方式也均属于本发明。

本实施例中,通过每个主通信接口与至少两个电机驱动芯片连接,实现主MCU4011控制多个步进电机,简化控制框架,减少主MCU 4011的逻辑资源,降低成本。

在一些实施例中,根据光耦(1,2…或M*N)所表征的相应步进电机的位置而生成的触发信号,生成相应步进电机的控制指令。具体地,光耦(1,2…或M*N)表征相应的步进电机的位置处于初始位置,相应地,控制指令表示控制相应的步进电机运行至初始位置,此时,相应操作包括控制相应的步进电机运行至初始位置。光耦(1,2…或M*N)表征相应的步进电机距离初始位置第一预设值,主MCU 4011生成触发信号,相应地,控制指令表示控制相应的步进电机加速至匀速运行和/或控制相应的步进电机减速运行,此时,相应操作包括控制相应的步进电机加速至匀速运行和/或控制相应的步进电机减速运行。光耦(1,2…或M*N)表征相应的步进电机距离初始位置第二预设值,主MCU 4011生成触发信号,相应地,控制指令表示控制相应的步进电机停止运行,此时,相应操作包括控制相应的步进电机停止运行。

在另一些实施例中,光耦(1,2…或M*N)可以用作光电开关,进而可以根据光耦(1,2…或M*N)的状态而生成的触发信号,生成相应步进电机的控制指令。具体地,光耦(1,2…或M*N)处于第一状态时,生成第一触发信号,此时,控制指令表示控制相应的步进电机运行至初始位置,相应操作包括控制相应的步进电机运行至初始位置。光耦(1,2…或M*N)处于第二状态时,生成第二触发信号,此时,控制指令表示控制相应的步进电机加速至匀速运行,相应操作包括控制相应的步进电机加速至匀速运行。光耦(1,2…或M*N)处于第三状态时,生成第三触发信号,此时,控制指令表示控制相应的步进电机减速运行,相应操作包括控制相应的步进电机减速运行。光耦(1,2…或M*N)处于第四状态时,生成第四触发信号,此时,控制指令表示控制相应的步进电机停止运行,相应操作包括控制相应的步进电机停止运行。

在一些实施例中,至少两个主通信接口包括六个主通信接口,也就是说,如图4所示,N等于6。

在一些实施例中,每个通信接口与六个电机驱动芯片连接。也就是说,如图4所示,M等于6。

在一些实施例中,当N等于6,且M等于6时,主MCU 4011可以控制36个电机驱动芯片,大大减少主MCU 4011的逻辑资源,方便拓展驱动控制。

在一些实施例中,电机驱动芯片可以采用分立的独立模块来实现。下面以电机驱动芯片1为例进行说明,具体地,如图2所示,电机驱动芯片1包括从通信接口11、子MCU 12和驱动桥电路13。

从通信接口11与主MCU 101的主通信接口连接,用于接收主MCU 101所生成的相应步进电机的控制指令。

子MCU 12与从通信接口11连接,用于根据相应步进电机的控制指令,生成脉冲信号、方向控制信号和/或使能控制信号。

驱动桥电路13与子MCU 12连接,用于根据脉冲信号控制相应步进电机的转动速度和/或根据方向控制信号控制相应步进电机的转动方向,或根据使能控制信号控制相应步进电机的启动或停止。

在一些实施例中,电机驱动芯片可以为集成模块。下面以电机驱动芯片1为例进行说明,具体地,如图3所示,电机驱动芯片1包括从通信接口21、运动控制器22、可编程步进序列器23和驱动器24。

从通信接口21与主MCU 101的主通信接口连接,用于接收主MCU 101所生成的相应步进电机的控制指令,即通过从通信接口21与主MCU 101进行通信控制。

运动控制器22与从通信接口21连接,用于接收主MCU 101所生成的相应步进电机的控制指令。运动控制器22还通过与参考切换处理电路25连接,接收参考切换信号。运动控制器22根据主MCU 101所生成的相应步进电机的控制指令和参考切换信号,输出相应的电压信号。其中,运动控制器22包括线性6点RAMP(比例阀斜坡)生成器,其将原阶梯式电压进行缓慢变化,得到变化后的电压,原阶梯式电压与变化后的电压之间形成随时间上升或下降的斜坡。

可编程步进序列器23与运动控制器22连接,接收运动控制器22输出的电压信号,并与步进乘法器26连接,接收步进值信号和方向信号,可编程步进序列器23根据运动控制器22输出的电压信号和步进值信号和方向信号,输出相应的控制信号。

驱动器24与运动控制器22连接,用于根据控制信号,驱动相应的电机进行相应操作,例如,改变转动方向。

需要注意的是,电机驱动芯片1还可以包括UART线、时钟振荡器等,在此不进行详细说明。

如图5所示,为本发明实施例的多步进电机控制方法的流程图。该多步进电机控制方法应用于上述图1中的多步进电机控制器100或图4中的电机控制器401。关于多步进电机控制器100和电机控制器401详见上述实施例的说明,在此不再赘述。该方法包括:

步骤510:接收外部信号,生成相应步进电机的控制指令。

在一些实施例中,外部信号为根据光耦所表征的相应步进电机的位置而生成的触发信号,从而,控制指令是根据相应光耦所表征的相应步进电机的位置而生成的。

步骤520:根据控制指令驱动相应步进电机进行相应操作。

在一些实施例中,在步骤520中,先根据控制指令,生成脉冲信号、方向控制信号和/或使能控制信号,随后,根据脉冲信号控制相应步进电机的转动速度,和/或根据方向控制信号控制相应步进电机的转动方向,或根据使能控制信号控制相应步进电机的启动或停止。

所属领域的技术人员易知,可在保持本发明的教示内容的同时对装置及方法作出诸多修改及变动。因此,以上公开内容应被视为仅受随附权利要求书的范围的限制。

11页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种发电机控制方法及其系统

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!