打印

请教单片机ADC采集交流电压,做电压表问题!一个星期了,

[复制链接]
15622|39
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
lgqsyw|  楼主 | 2013-11-5 18:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
硬件电路如图<1>所示:220V市电经R1、R2分压,取R2上电压,再使用2.5V直流电压抬高,后经运放处理后得出图<2>的波形(红色为输出到单片机ADC引脚的波形,绿色为2.5V直流电压)。可以看出输入到单片机的信号是以2.5V为时间轴的正弦波信号。



问题1:若使用ADC位数为10位的单片机,测量精度能否达到千分之五?如果不能,试问最低多少位ADC能达到此精度?


问题2:ADC采集到的数据应该怎样处理,也就是核心的算法了(最后能把频率也计算出来,呵呵!)。


问题3:如果用电流互感器采集电流数据后经同样的电路处理输入到单片机的ADC,能否根据电压和电流值计算出功率、功率
因数的值,具体的算法是什么样的呢?

等大神解答!!!


相关帖子

沙发
lgqsyw|  楼主 | 2013-11-6 08:29 | 只看该作者
帮忙顶一下啊

使用特权

评论回复
板凳
senny| | 2013-11-6 11:43 | 只看该作者
这个电路做模型可以,实际不可以。
这种方式可以的。注意软件校准OP的OFFSET,增益校准。

使用特权

评论回复
地板
lgqsyw|  楼主 | 2013-11-6 12:03 | 只看该作者
求计算方法啊,大神! 这只是一个模型,想说明输入到单片机的波形而已

使用特权

评论回复
5
youluo235| | 2013-11-7 11:23 | 只看该作者
首先运放的偏置就不对。那个交流电出来的负电压呢。没有偏置。提高电压应该用加法器或者给个直流偏置,其次,正玄波至少要16个点才能大概知道他的幅度,假设每个周期采样16个点,220*16,幅度和频率计算理论上可以的。每到最大值或者最小值之间的时间就可以算出频率。幅度就是最大值减去最小值,至于精度,当然越大越好。最好用并口输出的。要不速度就慢了

使用特权

评论回复
6
zyj9490| | 2013-11-9 21:38 | 只看该作者
本帖最后由 zyj9490 于 2013-11-9 21:44 编辑

以上电路实际工作中,很少用,原因如下:1)电阻的耐压问题,2)温漂,处于0.5级的精度必须考量取样电阻的温漂.3)电路在电压通道必引入较大的相位误差,因为带宽不够大.4)抗干扰或做EMC方面很差.不能用在工业上,实在是业余级的电路.

使用特权

评论回复
7
lgqsyw|  楼主 | 2013-11-11 16:33 | 只看该作者
youluo235 发表于 2013-11-7 11:23
首先运放的偏置就不对。那个交流电出来的负电压呢。没有偏置。提高电压应该用加法器或者给个直流偏置,其次 ...

加了直流偏置了,2.5V的VDD,这里只是个意思,实际电路是用TL431获得的偏置电压。后面说的东西表示不太懂。。。。

使用特权

评论回复
8
lgqsyw|  楼主 | 2013-11-11 16:37 | 只看该作者
zyj9490 发表于 2013-11-9 21:38
以上电路实际工作中,很少用,原因如下:1)电阻的耐压问题,2)温漂,处于0.5级的精度必须考量取样电阻的温漂.3) ...

大神啊,  电阻耐压问题是用5个200K/0.5W的电阻串接的,还要考虑功率不是。取样电阻是25ppm 精度0.5的。带宽的问题还没看,其实不太懂。在电阻分压后加电压互感器能不能提高抗干扰能力呢?  请指教

使用特权

评论回复
9
zyj9490| | 2013-11-11 23:26 | 只看该作者
本帖最后由 zyj9490 于 2013-11-11 23:28 编辑
lgqsyw 发表于 2013-11-11 16:37
大神啊,  电阻耐压问题是用5个200K/0.5W的电阻串接的,还要考虑功率不是。取样电阻是25ppm 精度0.5的。 ...

把电压转变为电流再用CT隔离,应可以对付EMC,带宽在10K左右对信号的相位没有影响,再计算功率时没有影响。计算有效值必须有1000点的计算。这样对误差小都有好处。可能对MCU的计算能力高点。

使用特权

评论回复
10
lgqsyw|  楼主 | 2013-11-12 21:48 | 只看该作者
zyj9490 发表于 2013-11-11 23:26
把电压转变为电流再用CT隔离,应可以对付EMC,带宽在10K左右对信号的相位没有影响,再计算功率时没有影响 ...

