一种CAN总线伺服电机的瞬态响应测试方法及装置与流程

文档序号:11112151阅读:665来源:国知局
一种CAN总线伺服电机的瞬态响应测试方法及装置与制造工艺

本发明涉及自动化响应性能测试领域,尤其涉及一种CAN总线伺服电机的瞬态响应测试方法及装置。



背景技术:

随着工业自动化,机器人行业的不断发展,对运动控制系统的响应性能要求越来越高,其中核心部件伺服电机的瞬态响应的大小对整个运动控制系统的性能起了至关重要的作用。瞬态响应具体指的是伺服电机接收激励信号到输出响应信号之间的延迟,以转速响应为例,如图1,TS为转速响应时间。

同时,由于很多工业场合恶劣的电磁环境,为了提高伺服电机的抗干扰能力,很多电机厂商都推出了支持CAN总线接口的伺服电机,目前市面上测试这种CAN总线伺服电机的瞬态响应的方法是,控制单元发出启动电机的CAN报文,记录此刻的时间点T1,再用示波器或采集卡实时采集电机输出转速波形,检测到转速开始变化时,记录此时的时间点T2,用T2减去T1得到响应时间,如图2所示。

现有传统的测试CAN总线伺服电机响应的方法,只能粗略测试响应时间,无法精确测量,因为CAN报文发送是需要时间的,从控制单元发送启动电机CAN报文到伺服电机接收到此报文,存在一个时间延迟,而且这个时间延迟会随着报文的长度变化而变化,如图3所示,以最快的波特率1Mbps发送一个标准帧为例,加上CAN自动添加的填充位,一个启动电机报文有120位左右长度,延迟大概是120μs,传统的测试方法从发送CAN报文开始计时,忽略了CAN报文的发送延迟,所以无法准确测量伺服电机的响应时间。



技术实现要素:

本发明实施例提供了一种CAN总线伺服电机的瞬态响应测试方法及装置,用于解决传统的测试方法从发送CAN报文开始计时,忽略了CAN报文的发送延迟,所以无法准确测量伺服电机的响应时间的技术问题。

本发明实施例提供的一种CAN总线伺服电机的瞬态响应测试方法,包括:

S1:检测伺服驱动器接收到用于启动电机的CAN报文的时刻并记录为第一时间值,同时检测伺服电机产生响应信号的时刻并记录为第二时间值;

S2:通过计算第二时间值与第一时间值的时间差值并记录为CAN总线伺服电机的瞬态响应时间。

优选地,所述步骤S1中的检测伺服驱动器接收到启动电机的CAN报文的时刻并记录为第一时间值具体包括:

根据伺服驱动器接收到用于启动电机的CAN报文并返回的CAN标准数据帧中的应答场确定伺服驱动器接收到用于启动电机的CAN报文的时刻,并记录为第一时间值。

优选地,所述步骤S1之前还包括:

发送CAN报文至伺服驱动器使得所述伺服启动器根据所述CAN报文启动电机。

优选地,所述步骤S1之后,所述步骤S2之前还包括:

将所述第一时间值减去预设的第一延迟时间值并记为新的第一时间值;

所述预设的第一延迟时间值为执行检测伺服驱动器接收到启动电机的CAN报文的时刻并记录为第一时间值的电路模块的软硬件延迟。

优选地,所述步骤S1之后,所述步骤S2之前还包括:

将所述第二时间值减去预设的第二延迟时间值并记为新的第二时间值;

所述预设的第二延迟时间值为执行检测伺服电机产生响应信号的时刻并记录为第二时间值的电路模块的软硬件延迟。

本发明实施例提供的一种CAN总线伺服电机的瞬态响应测试装置,包括:

检测CAN接收完成模块,用于检测伺服驱动器接收到用于启动电机的CAN报文的时刻并记录为第一时间值;

采集模块,用于检测伺服电机产生响应信号的时刻并记录为第二时间值;

综合分析模块,用于通过计算第二时间值与第一时间值的时间差值并记录为CAN总线伺服电机的瞬态响应时间。

优选地,所述检测CAN接收完成模块还用于根据伺服驱动器接收到用于启动电机的CAN报文并返回的CAN标准数据帧中的应答场确定伺服驱动器接收到用于启动电机的CAN报文的时刻,并记录为第一时间值。

优选地,本发明实施例还包括:

CAN收发模块,用于发送CAN报文至伺服驱动器使得所述伺服启动器根据所述CAN报文启动电机

优选地,本发明实施例还包括:

