在机械保温车辆段中,柴油发电机组发出的电能全部供给保温车内的电气设备使用,而这些设备均工作在工频条件下,这就要求发电机组发出的三相交流电有相当高的频率稳定性。而实际上,柴油发电机发出的电能,其交流电参数中的频率并不是固定不变的,正常的波动范围为49.5Hz~50.5Hz;当负载产生大范围波动时,频率也会随之产生大范围的波动。在检测过程中,对于这种大范围的波动,工作人员有时不能正确判断其是否是谐波引起的,从而给工作人员带来额外劳动。为了能实时监控发电机组发出的电能是否符合正常标准,CPU必须清楚当前采集的交流模拟量频率的变化情况,并能有效地滤掉谐波,对所测的频率进行实时处理,确保采样频率与实际信号频率相同。
1 锁相基本原理
1.1硬件锁相原理
将三相电路的电压信号及电流信号经过电压互感器和电流互感器变成幅值为-5V~+5V的交流输入信号,为了使采样频率“跟随”输入信号频率的变化,一般采用图1所示的传统反馈系统。
由图1可知:
表明,要使采样频率跟踪系统频率,需使开环传递函数F(S)中的n≥2。兼顾系统的稳定性,取n=2,并取反馈传递函数H(S)二1/N(N为分频系数,信号比较稳定时可以取1),则采样频率f0就可以跟踪系统频率f的变化。
图1所示的控制环节可以很方便地用锁相环硬件电路来实现,其原理如图2所示。图中,PD为相差比较器,其传递函数为ud=kp·△θ;VCO为压控振荡器,其传
1.2软件锁相数学模型
软件锁相原理是用计算机软件实现上述锁相过程。将图2的分频系数N取1,设输入u=Mcosθ,输出u0=M0cosθ0,其中θ和θ0是随时间而变化的量,则:
式(4)中第二项是一个倍频的交流成分,若θ-θ0是常量,项则为直流成分。而且,若θ-θ0接近于-π/2,则cos(θ-θ0)=sin(θ-θ0+π/2)≈θ-θ0+π/2。故对于ud的直流成分来说,模拟相乘器相当于一个相位的减法器。 在压控振荡器中,因频率可以是变量,故它们不是简单的乘以时间的关系,而是对时间的积分。除压控振荡器的积分作用外,滤波器环节中还需有积分项,这样才可以使ud的直流成分稳定为0,从而θ-θ0。的差可以稳定为π/2。uc的值由滤波器中的积分项保持作用维持。另外,滤波器中若只有积分项,将出现等幅振荡,故需要增加一个比例项。其数学模型如图3所示。
数学模型中,除u的输入采样要利用A/D转换接口硬件外,相乘器、滤波器和压控振荡器等可全部由程序中的算法来仿真。如果需要输出u0,还需要D/A接口电路。在柴油发电机组监控系统中,不需要输出u0,可以直接在程序中引用锁相环中的各个变量参与下一步的数据处理。
1.3软件锁相的优越性
与传统的硬件锁相相比,软件锁相可以实现硬件锁相难以实现的要求:
(1)可以利用计算机灵活的处理能力实现优化滤波或自适应滤波。
滤波可以用数字积分的形式形成无限大的直流增益,以实现完全无差调节。若希望将相乘器产生的倍频成分滤掉,可以设计一种数字滤波算法,使其在w的倍频之处为零点,而且在信号变化时可以根据实测w的值去修正滤波算法,使其零点也跟着变化以满足测试要求。这在硬件锁相中是很难实现的。
(2)可以强行改变积分值以实现快速锁定。
硬件电路中的积分值如电容的电压、电感的电流等是不能突变的。但程序中的数据却可以根据实际需要强行赋,这样能实现一步锁定。
2 柴油发电机组监控系统中软件锁相的实现
在柴油发电机组中,频率基本为定值(50Hz),这样就可以在程序中使w初始化为接近这一频率的值。然后采用下述算法;算出θ与θ0。的实际差值,然后可以强行修改θ0,使此差值改为π/2,实现一步锁定。引入一个比u0滞后π/2的信号sinθ0,可以计算usinθ0,设它的直流分量为X,再设ucosθ0。的直流分量为r,采用式(4)同。样的方法得出:
ctg(θ0-θ)=Y/X
若X》0则0《θ0-θ《π;
若X《0则-π《θ0-θ《0;
当X=0,若Y》0则θ0-θ=0;否则θ0-θ=π。
由此,只要求出Y与X,就确定了θ与θ0的实际差值。
求X与Y时,需要对上述乘积求一段时间的平均值。若信号为单一频率,则平均时只需要消去乘积中的倍频成分,这样只需要对半个周期取平均,故快的是采用一步锁定方式,这样需要半个周期的时间。若考虑输入信号u中可能存在谐波,则可将平均时间加长到整个周期或整数个周期。若u中有更低频成分,则情况复杂些,但平均时间越大,该成分的影响产生的误差越小。使相位接近于准确锁定是不难办到的。
本系统中,由于输入频率很少变化,因此为求锁相环稳定,避免因干扰而失锁,通常让滤波器环节的时间常数尽可能大,即尽可能慢些。
从上面可以看出,锁相环中的各个中间变量均可通过简单的应用程序求解,后求出采集信号的频率。