z31com 发表于 2023-7-22 10:58:02

用STM的FFT库做交流220电压采集,精度可以达到多少

想用STM的FFT库做220交流电压采集。
一般采集频率及点数要用多少?
电压及频率精度可以达到多少?
电压精度与频率精度是不是不能共存?

罗小蘑菇 发表于 2023-7-22 11:46:19

很多年前做过相关产品,用STM32的ADC采集,64个点采样,FFT处理,做角差补偿,可以做到1%精度,满足电能表所有测试要求。
现在计量芯片这么便宜,真没必要这么搞了,用计量芯片做,成本低,精度高,连互感器都能省了,程序也简单,何乐而不为呢。
现在瑞能微的SOC芯片方案更简单,MCU和计量芯片集成一体,M0内核,更简单。

z31com 发表于 2023-7-22 14:57:54

感谢回复,
要多路采集,没办法用专用芯片做(成本)

yz_altang 发表于 2023-7-22 17:34:45

z31com 发表于 2023-7-22 14:57
感谢回复,
要多路采集,没办法用专用芯片做(成本)
(引用自3楼)

多个计量芯片,实现多路计量,便宜可靠。

AWEN2000 发表于 2023-7-22 19:14:24

z31com 发表于 2023-7-22 14:57
感谢回复,
要多路采集,没办法用专用芯片做(成本)
(引用自3楼)

光采电压用电能芯片,起码可以采6路

xaofen 发表于 2023-7-22 19:15:37

可以7路,不行7*n

dellric 发表于 2023-7-22 22:05:24

采集频率不可怕,可怕的是FFT的栅栏效应,如果不做整周期采样,测准的确很难,对于间谐波,没有扎实的DSP功夫,可以直接投降了。不建议用STM32做FFT,买N个电能芯片,解决一切烦忧。

z31com 发表于 2023-7-24 09:04:36

成本要求严格,只能用STM32的ADC做。

AWEN2000 发表于 2023-7-24 09:19:12

本帖最后由 AWEN2000 于 2023-7-24 09:20 编辑

z31com 发表于 2023-7-24 09:04
成本要求严格,只能用STM32的ADC做。
(引用自8楼)

你没说精度要求多少?采样速率要求不低于多少?是否要求真有效值?
这些都影响成本的
感觉用不到FFT的,FFT让问题复杂了,精度也不容易高的
要什么FFT啊,直接每周波64点/128点采样,采样值平方求和开根号除以点数
或者直接采样值的绝对值取平均值

采样点数多些周期,0.5%还是可以做到的,就是反应慢点

如果要求更高还是用电能芯片吧


EMC菜鸟 发表于 2023-7-24 10:35:03

不太明白,电压跟FFT有啥关系?

z31com 发表于 2023-7-24 15:09:43

我要识别的频率范围:10-70HZ左右。
目前用的是触发的方式采集:上升沿时,当电压大于1.65V(偏置电压),开始计数直到下一个触发值。电网良好的时候都没问题。当电网功耗因素低于0.5时,就容易误触发。(一个周期有多个点触发到1.65V)
要测量的信号有:有效电压,有效电流,有功功率,无功功率,功率因素,相位角

feibagezib 发表于 2023-7-25 13:54:01

防止采样误触发,起始位置应该是电压峰值时候开始周期采样,我以前无功补偿方案是上升沿位置加上1/4周期时间(如果频率有变化,就应是上个周期的1/4),这样做的主要目的就是防止谐振频率造成误触发,过零判断最容易受到干扰,而峰值的起始偏差反而不明显。几年前的stm32f103采三相电压电流,可以做到0.5%,用FFT(每周期64个点)可以测量:有效电压,有效电流,有功功率,无功功率,功率因素,相位角

AWEN2000 发表于 2023-7-25 14:32:32

z31com 发表于 2023-7-24 15:09
我要识别的频率范围:10-70HZ左右。
目前用的是触发的方式采集:上升沿时,当电压大于1.65V(偏置电压), ...
(引用自11楼)

你是采集电网电压,需要10-70HZ范围?
电网频率最大偏差±1Hz

ibmx311 发表于 2023-7-25 16:03:37

刚刚在五位半的精度上获得4k的采样,量程范围从-2.99999到+2.99999,只不过代价很大没法做小巧。加热系统就消耗了90瓦功率,真真正正的4k采样,就是没想好这样快的码流采用啥方法输出,在串口设置到5兆的时候能来得及,但除了测试没什么意义,想用spi但是单片机的资源用完了没有多余的spi了,再说也有点不伦不类

z31com 发表于 2023-7-25 17:12:26

feibagezib 发表于 2023-7-25 13:54
防止采样误触发,起始位置应该是电压峰值时候开始周期采样,我以前无功补偿方案是上升沿位置加上1/4周期时 ...
(引用自12楼)


