搜索
bottom↓
回复: 39

求用STM32测交流电压的原理,方案交流

[复制链接]

出0入0汤圆

发表于 2012-5-17 20:35:17 | 显示全部楼层 |阅读模式
现在在做一个测交流电压的万用表,用STM32的,哎,以前都没有接触过交流的,一点思路都没有,希望路过的高手帮忙分析一下,谢谢

阿莫论坛20周年了!感谢大家的支持与爱护!!

曾经有一段真挚的爱情摆在我的面前,我没有珍惜,现在想起来,还好我没有珍惜……

出0入90汤圆

发表于 2012-5-17 20:43:05 | 显示全部楼层
我做过的!测交流很简单啊!方案实在太多了,不知道楼主想用什么方案!

出20入22汤圆

发表于 2012-5-17 21:23:55 | 显示全部楼层
但是为了测电压,STM32可以做RMS了

出0入0汤圆

发表于 2012-5-18 08:43:26 | 显示全部楼层
多高的交流电压

出0入0汤圆

发表于 2012-5-18 09:00:41 | 显示全部楼层
用均方根算法最简单,我们用的是FFT,来后频率相位都可以一起出来,就是频谱泄漏校正算法有你搞的

出0入0汤圆

 楼主| 发表于 2012-5-18 09:44:42 | 显示全部楼层
honami520 发表于 2012-5-17 20:43
我做过的!测交流很简单啊!方案实在太多了,不知道楼主想用什么方案!

那个我现在确定的是用AD736将正弦交流信号转换为其有效值,这个转换是出来了,但是现在的问题就是转换之后的纹波对检测有干扰,我要测的是10mv到20V,现在我把所有的电压都降到10mv到100mv进行处理,用继电器进行换挡处理(如2V到20V之间的电压缩小200倍后测量,200mv到2V之间的电压缩小20倍之后测量)。但是在将原来2V量程的电压转换到100mv以下时,我觉得应该是纹波原因,导致继电器一直在跳动,一直在换量程挡

出0入0汤圆

 楼主| 发表于 2012-5-18 09:45:45 | 显示全部楼层
whxiaowang 发表于 2012-5-18 08:43
多高的交流电压

我要测三个量程挡200mv,2v,20v,精度要求为1%,

出0入0汤圆

 楼主| 发表于 2012-5-18 09:46:53 | 显示全部楼层
gyzzg2030 发表于 2012-5-17 21:23
但是为了测电压,STM32可以做RMS了

饿,不知道RMS是什么东西诶,我STM32也是初学者,呵呵

出0入0汤圆

 楼主| 发表于 2012-5-18 09:47:46 | 显示全部楼层
again 发表于 2012-5-18 09:00
用均方根算法最简单,我们用的是FFT,来后频率相位都可以一起出来,就是频谱泄漏校正算法有你搞的 ...

恩,是的,这种方案算法太复杂了,所以我没用这个

出0入90汤圆

发表于 2012-5-18 10:02:22 | 显示全部楼层
均方根很复杂吗?就是一个周期采样个几百次,然后平方求根嘛,我用STM8S103F3都做过!不管是峰值,峰峰值,还是平均值,有效值,均方根算法我都做过!其实没有那么复杂。兄弟你测的电压的幅度好小啊,我都是测三相交流电压的,最高达到250V - 600V的范围,精度达到1%没问题。

出0入0汤圆

 楼主| 发表于 2012-5-18 10:52:38 | 显示全部楼层
honami520 发表于 2012-5-18 10:02
均方根很复杂吗?就是一个周期采样个几百次,然后平方求根嘛,我用STM8S103F3都做过!不管是峰值,峰峰值, ...

对啊,现在就是小电压不好测啊,测不准啊,

出0入0汤圆

发表于 2012-5-18 11:11:07 | 显示全部楼层
有纹波怎么办?RMS能解决吗?
我感觉还是FFT好些。

出0入0汤圆

发表于 2012-5-18 15:35:48 | 显示全部楼层
利用分压差分放大的路过!!!

出0入162汤圆

