首页> 中国专利> 一种基于FPGA的通用工业运动控制系统及基于该运动控制系统的控制方法

一种基于FPGA的通用工业运动控制系统及基于该运动控制系统的控制方法

摘要

一种基于FPGA的通用工业运动控制系统及基于该运动控制系统的控制方法,涉及工业运动控制领域。解决了现有运动控制器在进行工业组网和运动控制时,对于常用工业现场总线协议和位置传感器接口协议支持较少且固定,导致运动控制器无法与外部设备兼容的缺陷,同时,现有运动控制器的控制方法过于复杂导致控制时间长的问题。该系统包括FPGA模块、总线接口模块、USB接口模块、SD卡接口模块、驱动器接口模块、配置模块和A/D转换模块,本发明所述系统从上位机获取控制参数,进行信息配置,然后根据相关控制参数和指令进行解析,并执行运动学运算,将计算结果发送至电机控制模块实现对电机伺服驱动器的控制。本发明适用于对电机伺服驱动器进行控制。

著录项

  • 公开/公告号CN103984275A

    专利类型发明专利

  • 公开/公告日2014-08-13

    原文格式PDF

  • 申请/专利权人 北京敬科海工科技有限公司;

    申请/专利号CN201410250922.8

  • 发明设计人 孙敬颋;毛琨;

    申请日2014-06-06

  • 分类号G05B19/042(20060101);G05B19/418(20060101);

  • 代理机构23109 哈尔滨市松花江专利商标事务所;

  • 代理人张宏威

  • 地址 100191 北京市海淀区北四环中路238号柏彦大厦1307

  • 入库时间 2023-12-17 00:30:37

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-07-13

    专利权的转移 IPC(主分类):G05B19/042 登记生效日:20180625 变更前: 变更后: 申请日:20140606

    专利申请权、专利权的转移

  • 2017-11-24

    专利权的转移 IPC(主分类):G05B19/042 登记生效日:20171103 变更前: 变更后: 申请日:20140606

    专利申请权、专利权的转移

  • 2016-08-17

    授权

    授权

  • 2014-09-10

    实质审查的生效 IPC(主分类):G05B19/042 申请日:20140606

    实质审查的生效

  • 2014-08-13

    公开

    公开

说明书

技术领域

本发明涉及工业运动控制领域。

背景技术

现场总线控制技术是20世纪80年代在国际上发展起来的工业控制技术,各个控制节点 通过网络进行连接,极大的简化了传统控制系统繁琐的布线功能,因此在工控领域得到了广 泛的应用。但是,现场总线标准种类繁多,有ModBus、Profibus、CAN、LonWorks等,并没 有事实的标准,不同厂家的伺服驱动器、运动控制器、PLC等工控设备支持不同的网络,必 须采用支持该网络协议的工控设备,这样就给系统的集成带来了困难,也增加了系统成本。

在工业领域中,运动控制系统已经在装配加工、机器人控制、数控机床等场合得到广泛 应用。现有的运动控制器对于工控网络的支持也存在类似的问题,在进行组网时必须使用支 持相同协议的设备。对于不同协议的设备之间只能使用协议转接器进行转换,增加了系统成 本,也降低了通讯速率。

另外,对于控制精度较高的场合,运动控制器有时需要进行位置闭环控制。不同种类的 位置传感器支持的接口协议可能不一样,因此在使用位置传感器构成系统闭环控制时,运动 控制器或者位置传感器的接口必须统一起来,这也给系统集成带来很大的困难。

目前高性能的运动控制器普遍采用DSP作为主控芯片,应用于运动控制时,能够较好的 完成轨迹规划、坐标变换等控制算法。但是此类系统应用于工业场合时,常常需要与人机接 口设备HMI、PLC以及作为节点工业以太网或者其他网络协议进行组网,将通讯与状态监控 功能集成在DSP时会占用大量的系统资源,降低控制性能,一般会采用独立的控制芯片进行 通讯与状态监控。这种方式会使系统硬件更加复杂,同时增加系统硬件成本和开发成本。

发明内容

本发明为了解决现有运动控制器在进行工业组网和运动控制时,对于常用工业现场总线 协议和位置传感器接口协议支持较少且固定,导致运动控制器无法与外部设备兼容的缺陷, 同时,现有运动控制器的控制方法过于复杂导致控制时间长和精度低的问题,提出了一种基 于FPGA的通用工业运动控制系统。

