CN106292543A - 基于fpga的多轴运动控制器及其应用 - Google Patents

基于fpga的多轴运动控制器及其应用 Download PDF

Info

Publication number
CN106292543A
CN106292543A CN201510245226.2A CN201510245226A CN106292543A CN 106292543 A CN106292543 A CN 106292543A CN 201510245226 A CN201510245226 A CN 201510245226A CN 106292543 A CN106292543 A CN 106292543A
Authority
CN
China
Prior art keywords
motor
motion controller
axis motion
interface
signal
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.)
Pending
Application number
CN201510245226.2A
Other languages
English (en)
Inventor
夏文元
柯海挺
诸庆
施巍巍
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ningbo Sunny Opotech Co Ltd
Original Assignee
Ningbo Sunny Opotech Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Ningbo Sunny Opotech Co Ltd filed Critical Ningbo Sunny Opotech Co Ltd
Priority to CN201510245226.2A priority Critical patent/CN106292543A/zh
Publication of CN106292543A publication Critical patent/CN106292543A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Control Of Electric Motors In General (AREA)

Abstract

一种基于FPGA的多轴运动控制器及其应用,通过可并行编程的一个FPGA模块为控制器核心,可同时精准地控制如X轴、Y轴、Z轴和旋转轴电机的多轴电机,使用者可以通过JTAG接口下载自行编程和进行二次开发,适用现今绝大多数自动化设备,此外,透过调整脉冲频率来改变设备上运动电机的运行速度,避免设备的惯性冲击造成损坏。

Description