1、防止采样误触发,起始位置应该是电压峰值时候开始周期采样
这点不明白,电压的峰值是变化的,且峰峰值的顶部有可能是锯齿状的,会使峰值检测有问题。
2、几年前的stm32f103采三相电压电流,可以做到0.5%,用FFT(每周期64个点)可以测量:有效电压,有效电流,有功功率,无功功率,功率因素,相位角
你做的采样率是多少。每次采多少点,是256吗?

z31com 发表于 2023-7-25 17:14:31

AWEN2000 发表于 2023-7-25 14:32
你是采集电网电压,需要10-70HZ范围?
电网频率最大偏差±1Hz
(引用自13楼)

我要采集的是发电机的电压,在发电过程中,频率范围是0---70HZ左右

modu8888 发表于 2023-7-25 19:22:53

罗小蘑菇 发表于 2023-7-22 11:46
很多年前做过相关产品,用STM32的ADC采集,64个点采样,FFT处理,做角差补偿,可以做到1%精度,满足电能表 ...
(引用自2楼)

谢谢推荐。

feibagezib 发表于 2023-7-25 19:46:28

z31com 发表于 2023-7-25 17:12
1、防止采样误触发,起始位置应该是电压峰值时候开始周期采样
这点不明白,电压的峰值是变化的,且峰峰 ...
(引用自15楼)

采样也是上升沿的,不是零点;用比较器选一个合适的电压,此电压相对零点大得多,也比峰值小很多。一般是单一的(市电有电压不会超20%),这个比较的信号得到触发和周期时间。每周期采64个点,FFT处理1毫秒左右。

z31com 发表于 2023-7-26 09:06:12

feibagezib 发表于 2023-7-25 19:46
采样也是上升沿的,不是零点;用比较器选一个合适的电压,此电压相对零点大得多,也比峰值小很多。一般是 ...
(引用自18楼)

你是先用触发方式,以固定时间采集64个点,然后做FFT。64个点正好是一个周期?

z31com 发表于 2023-8-15 10:07:35

罗小蘑菇 发表于 2023-7-22 11:46
很多年前做过相关产品,用STM32的ADC采集,64个点采样,FFT处理,做角差补偿,可以做到1%精度,满足电能表 ...
(引用自2楼)

角差补偿是怎么做的,能分享下吗?

polarbear 发表于 2023-8-15 11:59:24

楼主,因为你要采集电压, 所以做个过零电路触发CPU 中断就可以知道电网的频率, 也保证采集的周期完整

z31com 发表于 2023-8-15 14:07:44

polarbear 发表于 2023-8-15 11:59
楼主,因为你要采集电压, 所以做个过零电路触发CPU 中断就可以知道电网的频率, 也保证采集的周期完整 ...
(引用自21楼)

电源质量不好的时候,只做过0触发不行

z31com 发表于 2023-8-18 09:39:35

罗小蘑菇 发表于 2023-7-22 11:46
很多年前做过相关产品,用STM32的ADC采集,64个点采样,FFT处理,做角差补偿,可以做到1%精度,满足电能表 ...
(引用自2楼)

你这个相位角怎么做可以到1%呢。我现在测试误差都在3-5度。可以分享下算法吗?
还有相问下,我用官方的DSP库做的FFT,如果加窗呢?

罗小蘑菇 发表于 2023-8-18 11:05:55

本帖最后由 罗小蘑菇 于 2023-8-18 11:14 编辑

z31com 发表于 2023-8-18 09:39
你这个相位角怎么做可以到1%呢。我现在测试误差都在3-5度。可以分享下算法吗?
还有相问下,我用官方的DS ...
(引用自23楼)

10多年前的项目了,现在细节记不清了了,算法挺复杂的,需要研究好久,如果你搞不定还是老实用计量芯片吧

罗小蘑菇 发表于 2023-8-18 11:13:43

z31com 发表于 2023-8-18 09:39
你这个相位角怎么做可以到1%呢。我现在测试误差都在3-5度。可以分享下算法吗?
还有相问下,我用官方的DS ...
(引用自23楼)

而且你只是测个电压,又不计算功率和电能,跟角差完全没关系,算功率和电能才需要角差补偿和校正,因为是互感器产生的电压和电流的相位差。
你只测电压跟这些都没关系,只能说明你其他方面没研究好,趟过的坑建议你不要往里跳,可是你勇往直前,也帮不了你什么了。

z31com 发表于 2023-8-24 15:19:50

罗小蘑菇 发表于 2023-8-18 11:13
而且你只是测个电压,又不计算功率和电能,跟角差完全没关系,算功率和电能才需要角差补偿和校正,因为是 ...
(引用自25楼)

我需要采集三相电的电压,电流,有功功率,无功功率。原来用触发的方式,在功率因素很低的情况下会有误动作。造成测量不准。
页: [1]
查看完整版本: 用STM的FFT库做交流220电压采集,精度可以达到多少