打印

初次做小信号测量,精度达不到,求教大家传授经验

[复制链接]
4125|33
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
幽恋梦涟|  楼主 | 2014-5-13 18:39 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
先说下情况:
    我第一次用stm32单片机,其中有测量要求是0-2V电压,要求分1000份,就是能分辨出2mv(精确的)。当初定的方要求注意成本,就选的stm32F103RCT6,12位的ADC,就忘记考虑精度了。
          实测的时候发现数飘得厉害,怀疑是阻抗匹配的问题,就把采样时间加到最大,用电池试了下,但还是有波动,在10个左右吧。然后又怀疑是电源纹波,用的是开发板,查了下电路,该有的电容都没接,可能是导致飘的原因。
之后查了下stm32数据手册,看了下AD精度,原来误差最大能达到正负5个LSB,我用的是64脚的,没有nref,是用一路单独测基准,这样误差又大了一倍。

我现在考虑的解决方法是:
       1.按照硬件开发指南开个板。
       2.引脚换成100多个带nref的,这样误差可以比现在接法缩小一倍。
        3.基准电压换成2.5v甚至2.048v的,这样分辨率可以在小些,结果也能更准确些。
        4.在软件上用用好的算法,因为实时性要求不高。

        虽然这些措施可以减小些误差,到时还是怕最后精度达不到,毕竟手册上标的误差就5个。现在就是不知道该怎么办了,外接AD的话成本高,需要测两路,这个要求低成本的。不知道大家有没有什么好方法建议啊。

相关帖子

沙发
奔牛滚滚| | 2014-5-13 23:44 | 只看该作者
你这个根本就不叫小信号,可以说是大信号了
cpu采样有很多方面要处理.另外你说的一路采样基准,误差大一倍的说法是错的,误差应该减小了

使用特权

评论回复
板凳
幽恋梦涟|  楼主 | 2014-5-14 08:44 | 只看该作者
奔牛滚滚 发表于 2014-5-13 23:44
你这个根本就不叫小信号,可以说是大信号了
cpu采样有很多方面要处理.另外你说的一路采样基准,误差大一倍的 ...

嘿嘿,问下像用一路采基准,不是基准测的时候有误差,然后电压测的时候还有误差,不是应该误差更大了吗。还有能简单说说都有哪些方面需要处理的,谢谢了。

使用特权

评论回复
地板
lych9139| | 2014-5-14 09:12 | 只看该作者
如果按手册来说,5LSB对于12bit来说,肯定是达不到1/1000的。干脆用个AD芯片算了。

使用特权

评论回复
5
liuchg1981| | 2014-5-14 09:17 | 只看该作者
除了测量电压值还需要做什么?非得用ARM吗?找个5V供电,16位ADC的单片机,测量模拟量比ARM好用多了

使用特权

评论回复
6
tou007| | 2014-5-14 09:18 | 只看该作者
加一片Σ-δ的AD片子,几块钱的事情,测量0~2V直流信号,你的所有要求都能满足

使用特权

评论回复
7
幽恋梦涟|  楼主 | 2014-5-14 09:22 | 只看该作者
liuchg1981 发表于 2014-5-14 09:17
除了测量电压值还需要做什么?非得用ARM吗?找个5V供电,16位ADC的单片机,测量模拟量比ARM好用多了 ...

还需要12位的dac,还有别的适合的吗?帮忙推荐下。

使用特权

评论回复
8
幽恋梦涟|  楼主 | 2014-5-14 09:25 | 只看该作者
tou007 发表于 2014-5-14 09:18
加一片Σ-δ的AD片子,几块钱的事情,测量0~2V直流信号,你的所有要求都能满足 ...

有什么适合的帮推荐下,需要采两路。

使用特权

评论回复
9
grasswolfs| | 2014-5-14 09:26 | 只看该作者
2mv精度首先要保证AD板子本身的噪声要低,参考电压要准,建议还是用adc芯片吧

使用特权

评论回复
10
幽恋梦涟|  楼主 | 2014-5-14 09:26 | 只看该作者
lych9139 发表于 2014-5-14 09:12
如果按手册来说,5LSB对于12bit来说,肯定是达不到1/1000的。干脆用个AD芯片算了。

...

嗯,我等查一查有没有差不多还便宜的 AD

使用特权

评论回复
11
tou007| | 2014-5-14 09:49 | 只看该作者
你看下芯海的AD片子,我们曾经做方案用过它们的片子,性能还是不错的!

使用特权

评论回复
12
王紫豪| | 2014-5-14 10:07 | 只看该作者
stm8 外挂个 MCP3421,内置基准,18bit 西格玛的他 ADC,几块钱而已。比你的 STM32 还便宜,精度也没问题。

使用特权

评论回复
13
whxbluesky| | 2014-5-14 10:39 | 只看该作者
LZ ADC实际有效位是多少

使用特权

评论回复
14
幽恋梦涟|  楼主 | 2014-5-14 11:34 | 只看该作者
whxbluesky 发表于 2014-5-14 10:39
LZ ADC实际有效位是多少

实际的话11位吧

使用特权

评论回复
15
lyzhangxiang| | 2014-5-14 12:56 | 只看该作者
用比较器+定时器啥的搞下也可以的   以前用430搞过 slopeAD-16位

使用特权

评论回复
16
幽恋梦涟|  楼主 | 2014-5-14 13:01 | 只看该作者
tou007 发表于 2014-5-14 09:49
你看下芯海的AD片子,我们曾经做方案用过它们的片子,性能还是不错的!

谢谢:lol

使用特权

评论回复
17
幽恋梦涟|  楼主 | 2014-5-14 13:01 | 只看该作者
tou007 发表于 2014-5-14 09:49
你看下芯海的AD片子,我们曾经做方案用过它们的片子,性能还是不错的!

谢谢:lol

使用特权

评论回复
18
幽恋梦涟|  楼主 | 2014-5-14 13:20 | 只看该作者
王紫豪 发表于 2014-5-14 10:07
stm8 外挂个 MCP3421,内置基准,18bit 西格玛的他 ADC,几块钱而已。比你的 STM32 还便宜,精度也没问题。 ...

  这个方案太好了,基准也很贵的,这下也可以省了,就是要是多路的就好了,不行用mos切换下,我再看看资料,

使用特权

评论回复
19
wh6ic| | 2014-5-14 13:55 | 只看该作者
幽恋梦涟 发表于 2014-5-14 13:20
这个方案太好了,基准也很贵的,这下也可以省了,就是要是多路的就好了,不行用mos切换下, ...

MCP3422是双通道的版本,还有四通道的版本
不过看你的需求,应该是要求2mV的分辨率,不是要求2mV的精度吧。
如果是要求分辨率,用你开始的方案就行了,有几款STM32带12Bit ADC和额外的12Bit DAC的。
测量电池电压,有10个的波动,你需要处理一下Vdda的输入,需要加RC滤波或LC滤波,另外可以考虑添加软件滤波措施,片内12Bit的ADC,做到1/1000的分辨率应该是比较轻松的。手册上标的+/-5LSB误差是非线性积累误差,对分辨率影响不大。

使用特权

评论回复
20
20uj| | 2014-5-14 15:06 | 只看该作者
围观学习中

使用特权

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

本版积分规则

15

主题

133

帖子

0

粉丝