一种基于FPGA的多轴运动控制系统的制作方法

文档序号:11275607阅读:362来源:国知局
一种基于FPGA的多轴运动控制系统的制造方法与工艺

本发明涉及一种基于fpga的多轴运动控制系统,属于运动控制技术领域。



背景技术:

运动控制技术是对机械运动部件的位置、速度等参数进行实时控制管理,使其按照预定的运动轨迹和运动参数进行运动的技术。主要是通过对电机驱动器的控制以达到对机械运动的位置、速度、加速度的精确控制,运动控制器以其精准的轨迹控制能力使其在航天、机床、机器人、军事得已广泛的应用。通常伺服电机和步进电机的驱动器采用总线控制或者脉冲和方向控制。总线型运动控制器输出信号是指令和参数,而采用脉冲和方向的控制方式,脉冲的数量对应运动控制的位置,脉冲频率对应运动控制的速度,控制精度高,灵活性强。近年来,多轴电机同步控制技术在高速高精度机械控制系统中得到广泛应用,控制精度及同步性问题普遍存在于控制系统中。以上问题是解决高精度多轴同步运动控制的核心,也是运动控制发展的趋势。

fpga(现场可编程门阵列)以其较高的精度和较快的速度,在运动控制中得已广泛应用。fpga固有的灵活性、并行性、集成性使得它越来越受重视,此外fpga可以集成各种通讯接口,适用于各种通信协议。随着生产工艺的提高,fpga的规模不断地扩大,成本逐步降低,使用者可以在单片的fpga内实现各种逻辑电路。以fpga作为运动控制的核心处理器来实现高精度多轴同步运动控制器已然成为数控领域的主流趋势。

目前市场存在的控制器,处理速度慢,精度不高,不可重复编程,扩展性差,通用性不好等缺点。



技术实现要素:

为了克服现有技术中存在的不足,本发明提供一种基于fpga的多轴运动控制系统,其目的是:(1)本发明可以通过输出脉冲控制多达8个电机轴运动,电路设计不仅可以对各个单电机独立控制,还可以对多电机进行同步控制,提高联动精度。(2)电路设计采用arm与fpga结合的方案,利用plc控制器的优点将运动控制技术与plc控制技术相结合,设计出一款控制精度高、速度快、编程方便、通用性好、低成本的运动控制器。(3)将运动控制功能集成到所述fpga中,根据现场功能需求,可以对fpga进行重复编程,而不需要更改其他硬件或软件配置,开发周期缩短,降低了运动控制器的成本。(4)利用fpga外围丰富的io资源,作为运动控制器模块的输入输出的扩展io口,大大的增加了运动控制器对数字量信号的控制能力。(5)采用arm的fsmc来控制fpga的数据交互,其中将fpga作为sram管理,接口模块在fpga内部设计,不仅提高的数据交互的实时性还节省了解接口资源使用。(6)在fpga底层实现运动控制大量的数据处理,实现各类型脉冲的输出,以达到对各类伺服电机的控制,使得所述的运动控制设计适用于任意的工业现场,打破了专用的垄断,降低了开发成本。(7)可以对外部信号进行中断处理、测频计数处理,且普通数字信号输入多达15路,高速数字信号输入多达8路,完成对整个运功控制系统的反馈检测,保证运动控制系统的高精度和稳定性。

为了实现上述发明目的,解决己有技术中存在的问题,本发明采取的技术方案是:一种基于fpga的多轴运动控制系统,包括电源、晶振、jtag电路、arm芯片、fpga芯片、15路di输入电路、8路hdi输入电路及16路hdo输出电路,所述的15路di输入电路和8路hdi输入电路,分别包括输入保护电路并与其依次相连的限流滤波电路及光耦隔离电路,所述16路hdo输出电路,包括输出保护电路并与其依次相连的输出驱动电路及光耦隔离电路,所述光耦隔离电路,用于避免外界的干扰,其中15路di输入电路使用普通光耦隔离,8路hdi输入电路和16路hdo输出电路使用高速光耦隔离,限流滤波电路,用于避免信号的毛刺干扰,所述光耦隔离电路分别与fpga芯片相连,用于运动控制信号的处理,所述jtag电路分别与fpga芯片及arm芯片相连,jtag电路用于控制器程序下载和调试,arm芯片进行运动控制数据的运算和配置,通过fsmc通信接口与fpga芯片通信,在fpga芯片内部系统执行相应的功能,所述电源分别与晶振、arm芯片及fpga芯片相连,晶振还与fpga芯片相连,为fpga芯片提供时钟,在fpga内部将时钟进行分频处理,分别为外部的arm芯片和以太网提供时钟;所述fpga芯片包括时钟模块、通信接口模块、中断模块、计数测频模块、数据缓存控制模块、pls模块、脉冲输出模块、信号输出选择模块、使能位控制模块、使能位选择模块及di滤波处理模块和hdi滤波处理模块,其中,通信接口模块与数据缓存控制模块相连,通信接口模块用于arm芯片与fpga芯片的数据交互,数据缓存控制模块用于数据缓存,并将相应的数据配置到各个子模块端口,执行相应的功能,所述di滤波处理模块和hdi滤波处理模块分别通过中断模块与数据缓存控制模块相连,用于将15路di信号、8路hdi信号通过di滤波处理模块和hdi滤波处理模块再次滤波后得到的15路di信号、8路hdi信号通过中断模块后得到的15路di中断信号、8路hdi中断信号直接输出到arm芯片,得到的中断通道值分别传送至数据缓存控制模块,所述hdi滤波处理模块还通过计数测频模块与数据缓存控制模块相连,用于将8路hdi信号通过hdi滤波处理模块再次滤波后得到的8路hdi信号通过计数测频模块进行测频计数,并将计数测频数据实时传送至数据缓存控制模块;所述di滤波处理模块和hdi滤波处理模块分别与数据缓存控制模块直接相连,在没有中断时,滤波后的信号直接输出到数据缓存控制模块;所述数据缓存控制模块通过使能位控制模块、使能位选择模块、脉冲输出模块与信号输出选择模块依次相连,其中,所述使能位选择模块,对脉冲输出模块进行选择,将脉冲输出模块绑定到固定的使能位,然后通过配置使能位控制模块,使能信号经过使能位选择模块对所选择的脉冲输出模块进行使能,通过使能位选择模块及使能位控制模块联合使用实现单独控制电机轴和多电机轴的同步联动;所述脉冲输出模块,采用fifo作为数据缓存机制,同时对8个电机轴运动进行控制;所述信号输出选择模块通过pls模块与数据缓存控制模块相连,信号输出选择模块还与16路hdo信号输出端口相连。