基于FPGA的多轴运动控制器及其应用
技术领域
本发明涉及一种运动控制装置,更具体地说,是一种基于现场可编程门阵列(Field-programmable gate array,FPGA)的多轴运动控制装置,装置采通用型的开放设计,提供使用者可以自行编写控制程序,还支持多轴连动,提供更加精确的定位,更具备低成本、操作便利、可独立运作等特性,能为生产流程带来多方面的帮助。
背景技术
以现代的科技來看,自动化技术早已是工业界所重视的共通性关键技术,以往自动化的目的是为了取代人工操作,不仅是大量的降低人事成本,也减少了工作环境的面积,但在技术快速的发展下,追求高质量、高速度的自动化生产变成另一个主要优势,许多机电零组件的创新研发,带來了自动化的精准与速度。但未來产业自动化的目标不再仅仅于此,而是着重于强化弹性应变能力与反应敏捷能力,以满足客户多变的需求,及因应市场快速的变化。在自动化技术中主要包括了机电零组件、机器设备以及工厂自动化三个层次,机电零组件包括了控制器、传感器、驱动器、致动器及传动机构等。运用这些零件组可建构出自动化的工作系统,但这工作系统要如何达到所要求的运作方式,运动控制器是这自动化机电零件组的控制核心技术。
对机械系统进行可规划及运动行进轨迹的技术,皆可视为运动控制的技术,大部分的机械系统都是以马达为主要动力來源,如机器人、晶圆传送机器手臂、点胶机、钻孔机、雕刻机、绘图机等,这些机具都有个共通点,皆是采用多轴运动控制。控制单轴系统时,只需控制单颗马达需转动的圈數以及转动时的马达转动速度,而控制多轴系统下,如何规划在多颗马达的互相移动是很重要的问题,运动路径的产生、移动速度规划以及路径的插値都会影响到整个系统的正确性及稳定性,运动控制器就是使系统达成目的地核心控制单元。
然而就因为多轴运动控制器是工业运动控制系统中的核心控制单元,当接收了用户传来的运动资讯时,会将这些资讯转变成马达驱动器的输入讯号,进而控制自动化机构的运动。目前,国内外已经有很多商品化的独立式运动控制器,但这些运动控制器必须使用生产厂商所提供的数据才能进行二次开发,导致使用者对厂商存在高依赖性,加上现在的运动控制器大多都是依照其目标客群或特定功能条件来做开发,因此开放性差,可扩展功能性也相对较低。而最大的问题点则是在于当运动控制器应用在生产上时,由于在生产线上时常会出现许多临时突发的状况,但在状况发生时,我们并无法针对运动控制器来进行调整,只能将其关闭暂时停止作用,如此一来所涉及影响的层面就有可能进一部扩大到影响到整条生产线。
因此,若能使得运动控制器可以适用于更多的自动化设备,同时可以依情况来进行调整对于产在线的风险控管便能提供一个比较好的控制空间,此外,若运动控制器能具有比较好的适应性,那么对于整体制程成本也能提供良好的控管,对于整体制程效率也能有着显着的提升帮助。综上所述,我们可以发现通用性对于使用在制程上的运动控制器十分重要,因为其不仅可以实现风险控管与控制成本,更能有效地提升整体效率,因此,我们将此作为首要目标,并透过本发明落实我们的观念和想法。
发明内容
本发明的主要目的在于提供一种基于FPGA的多轴运动控制器,其能适用在各种自动化设备上,具有极佳的扩展性与开放性,不仅有助于生产效率提升,更能有效降低生产成本,维持制程稳定,增进定位准确性。
本发明的另一目的在于提供一种基于FPGA的多轴运动控制器,该装置具有高度开放性,使用者可自行针对环境或想要的功能,自行对该装置进行编程调整,不再受限于任何厂商。
本发明的另一目的在于提供一种基于FPGA的多轴运动控制器,该装置支持二次开发,可扩展性强,让使用者可以根据运动控制器实际运行的状况,自行编写特定的程序来使用。
本发明的另一目的在于提供一种基于FPGA的多轴运动控制器,实行通用型设计,控制器上会预先加载串口通信、电机控制、通用输出控制、通用输入状态读取、急停状态读取、原点信号读取、正负限位信号读取等通用功能,使之能适用各种不同的自动化设备。
本发明的另一目的在于提供一种基于FPGA的多轴运动控制器,特别针对点对点电机定位的自动化设备采用了多轴联动式设计,使得定位成果更加精准,增进实际工作效率。
本发明的另一目的在于提供一种基于FPGA的多轴运动控制器,可随着产品或系统的发展,实时地进行升级,不须耗时重新进行设计或修改基板配置。
本发明的另一目的在于提供一种基于FPGA的多轴运动控制器,可随时因应机台或系统的变化,且无须任何大型初始投资,几乎不会对原本产线曾增加任何维修成本。
本发明的另一目的在于提供一种基于FPGA的多轴运动控制器,可以在没有任何讯号输入的情况下独立运作,可节省工业计算机的支出,大幅降低生产成本。
本发明的另一目的在于提供一种基于FPGA的多轴运动控制器,在初始化进程、报警报告进程、工作进程、接受进程与发送进程均采独立运作,因此若是在平行运作的情况下其效能可以获得大幅度的提升。
本发明的另一目的在于提供一种基于FPGA的多轴运动控制器的应用方法,透过定时器来产生脉冲电流,并透过增减其频率来实现防止电机机械结构的惯性冲击与碰撞,降低设备的耗损。
本发明的另一目的在于提供一种基于FPGA的多轴运动控制器的应用方法,其控制电机运行时采用梯型曲线,确保电机平滑运行。
为实现上述目的多轴运动控制器,其包括一可并行编程的FPGA模块,以实行不需要差补算法而采用点对点定位方式的控制多轴电机。
优选地,所述多轴运动控制器用于控制X轴、Y轴、Z轴和旋转轴电机
优选地,所述的多轴运动控制器还包括可操作地连接于所述FPGA模块的JTAG接口,从而使所述多轴运动控制器具备可扩展和可二次开发性能。
优选地,所述多轴运动控制器还包括可操作地连接于所述FPGA模块的电源模块,其中所述电源模块工作电压是24伏特,并且适合于将24伏特电压转换输出如下电压值:15伏特、5伏特、3.3伏特或1.5伏特。
优选地,所述多轴运动控制器还包括可操作地连接于所述FPGA模块的复位电路,以为所述FPGA模块提供复位功能,从而使所述FPGA模块能够恢复至起始状态。
优选地,所述多轴运动控制器还包括可操作地连接于所述FPGA模块的一组接口设备,以完成相应的预定功能。
优选地,所述多轴运动控制器的所述接口设备选自至少如一选项中的一种:异步收发传输器接口、集成电路总线接口、通用输入接口、通用输出接口、原点信号接口、正限位信号接口、负限位信号接口、急停信号接口、电机脉冲接口、和电机方向接口。
优选地,所述多轴运动控制器的所述接口设备中包括所述原点信号接口、所述正限位信号接口和所述负限位信号接口时,所述多轴运动控制器进一步地包括光电传感器,在所述的原点信号接口中,如果所述光电传感器信号有效时,说明电机在原点位置,将电机停留在原点位置;所述的正限位信号接口和所述的负限位信号接口中,如果所述光电传感器信号有效时,说明电机在相应的限位位置,此时电机的运行范围至最大位置,将电机停留在该位置以防止电机的损坏。
优选地,所述多轴运动控制器的所述FPGA模块还包括差分驱动芯片,以产生差分驱动信号,从而以双脉冲方式控制相应的电机。
根据本发明的另外一方面,本发明提供一种多轴运动控制器用于控制多轴电机的方法:包括步骤:
初始化所述多轴运动控制器;
接收请求操作信号;
FPGA模块基于所述请求操作信号向多轴电机发送控制指令信号,以控制多轴电机的操作,其中所述方法采用点对点电机定位,以不需要差补算法地实现对多轴电机的控制操作。
优选地,在上述方法中,所述多轴电机是6轴电机,以基于所述FPGA模块地控制沿X轴、Y轴、Z轴移动和旋转操作。
优选地,在上述方法的初始化步骤中,相应地包括步骤:
(a)所述多轴运动控制器发送请求命令给一外部计算机;
(b)所述外部计算机发送最低速度封包至所述多轴运动控制器;
(c)所述多轴运动控制器回送数据包给所述外部计算机;
(d)所述外部计算机发松最高速度封包至所述多轴运动控制器;
(e)所述多轴运动控制器回送数据包给所述外部计算机;
(f)所述外部计算机发送加速度封包至所述多轴运动控制器;以及
(g)所述多轴运动控制器回送数据包给所述外部计算机以完成所述初始化步骤。
优选地,在上述方法的相应的接收请求操作信号的步骤中,包括如下步骤:
(A)进程开始,确认是否收到数据封包,是则进行步骤(B),否则中止进程;
(B)接收到一桢UART数据封包;
(C)存入缓存;
(D)缓存地址加1;
(E)检测是否完成一桢封包24字节,若未完成则返回步骤(B),完成则进行下一步;
(F)决定下一桢封包的缓存起始地址;以及
(G)结束进程。
优选地,在上述方法相应的发送控制信号的步骤中,相应地包括如下步骤:
(i)收到发送指令,发送进程启动;
(ii)发送一桢UART进程;
(iii)缓存地址加1;
(iv)检测一桢封包24字节是否发送完成,是则进行下一步,否则回到发送一桢UART进程的步骤;
(v)决定下一桢封包的缓存首地址;以及
(vi)结束进程。
优选地,在上述方法中,还包括应用报警信号的步骤,其具体地包括如下步骤:
(1)报警信号产生,开始接收报警信号;
(2)检测急停信号是否有效,若为有效则进行电机报警信号检测,无效则重新接收报警信号并检查报警信号是否有效;
(3)检测电机报警信号是否有效,若为有效,往下进行硬件正负限位检测,若为无效,则返回步骤(2);检测硬件正负限位是否有效,若为有效,往下进行软件正负限位检测,若为无效,则返回步骤(2);
(4)检测软件正负限位是否有效,若为有效,往下进行发送进程检测,若为无效,则返回步骤(2);
(5)确认发送进程是否空闲,若为是,进行报警报告数据包发送,若为否,则重新检测发送进程直至发送进程空闲能进行数据包的发送;
(6)同时发送报警信号数据包给外部计算器与内部的所述FPGA模块,
(7)外部计算器在收到报警报告数据包后,会回送数据包
(8)所述多轴运动控制器收到报警告数据包后直接采取措施,并回到步骤(1)重新开始接收报警信号;以及
(9)报警信号消除,报警报告进程结束。
优选地,在上述方法中,所述多轴运动控制器控制电机运行的操作还包括如下步骤:
在电机运行的开始阶段,增大发脉冲频率以增加电机运行速度;以及
在电机运行的结束阶段,减小发脉冲频率以降低电机运行速度。
优选地,在上述方法中,所述的多轴运动控制器中电机的加减速运动曲线采用梯形曲线,加速运动和减速运动的加速度相同,从而在电机运动过程开始和结束阶段可以防止电机机械结构的惯性冲击和碰撞。
优选地,在上述方法中,还包括步骤:通过JTAG接口下载新的替换程序,以使所述多轴运动控制器通用于各种自动化设备。
附图说明
图1是根据本发明基于FPGA的多轴运动控制器的一个优选实施例的系统框图。
图2是根据本发明基于FPGA的多轴运动控制器的一个优选实施例的初始化进程流程图。
图3是根据本发明基于FPGA的多轴运动控制器的一个优选实施例的接受进程流程图。
图4是根据本发明基于FPGA的多轴运动控制器的一个优选实施例的发送进程流程图。
图5是根据本发明基于FPGA的多轴运动控制器的一个优选实施例的进程流程图。
具体实施方式
以下描述用于揭露本发明以使本领域技术人员能够实现本发明。以下描述中的优选实施例只作为举例,本领域技术人员可以想到其他显而易见的变型。在以下描述中界定的本发明的基本原理可以应用于其他实施方案、变形方案、改进方案、等同方案以及没有背离本发明的精神和范围的其他技术方案。
如图1及图2所示,本发明提供一种基于FPGA的多轴运动控制器,其包括可操作地连接的一FPGA模块10、一电源模块20、一复位电路30、以及一组接口设备40。所述FPGA模块10使得所述多轴运动控制器可以在同一时间控制多路运动电机,实现多轴联动,在本发明的这个优选实施例中,所述多轴运动控制器可以实施为六轴运动控制器,其控制沿三个坐标轴X轴、Y轴和Z轴的移动以及旋转运动。
具体地,所述FPGA模块10指一种现场可编程六阵列模块(Field-programmable gate array,FPGA),其具备硬件频率的速度与稳定性、可独立运作、平行编程、重复写入操作以及现场实时编程等特性,因此特别适用于点对点定位系统,因其能进行并行编程,所以在多轴同时定位的情况下,依然可以维持高精准度。在本优选实施例中,采用了美商Actel公司所生产的A3P250芯片,该芯片集成25万门门电路、6144个触发器、36RAM kbits、1k FlashRom bits以及157个User IOs。本领域技术人员应该理解提是,上述ASP250芯片只作为举例但并不限制本发明,根据实际需要,可以选择其他合适的适于并行编程的芯片。
作为一个例子,所述FPGA模块10包括可操作地连接的可编程编辑单元(CLB,Configurable Logic Block),输入输出模块(IOB,Input OutputBlock),存储器如EPROM或EEPROM等,数字时钟管理模块(DCM,DigitalClock Manager),以及其他可能的内嵌功能单元和内嵌专用硬核等。值得一提的是,所述FPGA模块10是由存放在其内的所述存储器RAM中的程序来设置其工作状态的,因此,工作时需要对其内的所述存储器RAM进行编程,使用者可以根据不同的配置模式,采用不同的编程方式。
在一个更具体的例子中,加电时,FPGA芯片将EPROM中数据读入片内编程RAM中,配置完成后,FPGA进入工作状态。掉电后,FPGA恢复成白片,内部逻辑关系消失,因此,FPGA能够反复使用。FPGA的编程无须专用的FPGA编程器,只须用通用的EPROM、PROM编程器即可。当需要修改FPGA功能时,只需换一片EPROM即可。这样,同一片FPGA,不同的编程数据,可以产生不同的电路功能。因此,FPGA的使用非常灵活,从而本发明的所述多轴运动控制器可扩展性强,可针对具体的应用场景进行二次开发,使之适用于现今绝大多数的自动化设备,提升系统配适度,有效降低成本与提升生产效率。
所述电源模块20用于给整个所述多轴运动控制器提供电力供应,所述多轴运动控制器其他电子器件都可操作地连接至所述电源模块20从而可在电力供应下正常工作。在本发明的这个优选实施例中,所述电源模块20所采用的工作电压为24伏特,在所述电源模块20开始运作时,能自动转换电压为15伏特、5伏特、3.3伏特以及1.5伏特,使之得以适用于不同的应用供电场合,从而为整个所述多轴运动控制器的电子器件的可靠运行提供电力支持。
所述复位电路30可操作地连接至所述FPGA模块10,以为所述FPGA模块10提供复位功能,从而可以使所述FPGA模块10恢复至起始状态,然后再开始工作。
所述接口设备40使得所述多轴运动控制器可以耦由一些应用程序来实现相应的功能,例如所述接口设备40包括通用异步收发传输器接口(UART,Universal Asynchronous Receiver/Transmitter)41、集成电路总线(IIC,Inter-Integrated Circuit)接口42、通用输入接口43、通用输出接口44、原点信号接口45、正限位信号接口46a、负限位信号接口46b、急停信号接口47、电机脉冲接口48、和电机方向接口49等。从而通过这些接口设备,使得所述多轴运动控制器可以实现各种自动化设备中通用的包括串口通信、电机控制、通用输出控制、通用输入状态读取、急停状态读取、原点信号读取、正负限位信号读取等功能。更具体地,所述FPGA模块10可操作地连接至所述UART接口41,从而通过所述UART接口与外围设备进行连接,所述UART接口41包括了RS232、RS449、RS423、RS422和RS485等接口标准规范和总线标准规范,规定了通信口的电气特性、传输速率、连接特性和接口的机械特性等内容。也因为如此,使用者可以定义了电机运行命令、参数设置命令、状态读取命令等命令,所述电机运行命令用于对电机进行定位操作,所述参数设置命令用于对电机的运行速度、加速度、回零速度等参数进行设置,所述状态读取命令用于读取电机当前位置或通用IO口状态等。
所述的FPGA模块10与所述的IIC存储接口42连接。当所述存储器的存储芯片采用EEPROM(Electrically-Erasable Programmable Read-Only Memory),其读写使用IIC方式,所述的FPGA模块10可以通过IIC方式对所述存储芯片进行参数的读写操作,这些参数可以为最低速度、加速度、最高速度、回零速度等。
所述通用输入接口43,如可以实施为16路通用输入接口;以及所述通用输出接口44,如可以实施为16路通用输出接口,分别连接至所述FPGA模块10,以用于使所述FPGA模块10与外部设备进行信息交互。即外部设备可以通过所述通用输入接口43向所述FPGA模块10传送输入信号,所述FGPA模块10可以通过所述通用输出接口44向外部设备传送控制指令的输出信号。
在一个具体实施例中,对于所述通用输入接口43,通过光耦的隔离作用将24V工业用电平信号转化为3.3V电平信号,所述的16路通用输入接口43中的输入信号常用的有按键、急停按钮、电机报警信号等。对于所述通用输出接口44,通过光耦的隔离作用将3.3V电平信号转化为24V电平信号,所述的16路通用OUT接口44中的输出信号常用的有信号灯、指示灯、电磁阀等。例如,当有按键信号通过所述输入接口43传送至所述FPGA模块10,所述FPGA模块10相应地产生对应的控制指令,然后将所述控制指令通过所述通用输出接口44传送至相应的外部设备如信号灯,以打开或关闭所述信号灯。当有急停信号通过所述输入接口43传送至所述FPGA模块10,所述FPGA模块10相应地产生对应的急停控制指令,然后将所述急停控制指令通过所述通用输出接口44传送至相应的电机设备,以关闭相应的所述电机设备。当有电机报警信号通过所述输入接口43传送至所述FPGA模块10,所述FPGA模块10相应地产生对应的停止操作的控制指令,然后将所述停止操作的控制指令通过所述通用输出接口44传送至相应的电机设备,以停止相应的所述电机设备的运作。
值得一提的是,所述多轴控制器进一步地包括至少一光电传感器,以用于向对应的所述原点信号接口45、所述正限位信号接口46a、所述负限位信号接口46b传送信息。在本发明的一个具体例子中,所述原点信号接口45可以实施为4路原点信号接口、所述正限位信号接口46a可以实施为4路正限位信号接口、所述负限位信号接口46b可以实施为4路负限位信号接口。所述的4路原点信号接口中,如果光电传感器信号有效时,说明电机在原点位置,将电机停留在原点位置。所述的4路正限位信号接口和所述的4路负限位信号接口中,如果光电传感器信号有效时,说明电机在限位位置,此时电机的运行范围最大,将电机停留在该位置,否则将出现机械结构上的碰撞,损坏设备。
所述的FPGA模块10与所述的急停信号接口47可操作地连接。当设备出现报警信号或者紧急情况时,使用人员快速按下急停按钮,使得设备停止在当前状态。值得一提的是,所述急停操作在所有操作中优先级最高,急停信号有效时需将设备所有的电机停止,停止在当前状态。
所述的FPGA模块10通过差分驱动芯片与所述电机脉冲接口48如4路电机脉冲接口连接。电机常用的驱动方式有单脉冲和双脉冲方式,在本发明的这个优选实施例中,所述的多轴运动控制器中电机的控制可以选择双脉冲方式,差分信号是由所述差分驱动芯片产生。
所述的FPGA模块10进一步地通过所述差分驱动芯片与所述电机方向接口49如4路电机方向接口13相连接,本发明的这个优选实施例的所述的多轴运动控制器中采用的电机方向为双脉冲方式。
值得一提的是,所述的多轴运动控制器进一步地包括至少一JTAG(JointTest Action Group)接口50,所述JTAG接口50可操作地连接至所述JPAG模块,用于实现ISP(In-System Programmer,在系统编程),对本发明所述多轴运动控制器的器件进行编程。例如,在一个例子中,所述JTAG接口50包括:TMS线、TCK线、TDI线和TDO线,其分别为模式选择、时钟、数据输入和数据输出线。
传统生产流程中先对芯片进行预编程然后再装到板上,JTAG编程方式是在线编程,从而使流程更加简化。例如可以先组装元器件,再用JTAG编程,从而大大加快工程进度。JTAG接口可对芯片内部的所有部件进行编程。所以,使用者可以根据需要,下载新的程序,从而增强本发明的所述多轴运动控制器的扩展性。另外,使用者也可以根据实际使用情况,编写相应的应用程序。
所述的多轴运动控制器中用FPGA搭建的定时器来产生脉冲信号,发脉冲频率的增加能增加电机运行速度,发脉冲频率的减少能降低电机运行速度。在电机运动过程开始和结束阶段,为了防止电机机械结构的惯性冲击和碰撞,可以在电机运动开始时有个加速运动,电机结束时有个减速运动。所述的多轴运动控制器中电机的加减速运动曲线采用梯形曲线,加速运动和减速运动的加速度相同。
也就是说,电机在加速阶段和减速阶段的加速度,其大小相等,但方向相反,因此所述通用型多轴运动控制装置的加减速运动曲线会采用梯形曲线,当所述通用型多轴运动控制器以梯形曲线来进行控制时,其加速度连续、速度曲线光滑、电机运动平稳以及无冲击等优点,使得设备免除惯性冲击进而造成损坏的可能。
以下将针对各进程进行地一步地详述,首先应理解的是,所述FPGA模块10主要是透过FPGA程序来进行控制,然而FPGA程序则是透过初始化进程、报警报告进程、工作进程、接受进程、发送进程组成,每个进程并行独立工作,进程之间通过标志位互相判别联系,各个进程的实际运作方式则如图2到图5所示。
首先看到图2为本发明通用型多轴运动控制器的初始化进程流程图,在预备进行初始化时,可以先将所述通用型多轴运动控制器连接于一外部计算机例如可以是一台控制电脑,由所述通用型多轴运动控制器发送请求命令给该外部计算机,当该外部计算机接收到请求信号时,会先发送内含最低运行速度的数据包回送给所述通用型多轴运动控制器,当所述通用型多轴运动控制器收到最低速度数据包时,会触发回送一个数据包给该外部计算机,以促使计算机在接着发送内含最高运行度的数据包给所述通用型多轴运动控制器,在所述通用型多轴运动控制器接收到最高速度数据包时,同样会在回送一个数据包回该外部计算机,以触发计算机进行发送内含加速度数据的数据包至所述通用型多轴运动控制器,然而,在所述通用型多轴运动控制器接收到加速度数据包后,则会回传第三个数据包该外部计算机,通知计算机初始化进行已经完成,以准备完成程序作业。
然后作为是基于FPGA结构的所述FPGA模块10与其他数字系统进行串型通信的UART电路进行数据接收和发送的进程,如图3与图4所示。具体地,作为一个例子,数据接收主要采一封包24字节进行发送,且其具备自动重传功能,也就是说,当封包进行发送时,会先判断是否收到该封包,若无则自动重新发送,若接收到了则会开始依序进行接收UART数据,并将数据存到缓存中,接着将缓存地址加一,确认是否完成24个字节的接收,如无,则会重新接收UART数据,若确实完持一封包24字节的接收,那么会先产生下一个封包进行接收的缓存首位置,接着结束接收进程。
而发送进程步骤与接收进程步骤相似,唯一不同的地方在于在开始时就直接发送一桢UART数据,接着将缓存地址加1,缓存地址加1后再确认一桢24字节是否完全发送完毕,如果并未发送完成则会重新发送一桢封包,否则便会决定下一桢封包的缓存首寻址后,结束发送进程。
如图5所示是本发明通用型多轴运动控制器的报警报告进程流程图,当设备有突发的中止状况发生时,现场人员可以透过按压紧急停止钮,使之产生一急停信号,开始依序对急停信号、电机报警信号、硬件正负限位、软件正负限为以及该紧急停止铵钮是否确实被启动,接着要确认发送进程是否为闲置状态,确定为闲置状态后才会发送报警报告数据包给所述外部计算机以及控制器,最后当控制器采取措施后,将设备重启动后便能回复至初始状态。
相应地,本发明提供了多轴运动控制器用于控制多轴电机的方法:包括步骤:
初始化所述多轴运动控制器;
接收请求操作信号;
FPGA模块10基于所述请求操作信号向多轴电机发送控制指令信号,以控制多轴电机的操作,其中所述方法采用点对点电机定位,以不需要差补算法地实现对多轴电机的控制操作。
在上述方法中,所述多轴电机是4轴电机,基于所述FPGA模块10地控制X轴、Y轴、Z轴以及U轴电机的操作。在上述初始化步骤中,相应地包括步骤:
(a)所述多轴运动控制器发送请求命令给一外部计算机;
(b)所述外部计算机发送最低速度封包至所述多轴运动控制器;
(c)所述多轴运动控制器回送数据包给所述外部计算机;
(d)所述外部计算机发松最高速度封包至所述多轴运动控制器;
(e)所述多轴运动控制器回送数据包给所述外部计算机;
(f)所述外部计算机发送加速度封包至所述多轴运动控制器;以及
(g)所述多轴运动控制器回送数据包给所述外部计算机以完成所述初始化步骤。
在相应的接收请求操作信号的步骤中,根据一个具体示例,可以相应地包括如下步骤:
(A)进程开始,确认是否收到数据封包,是则进行步骤(B),否则中止进程;
(B)接收到一桢UART数据封包;
(C)存入缓存;
(D)缓存地址加1;
(E)检测是否完成一桢封包24字节,若未完成则返回步骤(B),完成则进行下一步;
(F)决定下一桢封包的缓存起始地址;以及
(G)结束进程。
在相应的发送控制信号的步骤中,相应地包括如下步骤:
(i)收到发送指令,发送进程启动;
(ii)发送一桢UART进程;
(iii)缓存地址加1;
(iv)检测一桢封包24字节是否发送完成,是则进行下一步,否则回到发送一桢UART进程的步骤;
(v)决定下一桢封包的缓存首地址;以及
(vi)结束进程。
在上述方法中,还包括应用报警信号的步骤,其具体地包括如下步骤:
(1)报警信号产生,开始接收报警信号;
(2)检测急停信号是否有效,若为有效则进行电机报警信号检测,无效则重新接收报警信号并检查报警信号是否有效;
(3)检测电机报警信号是否有效,若为有效,往下进行硬件正负限位检测,若为无效,则返回步骤(2);检测硬件正负限位是否有效,若为有效,往下进行软件正负限位检测,若为无效,则返回步骤(2);
(4)检测软件正负限位是否有效,若为有效,往下进行发送进程检测,若为无效,则返回步骤(2);
(5)确认发送进程是否空闲,若为是,进行报警报告数据包发送,若为否,则重新检测发送进程直至发送进程空闲能进行数据包的发送;
(6)同时发送报警信号数据包给外部计算器与内部的所述现场可编程门阵列模块,
(7)外部计算器在收到报警报告数据包后,会回送数据包
(8)控制器收到报警告数据包后直接采取措施,并回到步骤(1)重新开始接收报警信号;以及
(9)报警信号消除,报警报告进程结束。
值得一提的是,所述多轴运动控制器控制电机运行的操作还包括如下步骤:
在电机运行的开始阶段,增大发脉冲频率以增加电机运行速度;和
在电机运行的结束阶段,减小发脉冲频率以降低电机运行速度。
优选地,所述的多轴运动控制器中电机的加减速运动曲线采用梯形曲线,加速运动和减速运动的加速度相同,从而在电机运动过程开始和结束阶段可以防止电机机械结构的惯性冲击和碰撞。
另外,在本发明的多轴运动控制器应用于其他新的电机的控制或控制方式不一样时,可以通过JTAG接口50下载新的程序,从而所述多轴运动控制器可以运行该新的程序来实现相应的控制操作。
上述描述揭露了本发明所述通用型多轴运动控制器的运作情形,以及各进程独立运作的情况。可以理解的是,让运动控制器得以适用于多数自动化设备,使得其通用性得以扩张,主要是透过所述FPGA模块10,因为该模块主要是基于现场可程序逻辑数组(FPGA)来进行设计,而现今的现场可程序逻辑数组(FPGA)自身就具备独立进程运作的能力,且因为被广泛使用,因此其适用性与通用性也相对高出许多。而在本发明中特别需要注意的是,我们采用了梯形曲线的双脉冲方式来设计运动电机的运行方式,透过改变现场可程序逻辑数组(FPGA)上预载的定时器作为脉冲来源,调节发送脉冲的频率来改变运动电机在点对点定位过程中,起始和结束时的运行速率,确保电机平滑运行,使得所述通用型多轴运动控制器因自身结构所产生的惯性冲击得以被消除,确实对整体设备达到完善的保护。
此外,本发明在优选实施例中,本发明所述的多轴运动控制器适合于支持六轴连动。采用本发明的所述多轴运动控制器,在实际生产线所使用的自动化设备,几乎都没有用到差补等算法,都是采用点对点电机定位。本发明基于X轴、Y轴、Z轴以及旋转轴的六轴电机来进行设计,在实验下发现,这样的设计对于电机定位不仅不会造成影响,还能提供高精准度的定位,符合实际上的工作需求。
本领域的技术人员应理解,上述描述及附图中所示的本发明的实施例只作为举例而并不限制本发明。本发明的目的已经完整并有效地实现。本发明的功能及结构原理已在实施例中展示和说明,在没有背离所述原理下,本发明的实施方式可以有任何变形或修改。

