我使用SPLL对AC电进行锁相,目的是检测AC电的过零点
SPLL的配置如下
AC电频率配置为50Hz,
如果给的实际的AC电的频率也是50Hz,那么AC电的过零点检测就很准确
如果给的实际的AC电的频率不是50Hz,那么AC电的过零点检测就会有偏差,频率差的越多,过零点的偏差会越大
1)请问这个问题应该如何解决
2)SPLL_1PH_SOGI_config函数的最后两个参数是干什么用的,过零点检测偏差会不会和这两个参数的配置值不准确有关系?
// 定义SPLL
SPLL_1PH_SOGI spllForGrid;
// SPLL初始化配置
SPLL_1PH_SOGI_reset(&spllForGrid);
SPLL_1PH_SOGI_config(&spllForGrid,
50, // AC_FREQ,
25L*1000, // SPLL_CHECK_FREQUENCY,
166.9743385,
-166.2661165);
SPLL_1PH_SOGI_coeff_calc(&spllForGrid);
// 调用SPLL进行锁相
SPLL_1PH_SOGI_run(&spllForGrid, gridVoltAdcValueForSpll);