发表于 2012-5-18 15:40:03 | 显示全部楼层
10192201 发表于 2012-5-18 09:44
那个我现在确定的是用AD736将正弦交流信号转换为其有效值,这个转换是出来了,但是现在的问题就是转换之 ...

AD736?
忒贵了吧


继电器切换?
低电压下,继电器触点不牢靠的

出0入162汤圆

发表于 2012-5-18 15:43:57 | 显示全部楼层
搞个4051+运放,随便都能达到1%

出0入0汤圆

发表于 2012-5-18 17:06:39 | 显示全部楼层
10mv到100mv处理台下了

出0入0汤圆

发表于 2012-5-18 17:08:40 | 显示全部楼层
不需要用AD736将正弦交流信号转换为其有效值

出0入0汤圆

 楼主| 发表于 2012-6-8 12:06:02 | 显示全部楼层
AWEN2000 发表于 2012-5-18 15:43
搞个4051+运放,随便都能达到1%

这位坛里的朋友,您能讲的详细点吗?我听得不是很明白

出0入0汤圆

发表于 2012-6-8 14:47:01 | 显示全部楼层
10192201 发表于 2012-6-8 12:06
这位坛里的朋友,您能讲的详细点吗?我听得不是很明白

他的意思是量程切换用模拟开关CD4051,然后用运放处理。

出0入0汤圆

发表于 2012-6-8 14:48:45 | 显示全部楼层
http://www.ourdev.cn/forum.php?mod=viewthread&tid=5120468###
可以参照这个帖子...

出0入0汤圆

 楼主| 发表于 2012-6-8 16:10:13 | 显示全部楼层
Blue_oldman 发表于 2012-6-8 14:47
他的意思是量程切换用模拟开关CD4051,然后用运放处理。

o ,就是用模拟开关自动换量程吧,那如果模拟开关的内阻很大,导通时大约几百欧的样子,对于测量会不会有什么影响啊?

出0入0汤圆

发表于 2012-6-8 16:14:39 | 显示全部楼层
10192201 发表于 2012-6-8 16:10
o ,就是用模拟开关自动换量程吧,那如果模拟开关的内阻很大,导通时大约几百欧的样子,对于测量会不会有 ...

导通电阻没那么大,数据手册上都有。找个合适的就可以了。

出0入0汤圆

发表于 2012-6-8 16:16:25 | 显示全部楼层
做过直接用AD采样,然后FFT。至于频谱泄露,如果交流频率固定的话很好解决,只要采样率是被测信号频率的2^N倍就行,如果交流信号是正负对称的,甚至可以将信号负半周用肖特基二极管嵌位到地后直接输入AD引脚。

出0入0汤圆

 楼主| 发表于 2012-6-8 16:16:35 | 显示全部楼层
Blue_oldman 发表于 2012-6-8 16:14
导通电阻没那么大,数据手册上都有。找个合适的就可以了。

哦,好的,我试试

出0入0汤圆

发表于 2012-6-8 16:16:45 | 显示全部楼层
你的分压电阻都是K以上的,模拟开关的几十欧导通电阻对于1%的精度足够了。

出0入162汤圆

发表于 2012-6-9 10:33:54 | 显示全部楼层
用啥运放啊。
电压互感器出来直接通过4051进adc
你按20ms/n(每周期采样n次)定时采样,最后取平均值
精度还是很高的
你要考虑波形畸变的话,就按有效值值公式计算好了

出0入0汤圆

 楼主| 发表于 2012-6-9 13:46:02 | 显示全部楼层
AWEN2000 发表于 2012-6-9 10:33
用啥运放啊。
电压互感器出来直接通过4051进adc
你按20ms/n(每周期采样n次)定时采样,最后取平均值

那个,请教一下 STM32f103rbt6的ADC可以读取负电压的吗?对于负电压怎么处理啊?

出0入0汤圆

发表于 2012-6-9 14:09:29 | 显示全部楼层
搭车请教个问题:

如图,正弦波经SSR移相触发后的波形(第三行),要计算处理后的电压,也是用平方和再开方的方法么?  谢谢!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入162汤圆