一种基于FPGA的通用工业运动控制系统,其特征在于,它包括:

用于同时与外部现场总线、上位机、电机伺服驱动器和SD存储卡实现数据交互,并根 据接收的数据信息进行运动学计算的FPGA模块,

用于实现外部现场总线与FPGA模块进行数据交互的总线接口模块,

用于实现上位机与FPGA模块进行数据交互的USB接口模块,

用于实现SD存储卡与FPGA模块进行数据交互的SD卡接口模块,

用于实现电机伺服驱动器与FPGA模块进行数据交互的驱动器接口模块,

用于将加载FPGA模块的引脚和资源配置信息和执行FPGA模块中存储的系统软件,并 将该配置信息进行存储的配置模块,

用于将外部输入的模拟信号转换为数字信号,并将该数字信号输送至FPGA模块的A/D 转换模块。

所述FPGA模块内部有软件实现的数据接收计算模块,所述数据接收计算模块包括:

用于通过总线接口模块接收外部现场总线数据的外部现场总线数据接收模块,

用于通过总线接口模块向外部现场总线发送数据的外部现场总线数据发送模块,

用于通过USB接口模块接收上位机数据的上位机数据接收模块,

用于通过USB接口模块向上位机发送数据的上位机数据发送模块,

用于通过SD卡接口模块接收SD存储卡数据的SD存储卡数据接收模块,

用于通过SD卡接口模块向SD存储卡发送数据的SD存储卡数据发送模块,

用于通过驱动器接口模块接收电机伺服驱动器数据的电机伺服驱动器数据接收模块,

用于通过驱动器接口模块向电机伺服驱动器发送数据的电机伺服驱动器数据发送模块,

用于对外部现场总线数据、上位机数据、电机伺服驱动器数据和SD存储卡数据进行解 析,并将解析结果发送至浮点处理器的定点处理器,

用于根据解析结果进行逻辑运算,并将逻辑运算结果发送至电机控制模块的浮点处理器,

用于根据逻辑运算结果对电机伺服驱动器进行控制的电机控制模块。

所述电机控制模块包括:

用于识别当前对电机伺服驱动器进行控制的控制方法为开环控制方法或闭环控制方法的 电机控制识别模块,当控制方法为开环控制方法时,电机控制识别模块向闭环控制模块发送 停止工作的信号,当控制方法为闭环控制方法时,电机控制识别模块向闭环控制模块发送开 始工作的信号,

用于接收位置传感器模块发送的电机伺服驱动器的位置信息,并将该位置信息发送至闭 环控制模块的位置信息接收模块,

用于根据位置信息接收模块发送的电机伺服驱动器的位置信息和浮点处理器发送的逻辑 运算结果生成闭环控制信号,并将该闭环控制信号发送至闭环PWM脉冲生成模块的闭环控 制模块,

用于当电机伺服驱动器的控制方法为开环控制方法时,根据逻辑运算结果生成开环PWM 脉冲的开环PWM脉冲生成模块,

用于当电机伺服驱动器的控制方法为闭环控制方法时,根据逻辑运算结果和闭环控制信 号生成闭环PWM脉冲的闭环PWM脉冲生成模块。

基于上述基于FPGA的通用工业运动控制系统的控制方法,它包括以下步骤:

用于将加载FPGA模块的引脚和资源配置信息和执行FPGA模块中存储的系统软件,并 将该配置信息进行存储的配置步骤,

用于检测系统工作电压以及看门狗监测是否处于正常工作状态的工作状态检测步骤,

用于FPGA模块接收外部现场总线数据的外部现场总线数据接收步骤,

用于对外部现场总线数据、上位机数据、电机伺服驱动器数据和SD存储卡数据进行指 令解析的定点运算步骤,

用于根据指令解析结果进行电机运动控制以及单轴驱动的浮点运算步骤,

用于识别当前对电机伺服驱动器进行控制的控制方法为开环控制方法或闭环控制方法的 电机控制识别步骤,当控制方法为开环控制方法时,电机控制识别模块向闭环控制模块发送 停止工作的信号,当控制方法为闭环控制方法时,电机控制识别模块向闭环控制模块发送开 始工作的信号,

