驱控一体伺服实现方法和系统与流程

文档序号:17428277发布日期:2019-04-17 03:09阅读:678来源:国知局
驱控一体伺服实现方法和系统与流程
本发明实施例涉及电力电子
技术领域
,特别涉及一种驱控一体伺服实现方法和系统。
背景技术
:运动控制器及伺服驱动器广泛应用于现代机械制造业的各个领域,是工业自动化的核心。随着电力电子技术的不断发展,针对多电机驱动与控制集成一体化的需求已经成为一种趋势。驱控一体化技术是将电机驱动器与运动控制器进行高度融合的技术,驱动器和控制器的相互集成,并通过内部高速并行总线进行信息交换,使得设备从设计到制造再到系统维护整体的结合在一起,从而全面提升整体的运行和控制。目前工业机器人、数控机床等多轴运动系统大多仍采用一个运动控制器加多个伺服驱动器的分布式控制方式。如图1所示的分布式多轴控制系统,一个多轴运动控制系统由高阶的运动控制器(motioncontroller)与低阶的伺服驱动器(servodriver)所组成,运动控制器负责运动控制命令译码、各个位置控制轴彼此间的相对运动、加减速轮廓控制等;伺服驱动器负责伺服电机的位置控制。发明人发现现有技术中至少存在如下问题:分布式多轴控制系统占用了大量的物理空间,而且需要极大的计算资源。此外,针对现阶段使用的多轴伺服,其整体实现方案主要包括两种:一是使用一块控制板,集成了多个驱动模块;二是采用多块控制板,将驱动板集成到一起。但是上述两种多轴实现方案都存在一个相同的缺点——可扩展性差,即产品制造出来其可支持的轴的数量已经固定,难以满足现场的通用性需求。技术实现要素:本发明实施方式的目的在于提供一种驱控一体伺服实现方法和系统,不仅能够有效的降低驱控一体伺服整体的体积和应用成本,并且能够满足伺服电机轴数可扩展的需求。为解决上述技术问题,本发明的实施方式提供了一种驱控一体伺服实现系统,包括:上位机界面和可扩展驱控一体化模块;所述可扩展驱控一体化模块包括控制模块和可扩展驱动模组,其中所述控制模块包括逻辑控制cpu和电机驱动cpu,所述可扩展驱动模组包括可扩展的多个驱动模块,且每个驱动模块具有现场可编程门阵列fpga,实现硬件电流环功能;所述上位机编程软件将用户逻辑控制程序编译并传输到逻辑控制cpu,所述逻辑控制cpu根据用户指令计算出逻辑数据发送给电机驱动cpu,所述电机驱动cpu通过可扩展驱动模组中的驱动模块来控制对应伺服电机。本发明的实施方式还提供了一种驱控一体伺服实现方法,应用于驱控一体伺服实现系统中,所述驱控一体伺服实现系统包括上位机界面和可扩展驱控一体化模块,所述可扩展驱控一体化模块包括控制模块和可扩展驱动模组,该方法包括:所述控制模块在位置环周期内,根据反馈和给定的位置差值计算出速度环给定;经过速度环pid计算,将所述速度环的输出作为可扩展驱动模组中驱动模块电流环的给定发送给所述可扩展驱动模组中的驱动模块,所述驱动模组中的每个驱动模块具有fpga硬件电流环功能;所述驱动模块根据fpga硬件电流环输出控制对应伺服电机。本发明实施方式相对于现有技术而言,通过集成逻辑控制和电机驱动,实现了驱控一体化;采用可组态的多块驱动模块以及每个驱动模块配置fpga硬件电流环功能,形成了可扩展的驱控组件,其中驱动模块中包含有电机驱动模块以及fpga硬件电流环,fpga硬件电流环用于实现电流环控制,分别连接控制模块和驱动模块;从而克服了现有技术中因为产品制造出来其可支持的伺服电机轴的数量已经固定而造成可扩展性差的缺点。另外,所述可扩展驱动模组包括可组态的多个驱动模块,驱动模块的fpga硬件电流环具有可配置io接口,所述可组态的多个驱动模块通过相应的io接口扩展连接伺服电机,实现了在固定可支持的伺服电机轴的数量n的基础上,用户还可以根据需要动态配置n+1到n+m数量的伺服电机。另外,所述电机驱动在位置环周期内,根据反馈和给定的位置差计算出速度环给定,经过速度环pid计算后输出包括id值和iq值;通过spi数据通信将所述速度环输出的id值和iq值发送给可扩展驱动模组中驱动模块的fpga硬件电流环,作为fpga硬件电流环给定id值和iq值;根据id值和iq值计算出fpga硬件电流环的输出,使所述驱动模块根据所述fpga硬件电流环输出控制对应伺服电机。通过集成逻辑控制cpu和电机驱动cpu,极大的节省了物理空间,而且节省了计算资源。另外,所述控制模块向驱动模块发送id值和iq值时还附加循环冗余校验crc,用于验证数据传输过程的正确性;所述控制模块向驱动模块发送id值和iq值时采用至少二级缓冲,在缓冲区内,包括至少两组id值和iq值。通过在数据传输中携带crc,从而保证数据传输的正确性,进而保证伺服电机的正常运行。另外,将所述位置环的周期划分为多个电流环周期;在一个电流环周期中,所述控制模块向驱动模块发送缓冲区内的一组id值和iq值;如果在该电流环周期中crc校验失败,则所述驱动模块根据上一电流环周期的id值和iq值计算出fpga硬件电流环的输出来控制对应伺服电机,并在下一个电流环周期向控制模块返回错误信号;所述控制模块接收到来自驱动模块的错误信号后,在下一个电流环周期向驱动模块发送缓冲区内的另一组id值和iq值。通过缓冲区的设置,即使在校验失败的情况下,也可以保证伺服电机的连续且正常运行。另外,所述控制模块向可扩展驱动模组中所有驱动模块发送同步信号,使可扩展驱动模组中所有驱动模块对应的伺服电机同步动作。通过在一个电流环周期内发送同步信号,由于发送数据简单,所以硬件延时很小,从而能够保证所有伺服电机同步动作。附图说明一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。图1是现有技术中分布式多轴控制系统的示意图;图2是本发明提供的可扩展驱控一体伺服系统的逻辑示意图;图3是本发明提供的可扩展驱控一体伺服系统的结构示意图;图4是本发明提供的可扩展驱控一体化模块的电路连接示意图;图5是本发明提供的可扩展驱控一体化模块的数据传输示意图;图6是本发明提供的可扩展驱控一体伺服实现方法的流程示意图。具体实施方式为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的各实施方式进行详细的阐述。然而,本领域的普通技术人员可以理解,在本发明各实施方式中,为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本申请所要求保护的技术方案。如图2和图3所示,本发明第一实施方式提供了一种可扩展驱控一体伺服实现系统,该可扩展驱控一体伺服系统包括上位机界面、可扩展驱控一体化模块和电源模块。上位机界面可以基于windows编程实现,主要完成人机交互、硬件组态、用户应用编程以及状态检测。具体地,基于labview的多轴伺服参数配置界面以及采样界面设计,可以通过导入参数txt文件来配置组态伺服的电机类型(例如功率、额定电流、转速等相关参数),参数通过232数据通信传输给电机驱动,同时电机驱动可以周期性上传数据,便于用户进行波形采样。具体地,上位机界面包含有逻辑控制编程功能以及物理组态功能,其中,逻辑控制编程功能可用于客户开发应用程序;物理组态功能主要是指该伺服中配置多少个物理轴,每个轴的电机参数、编码器参数、每个轴对应的保护参数(最大速度、最大加速度、最大转矩限制等);组态界面可以通过编程界面的主菜单下的一个子菜单打开;组态参数和应用程序一起下载到驱动的rom存储区。可扩展驱控一体化模块包括控制模块和可扩展驱动模组。控制模块包括逻辑控制cpu和电机驱动cpu,其中逻辑控制cpu负责处理上位机逻辑控制指令,并解析成内部电机驱动cpu可以执行的指令或者可用的数据。逻辑控制cpu会从rom存储区中读取程序指令执行,同时电机驱动cpu会先从rom中读取配置信息来配置相关参数。具体地,上位机界面和逻辑控制cpu进行数据交互,将指令发送给逻辑控制cpu。该上位机界面可基于开源的guttaloadereditor,其可将梯形图以及指令语言逻辑编译成plc(programmablelogiccontroller,可编程逻辑控制器)硬件可以识别和执行的中间代码,同时可以提供程序的上下载功能。逻辑控制cpu用于计算逻辑数据,并将计算出逻辑数据通过内存拷贝的方式与电机驱动cpu进行数据交换;具体地,逻辑控制cpu和电机驱动cpu之间定义公用数据接口以及数据类型,在本发明实施例中,采用双端口ram进行数据内存拷贝,其中命令包括启动、停止、等待;控制模式包括轮廓位置、轮廓速度、轮廓转矩、插补位置;运动数据包括位置、速度、加速度、和加加速度等。电机驱动cpu根据指令进行控制伺服电机的输出。为了可扩展多轴伺服电机,本发明中将多轴系统的驱动模块分离出来,整合成可扩展驱动模组,即该可扩展驱动模组由可组态的多个驱动模组组成,电机驱动cpu通过可扩展驱动模组实现对伺服电机的控制。进一步参考图4所示,电机驱动cpu采用伺服arm处理器。每个驱动模块包括fpga(field-programmablegatearray,即现场可编程门阵列)硬件电流环。fpga是一种高集成度的可编程逻辑器件,可以通过软件编程实现各种功能的硬件设备,具有内部的可配置io(input/output,输入/输出)接口。伺服系统(servomechanism)是使物体的位置、方位、状态等输出被控量能够跟随输入目标(或给定值)的任意变化的自动控制系统。伺服电机一般都是三环控制系统,从内到外依次是电流环、速度环、位置环。电流环的输出控制电机的电枢电压,电流环的输入为速度环pid的输出,速度环的输入为位置环的pid输出,位置环的输入即是给定输入。请参考图5所示,作为电机驱动cpu的arm处理器能够进行位置环以及速度环的计算。arm处理器中速度环的输出作为fpga硬件电流环的给定id值和iq值,通过算法输出pwm(pulsewidthmodulation,脉冲宽度调制)信号,然后通过spi(serialperipheralinterface,串行外设接口)数据通信将id值和iq值发送给对应的驱动模块的fpga硬件电流环,实现对伺服电机的控制;编码器对伺服电机进行采样,再反馈给fpga硬件电流环。此外,为了实现多轴的同步,在发送数据spi后,电机驱动cpu会发送一个启动同步的spi广播帧,以使所有的驱动模块同时接受并且动作,从而实现多驱动模块的控制。由上述可扩展驱控一体伺服实现系统的描述可看出,通过集成逻辑控制cpu和电机驱动cpu,实现了驱控一体化;通过采用可组态的多块驱动模块以及驱动模块内置的fpga硬件电流环可配置io接口,实现了可扩展的驱控一体伺服;从而克服了现有技术中因为产品制造出来其可支持的伺服电机轴的数量已经固定而造成可扩展性差的缺点,在固定可支持的伺服电机轴的数量n的基础上,用户还可以根据需要动态配置n+1到n+m数量的伺服电机轴。如图6所示,本发明第二实施方式提供的可扩展驱控一体伺服实现方法,用于如前所述的可扩展驱控一体伺服实现系统中,该系统包括上位机界面和可扩展驱控一体化模块,该可扩展驱控一体化模块包括控制模块和可扩展驱动模组,所述方法包括以下步骤:步骤s601,控制模块在位置环周期内,根据反馈和给定的位置差值计算出速度环给定;步骤s602,将所述速度环的输出作为可扩展驱动模组中驱动模块电流环的给定发送给所述可扩展驱动模组中的驱动模块,所述驱动模组中的每个驱动模块具有fpga硬件电流环功能;步骤s603,所述驱动模块根据fpga硬件电流环输出控制对应伺服电机。下面对本实施方式的可扩展驱控一体伺服实现方法的实现细节进行具体的说明,以下内容仅为方便理解提供的实现细节,并非实施本方案的必须。在步骤s602中,所述可扩展驱动模组中的每个驱动模块都包括具有可配置io接口的fpga硬件电流环,因此可以驱动多个伺服电机。所述速度环的输出包括id值和iq值,通过spi数据通信将所述速度环输出的id值和iq值发送给可扩展驱动模组中驱动模块的fpga硬件电流环,作为fpga硬件电流环给定id值和iq值。在步骤603中,根据id值和iq值计算出fpga电流环的输出,所述驱动模块根据fpga电流环输出控制对应伺服电机。进一步地,在上述的通过spi数据通信将所述速度环输出的id值和iq值发送给可扩展驱动模组中驱动模块作为fpga硬件电流环给定id值和iq值时,为了避免传送的id值和iq值在传输过程中出现错误,在传输过程中还会加上了crc(cyclicredundancycheck,循环冗余校验),具体如下表1所示。表1iq值(2byte)iq值(2byte)crc(2byte)进一步地,所述方法还包括:将位置环周期细分为多个电流环周期,在一电流环周期内发送如表2的同步信号,该同步信号包括0xff站号和crc。由于发送数据简单,此硬件延时很小,因确保可扩展驱动模组中所有驱动模块对应的伺服电机同步动作。表20xff站号crc进一步地,所述方法还包括:作为控制模块的发送方和作为驱动模块的接收方采用id值和iq值的二级缓冲或多级缓冲,如果在电流环的一个周期内id值和iq值的crc校验失败,则驱动模块将在下一个周期向控制模块返回如下表3所示的错误信号,该错误信号包括编码器值、errorcode和crc。而本周期电流环采用上一周期的计算的id和iq值,如下表4所示。表3编码器值(8byte)errorcodecrc在一个具体实例中,缓冲区中有两组id和iq,控制模块向驱动模块发送缓冲区内的一组id值和iq值;如果在该电流环周期中crc校验失败,则所述驱动模块根据上一电流环周期的id值和iq值计算出fpga硬件电流环的输出来控制对应伺服电机,并在下一个电流环周期向控制模块返回错误信号;所述控制模块接收到来自驱动模块的错误信号后,在下一个电流环周期向驱动模块发送缓冲区内的另一组id值和iq值,如下表4所示:表4iq1值(2byte)iq1值(2byte)iq2值(2byte)iq2值(2byte)crc(2byte)此外,驱动模块根据电流环周期进行数据采样,数据格式如图5所示,包括n个电流采样值,编码器位置及crc。表5ia电流采样值ib电流采样值ic电流采样值编码器位置crc(2byte)例如在实际运行中,控制模块的电机驱动cpu和fpga硬件电流环之间仅仅传递id以及iq值和编码器的反馈值不够用,但是为了考虑spi数据传输的速度以及数量,因此:将位置环设定为4个电流环的周期,假设电流环50us计算一次,那么位置环一般在200us计算一次位置值,这4个电流环周期具体如下:第一个周期:用于读取fpga硬件电流环反馈数据,包括各个轴的编码器反馈硬件电流环状态信息(自举是否完成,主电是否准备好等)以及轴报错信息,其中有一些错误fpga电流环直接处理,比如说“输出过流”报错后,fpga硬件电流环直接将输出关断,同时给控制模块一个标志位,控制模块读取到这些标志位后进行报错,led显示,用于用户进行检测;第二个周期:用于位置环计算,根据第一个周期的反馈编码器位置以及上述逻辑控制给定的指令位置进行计算,计算位置环输出;第三个周期,用于将计算好的数据反过来传输给fpga硬件电流环(数据包含控制指令以及硬件电流环的命令信息,比如抱闸使能等);但是此时fpga硬件电流环不立即采用新数据;第四个周期,电机控制cpu发送同步信号,即统一指令,所有的驱动模块在收集到这个指令后统一输出。由于第一实施方式与本实施方式相互对应,因此本实施方式可与第一实施方式互相配合实施。第一实施方式中提到的相关技术细节在本实施方式中依然有效,在第一实施方式中所能达到的技术效果在本实施方式中也同样可以实现,为了减少重复,这里不再赘述。相应地,本实施方式中提到的相关技术细节也可应用在第一实施方式中。上面各种方法的步骤划分,只是为了描述清楚,实现时可以合并为一个步骤或者对某些步骤进行拆分,分解为多个步骤,只要包括相同的逻辑关系,都在本专利的保护范围内;对算法中或者流程中添加无关紧要的修改或者引入无关紧要的设计,但不改变其算法和流程的核心设计都在该专利的保护范围内。最后应说明的是:上面对本发明的各种实施方式的描述以描述的目的提供给本领域技术人员。其不旨在是穷举的、或者不旨在将本发明限制于单个公开的实施方式。如上所述,本发明的各种替代和变化对于上述技术所属领域技术人员而言将是显而易见的。因此,虽然已经具体讨论了一些另选的实施方式,但是其它实施方式将是显而易见的,或者本领域技术人员相对容易得出。本发明旨在包括在此已经讨论过的本发明的所有替代、修改、和变化,以及落在上述申请的精神和范围内的其它实施方式。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1