掌桥专利:专业的专利平台
掌桥专利
首页

一种适用于面向多自由度平台的运动控制系统

文献发布时间:2023-06-19 09:24:30


一种适用于面向多自由度平台的运动控制系统

技术领域

本发明涉及运动控制器技术领域,特别涉及一种适用于多自由度平台的多级运动控制器。

背景技术

运动控制(Motion Control)通常是指在复杂条件下将预定的控制方案、规划指令转变成期望的机械运动,实现机械运动精确的位置控制、速度控制、加速度控制、转矩或力的控制。

运动控制器就是控制电动机的运行方式的专用控制器:比如电动机在由行程开关控制交流接触器而实现电动机拖动物体向上运行达到指定位置后又向下运行,或者用时间继电器控制电动机正反转或转一会停一会再转一会再停。运动控制在机器人和数控机床的领域内的应用要比在专用机器中的应用更复杂,因为后者主要以单片机为核心的运动控制器,本身处理性能导致控制速度慢、精度较低、运动形式更简单,通常被称为通用运动控制。另一种以专用芯片作为核心处理器的运动控制器,结构比较简单,通用性较差,只能用于开环控制方式。当前运动控制器的简单组合,难以适应多自由度平台的应用条件,导致其灵活性差,在高精度控制领域难以适应。

发明内容

本发明需解决的技术问题是提供一种适用于面向多自由度平台的运动控制系统。

为解决上述技术问题,本发明采取技术方案是:

一种适用于面向多自由度平台的运动控制系统,包括主站、从站,所述主站是中心控制器由PC机承担,所述从站是运动控制器,为主站中心控制器的其中一个工作节点,根据实际情况设置多个从站工作,所述主站和从站之间采用串行协议栈数据方式进行信息交换,

所述从站包括运动数据缓冲控制模块及运动脉冲产生单元、数据处理器、抗干扰保护单元;

所述运动数据缓冲控制模块及数据产生单元为从站运动控制器的主控部件,采用ARM处理器进行设计实现,接收主站中心控制器的以太网控制信息,控制信息包括数据的配置和状态监控信息,所述运动数据缓冲控制器及数据产生单元将控制信息解析成数据处理器可识别的位置点,然后通过总线发送到数据处理器;

所述数据处理器由可编程FPGA实现,接收主控部件的位置点信息,对控制数据进行缓冲及同步处理,输出马达脉冲驱动信息;对收集的马达状态信息进行同步处理,反馈给主控部件;

所述抗干扰保护单元对数据处理器的输出端和输入端都采用光电隔离。

进一步地,所述数据处理器内含数据接口模块、数据缓存控制模块、双轴脉冲输出模块、双轴使能管理模块、高速计数模块、脉冲占空比模块以及中断控制;

所述数据接口模块实现运动控制器主控部件的AXI总线上的数据与数据处理器FPGA总线数据的交互;

所述数据缓存控制模块的功能完成数据缓存和寄存器配置,将主控部件数据配置到功能模块,将所述功能模块数据反馈给主控部件,所述功能模块包括双轴脉冲输出模块、双轴使能管理模块、高速计数模块、脉冲占空比模块以及中断控制;

所述脉冲占空比模块用于调控脉冲的输出个数、脉冲的频率和占空比;

所述双轴使能管理模块用于单轴控制和多轴同步控制;

所述双轴脉冲输出模块接收双轴使能管理模块、脉冲占空比模块、数据缓存控制模块配置的使能信号、方向控制信息和脉冲控制信息,输出频率大小可控、加减速度可控、方向可控、占空比可控的脉冲到马达;

所述高速计数模块对马达运行的高速反馈脉冲进行监测,对马达高速脉冲个数检测,将计数值反馈到运动数据缓冲及数据产生主控部件;

所述中断控制模块根据马达反馈信息判断是否出现异常,将产生的中断信号反馈到运动数据缓冲控制模块及数据产生单元和数据缓冲模块。

进一步地,所述双轴脉冲输出模块寄存器包括:PWM使能寄存器,用于使能PWM;输出数据队列写入寄存器,用于为马达所对应的轴提供频率、速度、位置数据;输出数据队列复位寄存器,用于对输出数据队列内的数据清空;换向延时寄存器,用于配置换向延时的时间;脉冲输出运行状态寄存器,用于实时的读取模块运行状态,控制脉冲输出的功能执行;输出脉冲数寄存器,用于反馈当前插补周期输出的脉冲个数。

