一种远程分离的电机驱动及电机控制系统
技术领域
本发明涉及自动化控制技术领域,特别涉及一种远程分离的电机驱动及电机控制系统。
背景技术
运动控制和电机控制是工业自动化领域的核心技术。实现运动控制的运动控制器和实现电机控制的伺服驱动器,是目前自动化领域中常见的自动执行复杂工作的装置上的两个关键控制部件。通常来说,为实现伺服电机的控制和驱动,伺服驱动器包括伺服(电机)控制单元和功率驱动单元,前者用于对电机的动作进行计算并生成控制信号,后者用于将控制信号转换为相应的电流以驱动电机。
目前市场上伺服驱动器的伺服控制单元和功率驱动单元的硬件通常是合为一个整体的,或者两者紧贴依靠排针传递信号。如图1所示,一个伺服控制单元可进行2-4个电机的动作计算和控制,其功率驱动单元也对2-4个电机进行功率驱动。如图2所示,一个伺服控制单元只进行1个电机的动作计算和控制,其功率驱动单元也只对1个电机进行功率驱动。通常来说,控制并驱动1个电机需要9根线缆,分别是3根动力线(UVW),2根抱闸控制线,2根编码器电源线和2根编码器数据线。
对于先进自动化设备来说,一般都需要大量的电机带动机械机构动作以实现功能,比如大型集成产线、6轴机器人、六旋翼无人机、先进服务机器人、外骨骼装甲等等。这些先进的自动化设备工作在军用、工业用、商用、家用领域,不少都对体积小巧、结构紧凑具有要求。他们需求模块之间尽可能数量少、长度短。然而控制伺服电机总是需要这些线缆的,仅抱闸线根据应用场合可有可无。以6轴机器人为例,当前的通用方案共需要从基座引出54根线,存在连线数量很多、接线困难、电缆和连接器成本高、连接可靠性下降、信号线与动力线并行走线,易受干扰等诸多问题。
发明内容
本发明的主要目的在于克服现有技术的缺陷,提供一种可远程分离的电机驱动及电机控制系统,大大减少了走线数量,降低了机械设计机电一体化难度。
为达成上述目的,本发明提供一种远程分离的电机驱动及电机控制系统,包括:
一个电机主控制器,用于计算并生成电机控制信号,其至少执行电机的电流环计算、电机速度环计算、位置环计算中的任意一个或者几个的组合;
多个功率驱动器,每个所述功率驱动器与一个电机相连,用于根据所述电机控制信号执行电机驱动;
其中,所述电机主控制器和所述功率驱动器以及各所述功率驱动器之间通过现场总线串联,以形成一个环形通信链路。
优选地,所述电机主控制器和一个运动控制器构成驱控一体化装置,所述运动控制器用于执行运动控制,所述电机主控制器根据所述运动控制器发出的运动控制信号生成所述电机控制信号。
优选地,所述电机主控制器和所述运动控制器集成于同一芯片上。
优选地,各所述功率驱动器分别设置于各所述电机上。
优选地,每一所述功率驱动器包括与相邻的功率驱动器或电机主控制器进行信号传输的通信接口、PWM波形发生器、电机功率驱动模块、反馈数据采集模块,其中所述PWM波形发生器根据所述电机主控制器发送的电机控制信号生成并输出PWM信号至所述电机功率驱动模块,所述反馈数据采集模块接收来自所述电机的反馈数据。
优选地,所述反馈数据包括所述电机的电流值、位置值和速度值。
优选地,所述电机控制信号包括PWM值,每一所述功率驱动器还包括暂存模块,用于暂存所述PWM值和所述反馈数据。
优选地,每一所述功率驱动器将其接收的反馈数据经所述通信链路发送至所述电机主控制器,所述电机主控制器结合各所述功率驱动器的反馈数据更新所述电机控制信号。
根据本发明的另一方面,还提供了一种系统,其包括驱动一体化装置和多个功率驱动器。其中,所述驱控一体化装置包括一个运动控制器和一个电机主控制器;其中所述运动控制器用于执行运动控制;所述电机主控制器用于根据所述运动控制器发出的运动控制信号生成电机控制信号,其至少执行电机的电流环计算、电机速度环计算、位置环计算中的任意一个或者几个的组合。每个所述功率驱动器与一个电机相连,用于根据所述电机控制信号执行电机驱动。其中,所述电机主控制器和所述功率驱动器以及各所述功率驱动器之间通过现场总线串联,以形成一个环形通信链路。
优选地,所述电机主控制器和所述运动控制器集成于同一芯片上。
优选地,各所述功率驱动器分别设置于各所述电机上。
优选地,每一所述功率驱动器包括与相邻的功率驱动器或电机主控制器进行信号传输的通信接口、PWM波形发生器、电机功率驱动模块、反馈数据采集模块,其中所述PWM波形发生器根据所述电机主控制器发送的电机控制信号生成并输出PWM信号至所述电机功率驱动模块,所述反馈数据采集模块接收来自所述电机的反馈数据。
优选地,所述反馈数据包括所述电机的电流值、位置值和速度值。
优选地,所述电机控制信号包括PWM值,每一所述功率驱动器还包括暂存模块,用于暂存所述PWM值和所述反馈数据。
优选地,每一所述功率驱动器将其接收的反馈数据经所述通信链路发送至所述电机主控制器,所述电机主控制器结合各所述功率驱动器的反馈数据更新所述电机控制信号。
相较于现有技术,本发明将电机主控制器和功率驱动器远程分离,使得功率驱动器能够尽可能贴近电机,UVW输出和编码器线缆变得极短,甚至可以驱动器和电机合为一体几乎没有线缆。如此一来,大大减少了走线数量,降低了机械设计机电一体的难度,克服了一直以来驱控一体走线输出多,驱动模块化能力不足的缺点。
附图说明
图1所示为现有技术中一种伺服控制单元和功率驱动单元的连接示意图;
图2所示为现有技术中另一种伺服控制单元和功率驱动单元的连接示意图;
图3所示为本发明一实施例的远程分离的电机驱动及电机控制系统的方块图;
图4所示为本发明一实施例的集成运动控制、和远程分离的电机驱动及电机控制的系统的方块图;
图5所示为本发明一实施例的远程分离的电机驱动及电机控制系统中功率驱动器的方块图;
图6所示为本发明一实施例的远程分离的电机驱动及电机控制系统信号传输过程中某一节点的工作流程图。
具体实施方式
为使本发明的内容更加清楚易懂,以下结合说明书附图,对本发明的内容作进一步说明。当然本发明并不局限于该具体实施例,本领域内的技术人员所熟知的一般替换也涵盖在本发明的保护范围内。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是本发明还可以采用其它不同于在此描述的其它方式来实施,因此本发明不受下面公开的具体实施例的限制。
如本申请和权利要求书中所示,除非上下文明确提示例外情形,“一”、“一个”、“一种”和/或“该”等词并非特指单数,也可包括复数。一般说来,术语“包括”与“包含”仅提示包括已明确标识的步骤和元素,而这些步骤和元素不构成一个排它性的罗列,方法或者设备也可能包含其他的步骤或元素。
应当理解的是,当单元或模块被描述为“连接”、“耦接”(couple)其它单元、模块或块时,其可以指直接连接或耦接,或者与其它单元、模块或块通信,或者可以存在中间的单元、模块或块,除非上下文明确指明其它方式。
本发明的实施例描述包含电机控制和电机驱动功能的可远程分离的电机驱动及电机控制系统。如本领域技术人员所理解的,电机控制功能可以计算并生成电机控制信号(如脉冲宽度调制PWM值)。电机驱动功能可以根据电机控制信号驱动电机相应转动。
本发明的远程分离的电机驱动及电机控制系统可包括一个电机主控制器和若干个功率驱动器。电机主控制器可执行前述的电机控制功能,计算并产生电机控制信号(如脉冲宽度调制PWM值)给多个功率驱动器,由后者驱动电机运转。
在本发明的各实施例中,远程分离的电机驱动及电机控制系统可以应用于电动机器人、数控机床、电动多旋翼飞行器、电动汽车、机械义肢、机械手掌、电动移动载具等场合,用于各类多轴的、轴之间须动作协调的、电机驱动的设备的电机控制。
在本发明的各实施例中,对电机的轴数不做限定,可以是6轴或8轴,也可以是更少的轴,或者更多的轴。
实施例1
图3是根据本发明第一实施例的远程分离的电机驱动及电机控制系统的方块图。远程分离的电机驱动及电机控制系统包括一个电机主控制器11和多个功率驱动器12。其中,电机主控制器11用于计算并生成电机控制信号。电机控制中会涉及到电流环计算、速度环计算和/或位置环计算。因此电机主控制器至少执行电机的电流环计算、电机速度环计算、位置环计算中的任意一个或者几个的组合。每个功率驱动器12与一个电机相连,用于根据电机控制信号执行电机驱动。特别的,电机主控制器11和功率驱动器12以及各功率驱动器12之间是通过现场总线串联,通过这一现场总线将电机主控制器11和各功率驱动器12串联形成一个环形通信链路。在这里,电机主控制器11可以作为主机,各个功率驱动器12可以作为节点(或从机),所有主机和节点都分别包含一个输入接口和一个输出接口,主机和各节点串联连接,信号从主机的输出接口依次通过各个节点,最后传给主机的输入接口,组成通信链路。本实施例中,使用现场总线来传递信号,连接时遵循LVDS电平标准,具有信号抗干扰能力好、传递距离远的优点。通信速率可根据需求设置,较佳的大于等于50Mhz。
由于电机主控制器11和多个功率驱动器12使用现场总线通信,允许功率驱动器远离电机主控制器,每个功率驱动器12可以紧贴电机设置,每个电机附近就是一个功率驱动器,每个功率驱动器连着下一个功率驱动器,这样功率驱动器和电机之间连接的UVW地线、编码器电源线缆、编码器数据线、抱闸控制线就可以变得极短。甚至在较佳的情况下,当功率驱动器12和电机合为一体,即功率驱动器12设置于电机上时,两者间几乎没有线缆。而功率驱动器之间走线只有2根总线、2根低压电源、2根母线电源线,由此大大减少了走线数量,降低了布线难度。越是复杂的机构,电机越多,本发明这种远程分离的方案对机械设计的好处越明显。
请参照图5,其所示为本发明一实施例的远程分离的电机驱动及电机控制系统中功率驱动器的方块图。如图所示,每个功率驱动器12包括与相邻的功率驱动器12或电机主控制器11进行信号传输的通信接口121、PWM波形发生器122、电机功率驱动模块123、反馈数据采集模块124,其中PWM波形发生器122根据电机主控制器11发送的电机控制信号生成并输出PWM信号至电机功率驱动模块123,反馈数据采集模块124接收来自电机的反馈数据。本实施例中电机控制信号为电机功率驱动模块的给定值,也可以用PWM值表示,当电机功率驱动模块以给定值驱动电机转动时,电机能够达到规定的电机给定值,最终反应在终端执行上的合成运动就会是应用任务所需要的样子。这里所说的反馈数据包括电机的电流值、位置值和速度值。具体地,电机上可设置编码器,其与电机上的转子位置传感器和速度传感器相连,用于检测转子位置信息和速度信息,也即是电机的位置值和速度值。反馈数据采集模块124接收编码器发送的反馈信息,此外也对电流值进行采样以检测电机电流。另外,每个功率驱动器还包括一个暂存模块,用于暂存PWM值和反馈数据。每一功率驱动器12将其接收的反馈数据通过总线经通信链路发送至电机主控制器,电机主控制器11结合各功率驱动器的反馈数据更新电机控制信号。
接下来将对通过总线进行信号传输的传输方式加以详细说明。
首先,上电后,电机主控制器11和各个功率驱动器12握手、建立连接。电机主控制器11生成电机控制信号(包含PWM值)并对电机控制信号进行编码后发送到节点1(即第一个功率驱动器),节点1接收到当前编码,判断如果为广播或地址信息与本节点地址不符,则直接发送至下一节点,如果地址信息与本节点地址相符,则获取电机控制信号中的信息并将信息替换成本节点当前状态、电机电流、位置、速度等信息,并将这些信息发送至下一节点。信号依次经过各个节点,最后返回到主机(电机主控制器),主机轮询解析各节点的相关数据,得到各节点的状态、和包含电机电流、位置和速度的反馈数据。主机根据这些反馈数据进行计算,并更新电机控制信号,再次发送至节点。
本实施例中,电机主控制器11以数据包的形式发送电机控制信号。数据包以字节为单位,一个字节分为高4位(4bit)与低4位(4bit),分别进行编码。本发明中采用4B/5B编码,发送时最低有效位LSB在前。4B/5B编码表如下:
同步码:
本发明中整个数据链路的状态包含上电默认、正常和错误恢复三种状态。数据链路的建立过程如下:
当系统进入上电默认状态(上电或复位)或进入错误恢复状态后,主机(即电机控制器)开始发送同步码1,从机(即功率驱动器)处于接收状态。总线上的节点1(第1个功率驱动器)识别到连续的同步码1,将自己的接收器按5bit字长对齐,然后也发出同步码1。其余节点依次将自己的接收器按5bit字长对齐,并发出同步码1。当电机主控制器检测到正确接收到同步码1,并持续一定时间如1ms以上时,表明当前数据链路已经稳定建立,发出同步码2,表明整个链路进入了正常状态。
本发明中,数据传输以包为单位,每次传输为一个数据包。数据包有两种形式:第一种包含命令、数据和校验3个部分。数据包格式如下:
当没有数据包传输时,传输同步码2。校验部分ECC只对整个数据部分(data)校验,不包含对命令的(CMD)的校验。
第二种数据包格式是仅包含1个命令:
需要说明的是,校验部分ECC采样标准的内存算法生成,列保存结果为3bit,最大支持8列,行保存结果为5bit,最大支持32行。保存结构如下:
当接收到第一个不是同步码2的数据时,即为数据包的起始。当遇到Sync2或者Sync1时,则为数据包的结束。如果校验码ECC的结果为正确或者检测到1bit错时,认为是有效数据包。如果ECC的结果为2bit以上错误时,认为是无效数据包。
由以上可知,当系统上电或者复位时,进入上电默认状态;当数据链路成功建立后,进入正常状态;对于节点来说,当连续2次收到无效的数据包,或者同步码2错误,进入错误恢复状态;对于主机来说,当当接收异常(数据错误)或者超时(没有有效数据或者同步码2接收异常),进入错误恢复状态。
整个数据链路的各个状态下主机和从机的操作如下:
从电机主控制器的输出接口开始,连接的串联节点地址依次为1,2…N,电机主控制器通过寻址给整个通信链路上的功率驱动器发送信息,每个节点仅接收和处理自己地址的信息。特殊的,当地址位为全部1时,表示该信息为广播模式,所有节点都应当接收和处理信息。每个节点仅当主机发出要求时,才能发送数据。发送数据以1个5bit编码为单位,在5bit编码中间不允许切换,且每个节点当没有在发送自己的数据时,应当发送接收的数据,即bypass模式(略过模式)。
对于包含命令的数据包,第一字节为命令,命令为自校验(高4bit与低4bit相反),包括以下几种:
CMD值 |
说明 |
0x3C |
设置并读取状态 |
0x69 |
设置PWM值并读取电流、位置和速度值 |
0xF0 |
写入PWM值 |
相应的,对应于上述几种命令的数据包格式如下:
设置并读取状态值:
写入电机控制信号(电机控制信号以PWM值来表示):
读取反馈数据:
将PWM值写入PWM波形发生器
其中,第一条数据包“设置并读取状态值”中“状态Status”说明如下:
bit位 |
说明 |
|
bit位 |
说明 |
|
0 |
设置状态 |
开抱闸 |
8 |
状态 |
U过流 |
1 |
设置状态 |
开励磁 |
9 |
状态 |
V过流 |
2 |
|
|
10 |
状态 |
W过流 |
3 |
|
|
11 |
状态 |
功率模块故障 |
4 |
|
|
12 |
状态 |
过温 |
5 |
|
|
13 |
状态 |
母线电源线电压异常 |
6 |
|
|
14 |
状态 |
通信异常 |
7 |
|
|
15 |
状态 |
编码器异常 |
其中第2-7位留空待扩展,第0位和第1位用于设置开抱闸和开励磁状态,第8-15位用于反馈状态。
图6所示为本发明一实施例的远程分离的电机驱动及电机控制系统中某一节点的工作流程图。
在整个通信链路中,对于某一个节点来说,如果该节点处于正常状态,其接收到第一个非同步码2的编码,进入接收状态。之后,接收第一个字节,这个字节必定是命令。由于命令为自校验(高4bit与低4bit相反),节点接收命令后判断命令是否有效。如果命令有效,则可以根据命令进行相关的数据发送。如果命令无效,则等待当前包结束,进入正常状态。
如果当前命令为写入PWM值命令,则功率驱动器将暂存器中的PWM值写入到PWM波形发生器,进入正常状态。如果当前命令不是PWM值写入命令则继续接收地址。然后,判断所接收的地址是否与本节点地址相符,如果不相符,那么等待当前包结束,进入正常状态。如果相符,当前包结束并替换相关反馈数据,接收并发送相关ECC数据。
接着,通过检查ECC来判断数据包是否有效,如果数据包有效则记录数据,如果数据包无效则判断上次是否已经发生同样情况,如果已经发生则说明连续两次收到无效的数据包,进入错误恢复模式,如果只有当前包为无效数据包,则记录错误状态,保持正常模式。如果数据已经替换,则设置错误的ECC,保证主机收到的数据包能够识别为错误不可纠正的。该节点仍然处于正常状态,等待接收主机下一次数据包。
对于主机来说,主机轮询解析各节点的相关数据,得到各节点的状态、和包含电机电流、位置和速度的反馈数据。主机根据这些反馈数据进行计算,并更新控制信号,再次发送至各节点。
实施例2
图4是根据本发明一实施例的集成运动控制、和远程分离的电机驱动及电机控制的系统的方块图。该系统包括驱控一体化装置。驱控一体化装置包括一个运动控制器10和一个电机主控制器11。这里所说的驱控一体化,指的是运动控制器和电机主控制器集成在1块芯片内或者是2块相邻芯片上的硬件架构形式。如此一来,运动控制器10和电机主控制器11之间采用片内总线或者板级总线进行数据传输,确保可靠性和高速率。其中,运动控制器10用于执行运动控制,电机主控制器11根据运动控制器10发出的运动控制信号计算并生成电机控制信号。具体来说,运动控制器10可以根据具体的应用任务,将被控制对象的各运动副随着时间的动作目标计算出来。这里所说的运动副指的是被控制对象的两构件直接接触并能产生相对运动的活动联接,如关节。根据具体应用的不同,计算步骤、计算对象和计算的参数变量可能也会不同,但其最终目的都是为了得到被控制对象的各运动副的运动控制数据。运动控制数据例如可以是运动副的位置、速度、加速度、力或力矩中的任意一种或几种。电机主控制器11可以根据各运动副的运动控制数据计算并产生驱动被控制对象的各个关节电机的电机控制信号。电机控制中一般会涉及到电流环计算、速度环计算和/或位置环计算。因此电机主控制器至少执行电机的电流环计算、电机速度环计算、位置环计算中的任意一个或者几个的组合。较佳地,电机主控制器和运动控制器集成于同一芯片上,如集成双核的SOC芯片上,运动控制和电机控制之间耦合性更强,数据传输都在芯片内部进行,不易受外部干扰,保证了数据能正确可靠地高速率传输。
集成运动控制、和远程分离的电机驱动及电机控制的系统还包括多个功率驱动器12,每个功率驱动器12与一个电机相连,用于根据电机主控制器22电机控制信号执行电机驱动。也即是说,电机主控制器11和功率驱动器12能够共同完成电机的控制和驱动。电机主控制器11和功率驱动器12以及各功率驱动器12之间是通过现场总线串联,通过这一现场总线将电机主控制器11和各功率驱动器12串联形成一个环形通信链路。特别的,在这里,电机主控制器11可以作为主机,各个功率驱动器12可以作为节点(或从机),所有主机和节点都分别包含一个输入接口和一个输出接口,主机和各节点串联连接,信号从主机的输出接口依次通过各个节点,最后传给主机的输入接口,组成环形通信链路。本实施例中,使用现场总线来传递信号,连接时遵循LVDS电平标准,具有信号抗干扰能力好、传递距离远的优点。通信速率可根据需求设置,较佳的大于等于50Mhz。
由于电机主控制器11和多个功率驱动器12使用现场总线通信,允许功率驱动器远离电机主控制器,每个功率驱动器12可以紧贴电机设置,每个电机附近就是一个功率驱动器,每个功率驱动器连着下一个功率驱动器,这样功率驱动器和电机之间连接的UVW地线、编码器电源线缆、编码器数据线、抱闸控制线就可以变得极短。甚至当功率驱动器12和电机合为一体,即功率驱动器12设置于电机上时,两者间几乎没有线缆。而功率驱动器之间走线只有2根总线、2根低压电源、2根母线电源线,由此大大减少了走线数量,降低了布线难度。越是复杂的机构,电机越多,本发明这种远程分离的方案对机械设计的好处越明显,且特别适用于驱控一体架构的伺服驱动系统。
请参照图5,其所示为本发明一实施例的远程分离的电机驱动及电机控制系统中功率驱动器的方块图。如图所示,每个功率驱动器12包括与相邻的功率驱动器12或电机主控制器11进行信号传输的通信接口121、PWM波形发生器122、电机功率驱动模块123、反馈数据采集模块124,其中PWM波形发生器122根据电机主控制器11发送的电机控制信号生成并输出PWM信号至电机功率驱动模块123,反馈数据采集模块124接收来自电机的反馈数据。实施例中电机控制信号为电机功率驱动模块的给定值,也可以用PWM值表示,当电机功率驱动模块以给定值驱动电机转动时,电机能够达到期望的电机给定值,最终反应在终端执行上的合成运动就会是应用任务所需要的样子。这里所说的反馈数据包括电机的电流值、位置值和速度值。具体地,电机上可设置编码器,其与电机上的转子位置传感器和速度传感器相连,用于检测转子位置信息和速度信息,也即是电机的位置值和速度值。反馈数据采集模块124接收编码器发送的反馈信息,此外也对电流值进行采样以检测电机电流。另外,每个功率驱动器还包括一个暂存模块,用于暂存PWM值和反馈数据。每一功率驱动器将其接收的反馈数据通过总线发送至电机主控制器,电机主控制器结合各功率驱动器的反馈数据更新电机控制信号。
本实施例的信号传输方式与上一实施例相同,在此不另做赘述。
综上所述,本发明通过将电机主控制器和功率驱动器远程分离,使得功率驱动器能够尽可能贴近电机,UVW输出和编码器线缆变得极短,甚至可以驱动器和电机合为一体几乎没有线缆。如此一来,大大减少了走线数量,降低了机械设计机电一体的难度,解决了一直以来驱控一体走线输出多,驱动模块化能力不足的缺点。
虽然本发明已以较佳实施例揭示如上,然所述诸多实施例仅为了便于说明而举例而已,并非用以限定本发明,本领域的技术人员在不脱离本发明精神和范围的前提下可作若干的更动与润饰,本发明所主张的保护范围应以权利要求书所述为准。