System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种基于过零点的快速锁相方法及系统技术方案_技高网

一种基于过零点的快速锁相方法及系统技术方案

技术编号:40609851 阅读:4 留言:0更新日期:2024-03-12 22:17
本发明专利技术涉及一种基于过零点的快速锁相方法及系统,属于锁相技术领域,解决了现有锁相需要调节PID参数且不通用的问题。包括每当上电后初始化正弦函数表和步长计算表,将计数值、小数步长和锁相值置为零;每当周期中断时执行如下步骤:当目标波形幅值不大于阈值时,当前小数步长和整数步长清零;当目标波形幅值大于阈值时,根据当前计数值判断目标波形是否正常过零点,如果正常过零点,则根据当前锁相值和/或步长计算表获取当前小数步长和整数步长;否则根据当前小数步长得到整数步长后更新当前小数步长;根据固定步长和整数步长之和得到待累加锁相步长并累加至当前锁相值;根据累加后的当前锁相值和正弦函数表得到正弦函数值。实现快速通用的锁相。

【技术实现步骤摘要】

本专利技术涉及锁相,尤其涉及一种基于过零点的快速锁相方法及系统


技术介绍

1、准确获取电网基波电压的相位角和频率,在变频器、有源滤波器等电力电子装置中具有重要的意义。

2、现有技术中通常采用锁相环实现,一般的做法是采用过零点检测或将信号变换到dq坐标系中实现锁相。其中,过零锁相方法原理简单、易于实现,仍然是目前工程实践中广泛应用的锁相技术;dq锁相方法,实时性强,无需进行过零比较,但需要复杂的坐标变换和大量的数学运算,当电网出现畸变或不平衡时,其快速性和准确性会受到影响,该方法也不适合单相电网锁相。

3、以上两种锁相一般都用到pid控制器进行闭环调节,因此用于不同的系统时,就需要重新调节pid参数,调参的好坏直接影响锁相的效果,而调参却需要大量的经验,影响了算法的通用性和便捷性。


技术实现思路

1、鉴于上述的分析,本专利技术实施例旨在提供一种基于过零点的快速锁相方法及系统,用以解决现有锁相需要调节pid参数且不通用的问题。

2、一方面,本专利技术实施例提供了一种基于过零点的快速锁相方法,包括如下步骤:

3、每当上电后初始化正弦函数表和步长计算表,将计数值、小数步长和锁相值置为零;

4、每当pwm波周期中断时执行如下步骤:

5、当目标波形幅值不大于阈值时,当前小数步长和整数步长清零;当目标波形幅值大于阈值时,根据当前计数值判断目标波形是否正常过零点,如果目标波形正常过零点,则根据当前锁相值和/或步长计算表,获取当前小数步长和整数步长;否则,直接根据当前小数步长得到整数步长后更新当前小数步长;

6、根据固定步长和整数步长之和得到待累加锁相步长,并累加至当前锁相值;根据累加后的当前锁相值和正弦函数表,得到正弦函数值;根据正弦函数值生成pwm波。

7、基于上述方法的进一步改进,根据当前锁相值和/或步长计算表,获取当前小数步长和整数步长,包括:

8、判断当前锁相值是否超过锁相误差范围,如果未超过,则锁相成功,当前小数步长和整数步长清零;如果超过,则根据当前锁相值和步长计算表,得到待累加小数步长,并累加至当前小数步长,根据当前小数步长得到整数步长后更新当前小数步长。

9、基于上述方法的进一步改进,正弦函数表是一个一维数组且元素个数为n,以当前锁相值作为正弦函数表的索引而得到正弦函数值,使用如下公式初始化正弦函数表:

10、mysin[i]=sin(2.0×π×i/n)

11、其中,n为正弦函数表的元素个数,mysin[i]为正弦函数表中第i个正弦函数值,i为[0,n)之间的整数。

12、基于上述方法的进一步改进,步长计算表是一个一维数组且元素个数为m,使用如下公式初始化步长计算表:

13、stepcoeff[k]=1.0/[(k+1)×n/m]

14、其中,n为正弦函数表的元素个数,m为步长计算表的元素个数,stepcoeff[k]为步长计算表中第k个步长计算系数,k为[0,m)之间的整数。

15、基于上述方法的进一步改进,根据当前计数值判断目标波形是否正常过零点,包括:

16、当前计数值递增1;

17、当目标波形过零点时,判断当前计数值是否在设定范围内,如果在设定范围内,则目标波形是正常过零点,当前计数值清零;否则,目标波形是非正常过零点;

18、设定范围根据周期中断频率、目标波形基波频率及其预置的波动比例计算得到。

19、基于上述方法的进一步改进,过零点包括正向过零点和负向过零点;根据当前锁相值和步长计算表,得到待累加小数步长,包括:

20、当目标波形为正向过零点时,判断当前锁相值是否大于n/2,如果大于,则将当前锁相值减去n,得到第一锁相值,否则,将当前锁相值赋值给第一锁相值;当目标波形为负向过零点时,当前锁相值减去n/2,得到第一锁相值;

21、将第一锁相值乘以步长计算表的第一个元素值后,取绝对值的整数部分作为步长元素索引;基于步长计算表,根据步长元素索引得到步长计算系数;将第一锁相值乘以步长计算系数,得到待累加小数步长。