计算有效值的1000点是指一个周期内采集信号的个数吗?假如交流信号的频率为50Hz,一个周期的时间为20ms,采集时间间隔=20/1000=20us:funk:这么快的速度难做吗?能做到的话,把这1000个数据这么处理呢?先平方、再平均、然后开方吗?感觉数据量好大。 单片机带硬件乘法器会不会处理起来好些。     多多指教,只懂一点点,说错了勿怪

使用特权

评论回复
11
zyj9490| | 2013-11-12 23:23 | 只看该作者
本帖最后由 zyj9490 于 2013-11-13 15:29 编辑
lgqsyw 发表于 2013-11-12 21:48
计算有效值的1000点是指一个周期内采集信号的个数吗?假如交流信号的频率为50Hz,一个周期的时间为20ms, ...

是的,做有效值的话,以任意波形的有效值都能处理。当然指带宽在取样频率的十分之一的频率以下的任意波形。如果做平均值,那就不是有效值了。计量蕊片就是我以上的算法处理有效值的,其实如果1s时间报测一次结果,应数据量不是很大。先取完1000个点,再做运算,显示结果,只要1s时间内完成,在行业上是允许的。实时性不是很强的,

使用特权

评论回复
12
lgqsyw|  楼主 | 2013-11-13 12:57 | 只看该作者
zyj9490 发表于 2013-11-12 23:23
是的,做有效值的话,以任意波形的有效值都没有处理。当然指带宽在取样频率的十分之一的频率以下的任意波 ...

现在是不是行业内都不用这种方法做电压表了啊?难道都用计量芯片了吗?   这个方法成本上要低很多

使用特权

评论回复
13
zyj9490| | 2013-11-13 15:28 | 只看该作者
本帖最后由 zyj9490 于 2013-11-13 18:30 编辑
lgqsyw 发表于 2013-11-13 12:57
现在是不是行业内都不用这种方法做电压表了啊?难道都用计量芯片了吗?   这个方法成本上要低很多 ...

是的,其实从综合成本和可靠性比较,用计量蕊片再合算的。
除非特别的仪器把测量电压作为它的功能一部分,才用AD转换,如电能质量分析仪。

使用特权

评论回复
14
gx_huang| | 2013-11-15 13:41 | 只看该作者
请看一下附件的FFT计算方法,可以分析各种数据的。
以前好玩研究了一下,用带ADC和足够RAM的MCU,可以计算基波和各种谐波的幅度和相位。
具体你自己研究,就不要问我了,要先研究FFT算法和结果的含义,网上搜一下。

an142sw.zip

29.82 KB

使用特权

评论回复
15
cjhk| | 2013-11-17 08:56 | 只看该作者
把运放的参数设置正确  楼主   应该问题不大

使用特权

评论回复
16
youluo235| | 2013-11-17 12:11 | 只看该作者
lgqsyw 发表于 2013-11-11 16:33
加了直流偏置了,2.5V的VDD,这里只是个意思,实际电路是用TL431获得的偏置电压。后面说的东西表示不太懂 ...

处理来处理去只是为了测量交流的电压嘛说到底你只要效果达到就行了。干脆这样。AD采集很慢。何况你用的还是单片机。不如分压之后检波计算之后就能得到电压值嘛。

使用特权

评论回复
17
zyj9490| | 2013-11-17 18:19 | 只看该作者
youluo235 发表于 2013-11-17 12:11
处理来处理去只是为了测量交流的电压嘛说到底你只要效果达到就行了。干脆这样。AD采集很慢。何况你用的还 ...

不是正弦波哟,平均值与有效值怎么样的比例关糸呢?现在市面上出的都是有效值的表,而不是平均值。

使用特权

评论回复
18
lgqsyw|  楼主 | 2013-11-21 15:06 | 只看该作者
用51单片机处理起来太慢了,打算换COTEX-M0来着,J-LINK或者ST-LINK V2能仿真ST的STM32F030芯片吗?求解

使用特权

评论回复
评论
zyj9490 2013-11-22 20:10 回复TA
ST-LINK,JLINK,都可以,它是用SWD接口的 
19
wang9321321| | 2013-11-26 08:27 | 只看该作者
8209直接不就能解决?

使用特权

评论回复
20
大前门| | 2013-11-27 08:00 | 只看该作者
搞不懂为什么要用运放,R1R2后面直接接ADC不就行了?!

使用特权

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

本版积分规则

17

主题

156

帖子

1

粉丝