发表于 2012-6-9 16:12:50 | 显示全部楼层
10192201 发表于 2012-6-9 13:46
那个,请教一下 STM32f103rbt6的ADC可以读取负电压的吗?对于负电压怎么处理啊? ...

弄个电压基准,把信号抬高1/2VREF

出0入0汤圆

发表于 2012-6-9 21:30:34 | 显示全部楼层
楼上的思路正确。http://www.ourdev.cn/thread-5476961-1-1.html

出0入0汤圆

 楼主| 发表于 2012-6-10 10:21:35 | 显示全部楼层
SCmianyangZLY 发表于 2012-6-9 21:30
楼上的思路正确。http://www.ourdev.cn/thread-5476961-1-1.html

哎,模电没学好啊,您给的链接里有两副图诶,而且你后面还说什么前段不接地什么的,我被搞晕了,你能把有用的图发一份吗?谢谢啦

出0入0汤圆

 楼主| 发表于 2012-6-16 20:47:44 | 显示全部楼层
XA144F 发表于 2012-5-18 11:11
有纹波怎么办?RMS能解决吗?
我感觉还是FFT好些。

恩,这位坛友,我今天看了下FFT算法,已经基本上算是了解FFT了,但是我现在有一点不是很清楚,我ADC采集到的电压值是一个实数,应该怎么样把它转换为复数呢?转换为复数之后再进行FFT变化这部分我已经略懂了,希望坛友指点啊

出0入0汤圆

 楼主| 发表于 2012-6-16 20:49:16 | 显示全部楼层
XA144F 发表于 2012-5-18 11:11
有纹波怎么办?RMS能解决吗?
我感觉还是FFT好些。

还是可以直接另虚部为0的????

出0入0汤圆

 楼主| 发表于 2012-6-17 08:58:51 | 显示全部楼层
senjet 发表于 2012-6-8 16:16
做过直接用AD采样,然后FFT。至于频谱泄露,如果交流频率固定的话很好解决,只要采样率是被测信号频率的2^N ...

大侠,用肖特基二极管半波整流,信号会有衰减啊,怎么办?我输入峰峰值为3.3V的正弦波,半波整流后输出的正半周期的信号峰值只有200mV,这个怎么办啊?

出0入0汤圆

发表于 2012-6-17 12:11:57 | 显示全部楼层
采集的ADC数据直接放在实部,虚部为0即可。

出0入0汤圆

 楼主| 发表于 2012-6-17 12:29:36 | 显示全部楼层
XA144F 发表于 2012-6-17 12:11
采集的ADC数据直接放在实部,虚部为0即可。

整了一个早上,不知怎么的,连显示都显示不了,奇怪,显示其他的是可以的,但是想把这个FFT变化后的结果输出就是不行啊,大侠能够给个FFT的例子程序吗?谢谢

出0入0汤圆

发表于 2012-6-18 15:08:57 | 显示全部楼层
10192201 发表于 2012-6-17 08:58
大侠,用肖特基二极管半波整流,信号会有衰减啊,怎么办?我输入峰峰值为3.3V的正弦波,半波整流后输出的 ...

我这里说的半波采样不是用二极管半波整流,而是用单电源运放缓冲后直接输入到ADC,负半周被二极管嵌位到地以免损坏ADC,ADC对大于地电平的信号转换为正确的值,小于地电平的输入统统转换为0,这样就实现了半周期采样!如图:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

 楼主| 发表于 2012-6-18 16:30:45 | 显示全部楼层
senjet 发表于 2012-6-18 15:08
我这里说的半波采样不是用二极管半波整流,而是用单电源运放缓冲后直接输入到ADC,负半周被二极管嵌位到 ...

哦,明白了,原来是这样,谢谢

出0入4汤圆

发表于 2019-7-10 20:06:44 | 显示全部楼层
honami520 发表于 2012-5-18 10:02
均方根很复杂吗?就是一个周期采样个几百次,然后平方求根嘛,我用STM8S103F3都做过!不管是峰值,峰峰值, ...

你好,有测交流电压电路分享一下吗,

出0入8汤圆

发表于 2019-7-11 11:34:50 | 显示全部楼层


VERF1 VERF2接电流互感器。


电路应用已小PP。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-6-3 22:56

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表