Claims (18)

1.一种基于FPGA的多轴运动控制器,其特征在于,包括一可并行编程的FPGA模块,以实行不需要差补算法而采用点对点定位方式的控制多轴电机。
2.如权利要求1所述的多轴运动控制器,其中所述多轴运动控制器用于控制X轴、Y轴、Z轴和旋转轴电机。
3.如权利要求1所述的多轴运动控制器,其包括可操作地连接于所述FPGA模块的JTAG接口,从而使所述多轴运动控制器具备可扩展和可二次开发性能。
4.如权利要求1所述的多轴运动控制器,还包括可操作地连接于所述FPGA模块的电源模块,其中所述电源模块工作电压是24伏特,并且适合于将24伏特电压转换输出如下电压值:15伏特、5伏特、3.3伏特或1.5伏特。
5.如权利要求1所述的多轴运动控制器,还包括可操作地连接于所述FPGA模块的复位电路,以为所述FPGA模块提供复位功能,从而使所述FPGA模块能够恢复至起始状态。
6.如权利要求1至5中任一所述的多轴运动控制器,还包括可操作地连接于所述FPGA模块的一组接口设备,以完成相应的预定功能。
7.如权利要求1所述的多轴运动控制器,其中所述接口设备选自至少如一选项中的一种:异步收发传输器接口、集成电路总线接口、通用输入接口、通用输出接口、原点信号接口、正限位信号接口、负限位信号接口、急停信号接口、电机脉冲接口、和电机方向接口。
8.如权利要求7所述的多轴运动控制器,其中所述接口设备中包括所述原点信号接口、所述正限位信号接口和所述负限位信号接口时,所述多轴运动控制器进一步地包括光电传感器,在所述的原点信号接口中,如果所述光电传感器信号有效时,说明电机在原点位置,将电机停留在原点位置;所述的正限位信号接口和所述的负限位信号接口中,如果所述光电传感器信号有效时,说明电机在相应的限位位置,此时电机的运行范围至最大位置,将电机停留在该位置以防止电机的损坏。
9.如权利要求1至5中任一所述的多轴运动控制器,所述FPGA模块还包括差分驱动芯片,以产生差分驱动信号,从而以双脉冲方式控制相应的电机。
10.一种多轴运动控制器用于控制多轴电机的方法,其特征在于,包括步骤:
初始化所述多轴运动控制器;
接收请求操作信号;以及
FPGA模块基于所述请求操作信号向多轴电机发送控制指令信号,以控制多轴电机的操作,其中所述方法采用点对点电机定位,以不需要差补算法地实现对多轴电机的控制操作。
11.如权利要求10所述的方法,其中所述多轴电机是6轴电机,以基于所述FPGA模块地控制沿X轴、Y轴、Z轴的移动和旋转操作。
12.如权利要求10所述的方法,在上述初始化步骤中,相应地包括步骤:
(a)所述多轴运动控制器发送请求命令给一外部计算机;
(b)所述外部计算机发送最低速度封包至所述多轴运动控制器;
(c)所述多轴运动控制器回送数据包给所述外部计算机;
(d)所述外部计算机发松最高速度封包至所述多轴运动控制器;
(e)所述多轴运动控制器回送数据包给所述外部计算机;
(f)所述外部计算机发送加速度封包至所述多轴运动控制器;以及
(g)所述多轴运动控制器回送数据包给所述外部计算机以完成所述初始化步骤。
13.如权利要求10所述的方法,在相应的接收请求操作信号的步骤中,包括如下步骤:
(A)进程开始,确认是否收到数据封包,是则进行步骤(B),否则中止进程;
(B)接收到一桢UART数据封包;
(C)存入缓存;
(D)缓存地址加1;
(E)检测是否完成一桢封包24字节,若未完成则返回步骤(B),完成则进行下一步;
(F)决定下一桢封包的缓存起始地址;以及
(G)结束进程。
14.如权利要求10所述的方法,在相应的发送控制信号的步骤中,相应地包括如下步骤:
(i)收到发送指令,发送进程启动;
(ii)发送一桢UART进程;
(iii)缓存地址加1;
(iv)检测一桢封包24字节是否发送完成,是则进行下一步,否则回到发送一桢UART进程的步骤;
(v)决定下一桢封包的缓存首地址;以及
(vi)结束进程。
15.如权利要求10所述的方法,在上述方法中,还包括应用报警信号的步骤,其具体地包括如下步骤:
(1)报警信号产生,开始接收报警信号;
(2)检测急停信号是否有效,若为有效则进行电机报警信号检测,无效则重新接收报警信号并检查报警信号是否有效;
(3)检测电机报警信号是否有效,若为有效,往下进行硬件正负限位检测,若为无效,则返回步骤(2);检测硬件正负限位是否有效,若为有效,往下进行软件正负限位检测,若为无效,则返回步骤(2);
(4)检测软件正负限位是否有效,若为有效,往下进行发送进程检测,若为无效,则返回步骤(2);
(5)确认发送进程是否空闲,若为是,进行报警报告数据包发送,若为否,则重新检测发送进程直至发送进程空闲能进行数据包的发送;
(6)同时发送报警信号数据包给外部计算器与内部的所述FPGA模块,
(7)外部计算器在收到报警报告数据包后,会回送数据包
(8)所述多轴运动控制器收到报警告数据包后直接采取措施,并回到步骤(1)重新开始接收报警信号;以及
(9)报警信号消除,报警报告进程结束。
16.如权利要求10至15中任一所述的方法,其中所述多轴运动控制器控制电机运行的操作还包括如下步骤:
在电机运行的开始阶段,增大发脉冲频率以增加电机运行速度;以及
在电机运行的结束阶段,减小发脉冲频率以降低电机运行速度。
17.如权利要求16所述的方法,其中所述的多轴运动控制器中电机的加减速运动曲线采用梯形曲线,加速运动和减速运动的加速度相同,从而在电机运动过程开始和结束阶段可以防止电机机械结构的惯性冲击和碰撞。
18.如权利要求10至15中任一所述的方法,还包括步骤:通过JTAG接口下载新的替换程序,以使所述多轴运动控制器通用于各种自动化设备。
CN201510245226.2A 2015-05-14 2015-05-14 基于fpga的多轴运动控制器及其应用 Pending CN106292543A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510245226.2A CN106292543A (zh) 2015-05-14 2015-05-14 基于fpga的多轴运动控制器及其应用

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510245226.2A CN106292543A (zh) 2015-05-14 2015-05-14 基于fpga的多轴运动控制器及其应用

