38度发烧友论坛--38Hot Volt-Nuts 仪表 基准 工具 电子爱好者专业论坛

搜索
楼主: leejianzhao

[制作] DIY一个五位半电压表——毫欧表的兄弟篇,毫欧表/五位半电压表二合一套件正式发布

  [复制链接]
发表于 2013-5-20 00:46:57 | 显示全部楼层
这个,比我厉害。
回复 支持 反对

使用道具 举报

发表于 2013-5-20 07:40:17 | 显示全部楼层
上了5位半的东东基本都要经过筛选了,f350实现6位半都可以,但是考虑的要很多
回复 支持 反对

使用道具 举报

发表于 2013-5-20 09:54:09 | 显示全部楼层
  1. 这个要顶,特佩服LZ这种硬件软件都精通的
复制代码
有同感。
回复 支持 反对

使用道具 举报

发表于 2013-5-20 10:48:31 | 显示全部楼层
100mV档上几张测试图
回复 支持 反对

使用道具 举报

发表于 2013-5-20 10:57:47 | 显示全部楼层
leejianzhao 发表于 2013-5-19 20:50
是的,电压表和毫欧表不能共存。切换功能的时候需要改变图中的5个跳线,同时刷入相应的firmware
现在校 ...

人家好歹用继电器切换,实际上走进模拟开关的总是 100K 电阻上的电压,9.9M+100K 这一串是不会断开的,而你的是会断开的 所以看着不舒服,虽然好像也没啥问题(不确定)。如果你增加一个继电器,不仅解决这个问题而且也可以让毫欧表和电压表共存了吧

话说你的单片机没有片内 EEPROM,要用 FW 来保存校准值?


回复 支持 反对

使用道具 举报

发表于 2013-5-20 13:00:38 | 显示全部楼层
要了5套,以实际行动支持楼主的这种行为!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-5-20 18:40:49 | 显示全部楼层
redtony 发表于 2013-5-20 13:00
要了5套,以实际行动支持楼主的这种行为!

感谢啊~~!!

马上让我的存货只剩下一个,呵呵,昨晚立即备料,明天就好了

希望大家能从这个套件学到什么,我是抱着完全开放的态度,对于原理图/源码,大家有问题尽管提出来,我会尽力回答的
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-5-20 18:54:20 | 显示全部楼层
lilith 发表于 2013-5-20 10:57
人家好歹用继电器切换,实际上走进模拟开关的总是 100K 电阻上的电压,9.9M+100K 这一串是不会断开的,而 ...

你看错了吧,如果9.9M+100K不会断开,10V或者以下档位怎么可能实现大于10M的输入阻抗?
你说的这个情况可能是受34401还有一个选项就是10V或者以下档位也可以选择10M输入阻抗的误导,这时候9.9M+100K就不会断开


这个继电器根本和10V或者以下档位的防护无关,举个最简单的例子,你不用auto range,固定是mV档,高阻输入,接到100V,会出现什么情况?根本没事!继电器固定接到8*13K上,断开了9.9M+100K,这样和我从另外一个端子输入有什么区别?



C8051F350内部没有单独的EEPROM区域,因此我划分了一个Flash的Block(512byte)用于保存校正信息,Flash的擦除是以block为单位的
由于Flash的空间有限,我也没有办法再拿多一个Block来存另外一个功能的校正信息,因此两个功能的校正信息存放的地方是一样的,因此出现这个问题


当然,其实可以仅仅保存放着校正信息的这个block,但是出于操作的简单性,让大家把整个flash保存下来,反正很快
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-5-20 20:00:12 | 显示全部楼层
liyf 发表于 2013-5-20 07:40
上了5位半的东东基本都要经过筛选了,f350实现6位半都可以,但是考虑的要很多

五位半没有这么夸张,其实就是关键的那几个分压电阻要求高一点而已,如果用5ppm的塑料块,已经足够,完全不用筛选

六位半又没有这么简单,F350做六位半是完全不行的,原因有二:
1、F350的noise太大,参考下图


在PGA=1,10Hz的条件下,RMS noise是2.38uV,峰峰值 noise为2.38*6.6=15.7uV,1V档在五位半下是1.5个LSB,六位半就是15个LSB,最后两位都跳的六位半谁要啊?!
就算降低到1Hz,把10个读数平均,提升log(10)/log(4)=1.66bit,log2(15)-1.66=2.25bit,折合到10进制就差不多是5个数在跳。这个还仅仅是ADC noise导致的,还没有算上系统里面其他的噪声


当然,还是可以用强力的滤波算法把读数稳定下来,就象我的毫欧表在20欧姆档其实就是六位半显示的,但是响应比较慢。测电阻大家可以等一下,2-3秒稳定是可以接受的,但是电压表可以吗?


ADS1232的noise就比较低,而且便宜。在10Hz下,只有420nV或者450nV;LTC2440再略好一些,在6.875Hz下,只有200nV。这两个的noise基本上可以做六位半了(我说的仅仅是noise哦)


2、F350的INL最大是15ppm
我实际测试下来也差不多,15ppm相对于2.5V基准来说,就是37.5uV,对于六位半就是37.5个LSB,对于五位半就是3.75个LSB。
用F350做出来的六位半精度指标可能要这样标:0.00x%+40LSB,知道我的毫欧表标称精度后面为什么要+40LSB了吧
五位半的话,就是3.75LSB,因此我标称就是+4LSB
INL是很难校正的,看看lilith校正他的源表就知道

ADS1232的INL典型值是2ppm,最大值是10ppm;LTC2440的INL典型值是3ppm,最大值是15ppm。从典型值来看是勉强可以做六位半,但是最大值也就是五位半的水平

综上,
1、以上两个问题说明F350的ADC其实并不是很好,只能说性价比高:)
2、我认为用sigma-delta ADC不是很适合做高位表,或者说最多做到五位半

这里顺便提一个可能是目前最好的sigma-delta ADC——ADS1281/ADS1282,我手上其实都有样品,不过没空玩:(
ADS1281/1282可是31bit的ADC,不要以为能做七位半甚至八位半(31bit有九位半,呵呵),1282的INL典型值是0.5ppm,最大值是4ppm,这个做六位半就不错,不过价格……


回复 支持 反对

使用道具 举报

发表于 2013-5-20 21:55:15 | 显示全部楼层
看你用的是外部基准,你试试用内部基准看看,内部的比较稳定的,就是有点偏差,需要修正
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关于我们|Archiver|手机版|38度发烧友 ( 粤ICP备14041877号-2 )

Powered by Discuz! X3.3 © 2001-2012 Comsenz Inc. Designed by 999test.cn

声明:论坛所有内容均由网友个人自主发表,并不代表本站立场。相关内容仅供参考,由此造成的人身伤害或财产损失均需自行承担。

  

GMT+8, 2019-6-27 11:16 , Processed in 0.280239 second(s), 23 queries , Gzip On.

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