22、基于上述方法的进一步改进,根据当前小数步长得到整数步长后更新当前小数步长包括:

23、取当前小数步长的整数部分作为整数步长;

24、将当前小数步长减去整数步长后的值更新至当前小数步长。

25、基于上述方法的进一步改进,固定步长根据周期中断频率ft、目标波形基波频率fb和正弦函数表的元素个数n,使用如下公式计算得到:

26、stepfixed=n/(ft/fb)。

27、基于上述方法的进一步改进,当前锁相值是[0,n)之间的整数,对应[0,360°)之间的锁相角度;累加后的当前锁相值超过n时,重置为零。

28、另一方面,本专利技术实施例提供了一种基于过零点的快速锁相系统,包括:初始化单元和锁相单元,其中,

29、初始化单元,用于每当上电后初始化正弦函数表和步长计算表,将计数值、小数步长和锁相值置为零;

30、锁相单元,包括过零检测模块、小数步长获取模块和正弦函数值获取模块,用于每当pwm波周期中断时执行如下步骤:当目标波形幅值不大于阈值时,当前小数步长和整数步长清零;当目标波形幅值大于阈值时,过零检测模块用于根据当前计数值判断目标波形是否正常过零点,如果目标波形正常过零点,则由小数步长模块根据当前锁相值和/或步长计算表,获取当前小数步长和整数步长;否则,由小数步长模块直接根据当前小数步长得到整数步长后更新当前小数步长;正弦函数值获取模块用于根据固定步长和整数步长之和得到待累加锁相步长,并累加至当前锁相值;根据累加后的当前锁相值和正弦函数表,得到正弦函数值;根据正弦函数值生成pwm波。

31、与现有技术相比,本专利技术至少可实现如下有益效果之一:

32、1、通过检测波形的过零点(包括正向和负向),并采用查表的方式而非pid控制的方式来达到锁相的目的,本专利技术中的锁相方法可控制锁相的速度,省去了调节pid控制参数的繁琐过程,提高了锁相的快速性、通用性和便捷性;

33、2、在锁相过程中只用到了目标波形的过零点信息,支持单相和多相波形的锁相,同时增加了非正常过零点的判断,增强了抗干扰能力。

34、本专利技术中,上述各技术方案之间还可以相互组合,以实现更多的优选组合方案。本专利技术的其他特征和优点将在随后的说明书中阐述,并且,部分优点可从说明书中变得显而易见,或者通过实施本专利技术而了解。本专利技术的目的和其他优点可通过说明书以及附图中所特别指出的内容中来实现和获得。

本文档来自技高网...

【技术保护点】

1.一种基于过零点的快速锁相方法,其特征在于,包括如下步骤:

2.根据权利要求1所述的基于过零点的快速锁相方法,其特征在于,所述根据当前锁相值和/或步长计算表,获取当前小数步长和整数步长,包括:

3.根据权利要求2所述的基于过零点的快速锁相方法,其特征在于,所述正弦函数表是一个一维数组且元素个数为n,以当前锁相值作为正弦函数表的索引而得到正弦函数值,使用如下公式初始化正弦函数表:

4.根据权利要求3所述的基于过零点的快速锁相方法,其特征在于,所述步长计算表是一个一维数组且元素个数为m,使用如下公式初始化步长计算表:

5.根据权利要求1所述的基于过零点的快速锁相方法,其特征在于,所述根据当前计数值判断目标波形是否正常过零点,包括:

6.根据权利要求4所述的基于过零点的快速锁相方法,其特征在于,所述过零点包括正向过零点和负向过零点;所述根据当前锁相值和步长计算表,得到待累加小数步长,包括:

7.根据权利要求1或2所述的基于过零点的快速锁相方法,其特征在于,所述根据当前小数步长得到整数步长后更新当前小数步长包括:</p>

8.根据权利要求3所述的基于过零点的快速锁相方法,其特征在于,所述固定步长根据周期中断频率fT、目标波形基波频率fB和正弦函数表的元素个数n,使用如下公式计算得到:

9.根据权利要求3所述的基于过零点的快速锁相方法,其特征在于,所述当前锁相值是[0,n)之间的整数,对应[0,360°)之间的锁相角度;所述累加后的当前锁相值超过n时,重置为零。

10.一种基于过零点的快速锁相系统,其特征在于,包括:初始化单元和锁相单元,其中,

...

【技术特征摘要】

1.一种基于过零点的快速锁相方法,其特征在于,包括如下步骤:

2.根据权利要求1所述的基于过零点的快速锁相方法,其特征在于,所述根据当前锁相值和/或步长计算表,获取当前小数步长和整数步长,包括:

3.根据权利要求2所述的基于过零点的快速锁相方法,其特征在于,所述正弦函数表是一个一维数组且元素个数为n,以当前锁相值作为正弦函数表的索引而得到正弦函数值,使用如下公式初始化正弦函数表:

4.根据权利要求3所述的基于过零点的快速锁相方法,其特征在于,所述步长计算表是一个一维数组且元素个数为m,使用如下公式初始化步长计算表:

5.根据权利要求1所述的基于过零点的快速锁相方法,其特征在于,所述根据当前计数值判断目标波形是否正常过零点,包括:

6.根据权利要求4所述的基于过零...

【专利技术属性】
技术研发人员:焦辰辉田玲田刚印
申请(专利权)人:北京中航智科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1