所述双轴脉冲输出模块中的分频计数和需要输出的脉冲计数均采用减计数,当使能信号给定后,进行数据的装载准备,装载的数据包括分频数、占空比、一次插补周期输出脉冲总数、换向延迟时间;同时判断是否有换向延时,如果有换向,需要等待换向延时的时间后才能输出脉冲;无换向,则进行分频减计数,对最后五个分频周期进行标志位置位,计数值到达占空比设定值,则输出电平翻转,脉冲生成且输出;在脉冲的下降沿对脉冲个数进行减计数,再对本次输出脉冲的最后一个脉冲进行标志位置位;如此循环,直至定位到该次脉冲总数的最后一个脉冲的最后五个分频周期,即认为本次插补周期的脉冲全部输出;此时在运行的状态下,判断输出数据队列是否非空,若非空则执行以上的循环,若输出数据队列空则运行停止。

进一步地,所述双轴使能管理模块中轴的使能包括使能位寄存器和使能位选择寄存器,

对于单轴控制,在使能位选择寄存器配置使能通道,将使能通道绑定到唯一的使能位;配置使能位寄存器,各个使能位寄存器的值互不相同,每个使能位与使能位选择寄存器的选择通道值唯一对应;

对于多个轴脉冲输出,将绑定多轴的使能位选择寄存器设置为相同的使能通道值,即所有的使能通道绑定到同一个使能位;配置使能位寄存器,开关切换到同一个轴使能位信号,使能信号在不同的使能位选择寄存器经过同一个使能通道,同时输出。

进一步地,所述脉冲占空比模块设计以下寄存器进行控制:脉冲使能寄存器、脉冲数据配置寄存器、脉冲恒速使能寄存器;

当恒速不使能时,脉冲数据配置寄存器装载频率控制字、占空比、脉冲个数,脉冲使能计数器开始计数,当计数值到达占空比时,脉冲输出电平值翻转,同时对脉冲输出计数,计数值与设定值相同时停止脉冲恒速使能寄存器运行;当恒速使能时,只装载频率控制字和占空比,脉冲一直输出,直至停止使能脉冲恒速使能寄存器。

进一步地,所述抗干扰保护单元对于来自转轴马达的输入端信号,并入电阻与滤波电容实现输入保护,然后经过桥式电路限流保护,最后采用光耦合器信号进行隔离处理;对于数据处理器的输出信号,采用高速光耦隔离以及场效应管处理,进行放大处理产生驱动信号,同时配合防雷击双向二极管实现电路保护。

进一步地,采用片上系统SOC模式将ARM处理器、可编程FPGA双芯片集成。

与现有技术对比,本发明有益效果是:

本发明采用ARM处理器加可编程FPGA双芯片进行设计实现,所述数据处理器由可编程FPGA实现,内部逻辑采用了高效的寄存器级传输控制机理,随着可编程逻辑的工作时钟频率的提升,本发明方案可优化时序,达到更高的性能要求。本发明依托SOC高度集成一体化的优势,充分发挥其高精度、低成本、一体化调度管理、重构能力强等优势,解决了现有运动控制器开放性差、通用性不好、开发难度大、成本高的缺点。

本发明以工业以太网为物理载体,运行自定义的实时通讯协议栈,最高通讯速率为100Mbps。

附图说明

所包括的附图用来提供对本发明实施例的进一步的理解,其构成了说明书的一部分,用于例示本发明的实施例,并与文字描述一起来阐释本发明的原理。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1示出了根据本发明的具体实施例提供的系统功能图。

图2示出了根据本发明的具体实施例提供的硬件应用互联示意图。

图3示出了根据本发明的具体实施例提供的运动控制器从站组成架构图。

具体实施方式

需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

在本发明的一个实施例,提供了一种适用于多自由度平台的高性能运动控制器,其系统功能图如图1所示,包括主站、从站,

所述主站是中心控制器由PC机承担,用于接收用户输入的运动控制设定信息,根据设定信息和多个从站反馈的实时运动数据获得从站相应马达当前时刻的控制调整信息,将控制调整信息和设定信息转换成控制信息后以广播数据帧的形式发送至相应从站。

如图3所示,所述从站是运动控制器,包括运动数据缓冲控制模块及运动脉冲产生单元、数据处理器、马达、抗干扰保护单元、二次电源电路、晶振电路。如图2所示,所述从站为主站中心控制器的其中一个工作节点,在使用时,根据实际情况设置多个从站工作。所述主站和从站采用主从工作模式,所述主站PC机通过以太网线与运动数据缓冲控制模块及运动脉冲产生单元连接进行数据交换。从站中运动数据缓冲控制模块及运动脉冲产生单元和数据处理器也采用主从模式。

