孔晨,傅平

(温州大学 电气与电子工程学院,浙江温州,325035)

0 引言

传统的电机控制策略方法通常是基于dSPACE 或单片机的软件编程方法得以实现的。利用dSPACE 与 MATLAB/Simulink 可以实现无缝连接的优势,将离线仿真模型通过试验进行快速验证,提高电机控制系统开发效率,缩短项目开发周期[1],但是dSPACE 设备较为昂贵,性价比略低,且当要对dSPACE 系统扩展功能进行比较复杂的修改时,会对系统带来一些影响;单片机具有低成本、体积小、低损耗等特点,在操作层面,单片机操作十分简单,所以对操作者的能力没有过于严格的要求,且具有极强的自适应能力[2]。但存储空间有限、一些功能需要靠扩展来完成,保护能力略差;而RTU 仿真平台不但继承了两者的优点,而且成本较低,提高了性价比及工作效率,广泛应用于电机控制等领域。

1 RTU 半实物仿真平台

RTU 控制器由南京瑞途优特信息科技有限公司开发,是一套基于Simulink 的控制系统开发、测试及半实物仿真的软硬件工作平台。RTU 数字控制器可以极大地提高系统的实时性与稳定性,并且计算较为迅速、准确生成代码、界面环境相对友好,其最显着的特点就是无需手动编程就可以快速、有效地开发、调控复杂的控制算法。RTU 数字控制器的实物机箱如图1 所示。

图1 RTU 机箱

RTU 控制器的核心是RTU-BOX—实时数字控制系统,其具有高速的计算能力,丰富的输入输出接口;通过与Simulink 连接可以完成各种复杂算法的研究与开发,将搭建好的模型自动生成代码并下载至硬件,通过与实物互连完成实验验证。

2 RTU 仿真平台优势

RTU 仿真平台具有较高的实用价值,性价比高,能够更多地考虑实际问题。和DSP 相比,RTU 仿真平台具有以下几点优势:

(1)在硬件方面,此设备采用了DSP 与FPGA 的构架,弥补了关于DSP 外设功能不足的缺陷,两者相辅相成,具有更高的实用性。

(2)在软件方面,RTU 仿真平台在Simulink 中具有大量模型库,操作简单,为用户提供了便捷性,提高了工程搭建的效率。

(3)代码生成一键获得,在Simulink 库中的绝大部分模块均支持代码生成,只有极少数的模块不具备代码自动生成的功能,这解决了手动编程带来的问题,大大提高了工作效率。

(4)使用RTU 数字控制器不需要用户学习太多的软件编程知识,只需要掌握关于MATLAB/Simulink 的使用方法即可,体现了大众化的功能;并且使用RTU 数字控制器最大的优点就是提升了工作效率、减少了研发周期。

3 硬件系统介绍

CPU 板为RTU 数字控制器的核心板卡,以DSP 和FPGA 为基本架构,DSP 为主、FPGA 为辅,两者配合工作,DSP 采用TI 公司的TMS320C28346,负责处理算法数据,但是因为DSP 的外设功能有限,需要FPGA 进行辅助拓展。CPU 板卡通过专用总线来控制其他的外设板,其板卡的通讯接口主要有 10M/100M 以太网ETHERNET、RS232、RS485 和CAN 接口。RTU 有两个PWM 板卡槽位,均可插入PWM 板卡,一块PWM 板卡共60 路PWM 输出,PWM板输出的高电平为5V。并且RTU 控制器还给用户提供了其他板卡槽位,如模数转换板卡等等。

4 软件系统介绍

RTU 数字控制器的软件部分由集成开发环境RTUS(RtunitStudio)和RTU-Lib(Rtunit Lib)组成。

■4.1 集成开发环境RTUS