第一同步校准模块,用于将所述第一时间值减去预设的第一延迟时间值并记为新的第一时间值;

所述预设的第一延迟时间值为执行检测伺服驱动器接收到启动电机的CAN报文的时刻并记录为第一时间值的电路模块的软硬件延迟。

优选地,本发明实施例还包括:

第二同步校准模块,用于将所述第二时间值减去预设的第二延迟时间值并记为新的第二时间值;

所述预设的第二延迟时间值为执行检测伺服电机产生响应信号的时刻并记录为第二时间值的电路模块的软硬件延迟。

从以上技术方案可以看出,本发明实施例具有以下优点:

本发明实施例提供一种CAN总线伺服电机的瞬态响应测试方法,包括:检测伺服驱动器接收到用于启动电机的CAN报文的时刻并记录为第一时间值,同时检测伺服电机产生响应信号的时刻并记录为第二时间值;通过计算第二时间值与第一时间值的时间差值并记录为CAN总线伺服电机的瞬态响应时间。本发明实施例通过检测伺服驱动器接收到用于启动电机的CAN报文的时刻从而实现从伺服驱动器接收到CAN报文开始计时,从原理上将CAN报文的发送延迟不算进响应时间,所以能准确测量伺服电机的响应时间,解决了传统的测试方法从发送CAN报文开始计时,忽略了CAN报文的发送延迟,所以无法准确测量伺服电机的响应时间的技术问题。本发明实施例还提供一种CAN总线伺服电机的瞬态响应测试装置。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。

图1为本发明实施例用于说明伺服电机接收激励信号到输出响应信号之间的延迟的示意图;

图2为本发明实施例用于说明目前市面上测试这种CAN总线伺服电机的瞬态响应的方法的示意图;

图3为本发明实施例用于说明CAN标准帧的示意图;

图4为本发明实施例提供的一种CAN总线伺服电机的瞬态响应测试方法的一个实施例的示意图;

图5为本发明实施例提供的一种CAN总线伺服电机的瞬态响应测试方法的一个实施例的测试结果分析示意图;

图6为本发明实施例提供的一种CAN总线伺服电机的瞬态响应测试方法的另一个实施例的示意图;

图7为本发明实施例提供的一种CAN总线伺服电机的瞬态响应测试装置的一个实施例的示意图;

图8为本发明实施例提供的一种CAN总线伺服电机的瞬态响应测试方法的一个应用例的示意图;

图9为本发明实施例用于说明CAN标准帧的应答场作为测试起点时间的示意图。

具体实施方式

本发明实施例提供了一种CAN总线伺服电机的瞬态响应测试方法及装置,用于解决传统的测试方法从发送CAN报文开始计时,忽略了CAN报文的发送延迟,所以无法准确测量伺服电机的响应时间的技术问题。

为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本发明一部分实施例,而非全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。

请参阅图4,本发明实施例提供的一种CAN总线伺服电机的瞬态响应测试方法的一个实施例,包括:

101:检测伺服驱动器接收到用于启动电机的CAN报文的时刻并记录为第一时间值,同时检测伺服电机产生响应信号的时刻并记录为第二时间值;

102:通过计算第二时间值与第一时间值的时间差值并记录为CAN总线伺服电机的瞬态响应时间。

只要是标准的CAN协议,接受方在成功收到CAN报文后,都会返回一个应答场,这是由CAN的底层协议决定的,我们就是通过检测这个应答场的回应时刻来作为伺服电机接收报文的时刻。由于标准的CAN协议都支持这个功能,所以不需要对伺服电机进行改进。

请参阅图5,本发明实施例以伺服电机接收到CAN报文的时刻作为计算起点,不受CAN报文发送延迟的影响,可以准确测出CAN总线伺服电机的瞬态响应。测试示意图如图5所示,T2到T3之间的延迟即为真实的瞬态响应时间。

以上是对本发明实施例提供的一种CAN总线伺服电机的瞬态响应测试方法的一个实施例进行详细的描述,以下将对本发明实施例提供的一种CAN总线伺服电机的瞬态响应测试方法的另一个实施例进行详细的描述。

请参阅图6,本发明实施例提供的一种CAN总线伺服电机的瞬态响应测试方法的另一个实施例,包括:

201:发送CAN报文至伺服驱动器使得所述伺服启动器根据所述CAN报文启动电机。

202:根据伺服驱动器接收到用于启动电机的CAN报文并返回的CAN标准数据帧中的应答场确定伺服驱动器接收到用于启动电机的CAN报文的时刻,并记录为第一时间值,同时检测伺服电机产生响应信号的时刻并记录为第二时间值;

