唐宇峰,闫志平
(中纺机电研究所 北京 100025)
由于全球范围内自然能源的日益紧张[1],逆变技术作为一种高效的节能技术已经渗透到各个领域。随着逆变技术在各领域地位越发重要,对逆变控制的研究也成为一项重要的研究课题。目前,逆变电源多采用正弦波脉宽调制,即SPWM技术。作为基准信号的一种,正弦波信号的波形质量直接影响到测量和控制的精度。对于一个良好的正弦信号源,一般要求输出的基准正弦波信号幅值、频率高度稳定、失真度小、幅值可调,对于三相正弦波信号还要求相位间隔稳定。生成SPWM信号可以使用振荡器、比较器等通用集成电路来实现,如HEF4752、SLE4520等,但所用元件较多,线路复杂,不易调节和控制。还可以使用专用集成电路产生SPWM,这种方法控制线路简单,但缺点是无法全面实现对系统的反馈控制。此外,还能够基于微处理器,利用软件编程产生SPWM波,此方法控制电路简单可靠,减少了硬件电路,降低了外界干扰和成本[1]。文中采用ATmega128A单片机作为产生SPWM的微处理器,利用等效面积法生成SPWM脉冲,同时利用捕获输入实现了三相正弦波与电网的过零点匹配以及相位匹配,最终设计实现了可用于回馈控制系统的三相正弦波发生器。
本次设计采用Atmel公司的AVR系列ATmega128A单片机。ATmega128A单片机吸收了PLC及51单片机的优点,片内资源丰富,具有128 kB系统内可编程FLASH,4 KB的E2PROM,4 kB的内部SRAM,两个8位的定时器/计数器和两个具有捕获功能的16位定时器/计数器,多达53个可编程I/O口,以及ISP下载及JTAG仿真口。这款单片机提供了充足的程序空间,使控制器组态简单,稳定可靠,且价格相对低廉[2]。
考虑到需要向微处理器输入三路方波信号,而且其中一路还需要用到定时器计数器的输入捕获功能,此外还考虑到该微处理器需要同时产生三路高频的SPWM波,同时考虑到该微处理器的成本,因此最终选用了ATmega128A这一款AVR 单片机[3]。
本次三相正弦波发生器的电路设计采用ATmega128A单片机来实现。通过使用ATmega128A单片机的定时器/计数器3的输入捕获端口PE7来捕获一路输入的50 Hz方波,最终得到的正弦波过零点要与方波的翻转沿对应。通过定时器/计数器1的累加器和比较器来调节占空比,可以在单片机的PB5、PB6、PB7口输出SPWM波,输出的SPWM波经过二阶滤波电路滤波后得到所需的三相正弦波。此外,还通过单片机的输入口输入两路50 Hz方波,以上三路输入的50 Hz方波的相位差也是120°,最终要求得到的正弦波与输入的方波同相位。
控制电路利用编程来控制ATmega128A单片机在其PB5、PB6、PB7口输出SPWM波,经过二阶滤波电路滤波后得到三相正弦波。
采样控制理论指出:冲量相等而形状不同的窄脉冲加在具有惯性的环节上时,其效果基本相同,冲量即指窄脉冲面积[4]。SPWM面积等效法的基本原理是在各采样周期内,均用一个与正弦曲线和时间轴所围面积相等的等高矩形脉冲来等效替代。等面积法的谐波较规则采样法小[5]。在各采样周期内,等效矩形脉冲均有一个在水平方向上移动的自由度。为提高矩形脉冲序列与正弦曲线等效的程度,必须对各采样周期内的矩形脉冲在水平方向上的位置进行寻优。
如图1所示,以正弦波半波为例,将正弦波N等份,每一份的正弦曲线与坐标系横轴所包围的面积都用一个与此面积相等的等高矩形脉冲所代替,产生脉冲的周期等于正弦波周期N,则各脉冲的宽度将是按正弦规律变化的。根据面积等效原理,N个等幅不等宽的矩形脉冲所组成的波形便与正弦波等效。
图1 等效面积法原理图Fig.1 Schematic diagram of the equivalent area
设正弦波的频率为fc,可求得SPWM波的频率:
根据上述原理可知,本次设计的核心是生成周期固定,脉宽按正弦规律变化的等幅脉冲。下面对脉宽的计算方法进行分析。
2.2.1 自然采样法
在早期的SPWM实现方法中,最典型的是由一个模拟比较器对一个三角载波和一个正弦调制信号进行比较,以实现正弦调制信号对三角载波的调制。这种将三角载波和正弦调制波进行实时比较以实现调制目的的方法叫做自然采样法[6]。自然采样法如图2所示,对称规则采样法如图3所示,A、B为正弦波和三角波的交点,t2为所求脉宽时间。设三角波峰值为UCM,正弦波幅值为URM,由 ΔDEC~ΔAFC可知:
上式是一个超越方程,需要用迭代的方法求解超越方程以确定控制量,给实时控制带来很大困难。在实际应用的过程中,采用该方法的电路具有参数漂移大、集成度低和设计不灵活等难以克服的缺点。
图2 生成SPWM波的自然采样法Fig.2 SPWM wave generated by natural sampling
图3 生成SPWM波的对称规则采样法Fig.3 SPWM wave generated by symmetric regular sampling
2.2.2 对称规则采样法
规则采样就是在三角载波的特征点对正弦调制波进行采样,根据采样值确定脉冲的前沿和后沿时刻。采样点和开关点不重合,开关点是变换的,采样点是固定的,开关时刻可以利用简单的三角函数在线计算出来,满足数字化实现的需要。
规则采样法既力求采样效果尽量接近自然采样法,又不必花费过多的计算机运行时间。采用三角波作为载波的目的就是设法使SPWM波形的每一个脉冲都与三角载波的中心线对称。载波周期中点与正弦波(调制波)的交点所作的水平线与三角波(载波)的交点确定脉冲宽度[7]。如图3所示,同样利用三角形相似定理可得:
本文设计的正弦波发生器最终需要得到三路相位差为120°的正弦波,首先向该发生器输入三路50 Hz相位差为120°的方波,其中任意一路被ATmega128A的输入捕获端口捕获,通过编程实现正弦波过零点与方波的翻转沿同步;另外两路输入至I/O口,当这两路方波相序交换时,对应的SPWM波相序也交换,以适应回馈控制系统中的功能模块的应用要求。
对于ATmega128A单片机,其16位的定时器/计数器有2个,在本次设计中,通过配置TCNT1、ICR1、OCR1A/B/C、TCCR1A/B/C等寄存器,用来控制定时器/计数器1的计数序列、计数的初始值和TOP值、产生SPWM波的工作模式、匹配模式和翻转模式。通过对比,最终确定采用快速PWM模式中的模式14,时钟分频设置为1分频,ICR1定义TOP值,OCR1A/B/C分别定义匹配值。
在编程时,需用到输入捕获中断和溢出中断两个中断子程序。具体设计及流程图如下。
如图4所示,主程序主要包括:端口初始化函数、定时器初始化函数、溢出中断函数和捕获中断函数。
图4 主程序流程图Fig.4 Flow chart of the main program
根据之前的设计思路,可知正弦波发生器需要用到两个16位定时器。TOP值是固定值,可以选择ICR1寄存器用来定义TOP值,OCR1A/B/C用于输出SPWM波,ICR3用来输入捕获中断。需要配置的寄存器有定时器/计数器寄存器TCNT1、控制寄存器TCCR1A/B和TCCR3B、中断屏蔽寄存器TIMSK,扩展中断标志屏蔽寄存器ETIMSK。定时器TCNT1初始值设为0;寄存器TCCR1A的COM1A/B/C控制匹配翻转模式,将其设置为 2。TCCR1B的 WGM13、WGM12和 TCCR1A的WGM11、WGM10控制定时器工作模式,设置为2,对应快速PWM模式14。
溢出中断子程序的流程图如图5所示,其功能是按要求改变输出比较寄存器的值。在主程序设置计数器1溢出中断使能,全局中断使能。在中断程序,通过查表法,每一次进中断后修改一次输出比较寄存器OCR1A/B/C的值。要求输出波形相位差为120°,另3个输出比较寄存器的值相位差为120°即可。
图5 溢出中断子程序流程图Fig.5 Flow chart of the overflow interrupt subroutine
捕获中断子程序的功能是实现过零点匹配,实现相位变换检测,并做标记。在定时器初始化中设置计数器3为上升沿有效,在主程序设置捕获中断使能,全局中断使能;50 Hz方波通过引脚ICP3输入,每捕获到一个上升沿,输入捕获标志位ICF3置位,输入捕获被激发,中断执行时ICF3自动清零。在中断子程序中强制令表指针指向第一个数,这样可以保证每一个周期的SPWM波的第一个脉宽对应正弦波零点对应的脉宽,即实现过零点匹配。
将另外两路方波接到PA1和PA0管脚,在进入捕获中断子程序后,读取A管脚的电平值,可知相序是否有变化。在溢出中断中根据A端口的电平值来决定是否交换OCR1B和OCR1C的查表指针。捕获中断子程序的流程图如图6所示。
图6 捕获中断子程序流程图Fig.6 Flow chart of the capture interrupt subroutine
按上述思路,用C语言在ICCAVR环境下编写并编译程序,用AVR Studio将编译好的程序下载到单片机。波形如图7所示,可看到正弦波过零点与捕获的方波跳变沿实现了匹配。
图7 捕获输入的一路方波与对应的正弦波波形Fig.7 Capture input square wave and the corresponding sine wave
相位控制的目标是实现通过改变两路方波的相序来改变正弦波的相序。未改变输入方波的相序时的波形图如图8所示;改变输入方波的相序后的波形图如图9所示。可以看出,当输入方波的相序改变时,对应的两路正弦波的相序也会改变,实现了相位匹配。
图8 原正弦波波形Fig.8 The original sine waves
由以上结果可以看出,采用等效面积法生成的SPWM波形精度高,滤波后的波形更接近正弦,谐波小。本文利用Atmega128产生SPWM脉冲序列,与专用芯片相比,具有速度快、精度高、算法灵活、成本低廉等特点,在回馈控制系统中有良好的实用性和发展前景[8]。
图9 改变输入方波的相序后的正弦波波形Fig.9 The sine waves with the phase sequence of input square wave changing
[1]陈毅光,秦会斌,屈力扬.基于ATmega8单片机的SPWM调制信号的实现[J].电子器件,2010,33(5):599-602.CHEN Yi-guang,QIN Hui-bin,QU Li-yang.The implementation of modulation on signals in a SPWM mode based on ATmega8[J].Chinese Journal of Electron Devices,2010,33(5):599-602.
[2]Vinod K V,Jonathan H,Robert M,et al.Constructing controllers for physical multilegged robots using the ENSO neuroevolution approach[J].Evolutionary Intelligence,2012(5):45-56.
[3]刘伟,罗嵘,杨华中.一种新的无线传感器节点的连续参数功耗模型[J].电子与信息学报,2010,32(8):1968-1973.LIUWei,LUORong,YANGHua-zhong.A novel power model with continuous parameters for wireless sensor nodes[J].Journal of Electronics&Information Technology,2010, 32(2):470-475.
[4]Vahidnia A,Ledwich G,Palmer E,et al.Identification and estimation of equivalent area parameters using synchronised phasor measurements[J].IET Generation,Transmission&Distribution,2014,8(4):697-704.
[5]陈增禄,毛惠丰,周炳根,等.SPWM数字化自然采样法的理论及应用研究[J].中国电机工程学报,2005,25(1):32-37.CHEN Zeng-lu,MAO Hui-feng,ZHOU Bing-gen,et al.A study on theory and application of digital natural sampling based SPWM[J].Proceedingof The CSEE,2005,25(1):32-37.
[6]Christiansen C F,Herrada J L,and Martinez N H.Further improvements in a three phase sine wave generator[J].IEEE Transactions on Industrial Electronics,1988,35(2):338-339.[7]GUO Wei-nong,DUAN Shan-xu,KONG Xue-juan,et al.A modified deadbeat control for single-phase voltage-source PWM inverters based on asym-metric regular sample[C]//PESC’2001 IEEE 32nd Annual,2001(2):962-967.
[8]Becedas J,Payo I,and Feliu V.Two-flexible-fingers gripper force feedback control system for its application as end effector on a 6-DOF manipulator[J].IEEE Transactions on Robotics,2011,27(3):599-615.