用于接收位置传感器模块发送的电机伺服驱动器的位置信息,并将该位置信息发送至闭 环控制模块的位置信息接收步骤,

用于根据电机伺服驱动器的位置信息和逻辑运算结果生成闭环控制信号的闭环控制步 骤,

用于当电机伺服驱动器的控制方法为开环控制方法时,根据逻辑运算结果生成开环PWM 脉冲的开环PWM脉冲生成步骤,

用于当电机伺服驱动器的控制方法为闭环控制方法时,根据逻辑运算结果和闭环控制信 号生成闭环PWM脉冲的闭环PWM脉冲生成步骤。

有益效果:本发明基于单FPGA芯片,通过系统配置可以支持包括以太在内的多种工业 现场总线和位置传感器接口协议,并且具备升级能力,因此可以方便快捷的和现有工业网络 进行集成,不需要采购专门的运动控制器和位置传感器,具有很强的通用性;

本发明可以根据实际应用的现场总线协议,通过上位机进行逻辑配置,降低了系统的总 体成本,提高了运动控制器的通用性,同时可以依靠扩展接口配合软件进行总线协议的升级, 进一步拓展了运动控制器的应用范围;

本发明在进行位置闭环控制时,能够支持SSI、EnDat、BiSSel和HiperFace四种最常用 的位置传感器接口协议,但是也可以根据扩展接口进行接口协议的升级来适应更多接口类型 的位置传感器。

本发明针对日益复杂的工业现场总线通讯及控制需求,通过在FPGA芯片内嵌入两片32 位的软核处理器来分别完成控制监测与通讯和运动轨迹控制,降低了控制通讯与监测对于硬 件资源的占用,降低了系统控制复杂性以及成本,缩短了控制电机的时间,提高了电机控制 精度;

本发明采用USB接口和上位机进行通讯,系统最高通讯速率可达12Mbps,远高于普通 串口通讯速度,以便更好的满足日益增长的总线网络通讯要求。

附图说明

图1为一种基于FPGA的通用工业运动控制系统的结构示意图。

具体实施方式

具体实施方式一、结合图1说明本具体实施方式,本具体实施方式所述的一种基于 FPGA的通用工业运动控制系统包括:

用于同时与外部现场总线、上位机、电机伺服驱动器和SD存储卡实现数据交互,并根 据接收的数据信息进行运动学计算的FPGA模块1,

用于实现外部现场总线与FPGA模块1进行数据交互的总线接口模块2,

用于实现上位机与FPGA模块1进行数据交互的USB接口模块3,

用于实现SD存储卡与FPGA模块1进行数据交互的SD卡接口模块4,

用于实现电机伺服驱动器与FPGA模块1进行数据交互的驱动器接口模块6,

用于将加载FPGA模块1的引脚和资源配置信息和执行FPGA模块1中存储的系统软件, 并将该配置信息进行存储的配置模块8,

用于将外部输入的模拟信号转换为数字信号,并将该数字信号输送至FPGA模块1的A/D 转换模块。

本实施方式中所述的总线接口模块2由10/100/1000Mbps PHY工业以太网络芯片、CAN 接口芯片、RS485接口芯片、M_LVDS接口芯片以及扩展接口组成,将FPGA模块1与工业 以太网、CAN、Modbus以及Profibus等外部现场总线连接,向系统提供控制终端的指令信息, 控制电机伺服驱动器,同时将状态信息通过现场总线上传至控制终端;其中,以太网PHY芯 片采用了88E1111芯片,可以根据需要选择10/100/1000Mbps三种不同的通信速率,采用了 并行接口与FPGA模块1相连,CAN总线芯片采用SN65VHD230芯片,ModBus和Profibus 则是基于RS485协议,采用SP3485芯片,通讯速率可以达到100Mbps,还具有基于MAX3488 芯片的M_LVDS通讯接口以及8路的扩展总线接口。

本实施方式中,FPGA模块1能够根据具体应用的需要,采用软件能够灵活支持SSI、 EnDat、BiSSel和HiperFace四种位置传感器接口协议,同时也可以通过在驱动器接口模块6 内部增加扩展接口,从而通过升级以支持其他的位置传感器接口协议。