Publications (1)

Publication Number Publication Date
CN106292543A true CN106292543A (zh) 2017-01-04

Family

ID=57630957

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510245226.2A Pending CN106292543A (zh) 2015-05-14 2015-05-14 基于fpga的多轴运动控制器及其应用

Country Status (1)

Country Link
CN (1) CN106292543A (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106945045A (zh) * 2017-04-19 2017-07-14 广州视源电子科技股份有限公司 基于ros和orocos的机器人控制的通信方法和系统
CN106965181A (zh) * 2017-04-19 2017-07-21 广州视源电子科技股份有限公司 基于ros和orocos的机器人控制方法和系统
CN108199940A (zh) * 2017-12-26 2018-06-22 首都师范大学 一种机器人关节通信系统模型的验证方法及系统
CN108874394A (zh) * 2018-04-17 2018-11-23 上海达野智能科技有限公司 机器人用户程序的解释方法及解释装置
CN109773796A (zh) * 2019-03-20 2019-05-21 河海大学常州校区 一种机械臂的工作方法

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101086664A (zh) * 2007-07-09 2007-12-12 上海大学 基于mpc5200的多轴运动控制器及其操作方法
CN201426109Y (zh) * 2009-05-31 2010-03-17 深圳市雷泰控制技术有限公司 一种pci总线型多轴脉冲式运动控制卡
CN101763071A (zh) * 2010-01-25 2010-06-30 深圳信息职业技术学院 一种独立式多轴运动控制器
CN102004468A (zh) * 2010-11-07 2011-04-06 上海交通大学 基于fpga单处理器的光纤接口多轴运动控制系统
CN102291073A (zh) * 2011-08-04 2011-12-21 广西民族师范学院 多轴步进电机插补控制器及多轴步进电机运动控制卡
CN103324144A (zh) * 2013-05-28 2013-09-25 繁昌县倍思生产力促进中心有限公司 基于fpga的四轴运动控制卡
CN103389685A (zh) * 2012-05-11 2013-11-13 四川优的科技有限公司 一种嵌入式运动控制系统
CN103941648A (zh) * 2014-03-07 2014-07-23 东莞市升力智能科技有限公司 多轴运动控制系统及其控制方法

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101086664A (zh) * 2007-07-09 2007-12-12 上海大学 基于mpc5200的多轴运动控制器及其操作方法
CN201426109Y (zh) * 2009-05-31 2010-03-17 深圳市雷泰控制技术有限公司 一种pci总线型多轴脉冲式运动控制卡
CN101763071A (zh) * 2010-01-25 2010-06-30 深圳信息职业技术学院 一种独立式多轴运动控制器
CN102004468A (zh) * 2010-11-07 2011-04-06 上海交通大学 基于fpga单处理器的光纤接口多轴运动控制系统
CN102291073A (zh) * 2011-08-04 2011-12-21 广西民族师范学院 多轴步进电机插补控制器及多轴步进电机运动控制卡
CN103389685A (zh) * 2012-05-11 2013-11-13 四川优的科技有限公司 一种嵌入式运动控制系统
CN103324144A (zh) * 2013-05-28 2013-09-25 繁昌县倍思生产力促进中心有限公司 基于fpga的四轴运动控制卡
CN103941648A (zh) * 2014-03-07 2014-07-23 东莞市升力智能科技有限公司 多轴运动控制系统及其控制方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
邬海宏: "基于FPGA的运动控制器的设计", 《中国优秀硕士学位论文全文数据库(电子期刊)信息科技辑》 *
马月: "基于FPGA的电机运动控制器设计与实现", 《中国优秀硕士学位论文全文数据库(电子期刊)信息科技辑》 *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106945045A (zh) * 2017-04-19 2017-07-14 广州视源电子科技股份有限公司 基于ros和orocos的机器人控制的通信方法和系统
CN106965181A (zh) * 2017-04-19 2017-07-21 广州视源电子科技股份有限公司 基于ros和orocos的机器人控制方法和系统
CN106945045B (zh) * 2017-04-19 2019-12-17 广州视源电子科技股份有限公司 基于ros和orocos的机器人控制的通信方法和系统
CN106965181B (zh) * 2017-04-19 2019-12-17 广州视源电子科技股份有限公司 基于ros和orocos的机器人控制方法和系统
CN108199940A (zh) * 2017-12-26 2018-06-22 首都师范大学 一种机器人关节通信系统模型的验证方法及系统
CN108199940B (zh) * 2017-12-26 2021-07-20 首都师范大学 一种机器人关节通信系统模型的验证方法及系统
CN108874394A (zh) * 2018-04-17 2018-11-23 上海达野智能科技有限公司 机器人用户程序的解释方法及解释装置
CN109773796A (zh) * 2019-03-20 2019-05-21 河海大学常州校区 一种机械臂的工作方法

Similar Documents

Publication Publication Date Title
CN106292543A (zh) 基于fpga的多轴运动控制器及其应用
CN102862161B (zh) 一种基于现场总线的pac工业机器人控制系统
CN103085054B (zh) 带电抢修机器人主从式液压力反馈机械臂控制系统及方法
CN107921635A (zh) 机器人系统
US20110071679A1 (en) Embedded diagnostic, prognostic, and health management system and method for a humanoid robot
CN102841557A (zh) 四轴全自动高速点胶机器人伺服控制系统
CN105033996B (zh) 基于手推示教式五轴水平关节机器人的控制系统
CN102073302A (zh) 全数字化分布式智能伺服驱动器
CN114509985A (zh) 一种基于运动控制的虚轴控制系统
CN204832853U (zh) 一种多接口运动控制器
CN102837311A (zh) 一种五轴中低速全自动点胶机器人伺服控制器
CN102830644A (zh) 五轴高速点胶机器人伺服控制系统
CN105479431A (zh) 惯性导航式机器人示教设备
CN104626139A (zh) 一种组态机器人
CN207488758U (zh) 一种机器人底盘运动控制系统
CN103978324A (zh) 一种双核五轴焊接机器人控制系统
CN102799124B (zh) 仿生机械恐龙的控制系统
CN103817695A (zh) 一种机器人柔性关节的控制方法及驱动装置
CN107962546A (zh) 一种图像识别元素跟随拾取机器人
CN205281265U (zh) 一种人形机器人的实时控制系统
KR101379430B1 (ko) 독립된 기능을 갖는 로봇용 액츄에이터 모듈
RU2657919C1 (ru) Универсально-распределенная гибридная система управления маркираторами с обратной связью
CN213999458U (zh) 一种基于教学实训的智能移动机器人
CN202837919U (zh) 五轴高速点胶机器人伺服控制系统
CN215006354U (zh) 一种集成plc、视觉或力反馈的一体化执行机构

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20170104