203:将所述第一时间值减去预设的第一延迟时间值并记为新的第一时间值;

204:将所述第二时间值减去预设的第二延迟时间值并记为新的第二时间值;

205:通过计算第二时间值与第一时间值的时间差值并记录为CAN总线伺服电机的瞬态响应时间。

需要说明的是,

所述预设的第一延迟时间值为执行检测伺服驱动器接收到启动电机的CAN报文的时刻并记录为第一时间值的电路模块的软硬件延迟。

所述预设的第二延迟时间值为执行检测伺服电机产生响应信号的时刻并记录为第二时间值的电路模块的软硬件延迟。

只要是标准的CAN协议,接受方在成功收到CAN报文后,都会返回一个应答场,这是由CAN的底层协议决定的,我们就是通过检测这个应答场的回应时刻来作为伺服电机接收报文的时刻。由于标准的CAN协议都支持这个功能,所以不需要对伺服电机进行改进。

外部电路的固有延迟包括采集电路和控制电路的硬件延迟以及软件延迟,由于我们的软件完全用FPGA来处理,这些延迟是可以计算出来的,硬件延迟在出厂时可以测试出来,也是一个可知的值,我们会将这些测试和计算的延迟值存入同步校准模块,在每次运算的时,同步校准模块会实际时间减去延迟时间,就可以还原出真实精准的时间。

以上是对本发明实施例提供的一种CAN总线伺服电机的瞬态响应测试方法的另一个实施例进行详细的描述,以下将对本发明实施例提供的一种CAN总线伺服电机的瞬态响应测试装置的一个实施例进行详细的描述。

请参阅图7,本发明实施例提供的一种CAN总线伺服电机的瞬态响应测试装置的一个实施例,包括:

检测CAN接收完成模块301,用于检测伺服驱动器接收到用于启动电机的CAN报文的时刻并记录为第一时间值;

采集模块302,用于检测伺服电机产生响应信号的时刻并记录为第二时间值;

综合分析模块303,用于通过计算第二时间值与第一时间值的时间差值并记录为CAN总线伺服电机的瞬态响应时间。

所述检测CAN接收完成模块301还用于根据伺服驱动器接收到用于启动电机的CAN报文并返回的CAN标准数据帧中的应答场确定伺服驱动器接收到用于启动电机的CAN报文的时刻,并记录为第一时间值。

只要是标准的CAN协议,接受方在成功收到CAN报文后,都会返回一个应答场,这是由CAN的底层协议决定的,我们就是通过检测这个应答场的回应时刻来作为伺服电机接收报文的时刻。由于标准的CAN协议都支持这个功能,所以不需要对伺服电机进行改进。

CAN收发模块304,用于发送CAN报文至伺服驱动器使得所述伺服启动器根据所述CAN报文启动电机。

第一同步校准模块305,用于将所述第一时间值减去预设的第一延迟时间值并记为新的第一时间值;

所述预设的第一延迟时间值为执行检测伺服驱动器接收到启动电机的CAN报文的时刻并记录为第一时间值的电路模块的软硬件延迟。

第二同步校准模块306,用于将所述第二时间值减去预设的第二延迟时间值并记为新的第二时间值;

所述预设的第二延迟时间值为执行检测伺服电机产生响应信号的时刻并记录为第二时间值的电路模块的软硬件延迟。

以上是对本发明实施例提供的一种CAN总线伺服电机的瞬态响应测试装置的一个实施例进行详细的描述,以下将对本发明实施例提供的一种CAN总线伺服电机的瞬态响应测试装置的一个应用例进行详细的描述。

请参阅图8,本发明实施例提供的一种CAN总线伺服电机的瞬态响应测试装置的一个应用例,包括:

检测CAN接收完成模块,用于检测伺服驱动器接收到用于启动电机的CAN报文的时刻并记录为第一时间值;

采集模块,用于检测伺服电机产生响应信号的时刻并记录为第二时间值;

上位机,用于通过计算第二时间值与第一时间值的时间差值并记录为CAN总线伺服电机的瞬态响应时间。

所述检测CAN接收完成模块还用于根据伺服驱动器接收到用于启动电机的CAN报文并返回的CAN标准数据帧中的应答场确定伺服驱动器接收到用于启动电机的CAN报文的时刻,并记录为第一时间值。

CAN收发模块,用于发送CAN报文至伺服驱动器使得所述伺服启动器根据所述CAN报文启动电机。