所述运动数据缓冲控制模块及数据产生单元为从站运动控制器的主控部件,通常采用ARM处理器进行设计实现,接收主站中心控制器的以太网控制信息,控制信息包括数据的配置和状态监控信息,所述运动数据缓冲控制器及数据产生单元将控制信息解析成数据处理器可识别的位置点,然后通过总线发送到数据处理器。

所述数据处理器由可编程FPGA实现,内部逻辑采用了高效的寄存器级传输控制机理。数据处理器接收主控部件的位置点信息,经过对控制数据进行缓冲及同步处理,输出马达的脉冲驱动信息;对收集的马达状态信息进行同步处理,反馈给主控部件。

所述抗干扰保护单元对数据处理器的输出端和输入端都采用光电隔离,有效避免工业现场的干扰。对于来自转轴马达的输入端信号,首先输入保护,并入电阻与滤波电容,经过桥式电路限流保护,然后采用光耦合器信号进行隔离处理。数据处理器FPGA内配合设置信号的防抖时间,进一步滤除输入信号的毛刺。所述光耦合器属于电流型,具有很好的共模抑制能力,信号单向传输,工作稳定,可以实现外界环境与数据处理器的完全隔离。

对于数据处理器的输出信号,首先采用高速光耦隔离以及场效应管处理,进行放大处理产生驱动信号,同时配合防雷击双向二极管实现电路保护,防止输出电流过大或误操作过压损坏电路。

所述电源电路为运动控制器提供28.5V的直流电源供电。

所述晶振电路在FPGA内部经时钟模块的PLL锁相环,为运动数据缓冲控制模块及数据产生单元及其他模块提供稳定的时钟信号。在多自由度平台应用场景下,晶振电路的设计应具有高稳定性、低抖动性、功率低的特点。设计中晶振时钟选用宇航级宽温晶振,频率为66.666MHz。为晶振提供3.3V的直流电源,使用多级电容进行一次及二次谐波抑制,增加电源的稳定性,减少输出波形的误差。晶振的时钟精度即为数据处理器FPGA压控振荡器设计的精度,也是运动控制的精度。

进一步地,所述数据处理器内含数据接口模块、数据缓存控制模块、双轴脉冲输出模块、双轴使能管理、高速计数模块、脉冲占空比模块以及中断控制。双轴分别为马达主动轴PID控制器、从动轴PID控制器。

以下所述数据处理器的描述,按照功能实现、寄存器说明、工作过程三个方面进行细化描述。

所述数据接口模块主要实现运动控制器主控部件的AXI总线上的数据与数据处理器FPGA总线数据的交互,在读写数据前必须满足总线处于空闲状态。当片选信号有效,立即将发送的地址内容发送到FPGA的总线上,否则端口呈高阻态;当读有效时,且处于片选状态下,将FPGA总线数据内容发送到AXI 总线,否则端口呈高阻态;当写有效时,且处于片选状态下,将AXI总线数据内容发送到FPGA总线,否则端口呈高阻态。数据接口模块将AXI总线的数据信息和地址信息,接收到FPGA的内部接口总线等待数据缓存控制模块的处理。

所述数据缓存控制模块的功能将主控部件数据配置到功能模块,将所述功能模块数据反馈给主控部件,所述功能模块包括双轴脉冲输出模块、双轴使能管理模块、高速计数模块、脉冲占空比模块以及中断控制。

所述数据缓存控制模块主要完成数据缓存和寄存器配置功能,所述数据缓存控制模块的输入信号来自数据处理单元FPGA内部产生的数据;输出信号主要发送配置各功能模块的寄存器控制信号。

在数据缓存控制模块端口,设计读、写、片选控制信号,当FPGA检测到读写操作时,及时将ARM的地址总线和数据总线信息缓存到FPGA的寄存器内,在该模块的内部进行后续操作。缓存寄存器用于配置数据或读出数据的缓存,位宽为32,缓存过程可以使用多个缓存寄存器;控制信号寄存器,位宽为1,高电平有效,与FPGA内部的各个功能对应;功能寄存器作为FPGA内部模块功能寄存器,位宽根据实际数据决定,分为读功能寄存器和写功能寄存器。地址总线信号,分为两类,一类为专用数据缓存地址,一类为控制信号寄存器地址,也是功能寄存器地址,同时也用作数据缓存地址。数据总线信号,为FPGA 的实际控制命令和需要处理的数据。