本实施方式中所述的USB接口模块3采用CH375芯片实现,该芯片能够运行在USB主 机和从机条件下,兼容USB2.0协议,通讯速度可以达到12Mbps;该芯片可以个并行或串行 数据传输方式,为了充分发挥其速度优势,采用并行传输方式实现FPGA模块1和上位机进 行数据的传输,SD卡接口模块4则不需要专有芯片进行电平转换,直接采用FPGA通过SPI 串行协议进行读写。

本实施方式中所述的A/D转换模块采用AD7604芯片实现,该芯片具有16位精度、4路 单端输入通过4个采用保持器可以保证同时采样、1个200KHz的转换器,接口则可采用并行 接口,功耗在100mW左右,该芯片具有输入限幅功能以及7kV的ESD能力,适合于工业场 合。

具体实施方式二、本具体实施方式与具体实施方式一所述的一种基于FPGA的通用工 业运动控制系统的区别在于,所述FPGA模块1采用EP3C40Q240控制芯片实现。

本实施方式中,FPGA模块1采用EP3C40Q240控制芯片实现,该控制芯片内部含有40K 个LE逻辑单元,共有126个可用I/O资源,含有100kByte的RAM以及4个PLL,集成了 128个18×18的乘法器,系统采用50M的晶振作为系统时钟,通过倍频,内部软核运行在 100MHz的频率下。系统通过将硬件资源占用较多的通讯算法采用独立的软核处理器实现并 行控制,这样可以大大提高系统执行系统控制通讯已经系统监测的执行效率。系统外扩了一 片16×1MB的FLASH芯片AM29LV160以及1片16×512KB的SRAM芯片IS61LV25616, 满足系统控制算法对于程序和数据的存储需求。

具体实施方式三、本具体实施方式与具体实施方式一所述的一种基于FPGA的通用工 业运动控制系统的区别在于,所述FPGA模块1内部有软件实现的数据接收计算模块,所述 数据接收计算模块包括:

用于通过总线接口模块2接收外部现场总线数据的外部现场总线数据接收模块,

用于通过总线接口模块2向外部现场总线发送数据的外部现场总线数据发送模块,

用于通过USB接口模块3接收上位机数据的上位机数据接收模块,

用于通过USB接口模块3向上位机发送数据的上位机数据发送模块,

用于通过SD卡接口模块4接收SD存储卡数据的SD存储卡数据接收模块,

用于通过SD卡接口模块4向SD存储卡发送数据的SD存储卡数据发送模块,

用于通过驱动器接口模块6接收电机伺服驱动器数据的电机伺服驱动器数据接收模块,

用于通过驱动器接口模块6向电机伺服驱动器发送数据的电机伺服驱动器数据发送模 块,

用于对外部现场总线数据、上位机数据、电机伺服驱动器数据和SD存储卡数据进行解 析,并将解析结果发送至浮点处理器的定点处理器,

用于根据解析结果进行逻辑运算,并将逻辑运算结果发送至电机控制模块的浮点处理器,

用于根据软件运算结果对电机伺服驱动器进行控制的电机控制模块。

本实施方式中,在FPGA模块1内部嵌入两片NIOS II控制器,其中一个为定点处理器, 另一个为浮点处理器,定点处理器负责系统的控制通讯和状态监测,该处理器可以根据具体 需要通过软件配置实用工业以太网协议、CAN协议、ModBus以及Profibus协议中的一种或 几种,同时该处理器还可以依靠USB接口与上位机相连接,通过FIFO进行数据缓冲,提高 读取效率;浮点处理器则负责进行运动学运算,当定点处理器将指令和参数传输给浮点处理 器后,喜用开始进行坐标变换、直线与圆弧插补等运动学计算,最后将各轴控制量传送给电 机控制模块从而控制电机伺服驱动器。

具体实施方式四、本具体实施方式与具体实施方式三所述的一种基于FPGA的通用工 业运动控制系统的区别在于,所述电机控制模块包括:

用于识别当前对电机伺服驱动器进行控制的控制方法为开环控制方法或闭环控制方法的 电机控制识别模块,当控制方法为开环控制方法时,电机控制识别模块向闭环控制模块发送 停止工作的信号,当控制方法为闭环控制方法时,电机控制识别模块向闭环控制模块发送开 始工作的信号,

