基于片上可编程系统的永磁同步电机控制器的设计与实现
摘 要: 针对永磁同步电机损耗少、效率高等特点,设计了一种基于片上可编程系统的永磁同步电机控制器,以FPGA为载体,Nios Ⅱ为中央处理器,数据采集接口作为片上外围设备,并使用DSP Builder工具实现基于模型的空间矢量控制算法模块,组成完整的片上系统,实现电流、速度和位置的精确控制。工程实践结果表明,基于SoPC技术的永磁同步电机控制器能够达到高精度、快响应的稳定控制效果。
关键词: 控制器; 永磁同步电机; 片上可编程系统; 空间矢量控制
中图分类号: TN911?34; TM386 文献标识码: A 文章编号: 1004?373X(2013)22?0160?04
0 引 言
随着电子电力技术、微电子技术以及稀土永磁材料的快速发展,永磁同步电机(Permanent Magnet Synchronous Motor,PMSM)逐步成为工业控制领域中一种常用的伺服控制电机。由于它采用了无刷结构,可以提高电动机运行的可靠性;又因其无需励磁电流,没有励磁损耗,提高了电动机的效率和功率密度[1]。它在很多应用场合可以实现高精度、高效率的控制效果。
片上可编程系统(System on a Programmable Chip,SoPC)是近年来热门的微电子应用技术,具有可编程的片上系统特点,设计方式灵活多样。基于FPGA的电机控制器较传统的基于DSP或单片机的控制器具有设计周期短、移植性好、接口灵活、运算速度快、控制精度高等优点[2]。
本设计使用FPGA作为主控制器,完成除数据采集等外围接口逻辑外,使用了Altera芯片自带的嵌入式软核Nios Ⅱ,实现伺服控制系统位置和速度的控制算法。同时使用DSP Builder工具,生成基于模型的电流环控制算法模块,实现了三闭环控制的永磁同步电机的控制器。
1 空间矢量算法原理及系统整体设计
空间矢量控制(Field Oriented Control,FOC)的基本思想是:将磁场定向坐标通过矢量变换,把定子三相交流电流分解成两个独立、相互垂直的励磁电流分量iq和转矩电流分量id,分别进行调节后得到电压控制量,然后通过SVPWM脉宽序列来控制逆变器的开关模式,从而达到利用六方向电压矢量合成的方式,来追踪旋转的电压空间矢量目的[3],以获得像直流电动机一样良好的动态特性。
图1是PMSM矢量控制基本原理。
由图1可以看出,电机控制系统包括三部分功能[4]:
(1)调节环节,包括位置、速度和电流控制模块;
(2)数据采集环节,包括位置、速度及相电流检测;
(3)逆变器模块,将直流电通过SVPWM电压调制得到控制电机的三相交流电。
本文根据FOC矢量控制原理,设计了基于SoPC技术的永磁同步电机控制器,电机控制系统整体框图如图2所示。图中,SoPC系统在一块FPGA上实现,Nios Ⅱ作为系统的主处理器完成系统参数的配置、位置和速度的控制算法。
传统的PMSM电机控制器大都采用DSP+FPGA的架构,DSP以其能处理大量浮点运算的优势用来实现复杂的控制算法,FPGA则以其速度快的优势做一些数据管理、接口逻辑的处理。这种架构下的系统虽然也能实现PMSM电机的控制,但是有几点不足之处:
(1)需要使用两块处理器芯片,增加了硬件成本及硬件电路板布局布线难度;
(2)FPGA与DSP之间数据通信接口比较复杂;
(3)对于多轴向的电机控制系统,DSP很难达到像单轴电机同样的控制效果。
而基于SoPC技术的控制器,用Nios Ⅱ代替DSP,可以有效解决上述问题。
2 SoPC系统的组成与实现
本文使用了Altera公司的FPGA芯片EP3SE110F78
0I3,根据系统功能需求将控制器进行功能划分,主要由外围接口控制逻辑、Nios Ⅱ处理器、FOC电流环控制模块组成,下面分别介绍几个模块的功能实现。
2.1 外围接口控制逻辑
为了完成永磁同步电机的闭环控制,需要采集位置、速度、相电流信息,本文采用了旋转变压器及配套的解算模块完成位置信息的采集,采用AD7890完成速度的采集,通过AD7476实现相电流的采集,用VHDL语言完成几个采集芯片的接口控制逻辑。
2.2 Nios Ⅱ处理器
本设计使用的FPGA芯片内嵌Nios Ⅱ软核,使用Altera公司SoPC Builder开发工具可方便的根据系统需求定制Nios Ⅱ处理器以及片上外设[5]。本设计添加了搭建软核系统所必需的几个模块,并且使用普通PIO作为与外部模块进行数据通信的接口。
Nios Ⅱ IDE是Nios Ⅱ处理器的软件开发环境,在此环境下可方便地编写基于C语言的软件程序。本设计软件需要完成的功能主要包括:电流环参数配置、位置控制算法、速度控制算法、产生电流环的定时启动信号。
2.3 FOC控制模块
由矢量控制原理可知,电流环控制涉及大量运算,包括Park变换、Clarke变换、Park逆变换等,用VHDL语言是无法实现这么复杂的算术运算,若使用Nios Ⅱ做算法处理,又会因运算时间过长影响了实时性,无法达到较好的电流环控制效果。因此使用DSP Builder工具搭建基于模型的FOC算法模块,顶层文件如图3所示。
模型包括了参数配置接口、各种变换、PI调节以及SVPWM生成模块,实现完整的电流环控制算法。将模型作为一个模块加入到SoPC系统中,模型的参数及启动信号由Nios Ⅱ处理器通过PIO端口进行配置。与传统DSP实现的FOC算法相比,本设计生成的FOC模型是由组合逻辑构成的,有更短的运算时间,二者运算时间的比较如图4(a)所示。
从图4(a)可以看出,基于模型的电流环只要一个运行周期10 μs即可完成,而DSP是顺序执行的,控制周期较长,运行一次电流环大约需要50 μs(DSP主频为150 MHz)。因此基于模型的方式具有更高的执行效率,保证了电流环的控制效果。
另外,当系统同时控制多路电机时,基于模型的方式优势会更明显,二者运行时间比较如图4(b)所以。从图中可以看出,DSP需要顺序执行各个电流环,运行n轴电机需要n个的电流运行周期,运算时间加长必然导致控制效果变差。而基于模型的方式下几个电流环可以同时运行,运行完多轴电机的电流环只需要一个运行周期,与单轴电机控制效果无差别。因此,当实现多轴向电机控制时,SoPC系统中只需添加相应数量的FOC模型,同时Nios Ⅱ处理器配合给出电流环参考值,几个电流环并行运行,大幅度提高了多轴电机控制的精度。
3 系统工作流程
系统软件工作由Nios Ⅱ完成,包括配置参数、完成位置和速度控制算法,以及产生启动电流环的中断信号,系统软件工作流程图如图5所示。
系统的工作过程为:上位机通过串行接口发送控制命令,并给出电机的转速和目标位置,FPGA解析接收到的命令信息,并将这些信息传递到Nios Ⅱ 处理器,同时传递到处理器的信息还包括FPGA采集到的位置、速度反馈值,处理器根据目标值和反馈值完成位置及速度的调节,并最终输出电流的参考值。FOC模块利用相电流反馈值与参考值进行电流环调节并输出SVPWM调制信号驱动功率管,从而控制电机按照命令执行相应的动作。
4 实验结果分析
在搭建的完整PMSM伺服系统环境下进行控制器功能的验证,首先验证电流环的控制效果,给定电流环参考值为0.7 A,反馈的电流值曲线如图6(a)所示,电流曲线较平滑;图6(b)是采集到的电机相电流Iu、Iv的曲线图。
给定速度参考值来验证速度环,以45 (°)/s匀速运行,采集到速度反馈值曲线如图7所示,速度曲线较平滑。
最后验证位置环,此时位置、速度、电流三个环协同工作,上位机给定命令是:在±30°之间以15 (°)/s往复运动,采集到位置反馈值、指令与实测的绝对偏差曲线如图8所示。由图8(a)可以看出,电机不仅能稳定运行,并且位置指令和实测值两条曲线几乎重合,图8(b)是位置指令和实测值之间的误差,稳态跟踪误差小于0.2°。由此可见,基于SoPC设计的PMSM控制器具有较高的控制精度和很好的稳定性。
5 结 论
本文基于SoPC技术设计实现了PMSM控制器,以FPGA为载体,Nios Ⅱ为中央处理器,数据采集接口作为片上外围设备,并使用DSP Builder工具实现基于模型的空间矢量控制算法模块,组成完整的片上系统,实现电流、速度和位置的精确控制,达到了精度高、稳定性好的控制效果,尤其在多轴电机控制系统中效果会更为明显,对多轴向数字化永磁同步电机控制研究具有重大意义。该设计已成功应用在某型新研雷达的伺服控制系统上,经过长时间的试验试飞表明,该设计能够对雷达天线系统的运行角度、扫描速度和位置实施精确控制,满足工程实践要求。
参考文献
[1] 陈伯时.电力拖动自动控制系统[M].3版.北京:机械工业出版社,2005.
[2] 黄晓东.基于FPGA的永磁电机控制系统的研究[D].杭州:浙江大学,2010.
[3] HADIOUCHE D, RAZIK H, REZZOUG A. Study and simulation of space vector PWM control of double?star induction motors [C]// CIEP 2000 VII IEEE International Power Electronics Congress. Acapulco: IEEE, 2000: 42?47.
[4] 余佩倡,吴俊,周文武.永磁同步电机矢量控制系统设计[J].电力电子技术,2011,45(11):105?107.
[5] 李兰英.Nios Ⅱ嵌入式软核SoPC设计原理及应用[M].北京:北京航空航天大学出版社,2008.
[6] 姚国国.基于SoPC技术的数据采集系统设计[J].电子科技,2008(10):68?71.