||
使用单片机A/D进行交流电压电流测量,除了计算电压有效值,还需要得到功率因数(默认市电50Hz);原来是使用电压电流过零点来检测相位和计算功率因数,但实际应用中测量不准确,原因是过零点容易被电网谐波干扰,测量结果波动很大。
偶尔看到一种新的方法,很方便计算,测量结果更加准确,而且无需额外硬件电路,激动之下又回去把以前的《信号与系统》拿过来重新学习,方法整理如下:
1. 同时对电压电流在一个周期T内的N个连续采样(50Hz下,T为20ms)的值分别为u(N)、i(N),采样值分别为
u(1),u(2),u(3)……和i(1),i(2),i(3)……;
2. 构造一个幅值为1V参考电压,频率为50Hz的电源电压us(t)[=sin(ωt)]的采样值为us(1),us(2),us(3)……us(N)
3. 构造一个幅值为1V参考电压,频率为50Hz的电源电压uc(t)[=cos(ωt)]的采样值为uc(1),uc(2),uc(3)……uc(N)
根据离散傅里叶变换公式,计算电压基波(50Hz)与参考电压的电压向量
Ureal = 2/N∑Ni=1u(t)us(t)
Uimag = 2/N∑Ni=1u(t)uc(t)
计算出电压相对于1? 00的夹角?u
同理计算出i(N)与参考电压的电压向量,计算电流相对于1? 00的夹角?i
功率因数为cos(?u - ?i)
补充:根据傅里叶展开式,Ureal等同于50Hz时正弦分量的幅度,Uimag为余弦分量的幅度