基于PAC的电机控制器快速控制原型的研究
扫描二维码
随时随地手机看文章
摘要:电机控制器的开发是电动汽车开发中的重要环节。文中提出了一种基于NI Compact RIO可编程自动化控制器(PAC)的电机控制器快速控制原型(RCP)的方法。通过对PAC的主要架构、功能、实现形式进行阐述,结合永磁同步电机磁场定向控制方法,阐述了Compact RIO在电机控制器快速控制原型的具体实现方法。试验证明,基于PAC的快速控制原型方法适用于电动汽车用电机控制器的开发。
关键词:可编程自动化控制器(PAC);LabVIEW FPGA;电机控制;快速控制原型
电动汽车用电机控制器的开发具有小批量、面向不同对象的特点,因此对开发方法应具有周期短,成本低的特点,同时控制器应该具有较强可重用性和可靠性,且能满足复杂控制算法执行和参数可在线调节。传统的电机控制器开发一般有3种:基于可编程逻辑控制器(PLC)的电机控制器开发;基于专用电机控制的集成电路(IC)的电机控制器开发;基于微处理器(MCU)的电机控制器开发。这3种技术各有优缺点及其应用场合:基于PLC的电机控制开发拥有成熟的开发软件,开发周期短,且PLC运行可靠稳定,但不能实现复杂的控制算法;基于IC的电机控制器虽然其单个成本低,但其开发周期长、开发成本高、具有不可重配置性;基于MCU的电机控制器开发虽然可以运行复杂的控制算法,但还是存在系统的通用性较弱、开发周期长的缺点。随着技术的不断发展,现在出现一种结合这几种优点的适用于电动汽车电机控制系统的开发平台——基于可编程自动控制器(PAC)的电机控制器快速控制原型平台。
笔者以美国国家仪器(NI)的CompactRIO为例,首先阐明了PAC平台的定义和主要特点,然后结合永磁同步电机的磁场定向控制技术特点,简述了如何通过Compact RIO平台实现磁场定向控制的快速控制原型开发。
1 NI Compact RIO PAC平台
可编程自动化控制器(PAC)是集计算机技术、自动控制技术、仪表技术和网络通信技术为一体的自动控制装置。由表1可看出PAC既具有传统PLC在功能、可靠性、速度、故障查找等方面的特点,又具有PC的高速运算、丰富的编程语言、方便的网络连接优势。
Compact RIO可编程自动化控制器是NI推出的一款低成本、可重新配置的控制和采集系统。其采用可重新配置I/O(RIO)FPGA技术,以及开放式的模块化结构,使用户可根据具体的项目需求配备不同的模块从而可以实现多领域的控制需求。同时,RIO核心具有内置式数据传输机制,可将数据传输到嵌入式处理器,用于实时分析、事后处理、数据记录并且可以联网与主机系统进行交互。此外,NI LabVIEW是一个开放而灵活的开发环境,能够与多种工业硬件无缝连接,将基于配置的开发方式和编程语言紧密结合起来。图1所示为Compact RIO的功能图。
从功能架构可以看出,NICompact RIO硬件上配备模拟输入模块、数字输出模块、基于FPGA的高速RIO、浮点运算器、大容量非易失存储介质,软件上配备实时操作系统、运动控制模块、数据分析模块、网络数据交互模块。对于控制电机需用到的PWM接口、编码器接口、模拟输入接口、高速运算器和快速控制原型需要的可重配置性、实时在线调节参数、数据存储功能NICompact RIO都可以实现。因此NICompact RIO是一个适合做电机控制器RCP的PAC平台。
2 永磁同步电机磁场定向(FOC)控制
电动汽车用电机系统需要具有控制稳定、响应速度快、系统效率高的特点。矢量控制是1971年西门子工程师F-Blaaschke首次提出的,其基本思想是通过坐标变换,将静止坐标系中定子电流空间矢量is分解为dq旋转坐标系中的两个分量:励磁电流分量id和与之垂直的转矩电流分量iq。在工作过程中,通过对id和iq的大小进行控制,便可获得与直流电机相当的动态性能。因其控制结构简单,控制软件实现较容易,已被广泛应用到调速系统中。
图2是永磁同步电机在dq旋转坐标系下的模型,其定子磁链方程为式(1);电压方程为式(2);电磁转矩方程为式(3)。
式(1)~(3)中,ψd为d轴磁链,ψq为q轴磁链,id为d轴电流,iq为q轴电流,ud为d轴电压,uq为q轴电压,ψf为永磁体产生的磁链,是常数:ω为转子电角速度;Ld为d轴等效线圈的自感;Lq为q轴等效线圈的自感;P为电机极对数;Tem为电磁转矩;is为定子电流矢量;β为电机功角。
磁场定向控制(FOC)又称为id=0控制,即在矢量控制中使励磁电流分量保持为零;通过控制转矩电流分量来控制电机输出的电磁转矩,此时的电磁转矩为:
Tem=Pψfiq (8)
FOC主要由电流和速度采集模块、坐标变换模块、PID模块、SVPWM模块组成,图3为FOC的框图。
3 基于cRIO电机控制RCP
基于cRIO PAC电机控制器RCP的结构框图如图4所示。
1)Host主机负责电机控制的速度输入、参数在线调试、实时状态显示等人机交互界面和数据文件的保存;
2)Compact RIO系统相当于RCP中的虚拟控制器对实际的电机对象进行控制。虚拟控制器分为实时系统和FPGA模块两部分,实时系统主要负责运行实时性相对要求较高的程序,以及担任串联FPGA与Host主机的角色;
3)FPGA模块主要负责控制可重配置的IO模块,输出PWM和实时采集电流、速度信号,高速并行执行磁场定向控制算法。
3.1 Host主机界面
基于Windows系统的Host主机相对于实时系统的Compact RIO拥有更大的数据储存空间,更加友好的人机界面。Compact RIO可通过以太网与Host主机连接并进行数据交互。一台Host主机可以连接控制多台Compact RIO。本实验Host主机与Compact RIO为一对一的连接,开发人员可通过对Host主机的界面的操作而实现电机速度输入、磁场定向中的PID参数进行调试、数据保存和后处理等功能。
Host主机VI与RT实时系统VI的数据交互使用了共享变量技术。LabVIEW共享变量可以在网络上的不同VI之间共享数据,编辑时使用属性对话框来配置,开发简单。在本实验中启停命令和输入速度分别以整形变量从Host主机发送到RT系统,而3组PID的参数分别以数组的形式进行共享。同时,Host主机从RT系统接收的电机控制的状态和算法的中间变量都是组成数组的形式进行共享。图5和图6分别是Host主机VI的前面板和后面板。
3.2 实时处理器
从图3可看出在电机控制器RCP的过程中,实时系统发挥着一个承上启下的作用。实时处理器与FPGA交互部分的程序是对时间要求严格,优先执行;而数据存储和与Host交互的程序优先级较低,正常调度。
实时处理器与FPGA模块进行数据交互使用了FPGA接口操作和DMA FIFO技术,FPGA接口操作是以FPGA VI的单个变量为对象进行读写操作;DMA FIFO技术是通过先入先出队列实现RT到FPGA和FPGA到RT的大量数据的高速传输。
本实验中从Host主机传输过来的启停命令、需求速度、PID参数都是通过FIFO实时传送到FPGA程序上。而FPGA执行磁场定向控制中的反馈信号和中间变量同样通过FIFO传送到RT上。图7为实时系统VI的程序后面板。
3.3 FPGA模块
FPGA具有高性能、可重新配置、小尺寸和较低工程开发成本的特性,但传统的EDA工具对FPGA的开发门槛高、开发周期长。而NI LabVIEW FPGA模块为Compact RIO上的FPGA芯片提供了图形化的开发环境,使Compact RIO较其他PAC具有更大的灵活性和可重配置性。FPGA运行在高速时钟下,定时/触发分辨率达25 ns,并且拥有基于硬件电路的并行执行特点,对比于传统的顺序执行结构提高了电机控制性能。
从图3可以看出磁场定向所有算法都是在FPGA上执行的;主要包括:电流和速度采集模块、坐标变换模块、电流环PID控制模块、速度环PID控制模块、SVPWM输出模块。除了采集模块和输出模块是顺序执行之外,其他3个模块都是可以采用多级流水线的方式并行执行的。
NI LabVIEW FPGA模块图形化的开发环境使用户可以既快速又高效地编写程序进行硬件控制和算法实现。由于篇幅有限,图8和图9只展示了SVPWM模块、PID算法的程序实现图。
4 结论
本文在深入了解了可编程自动控制器的基础上,结合了NI Compact RIO的高可靠性、强大的软件功能、易于开发的特点,对基于Compa ct RIO的电机控制器快速控制原型的进行了研究,并以永磁同步电机磁场定向控制为例进行设计,说明了基于PAC的快速控制原型方法适合用于电动汽车电机控制器的开发。