System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及电能误差测量,尤其涉及一种电能误差测量方法、芯片及标准电能表。
技术介绍
1、在对电能误差进测量时一般会使用到标准电能表,同时接收标准电能表的标准电能脉冲和被检电能表的被检电能脉冲,然后再结合标准电能表的脉冲常数和被检电能表的脉冲常数,能够计算被检电能表的电能误差。为了使得电能误差的测量更加准确,需要确保测量过程中脉冲计数的准确性和计数同步的准确性。传统技术一般是用标准脉冲和被检脉冲分别触发mcu的外部中断,然后在对应的中断响应函数中对各自的脉冲计数值进行累加。但是,mcu每次在在中断函数中执行判断命令会带来一定的延迟,使得电能误差的计算值与实际值出现偏差。
技术实现思路
1、本申请实施方式主要解决的技术问题是传统技术中使用标准电能表进行电能误差测量得到的测量值与实际值存在偏差。
2、为解决上述技术问题,本申请实施方式采用的第一个技术方案是:提供一种电能误差测量方法,包括:获取被检脉冲常数、被检脉冲数量、标准脉冲常数和测量功率值,并计算第一定时器的测量开始计数值和测量结束计数值;启动所述第一定时器和第二定时器,通过所述第一定时器接收外部输入的被检脉冲、所述第二定时器的第一通道输出标准脉冲、以及所述第一定时器的比较器比较所述测量开始计数值和所述第一定时器的第一计数值,其中,所述第一计数值表示所述第一定时器接收的被检脉冲的数量;当所述第一计数值等于所述测量开始计数值时,启动第三定时器,所述第三定时器的时钟源为所述标准脉冲,通过所述第二定时器的第二通道捕获所述第二定
3、可选地,所述启动所述第一定时器接收外部输入的被检脉冲,并通过所述第一定时器的比较器比较所述测量开始计数值和所述第一计数值的步骤之后,还包括:若所述测量结束计数值大于所述第一定时器的最大计数值,设置所述测量结束计数值的溢出部分作为所述第一定时器的待溢出次数;当所述被检脉冲数量大于所述第一定时器的最大计数值,且所述第一计数值等于所述测量开始计数值时,关闭所述第一定时器的比较匹配事件输出功能,;当所述第三定时器发生溢出时,将所述第三定时器的溢出计数值加1;当所述第一定时器发生溢出时,判断所述第一定时器的待溢出次数是否大于0,若大于0,则将所述待溢出次数减1;若所述第一定时器的比较匹配事件输出功能被关闭,则在所述第一定时器后续的比较匹配中断响应函数中判断所述第一定时器的待溢出次数是否小于或等于1,若小于或等于1,则重新开启所述比较器的比较匹配事件输出功能。
4、可选地,所述计算第一定时器的测量开始计数值和测量结束计数值的步骤,包括:根据公式(1)计算所述测量开始计数值:
5、
6、其中,p表示所述测量功率值,c表示所述被检脉冲常数,t表示测量开始前的同步准备时间,nstart表示所述测量开始计数值,nstart为大于0且小于所述第一定时器的溢出值之间的整数;根据公式(2)计算所述测量结束计数值:
7、nend=nstart+nset (2)
8、其中,nset表示所述被检脉冲数量,nend表示所述测量结束计数值。
9、可选地,所述通过所述第一计数寄存器值、所述第一周期寄存器值、所述第二计数寄存器值、所述第二周期寄存器值和所述第三计数寄存器值计算标准脉冲数量的步骤,包括:根据公式(3)计算所述标准脉冲数量的整数部分值:
10、cntstdint=ovft3*novf+cntt3 (3)
11、其中,ovft3表示所述第三定时器的计数溢出值,novf表示所述第三定时器的溢出次数,cntt3表示所述第三计数寄存器值,cntstdint表示所述标准脉冲数量的整数部分值;根据公式(4)计算所述标准脉冲数量的小数部分值:
12、
13、其中,per1表示所述第一周期寄存器值,cap1表示所述第一计数寄存器值,per2表示所述第二周期寄存器值,cap2表示所述第二计数寄存器值,cntstddec表示所述标准脉冲数量的小数部分值;根据公式(5)计算所述标准脉冲数量:
14、cntstd=cntstdint+cntstddec (5)
15、其中,cntstd表示所述标准脉冲数量。
16、可选地,所述通过所述被检脉冲常数、所述被检脉冲数量、所述标准脉冲常数和所述标准脉冲数量计算电能误差的步骤,包括:根据公式(6)计算所述电能误差:
17、
18、其中,e表示所述电能误差,c1表示所述被检脉冲常数,c2表示所述标准脉冲常数,n表示所述被检脉冲数量,m表示所述接收标准脉冲数量。
19、可选地,所述第一定时器的位数等于所述第三定时器的位数,所述第二定时器的位数大于或等于32。
20、可选地,所述启动所述第一定时器接收外部输入的被检脉冲的步骤之前,还包括:判断所述第一定时器的第一计数值是否为0,若否,则设置所述第一计数值为0。
21、为解决上述技术问题,本申请实施方式采用的第二个技术方案是:提供一种电能误差测量芯片,包括第一定时器、第二定时器和第三定时器;所述第一定时器的外部时钟输入端口连接于外部被检脉冲,所述第一定时器的计数值用于累计被检脉冲的数量,当所述第一定时器的计数值等于计算得到的测量开始计数值时,触发所述第一定时器的比较匹配中断以输出测量开始信号,当所述第一定时器的计数值等于计算得到的测量结束计数值时,触发所述第一定时器的比较匹配中断输出测量结束信号;所述第二定时器的时钟源为内部时钟,所述第二定时器在启动后通过第一通道输出标准脉冲,通过所述第二定时器的第二通道捕获所述第二定时器的计数寄存器值,以及获取所述第二定时器的第一通道周期寄存器值;所述第三定时器的外部时钟输入端口接收所述第二时钟的第一通道输出的标准脉冲,当接收到所述测量开始信号时启动,累计一次测量过程中标准脉冲的整数部分值,当接收到所述测量结束信号时停止;所述电能误差测量芯片通过所述第一定时器、所述第二定时器和所述第三定时器相互配合,以执行如上所述的电能误差测量方法。
22、为解决上述技术问题,本申请实施方式采用的第三个技术方案是:提供一种标准电能表,包括如上所述的电能误差测量芯片
23、为解决上述技术问题,本申请实施方式采用的第四个技术方案是:提供一种非易失性计算机可读存储介质,所本文档来自技高网...
【技术保护点】
1.一种电能误差测量方法,其特征在于,包括:
2.根据权利要求1所述的电能误差测量方法,其特征在于,所述启动所述第一定时器接收外部输入的被检脉冲,并通过所述第一定时器的比较器比较所述测量开始计数值和所述第一计数值的步骤之后,还包括:
3.根据权利要求1所述的电能误差测量方法,其特征在于,所述计算第一定时器的测量开始计数值和测量结束计数值的步骤,包括:
4.根据权利要求2所述的电能误差测量方法,其特征在于,所述通过所述第一计数寄存器值、所述第一周期寄存器值、所述第二计数寄存器值、所述第二周期寄存器值和所述第三计数寄存器值计算标准脉冲数量的步骤,包括:
5.根据权利要求1所述的电能误差测量方法,其特征在于,所述通过所述被检脉冲常数、所述被检脉冲数量、所述标准脉冲常数和所述标准脉冲数量计算电能误差的步骤,包括:
6.根据权利要求1所述的电能误差测量方法,其特征在于,所述第一定时器的位数等于所述第三定时器的位数,所述第二定时器的位数大于或等于32。
7.根据权利要求1所述的电能误差测量方法,其特征在于,所述启动所述第
8.一种电能误差测量芯片,其特征在于,包括第一定时器、第二定时器和第三定时器;
9.一种标准电能表,其特征在于,包括权利要求8所述的电能误差测量芯片。
10.一种非易失性计算机可读存储介质,其特征在于,所述非易失性计算机可读存储介质存储有计算机可执行指令,当所述计算机可执行指令被权利要求9所述的标准电能表执行时,使所述标准电能表执行权利要求1-7任一项所述的电能误差测量方法。
...【技术特征摘要】
1.一种电能误差测量方法,其特征在于,包括:
2.根据权利要求1所述的电能误差测量方法,其特征在于,所述启动所述第一定时器接收外部输入的被检脉冲,并通过所述第一定时器的比较器比较所述测量开始计数值和所述第一计数值的步骤之后,还包括:
3.根据权利要求1所述的电能误差测量方法,其特征在于,所述计算第一定时器的测量开始计数值和测量结束计数值的步骤,包括:
4.根据权利要求2所述的电能误差测量方法,其特征在于,所述通过所述第一计数寄存器值、所述第一周期寄存器值、所述第二计数寄存器值、所述第二周期寄存器值和所述第三计数寄存器值计算标准脉冲数量的步骤,包括:
5.根据权利要求1所述的电能误差测量方法,其特征在于,所述通过所述被检脉冲常数、所述被检脉冲数量、所述标准脉冲常数和所述标准脉...
【专利技术属性】
技术研发人员:宋超,卢宇,曾春山,李鑫,
申请(专利权)人:深圳市科陆电子科技股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。