基于DSP+FPGA 的三相交流发电机功率因数确定方法

2023-05-29 05:50甘忠文薛开昶袁光伟顾兴阳
电子制作 2023年7期
关键词:根号低通滤波器锁相环

甘忠文,薛开昶,袁光伟,顾兴阳

(国家精密微特电机工程技术研究中心 贵州航天林泉电机有限公司,贵州贵阳,550081)

0 引言

功率因数是反映三相交流发电机运行状态最重要的指标之一。功率因数过低时,发电机的利用率过低,电机绕组铜损增大。对于直流发电机,输出电压是由相电压整流所得,功率因数过低时使输出电压质量变差,使发电机输出电压变低[1~2]。当发电机负载为非阻性负载时,可通过功率因数值获得电机实际有功功率。因此,发电机的功率因数是对发电机的运行状态进行判断的关键参数。

传统的功率因数检测方式,一种是检测相电压或相电流的上升沿或者下降沿得到周期,再通过检测电压与电流过零点时间差,将时间差转换为功率因数角,从而获得电机功率因数值[3~4],此方式在强干扰环境下,过零点检测误差较大,则功率因素精度较低;另外一种是通过发电机相电流与相电压计算电机视在功率,通过负载端得到发电机有功功率,由视在功率与有功功率比值获得功率因数,此方法无法直接通过相电压与相电流获得[5~6],必须要通过负载获得发电机有功功率,对于交流发电机系统难以获得,对于直流发电机还需对直流输出电压与输出电流采样,需占用更多的硬件资源。同时,对于DSP 来说计算根号指令,占用资源多,运行时间长;对于FPGA,无运算根号的指令,需通过其他算法对根号运算进行间接运算,步骤繁琐,占用运算资源多。

因此,本文在DSP 平台上,提出来一种运用近似计算的电机功率因素求解方法,在FPGA 平台上提出一种基于锁相环的电机功率因素求解方法,降低干扰对功率因数计算值的影响,仅需采样两路相电压与相电流即可实现,同时使DSP 与FPGA 在算法上更容易实现,节约软硬件资源。

1 电机功率因数确定原理分析

由于相电压与相电流之间的相位差而产生无功功率,功率因数为有功功率与视在功率的比值,同时也为相电压与相电流相位差余弦值。由于通过相电压与相电流存在相位差,无法直接计算电机的有功功率,则无法直接计算功率因数。则通过间接方式获得相电压与相电流的相位差是确定功率因数的关键。通过对相电流与相电压采样,得到相电流ia、ib、ic与相电压ua、ub、uc,但实际使用时仅需采样其中A、B 两相即可,通过式(1)、(2)对相电流的CLARK 变换的将三相电流转换为静止两相电流得到αβ 轴上分量iα、iβ,同理可得相电压在αβ 轴上分量uα、uβ。

图1 静止三相变换至两相

不难发现,通过坐标变换获得的功率因数角并不是通过过零点的检测获得,高频干扰对其影响远小于过零点检测方法,同时也并不需要获得发电机输出的有功功率,仅需两相相电压与两相相电流即可获得功率因数值。相电压模AU如式(4)所示,相电压AI模可通过同理获得。

结合式(3)和式(4)可得功率因数cosφ如式(5)所示。

式中,|AU|、|AI|表示相电压与相电流模。

2 DSP 实现方法分析

由于DSP 进行根号运算时,需要占用过多时钟周期,使用较多次数根号运算时,将使主程序的余量不够或者用满,带来不可估计的风险。由式(4)与式(5)可知,在功率因数求取的运算过程中,求模的运算需要进行根号运算,则不利于使用DSP 实现,因此为了规避根号运算采用近似计算的方法。

结合式(5)可知,可知计算(cosφ)2时,即可规避式(4)中的根号运算,但要获得功率因数仍需根号运算。因此采用泰勒级数的方式进行对(cosφ)2进行化简求解。如式(6)所示,对于任意函数在点x=x0处具有任意阶导数,均可用泰勒级数展开。

式中f(n)(x)表示f(x)的n阶导数,n表示阶数。则令x=(cosφ)2,取x0=1则将功率因数展开为泰勒级数如式(7)所示。