用于接收位置传感器模块12发送的电机伺服驱动器的位置信息,并将该位置信息发送至 闭环控制模块的位置信息接收模块,

用于根据位置信息接收模块发送的电机伺服驱动器的位置信息和浮点处理器发送的逻辑 运算结果生成闭环控制信号,并将该闭环控制信号发送至闭环PWM脉冲生成模块的闭环控 制模块,

用于当电机伺服驱动器的控制方法为开环控制方法时,根据逻辑运算结果生成开环PWM 脉冲的开环PWM脉冲生成模块,

用于当电机伺服驱动器的控制方法为闭环控制方法时,根据逻辑运算结果和闭环控制信 号生成闭环PWM脉冲的闭环PWM脉冲生成模块。

具体实施方式五、本具体实施方式与具体实施方式四所述的一种基于FPGA的通用工 业运动控制系统的区别在于,所述电机控制模块为1-5个。

具体实施方式六、本具体实施方式与具体实施方式一所述的一种基于FPGA的通用工 业运动控制系统的区别在于,所述驱动器接口模块6包括:

用于将FPGA模块1输出的开环控制信号和闭环控制信号转换为差分信号的电平转换模 块13,

用于获取电机伺服驱动器的位置信息,并将该位置信息通过位置传感器接口模块输送至 FPGA模块1的位置传感器模块12。

本实施方式中,电平转换模块13采用MAX3488芯片实现,具体的通讯协议通过FPGA 模块1中的硬件模块进行解析,同时通过MAX3488芯片将PWM脉冲转换为差分信号,并 且将反馈差分信号转换为普通LVCMOS电平。

具体实施方式七、本具体实施方式与具体实施方式一所述的一种基于FPGA的通用工 业运动控制系统的区别在于,所述配置模块8包括:

用于存储FPGA模块1系统软件的FLASH模块,

用于加载FPGA模块1的配置信息、执行FLASH模块中存储的系统软件,并将全局控 制变量以及运动控制算法发送至RAM模块的配置芯片模块,

用于存储全局控制变量以及运动控制算法的RAM模块。

具体实施方式八、本具体实施方式与具体实施方式一所述的一种基于FPGA的通用工 业运动控制系统,其特征在于,它还包括用于将FPGA模块1中的引脚和资源配置信息进行 加密的CPLD模块7。

本实施方式所述的CPLD模块7采用EPM570T100IN芯片实现,对FPGA模块1内部的 配置程序和应用程序进行加密处理,为系统提供更好的安全性。

具体实施方式九、基于具体实施方式一至八任一项所述的一种基于FPGA的通用工业 运动控制系统的控制方法包括以下步骤:

用于将加载FPGA模块1的引脚和资源配置信息和执行FPGA模块1中存储的系统软件, 并将该配置信息进行存储的配置步骤,

用于检测系统工作电压以及看门狗监测是否处于正常工作状态的工作状态检测步骤,

用于FPGA模块1接收外部现场总线数据的外部现场总线数据接收步骤,

用于对外部现场总线数据、上位机数据、电机伺服驱动器数据和SD存储卡数据进行指 令解析的定点运算步骤,

用于根据指令解析结果进行电机运动控制以及单轴驱动的浮点运算步骤,

用于识别当前对电机伺服驱动器进行控制的控制方法为开环控制方法或闭环控制方法的 电机控制识别步骤,当控制方法为开环控制方法时,电机控制识别模块向闭环控制模块发送 停止工作的信号,当控制方法为闭环控制方法时,电机控制识别模块向闭环控制模块发送开 始工作的信号,

用于接收位置传感器模块12发送的电机伺服驱动器的位置信息,并将该位置信息发送至 闭环控制模块的位置信息接收步骤,

用于根据电机伺服驱动器的位置信息和逻辑运算结果生成闭环控制信号的闭环控制步 骤,

用于当电机伺服驱动器的控制方法为开环控制方法时,根据逻辑运算结果生成开环PWM 脉冲的开环PWM脉冲生成步骤,

用于当电机伺服驱动器的控制方法为闭环控制方法时,根据逻辑运算结果和闭环控制信 号生成闭环PWM脉冲的闭环PWM脉冲生成步骤。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号