本发明有益效果是:一种基于fpga的多轴运动控制系统,包括电源、晶振、jtag电路、arm芯片、fpga芯片、15路di输入电路、8路hdi输入电路及16路hdo输出电路,所述的15路di输入电路和8路hdi输入电路,分别包括输入保护电路并与其依次相连的限流滤波电路及光耦隔离电路,所述16路hdo输出电路,包括输出保护电路并与其依次相连的输出驱动电路及光耦隔离电路,所述光耦隔离电路分别与fpga芯片相连,用于运动控制信号的处理,jtag电路分别与fpga芯片及arm芯片相连,jtag电路用于控制器程序下载和调试,arm芯片进行运动控制数据的运算和配置,通过fsmc通信接口与fpga芯片通信,在fpga芯片内部系统执行相应的功能,所述电源分别与晶振、arm芯片及fpga芯片相连,晶振还与fpga芯片相连,为fpga芯片提供时钟。与已有技术相比,本发明使用arm芯片作为运动控制的控制器,fpga芯片作为运动控制的数据处理器,不仅满足了较高的控制需求,而且拥有精度较高、速度较快的数据处理能力。解决了目前市场存在的控制器,处理速度慢,精度不高,不可重复编程,扩展性差,通用性不好的缺点,具有开放性、互换性、可扩展性以及可移植性等优点。

附图说明

图1是本发明原理框图。

图2是本发明中的fpga芯片原理框图。

图3是fpga芯片中的脉冲输出模块的脉冲输出流程图。

图4是fpga芯片中的脉冲输出模块的方向输出流程图。

图5是fpga芯片中的使能位控制模块与使能位选择模块联合工作示意图。

图6是fpga芯片中的pls模块的脉冲输出流程图。

图7是fpga芯片中的计数测频模块的高速计数流程图。

图8是fpga芯片中的计数测频模块的高速测频流程图。

图9是fpga芯片中的di中断和hdi中断的流程图。

图10是fpga芯片中的高速计数中断流程图。

图11是fpga芯片中的滤波处理模块流程图。

具体实施方式

下面结合附图对本发明作进一步说明。