第一同步校准模块,用于将所述第一时间值减去预设的第一延迟时间值并记为新的第一时间值;

所述预设的第一延迟时间值为执行检测伺服驱动器接收到启动电机的CAN报文的时刻并记录为第一时间值的电路模块的软硬件延迟。

第二同步校准模块,用于将所述第二时间值减去预设的第二延迟时间值并记为新的第二时间值;

所述预设的第二延迟时间值为执行检测伺服电机产生响应信号的时刻并记录为第二时间值的电路模块的软硬件延迟。

CAN控制器是一颗通用的CAN芯片,负责最底层的CAN帧的收发。

伺服电机,包括伺服驱动器和实体电机;

伺服驱动器,用于驱动实体电机运行。

实体电机,用于转动,实现电机的基本功能。

高速采集电路以1Mhz的采样率将伺服电机的速度扭矩响应信号转换成采集模块可以处理的数字量,采集模块将这些数字量信息以一定的格式编码存入FPGA。

FPGA由CAN收发模块,检测CAN接收完成模块,同步模块,采集模块,大容量FIFO和DDR3控制器模块构成。

大容量FIFO用于进行大容量的输入输出,供上位机进行数据交互。

DDR3控制器配合大容量FIFO,DDR3控制器主要用于存储数据。

千兆以太网用于连接上位机和大容量FIFO。

本应用例由大容量FPGA、CAN控制器和高速采集模块构成,其中FPGA由CAN收发模块、检测CAN接收完成模块、同步模块、采集模块、大容量FIFO和DDR3控制器模块构成。CAN收发模块配合CAN控制器实现CAN报文命令的发送,在瞬态响应中,这部分负责激励信号的产生,采集模块配合高速采集电路,负责采样伺服电机的响应信号。

检测CAN接收完成模块,负责检测伺服驱动器何时接收到启动电机的CAN报文,并以此作为瞬态响应的测试起点,检测方式如下图所示,模块会实时检测报文,当发现收到应答场后,即认为伺服驱动接收到启动命令了。

当启动电机的CAN报文发出后,我们会将伺服驱动接收到报文的时刻经过一个同步校准模块存入由DDR3构成的大容量FIFO,与此同时,采集模块也会实时采样伺服电机的响应信号,并经过一个同步校准模块存入大容量FIFO,由于CAN控制器和采集电路模块自身都会存在一个很小的固定延迟,为了实现最大程度的精确测量,我们分别加入了两个同步校准模块用于抵消外部电路的固有延迟。

上位机通过千兆以太网将同步过的激励信号和响应信号从大容量FIFO里高速取出分析显示,最终得到瞬态响应结果。

CAN控制器是一颗通用的CAN芯片,负责最底层的CAN帧的收发。CAN收发模块是我们在FPGA里开发的一个顶层模块,控制CAN何时、如何发送和接受CAN报文以及CAN报文的内容。

高速采集电路以1Mhz的采样率将伺服电机的速度扭矩响应信号转换成采集模块可以处理的数字量,采集模块将这些数字量信息以一定的格式编码存入FPGA。

请参阅图9,只要是标准的CAN协议,接受方在成功收到CAN报文后,都会返回一个应答场,这是由CAN的底层协议决定的,我们就是通过检测这个应答场的回应时刻来作为伺服电机接收报文的时刻。由于标准的CAN协议都支持这个功能,所以不需要对伺服电机进行改进。

外部电路的固有延迟包括采集电路和控制电路的硬件延迟以及软件延迟,由于我们的软件完全用FPGA来处理,这些延迟是可以计算出来的,硬件延迟在出厂时可以测试出来,也是一个可知的值,我们会将这些测试和计算的延迟值存入同步校准模块,在每次运算的时,同步校准模块会实际时间减去延迟时间,就可以还原出真实精准的时间。

本发明以检测CAN报文接收完成作为CAN总线伺服电机的瞬态响应测试起点的这种方法,以及通过FPGA实现的实时检测CAN报文接收完成模块;

本发明在激励端和采集端通过加入同步校准模块抵消外部电路的固有延迟还原真实测试结果的方法。

本发明通过以检测CAN报文接收完成作为瞬态响应的测试起点,相比传统的从发送CAN报文的时刻作为起点,前者的测试结果不会受CAN报文发送延迟的影响,测试结果更准确。加入了同步校准模块后,相比传统方法,可以抵消外部电路的固有延迟,可以更准确的还原瞬态响应结果。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1