基于组件技术的可重构伺服驱动软件设计

来源:互联网

点击:1326

A+ A-

所属频道:新闻中心

关键词:组件技术 伺服驱动 可重构

    0 引言

      伺服驱动采用全数字化控制技术,硬件结构简单,参数调整方便,产品的一致性和可靠性高,在所有自动化产品中发展最快。伺服驱动广泛应用于数控机床、机械设备、电子制造机械、武器装备等设备,具有非常广阔的市场前景。

      多年来,伺服驱动产品的研究与开发一直围绕特定的被控对象而展开,如针对永磁同步电机、异步电机、直线电机等研发对应的伺服驱动产品。这种做法虽然有利于提高驱动与电机成套性、匹配性、性能综合优化,但也带来伺服驱动重复研发,通用性和扩展性差的问题。而这些电机类的被控制对象虽然类别不同,但在控制方法、实现部件上有很多相同或相似之处,因此采用模块化、全功能伺服驱动软件结构,在一个系统平台下,通过参数设置,实现系统的变结构,能够达到驱动不同电机的目的,实现最大限度的资源重用。

      目前国际主流的伺服驱动都有软件化的技术发展趋势,即在相同的硬件支持下,由软件来不断提高和丰富产品功能,如科尔摩根的S700可通过参数配置驱动多种电机,西门子的S120可以自由组装不同的工艺相关模块。

      因此,基于控制芯片性能的提高,实时操作系统和嵌入式组件技术的引入,本文设计了可重构的伺服驱动软件,实现功能模块的重用,从而解决不同电机及不同用户的控制需求。

    1 伺服驱动软件及组件技术

      1.1 伺服驱动软件特征

      伺服驱动的作用在于接受来自其它装置的指令信号,驱动电机跟随指令运动,并保证动作的快速和准确,这就要求高质量的转矩、速度和位置控制‘41。伺服驱动一般实现高性能的扭矩、速度和位置

      闭环控制功能,同时辅以一些工艺相关的功能。各功能根据用户需要,在现场利用伺服驱动内的参数进行定制和调整。

      (1)可控制多种被控制对象(永磁同步电机、异步电机、直线电机、力矩电机等)。

      (2)不同对象的控制方法不同,但控制结构原理相似。

      (3)包含大量工艺相关的功能模块。

      (4)多个控制环节(扭矩、速度和位置),不同环节有不同的控制周期。

      (5)控制结构和实现功能由用户参数定制。

      1.2 嵌入式组件

      组件是基于组件构建的系统中的最小组成单位,组件的基本体系结构应该包含基本组件结构,组件属性以及组件接口几个部分。

      组件x是一个四元组<P(x),C(x),PF(x),尺F(x)>,其中P(x)是组件x的属性集合,c(x)={C0,C1,.....,Cn}表示组件x包含的子组件集合,PF(x)是服务接口集合,尺F(x)是请求接口集合。

      P(x)是组件x的属性集合,是一个四元组<N(x),PM(x),,N(x),OUT(x)>,其中N(x)={N0,N1,...,Nn}是组件x的标识,可能有一个或多个,比如组件名,组件佃,组件描述等。PM(x)是组件x的参数,用来修改组件x的配置。删(x)表示组件x的输入,Dur(x)表示组件x的输出,IN(x)和OUT(x)之间通过数据的共享实现组件之间的数据流连接。

      PF(x)是组件x的服务接口集合,每一个服务接口都是一个二元组<FP(x),Dp(x)>,其中FP(x)={f0,f1,...,fn}表示接口中包含的操作,Dp(x)表示服务接口中包含的数据参数。DPF(x)是组件x的请求接口集合,每一个请求接口都是一个二元组<Fr(x),Dr(x)>,其中Fr(X)={扣,月,...。厂凡}表示接口中包含的操作,Dr(x)表示请求接口中包含的数据参数。

    2 可重构伺服驱动软件设计

      2.1 软件体系结构设计

      根据上述的组件模型,采用层次化和模块化的设计思想,对伺服驱动软件的体系结构进行设计。

      整个软件分为三个层次,驱动层、控制层和应用层,硬件层为外部被控对象(电机)和伺服驱动硬件。驱动层是在硬件层上的第一层软件,实现对硬件层的抽象和封装,并为上层提供服务支持。这样可以使上层编程不用关注硬件的实现细节,同时当硬件发生变化时,只要修改驱动层的程序,而不改变驱动层的服务接口,就不用改变上层软件,从而保证上层软件的稳定性。驱动层主要包括编码器驱动组件模块(QEP)、模数转换组件模块(ADc)、脉宽调制组件模块(PwM)和两个调试接口驱动组件:数模转换组件模块(DAC)和USB组件模块。控制层是实现电机控制算法的核心层,主要包括大量电机控制相关的组件模块(RC、RG、IPARK等),这些组件模块根据现场需要利用参数进行动态连接,从而实现不同控制算法的可重构。控制层的运行要保证实时性。应用层是建构在最上层的非实时性任务,主要用于完成系统的人机交互、通信、参数管理等功能。该层的实现需要底层提供相应的数据支持。

      分层体系结构,可以使各层次之间相对独立,在伺服驱动协同开发过程中,把每一层作为有机整体理解,只需要保持各层之间的接口不变,就无需更多的关注其他层次。一方面使得系统结构清晰,规范了系统的开发方法;另一方面还能实现多层的协同开发,缩短了系统的开发周期。

      2.2 组件设计

      2.3 组件规划

      将伺服驱动内的功能进行合理划分,规划出功能相对独立的组件模块。

    3 可重构伺服驱动软件验证

      3.1 可重构示例

      在可重构伺服驱动软件的设计下,利用功能组件,根据不同需要可以重构出不同的控制系统结构,如开环控制结构、闭环控制结构等。

      (1)开环结构

      为了验证伺服驱动硬件和电机,可以利用RC、RG、IPARK、SVGEN、PwM等模块构建开环控制系统。目示给定值为转速指令,通过RC组件进行加减速控制后,由RG组件产生相关的转动角度。D轴电压、Q轴电压和转动角度经IPARK组件后形成旋转电压矢量,再由SVGEN组件产生三相压值,送给PwM硬件驱动组件以产生六组脉冲,驱动三相逆器工作形成三相正弦波电压,控制电机旋转。其旋转的速度取决于目标给定值的大小。

      (2)速度闭环

      采用的是双环串级控制∽1,重构的磁场定向矢量控制结构。内环为电流环(包括ADC组件、CLARKE组件、PARK组件、电流PID IQ组件、电流PID ID组件、PARK组件、SVGEN组件、PWM组件等环节),外环为速度环(包括QEP组件、SPEEDFR组件、速度PID SPD组件和电流环等环节)。

      3.2 测试结果

      为了方便调试,在伺服驱动软件平台中建立了OSCI测试组件,0ScI组件是内部示波器组件,可以根据需要实时抓取四路任意指定的组件输出信息,数据暂存在硬件内存中,然后由USB接口传送到上位机的调试工具软件中。

    4 结论

     在分析伺服驱动软件特征的基础上,首次引入嵌入式组件技术,设计了可重构伺服驱动软件,包括层次化、模块化的体系结构、组件设计及规划。通过开环、闭环重构及测试,验证了该设计的可行性。在实际开发过程中,通过不断扩充组件库,可对伺服驱动软件进行功能扩展,进而构造多种伺服驱动产品,或通过人机接口实现系统的变结构,完成对不同电机对象的控制。

    (审核编辑: 智汇张瑜)