打印

关于相位差测量的算法

[复制链接]
3032|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
boboluoluo|  楼主 | 2009-9-22 19:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
要测量以上两路波(如图)的相位差,其中方波为参考电压,频率为25Hz,设其上升沿的相位为0,要用软件计算正弦波相对于方波的相位差,都有哪些算法呢?


我现在用的算法是:STM32F103 TIM4捕获方波的上升沿,在捕获中断中触发TIM2定时中断,TIM2定时频率为2500Hz,即一个周期读取正弦波的采样值100次,并记下最大采样值所对应的采样是第几次(假设为a),则相位差为(a/100)*2*3.14。但由于正弦波轻微的波动就会带来a的大幅度变化,所以由此方法算出的结果误差很大(十几度)。


希望大家能给我点建议。

相位差测量.rar

22.42 KB

沙发
jinjing999| | 2009-9-23 14:47 | 只看该作者
相位差可以通过两路同步AD采集的数据就可以计算出,相位差。你这种计算方法需要硬件支持,精度也会低,同时如果谐波比较大,你测的数据会不准确
如果你是在电网中应用的话,还会有个问题,电网中的电流有可能会很小,出现潜动电流的时候,估计这种方法是测不出相位的

使用特权

评论回复
板凳
again_gyf| | 2009-9-23 19:52 | 只看该作者
FFT+校准至少可以做到0.01度

使用特权

评论回复
地板
jinjing999| | 2009-9-24 12:12 | 只看该作者
楼上的,有点吹
如果功率因数做到0.2级别
也就是功率因数的跳动是正负0.002
以COSA= 0.500和COSB= 0.502算
acos(0.5)-acos(0.502) = 0.0023弧度*57.29578= 0.1324度
按照你说的0.01度的话,你做的功率因数精度级别是在0.02级的

我不信12位AD能做出0.02级的仪表

使用特权

评论回复
5
again_gyf| | 2009-9-24 15:48 | 只看该作者
可以用软件校准出来的!呵呵!

使用特权

评论回复
6
again_gyf| | 2009-9-24 15:50 | 只看该作者
数学是很神奇的!呵呵!

使用特权

评论回复
7
jinjing999| | 2009-9-25 09:04 | 只看该作者
呵呵
想听你的高论?
想知道你的测量范围是0~6A吗?
还有你的采样率是多少?
我做过,就是用FFT计算后,用软件校验出来,做出0.02级是比较难的

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

17

主题

51

帖子

1

粉丝