数据缓存控制模块输入接口包括:片选信号、数据写入信号、数据信息、地址信息、数据读出信号、轴脉冲输出模块的状态轴脉冲输出模块的脉冲串同步编号、脉冲计数值、数字信号输入、中断通道信号、轴脉冲输出模块的输出脉冲计数值。输出接口包括:FPGA内部数据总线数据、输出选择控制寄存器信号、普通输出控制寄存器信号、FIFO写数据控制寄存器信号、轴使能选择控制寄存器信号、FIFO清零控制寄存器信号、换向延迟控制寄存器信号、使能寄存器信号、FIFO状态输出信号、系统复位信号、自动清零使能寄存器信号、写使能寄存器信号、中断通道选择控制寄存器信号、中断模式控制寄存器信号、PLS 使能寄存器信号、PLS数据写使能寄存器信号。

其中输入端口信号主要为数据处理器内部数据,需要反馈到主控部件进行数据运算,输出端口信号,主要是总线数据和数据处理器内部寄存器信号,由寄存器信号决定总线数据的配置,即将寄存器信号配置到各个功能模块端口,等待各个功能模块对配置数据的使用。

所述双轴脉冲输出模块接收双轴使能管理模块、脉冲占空比模块、数据缓存控制模块配置的使能信号、方向控制信息和脉冲控制信息,输出频率大小可控、加减速度可控、方向可控、占空比可控的脉冲到马达。

对于轴脉冲输出,使能则立刻有脉冲输出,禁能则停止脉冲输出;同时还设计急停信号,以满足脉冲输出的紧急制动,便于多自由度平台应用场景下的安全使用和人为控制需求。根据驱动电机的不同方式,分别设计了单通道单向脉冲分别输出方式、两通道脉冲和输出方式、两通道AB相脉冲输出方式、两通道正反向脉冲输出方式,PWM占空比可调的输出方式。

对于输出脉冲还需要满足频率大小可控、加减速度可控、方向可控、占空比可控。设计不仅要求脉冲输出的精度和速度,还必须满足脉冲输出的个数精准;此外,还需要保证脉冲插补输出的连续性。

使用到的寄存器有PWM使能寄存器用于使能PWM;输出数据队列写入寄存器用于为马达所对应的轴提供频率、速度、位置等数据;输出数据队列复位寄存器主要用于对输出数据队列内的数据清空,避免干扰;换向延时寄存器,用于配置换向延时的时间;脉冲输出运行状态寄存器,用于实时的读取模块运行状态,控制脉冲输出的功能执行;输出脉冲数寄存器用于反馈当前插补周期输出的脉冲个数。

分频计数和需要输出的脉冲计数均采用减计数。脉冲能够输出的前提是输出数据队列非空,因为输出数据队列为马达所对应的轴提供唯一数据配置。当使能信号给定后,首先进行数据的装载准备,装载的数据包括分频数、占空比、一次插补周期输出脉冲总数、换向延迟时间;同时判断是否有换向延时,如果有换向,需要等待换向延时的时间后才能输出脉冲;无换向,则进行分频减计数,对最后五个分频周期进行标志位置位,计数值到达占空比设定值,则输出电平翻转,脉冲生成且输出。在脉冲的下降沿对脉冲个数进行减计数,再对本次输出脉冲的最后一个脉冲进行标志位置位;如此循环,直至定位到该次脉冲总数的最后一个脉冲的最后五个分频周期,即认为本次插补周期的脉冲全部输出。此时在运行的状态下,判断输出数据队列是否非空,若非空则执行以上的循环,若输出数据队列空则运行停止。

禁能信号有效,将本次插补周期的所有脉冲输出完毕,停止运行。

急停信号,采用异步复位,当急停有效时,脉冲输出立刻停止,保存当前运动位置并反馈到ARM,其他信号复位到初始化状态。重新使能后以急停位置为初始值,运行完全部曲线轨迹,运行停止。

所述双轴使能管理模块主要是用于单轴控制和多轴同步控制。在运动控制中,运动控制器往往需要驱动多个电机的运转,有时需要各个轴独立工作,有时需要多轴同步工作。将轴的使能选择分为两部分,使能位寄存器和使能位选择寄存器。

对于单轴控制,首先在使能位选择寄存器配置使能通道,将使能通道绑定到唯一的使能位,然后配置使能位寄存器,各个使能位寄存器的值互不相同,每个使能位与使能位选择寄存器的选择通道值唯一对应。