由于一般发电机功率因数均工作于接近于1 的状态,则当电机功率接近于1 时,高阶项对整体的结果较小,为了更易于编程实现,则在误差允许范围内高阶项则可省去,则式(7)可化简为如式8 所示。

例3.There has been a lot of publicity recently about all the Hong Kong English words that have made it into the latest edition of the Oxford English Dictionary(OED).The words include a number of Cantonese loanwords(e.g.char siu and dai pai dong)(China Daily,2016-06-07)(叉烧和大排档)

通过取固定相移角度进行计算,功率因数估算结果如表1 值。

表1 功率因数测试表

表中Err 为估算功率因数误差。

通过计算可以看出,虽然近似计算实现方法算法简单,但随着功率因数角增大,误差将变大。当功率因数角低于40°时,误差低于0.6%,此方式可用于电机工作与较高功率因数状态下或仅用于电机故障判断对精度要求不高使用条件下进行检测,若需继续提高精度只能通过增加阶数的方法实现。

3 FPGA 实现方法分析

通过对DSP 近似计算方式的分析,虽然算法简单,但仍有缺点,上述方法规避了开根号运算,但仍需做除法运算,且在功率因数较低时,计算值误差较大,应用场合相对局限。为了增加功率因数估算的精度,同时避免提高近似计算阶数使算法更为复杂并且近似计算存在无法避免的误差,则针对FPGA 难以进行除法及根号运算的缺点,提出运用锁相环的方式进行功率因数估算。

3.1 FPGA 功率因数算法原理

通过图1 所示,对于功率因数角φ正弦值可用相电压与相电流的αβ 轴上分量表示,如式(9)所示。

同时结合式(5),可得以下关系式:

若定义ˆφ为估算功率因数角度,设式(10)等于X,设式(11)等于Y,可以得到估算功率因数角与实际功率因数角的关系如式12 所示。

结合式(12)不难发现,当估算功率因数角ˆφ接近于或等于实际功率因数角φ时,式(12)结果为0,利用这一特点,若采用锁相环的方式实现使功率估算角度ˆφ与实际功率因数角φ进入锁定状态,此运算过程,并不需要求出实际的相电压与相电流模值,可采用固定比例系数的方式求取误差。此方式规避了根号及除法运算,此时功率因数估算角余弦值即为所求功率因数值。

3.2 锁相环原理

锁相环主要作用是实现估算角度与实际角度的跟踪,最终达到对功率因数角锁定的目的。如图2 所示,锁相环主要包含了鉴相器、环路滤波器、PI 调节器、累加器以及CORDIC。

图2 锁相环原理图

对于鉴相器,主要作用是求取输入角度与估算角度的误差值,此处采用式(12)的方法对误差值进行间接的求取,针对误差需进行归一化处理,将误差转换到0~1 的范围内,则可在PI 中加入归一化系数,即取|AU|×|AI|的最大值,假设在115V 三相交流电源、相电流峰值最大峰值为100A 的使用条件下,则|AU|×|AI|=16261,但实际应用时为防止干扰的影响,归一化系数可取20000。

对于低通滤波器,主要用于对误差信号进行滤波,避免高频干扰信号对精度的影响,导致估算角度值产生误差。由于误差信号频率,接近于为直流信号,则可采用低通滤波器的方式进行滤波,截止频率可选择200Hz 的频率,即ωo=1256rad/s 为了保证更好的滤波效果,采用二阶低通滤波器,传递函数如式(13)所示。

式中,An表示低通滤波器增益系数,Q表示表示低通滤波器品质因数,本应用中可取An=1,Q=1。

对于PI 调节器及累加器,主要用于对误差信号进行处理,将误差信号转换为对应的角度误差信号,结合累加器对PI 调节的误差信号进行积分,通过PI 调节使PI 调节器输出角度不断逼近于输入角度。其传递函数如式(14)所示,同时由于程序计算造成的延时如式(15)所示。

式中,Kp表示比例系数,Ki表示比例系数,Ts表示PI调节器运算周期。结合低通滤波器与PI 调节器等传递函数,得到锁环环开环波特图如图3 所示。

图3 锁相环波特图