RTUS 负责管理工程,实现与Simulink 的连接,在此环境下,用户可以对所建工程进行相关操作。在RTUS 中新建工程之后,可以在Simulink 中构建模型,通过Simulink命令栏中的RtuBox 按键自动生成C 语言代码,如果用户需要对代码进行修改,可以直接对所建模型进行修改,完毕后,再次点击RtuBox 按键进行代码自动生成。生成代码之后,进入RTUS2020 的电脑软件界面,进行编译、下载,将代码下载至RTU 数字控制器当中,并且通过对RTU 数字控制器连接相关实物设备,实现半实物仿真。

并且在RTUS 环境中,还可以对其仿真结果进行可视化分析,可以通过观察波形、导出数据等功能进行实时数据观测与修改。

■4.2 RTU-Lib

RTU-Lib 是Simulink 中的功能模型库,是在原库基础上的补充,并且还提供了常见的算法模型。模型库Rtunit Lib 提供了系统中所有硬件资源的Simulink 封装模块[3],能够直接将硬件功能集成到 Simulink 中,方便搭建硬件控制模型。下面对一些常用库进行简单介绍。

(1)Common Lib

在此库中主要包含常用的波形,如三角波、锯齿波、正弦波等,其中,Triangle Wave 模块还可根据用户需要来形成所需的三角波;除波形模块之外,还有PID 模块,非常便于模型的搭建。

(2)Motor Lib

在此库中常用的主要有Clark 变换与其逆变换、Park 变换与其逆变换,在进行模型搭建时均可直接调用,方便快捷。

(3)RTU BOX Lib

底层驱动静态库RTU BOX Lib 把所有具有硬件功能的函数进行了封装,用户可直接将其调用到模型当中,使用过程非常便捷。此库中的模块种类十分丰富,其中主要包括模数转换模块、RS485 模块、RS232 模块以及encoder 模块等,并且还包括可以称为核心模块的EPWM 模块,用户通过进行相关的参数设置,即可得到所需要的PWM 信号。

需注意的是,当研究算法时,需要以下几个步骤:(1)确定控制算法;(2)通过Simulink 来建立系统仿真模型;(3)自动生成代码;(4)将代码下载入系统,在线调试参数,完成算法的验证。软件工作流程图[4]如图2 所示。

图2 软件工作流程图

5 搭建EPWM 模块实现信号输出

通过以输出PWM 脉冲信号为具体实例对RTU 设备的应用进行更为清晰的阐述。模型搭建均是在simulink 环境下进行的,要实现PWM 信号的输出,首先应对库中的EPWM 模块进行相关介绍与设置。

与EPWM 相关的模块还有EPWM_FPC 模块、EPWM Control 模块等,均是在EPWM 模块的基础上进行的,本文所选用的模块为普通EPWM 型模块,EPWM 模块参数设置环境如图3 所示。

图3 EPWM 模块设置

EPWM 模块产生的PWM 波,从1-6 共六个单元,每个单元输出两路PWM 信号:PWMA 和PWMB。

PWM 的模式(Mode)选项分为Single Pwm Output—非互补输出(A 和B 通道互不影响)和Complimentary Singal Output—A/B 通道互补输出,若选择Single Pwm Output 选项,则需要选择相应的通道,若选择Complimentary Singal Output 选项,则需要输入死区时间。

PWM Channel 选项可选择1-6 单元。

PWM 的通道选项分为EPWMA、EPWMB、EPWMA AND EPWMB。

PWM 的载波类型(Carrier type)分为Sawtooth、Invsawtooth 和Triangle 三种类型,可根据需要自行选择。

PWM 的相位设置,相位角度设置是指不同的 EPWM 单元之间载波的相位差,因此PWM 之间会产生相应的相位差。将Phase Enable 设置为ON 即可进行PWM 的信号初相位设置,输入从0~1 的数值对应表示0°~360°的度数大小。

PWM 的频率设置,分为Dialog 和Input Port 选项,当选择Dialog 选择时,即可设置所需的频率初始值,当选择Input Port 选项时,通过与Variable 变量模块的连接,频率作为可变变量输入EPWM 模块,如图4 所示。EPWM 模块的频率范围大小为100Hz~100kHz,这里的频率选项设置建议与模型的控制频率保持一致。