如图1、2所示,一种基于fpga的多轴运动控制系统,包括电源、晶振、jtag电路、arm芯片、fpga芯片、15路di输入电路、8路hdi输入电路及16路hdo输出电路,所述的15路di输入电路和8路hdi输入电路,分别包括输入保护电路并与其依次相连的限流滤波电路及光耦隔离电路,所述16路hdo输出电路,包括输出保护电路并与其依次相连的输出驱动电路及光耦隔离电路,所述光耦隔离电路,用于避免外界的干扰,其中15路di输入电路使用普通光耦隔离,8路hdi输入电路和16路hdo输出电路使用高速光耦隔离,限流滤波电路,用于避免信号的毛刺干扰,所述光耦隔离电路分别与fpga芯片相连,用于运动控制信号的处理,所述jtag电路分别与fpga芯片及arm芯片相连,jtag电路用于控制器程序下载和调试,arm芯片进行运动控制数据的运算和配置,通过fsmc通信接口与fpga芯片通信,在fpga芯片内部系统执行相应的功能,所述电源分别与晶振、arm芯片及fpga芯片相连,晶振还与fpga芯片相连,为fpga芯片提供时钟,在fpga内部将时钟进行分频处理,分别为外部的arm芯片和以太网提供时钟;所述fpga芯片包括时钟模块、通信接口模块、中断模块、计数测频模块、数据缓存控制模块、pls模块、脉冲输出模块、信号输出选择模块、使能位控制模块、使能位选择模块及di滤波处理模块和hdi滤波处理模块,其中,通信接口模块与数据缓存控制模块相连,通信接口模块用于arm芯片与fpga芯片的数据交互,数据缓存控制模块用于数据缓存,并将相应的数据配置到各个子模块端口,执行相应的功能,所述di滤波处理模块和hdi滤波处理模块分别通过中断模块与数据缓存控制模块相连,用于将15路di信号、8路hdi信号通过di滤波处理模块和hdi滤波处理模块再次滤波后得到的15路di信号、8路hdi信号通过中断模块后得到的15路di中断信号、8路hdi中断信号直接输出到arm芯片,得到的中断通道值分别传送至数据缓存控制模块,所述hdi滤波处理模块还通过计数测频模块与数据缓存控制模块相连,用于将8路hdi信号通过hdi滤波处理模块再次滤波后得到的8路hdi信号通过计数测频模块进行测频计数,并将计数测频数据实时传送至数据缓存控制模块;所述di滤波处理模块和hdi滤波处理模块分别与数据缓存控制模块直接相连,在没有中断时,滤波后的信号直接输出到数据缓存控制模块;所述数据缓存控制模块通过使能位控制模块、使能位选择模块、脉冲输出模块与信号输出选择模块依次相连,其中,所述使能位选择模块,对脉冲输出模块进行选择,将脉冲输出模块绑定到固定的使能位,然后通过配置使能位控制模块,使能信号经过使能位选择模块对所选择的脉冲输出模块进行使能,通过使能位选择模块及使能位控制模块联合使用实现单独控制电机轴和多电机轴的同步联动;所述脉冲输出模块,采用fifo作为数据缓存机制,同时对8个电机轴运动进行控制;所述信号输出选择模块通过pls模块与数据缓存控制模块相连,信号输出选择模块还与16路hdo信号输出端口相连。

如图3所示,本发明为了保证脉冲连续稳定的输出,以及加减速和插补点数的控制,采用fifo进行数据缓存;脉冲输出的前提是fifo非空,因为fifo为脉冲输出模块提供唯一数据配置。所述的arm为fifo写入数据,当使能信号给定后,首先进行数据的装载,判断是否有换向延时,如果有换向,需要等待换向延时的时间后才能输出脉冲;全过程判断fifo是否非空,若非空则执行以上的循环,若fifo空则停止运行,脉冲输出停止。当禁能信号有效时,需要将本次所有脉冲输出完毕后,脉冲输出停止。急停信号,当急停有效时,脉冲输出立刻停止,暂存当前脉冲计数的个数,反馈到arm。

如图4所示,本发明所述的脉冲输出模块的方向输出单独设计,当脉冲输出模块运行的开始,需要对电机当前方向检测,此时检测状态保持。如果新的方向与上次方向相同,则不需要换向,此时换向状态不必保持,重新加载换向延时值,当再有换向延时时,等待本次脉冲输出结束,对结束时的方向检测;如果新方向与上次方向不同,首先输出新方向,保持方向检测,进行换向延迟。

如图5所示,首先选择0-n号使能位选择模块,与此对应选择了0-n号的脉冲输出模块,再将选择好的脉冲输出模块绑定到固定的使能位,然后通过配置使能位控制模块,使能信号经过使能位选择模块对所选择的脉冲输出模块进行使能,通过使能位选择模块及使能位控制模块联合使用实现单独控制电机轴和多电机轴的同步联动。

如图6所示,该模块只能一次性输出脉冲,当输出的脉冲按照一定的频率输出到达设定值时,停止脉冲输出,此过程无加减速,但是该模块可以以恒定的速度输出脉冲。

如图7、8所示,hdi滤波处理模块将高速信号滤波后,信号传输到计数测频模块,根据技术模式的选择,检测到脉冲信号则开始计数测频,计数器产生的计数值实时通过通信接口模块反馈到arm芯片。

如图9、10所示,中断模块分为两部分,一部分如图9所示的di中断和hdi中断;另一部分如图10所示的高速计数中断。di中断与hdi中断的产生原理相同,中断模式有三种,即上升沿中断、下降沿中断或上升沿、下降沿中断。当中断模式配置后,对di信号沿检测,一旦有中断信号,立即发出中断请求,与此同时将中断通道反馈给arm芯片。高速计数中断模块,主要实现对外部输入脉冲计数,当计数值到达设定值时,产生中断信号。另外,中断设定值由用户实时设定,可满足用户对于计数的多次中断需求,该中断模式与di中断模式统一配置,产生的计数中断请求信号与di中断请求信号公用同一线路。

如图11所示,数字信号通过输入电路后,首先经过滤波处理模块再次滤波,主要完成对高频窄波的滤除。设定脉冲周期的一半周期时间对输入信号采样,因此当输入信号的半周期大于等于设定时间时,可以采样,输入正常;一旦输入的脉冲半周期小于设定时间,即输入脉冲频率过高,则无法正确的采样半周期信号。

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