图3 中ωo为低通滤波器截止频率。为防止锁相环振荡,功率因数估算响应不理想,在低通滤波器截止频率ωo=1256rad/s 条件下,此处可取PI 传递函数的零点为Ki/Ts=600rad/s,由于一般电机控制器控制频率为10~20kHz,则设锁相环调节频率为18 kHz,则有Ts=0.55×10-4s,则积分系数Ki=0.033,由于发电机功率因数仅用于电机运行状态及故障判断,不直接影响发电机控制,则估算速度并不需要太快,则可取Kp=2×Ki=0.066,实际应用的PI 参数需根据调试结果进行微调。

3.3 CORDIC 算法原理

对于CORDIC 主要求取估算功率因数角正余弦值,用于鉴相器进行误差求取并同时获得发电机功率因数值。

CORDIC 算法采用迭代的方式,通过系列的基本角度进行多次的旋转,在确定基本角度的正切值的情况下,使所测角度由基本角组成,对应正余弦值将不断逼近所测角度实际的正余弦值。如图4 所示,以(1,0)为基准点进行旋转,迭代次数越多,角度越逼近真实值,实际应用时,若迭代次数采用11 次,理论角度误差为0.056°,功率因数误差为4.8×10-7,满足使用要求。通过迭代后获得最新坐标(x,y),其中x即为实测角度θ余弦值,y为所测角度θ正弦值。

图4 CORDIC 原理

通过查表获得基本角度的正切值,得到每次旋转后最新的点坐标,如式(16)所示。

式中,An表示由于CORDIC 变换的引入的增益,θi表示每次旋转的角度。

4 算法仿真

通过Simulink 对锁相环实现方式进行仿真,由于近似计算方式测试误差基本可以通过计算得出则不再仿真验证。仿真条件为三相电压与三相电流采用频率500Hz,相电压有效值为115V,相电流峰值100A。如图5 是锁相环实现仿真框图,通过改变不同的电压与电流的相位对程序进行验证,并且通过在电压与电流信号注入干扰,检验算法的精度。

图5 锁相环实现仿真图

当相电压与相电流为标准正弦信号时,通过改变不同的电压与电流的相位对测试精度进行验证测试,功率因数估算结果如表2 所示,功率因数估算值几乎不存在误差,与理论值基本一致。其中当φ=50°时,功率因数估算波形如图6所示,误差响应曲线比较理想,符合测试使用要求。

表2 功率因数测试表

图6 φ=50°功率因数波形

通过在相电压与相电流中加入高频干扰进行测试,相电压与相电压波形如图7 所示,通过改变不同的电压与电流的相位对测试精度进行验证,测试结果如表3 所示,测试平均误差为0.06%,精度仍相对较高,符合正常使用要求。

表3 功率因数测试表

图7 相电压与相电流

5 结论

(1)给出了相电压与相电流坐标变换的功率因数原理分析方法,通过坐标变换获得的功率因数角规避高频干扰对其的影响,远小于过零点检测方法。同时仅需两相相电压与两相相电流即可获得功率因数值。

(2)给出了基于DSP+FPGA 的功率因数确定原理,近似计算的方法规避了DSP 难以实现根号运算的缺点;基于锁相环的功率因数确定方法规避了FPGA 无除法器的缺点,仅采用加减乘等简单的运算方式实现。

(3)通过实测表明,DSP 功率因数确定方法,当功率因数越大时,估计功率因数误差越小,仅可功率因数较大或故障判断时进行使用。FPGA 功率因数确定方法,在标准正弦的测试条件下,功率因数在全范围内平均误差基本不存在。在强干扰环境下,功率因数估算误差为0.06%,均符合使用要求。

猜你喜欢
根号低通滤波器锁相环
“实数”检测题
IIR数字滤波器设计中频率转换探究
锁相环HMC832的设计与实现
基于瞬时无功理论的谐波检测中低通滤波器的改进
新型无锁相环DSTATCOM直接电流控制方法
揭开二次根式双重非负性的神秘面纱
新型锁相环技术及仿真分析
后置低通滤波器对冲击负荷电能计量的影响
“实数”易错题专练
锁相环在微机保护中的应用