图4 选择Input Port 选项时的EPWM 模块

PWM 的占空比设置,其单位为百分比(Percentages)和时钟周期数(Clock cycles)两个选项,根据输入从0-1的数值,表示占空比在一个周期内初始值所占比例大小;当占空比单位选择百分比时,其输入类型为float 型,当占空比单位选择时钟周期数时,其输入类型为unit16 型。

PWM 同步方式(Synchronization Output)分为禁用同步信号、同步信号输出为模型输入的信号、同步输出信号至CTR=ZERO 三种情况,可以根据需要选择合适的选项。

6 通过RTU 设备获得信号输出

通过前文对EPWM 模块的介绍,明确了该模块的使用方法,然后使用RTU 数字控制器来实现PWM 波的输出,此PWM 信号用于超声波电机驱动电路的开关管脉冲信号。

该驱动电路的操作对象为日本新生工业公司的USM60型号的行波型超声电机,三相全桥逆变电路作为其驱动电路,通过给定相应的PWM 信号,来生成超声波电机需的驱动信号;由六只功率开关管组成三相桥式电路,此电路是基于半桥和全桥电路上的革新[5],兼顾全桥和半桥两者的优势。下面通过模型搭建实例来得到相应的PWM 脉冲信号。

以超声波电机A 相为例,三相桥式逆变电路的S1-S4功率开关管负责控制超声电机的A 相,电机的驱动频率约为40kHz,四只功率开关管的计划波形如图5 所示,由于是全桥逆变电路,所以应避免出现直通现象。

图5 开关管时序图

进入Rtunit Studio2020 软件,点击所建工程中的Logic 模型,进入Simulink 的Function-Call Subsystem编辑模型,进行模型的搭建与设置,将EPWM 模块拖入,模式设置为非互补输出,四个EPWM 模块的PWM 单元分别选择1-4,通道选择A 通道,载波选择锯齿波,根据图5 所示的时序图,分别设置各自信号的初相位,因行波型超声波电机的驱动频率[6]约为40kHz,故频率选项设置为40000,占空比初值可暂设为0.3,通过添加变量模块可以实时修改占空比。

图6 左侧的Variable 模块即为变量模块,用来观察和修改工程中设置的变量,这里设置的变量为占空比;该模块主要由以下六个部分组成:变量名称、数据类型、变量类型、初始值、单位及注释。其中,变量类型若设置为只读类型,则只能在Rtunit Studio2020 中观察,不能修改,相反,若要在软件中可以修改变量值,则要设置为可读写类型。

图6 simulink 环境下的模型搭建

模型搭建完成之后,点击Simulink 界面上方RtuBox的Code Generate 按键,自动生成C 代码,此时进入Rtunit Studio2020,依次点击菜单栏的编译和下载按键(或直接点击调试按键),烧入自动生成的C 语言代码,然后将输出信号接至示波器,点击菜单栏的在线按键,双击左侧Variants 图标,即可在线修改占空比的大小,并且在示波器中实时显示。如图7 所示,示波器所示波形从上到下依次为功率开关管S1~S4 的PWM 信号波形。

7 结语

本文以详细介绍RTU 数字控制器为主线,介绍了该设备的软件和硬件两大方面,并系统阐述了RTU 数字控制器的优势所在,同时以四路PWM 信号输出为例,通过模块搭建、代码生成等实际操作对该设备的使用方法进行了相关叙述。从而可以表明,RTU 数字控制器具有无需手动编程、调试过程简单、减少开发时间等优势,并且能将这种优势运用到实际工作当中,极大地提高了工作效率,有效地降低研发周期与投入成本。目前各研究领域在不断地追求快捷高效的主旋律下,RTU 数字控制器具有非常光明的发展前景。