如果需要多个轴脉冲输出模块的同步,就将绑定多轴的使能位选择寄存器设置为相同的使能通道值,此时所有的使能通道绑定到同一个使能位,即所有的轴脉冲输出模块绑定到同一个使能位,然后配置使能位寄存器,开关切换到同一个轴使能位信号,使能信号在不同的使能位选择寄存器经过同一个使能通道,同时输出。则多轴同时启动,禁能,则同时停止。

所述高速计数模块对电机运行的高速反馈脉冲进行监测,对电机高速脉冲个数等运行状态检测。将马达反馈的脉冲经过高速计数器的计数值反馈到运动数据缓冲及数据产生主控部件。

计数过程首先要装载计数模式和计数初值,然后根据计数模式,设计出计数信号脉冲沿信号,从而判断计数的增减性,计数值实时的发送到主控部件通过网络上传PC机。计数过程,必须使能计数器,一旦使能,计数器会自动检测通道信号,有被测信号则计数,无信号则停止计数。

所述脉冲占空比模块用于调控脉冲的输出个数、脉冲的频率和占空比。

设计以下寄存器进行控制:脉冲使能寄存器、脉冲数据配置寄存器、脉冲恒速使能寄存器。

当恒速不使能时,脉冲数据配置寄存器装载频率控制字、占空比、脉冲个数,使能计数器开始计数,当计数值到达占空比时,脉冲输出电平值翻转,同时对脉冲输出计数,计数值与设定值相同时停止脉冲恒速使能寄存器运行;当恒速使能时,只装载频率控制字和占空比,脉冲一直输出,直至停止使能脉冲恒速使能寄存器。

所述中断控制模块根据马达反馈信息判断是否出现异常,将产生的中断信号反馈到运动数据缓冲控制模块及数据产生单元和数据缓冲模块。

外部输入电平信号产生中断有16路普通中断,8路快速输入中断,8路高速计数中断。中断模式共有四种,包括上升沿中断、下降沿中断、双边沿中断、计数中断。普通中断需要与脉冲输出轴绑定后才有效,快速输入中断和计数中断必须配合处理器内部中断连接指令使用才能有效。中断信号为一个系统时钟周期,在中断信号反馈到主控部件的同时,需要将中断通道同时反馈到主控部件。

中断模块的寄存器主要包括:中断使能寄存器,其中高16位为普通中断使能,低8位为高速计数输入中断使能;中断模式选择寄存器,配置每路通道的中断模式,其中低16位模式包括高速计数中断模式;中断通道寄存器主要用于将当前产生中断的通道反馈到ARM。

当没有中断模式配置时,执行普通计数功能;当有中断模式配置,装载计数初值和中断值,计数初值在计数使能上升沿装载,设定值实时装载。然后开始计数,当计数值与中断值相等时,发出中断请求信号,进一步反馈中断通道值,清空中断通道值,然后执行中断处理程序。

所述主站和从站之间用于传输串行协议栈数据,如下表所示。

中心控制器PC机作为以太网串行通讯协议的通讯主站,各运动控制器作为从站,主站发送的数据帧为控制信号或者各个从站的参数设定,从站发送应答数据帧为反馈信号以及参数设定,主站与各运动轴之间互相监听总线上的信号,各从站协同闭环控制,主站以广播数据帧的方式发送各运动控制器从站的控制信号,各从站的控制信息被主站封装在协议栈数据的应用数据交换区内,从站接收到广播数据帧后,提取各从站对应的应用数据交换信息(见串行协议栈数据格式),若某一从站判断协议栈数据的信息区并非本站的,则会继续等待接受主站信息,各从站提取本站信息后,从站的主控部件对应用数据交换区数据进行解析,发送到数据处理器,进行参数设定和转动马达的控制,从站的主控部件收集本从站应答信息,如若不满足则会继续等待反馈信息,确定满足本从站应答条件则会向主站发送应答信息(包括服务数据通道和过程数据通道),主站根据从站反馈的信息进行对应从站的脉冲频率、转动方向、参数、误差校准等参数作出对应调整,确定执行则结束。如不确定执行,则返回主站继续广播发送,中心控制器主站、各运动控制器从站与多轴联动一体构成位置和速度的闭环控制。

所述串行协议总线为实时以太网组成的环形总线,除了实时以太网通讯总线,还可以为CAN总线和自定义LVDS总线。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

相关技术
  • 一种适用于面向多自由度平台的运动控制系统
  • 一种多自由度运动控制系统调试平台
技术分类

06120112149065