矿石收音机论坛

 找回密码
 加入会员

QQ登录

只需一步,快速开始

搜索
楼主: 江边树

我对LC/Rd表程序的学习体会点滴

[复制链接]
     
发表于 2015-1-15 11:51:38 |
niushengqi 发表于 2015-1-15 11:46
首先要做这个实验可以这样:1、用好点的万用表,精度高一点,万用表本身精度就不够,那你怎么作为基准考 ...

我没有那么多的高级别工具也没有那些时间去验证,我只是在相同条件下测量。前后不超过2分钟。

除了1023/1024的差别以外,任何其他变化都没有,包括测量时候表笔一直没离开过被测点。

所以我自认还是比较可信的。  相同条件下万用表就算不准,也不会有啥影响的,因为我们要的是对比值而不是绝对真实值。

而内部参考电压更是不可能在2分钟内漂移多远。
     
发表于 2015-1-15 11:55:08 |
niushengqi 发表于 2015-1-15 11:46
首先要做这个实验可以这样:1、用好点的万用表,精度高一点,万用表本身精度就不够,那你怎么作为基准考 ...

其实我倒很希望你能做一下这些测试,毕竟我只是个普通的硬件开发人员,设备很有限,也没高精度万用表(最多4位半)。

     
发表于 2015-1-15 12:44:53 |
大胆假设一下,有一个二位AD 。

以下全是假设。

2位AD  , 参考电压设为3V (其实多少v都行,为啥设3V是为了好计算) 。

然后就开始转换了    , 转换值有4种  : 00,01,10,11

对应关系为 :假设输入电压为Vi (单位V伏特)。



Vi =[ 0 , 1)    =======>          00
Vi =[ 1 ,2)=======>          01
Vi =[ 2,    3)    =======>        10
Vi =[ 3 ,  无穷大)=====>        11

说明:无穷大 是理论,实际不能输入超过电气要求的最大值,比如单片机是5V的就不能超过5V。

然后开始分析 ,当输入为1V的时候,对应的采集值为01  ,根据公式把我们要得到的参数设为 x, 就有 1= 01 * 3 /x,很容易解得  x=3  ,也就是2^2  -1 ,扩展到10位也就是 x^10  -1  =1023  。

那么有人会说参考电压为啥不设成4V ?好的,那我就设成4V,但是参考电压设成4V会出现一个问题,上面的对应关系要变。变成

Vi =[ 0 , a)    =======>          00
Vi =[ a ,b)=======>          01
Vi =[ b,    4)    =======>        10
Vi =[ 4 ,  无穷大)=====>        11

很容易可以得出a=4/3 ,b=8/3

,输入1V的时候,采集值成00了。

假设参考电压是1V的话 :

Vi =[ 0 , a)    =======>          00
Vi =[ a ,b)=======>          01
Vi =[ b,    1)    =======>        10
Vi =[ 1 ,  无穷大)=====>        11

a=1/3  ,b=2/3 。

输入1V对应采集值是11 。   计算  1= 11H  * 1/x    计算得到x=3 。

不知道这样讲能理解不 - -!  最核心的就是a,b值的计算 为啥要除以3呢?这是个数学问题,呵呵、
     
发表于 2015-1-15 13:17:33 |
本帖最后由 huarana 于 2015-1-15 13:19 编辑

1v.png

2v.png

3v.png

4v.png

5v.png


也不知道能否说明问题 - -!
     
 楼主| 发表于 2015-1-15 14:47:21 |
huarana 发表于 2015-1-15 13:17
也不知道能否说明问题 - -!

  谢谢!我抛的砖,终于引来了“玉”!在此我感谢所有参与我的帖子讨论的朋友!赞成1023的或赞成1024的,都请进来谈谈你的见解吧!毕竟是技术问题,越深入探讨,越能接近真理!
发表于 2015-1-15 14:49:14 |
提示: 作者被禁止或删除 内容自动屏蔽
     
发表于 2015-1-15 17:31:11 |
niushengqi 发表于 2015-1-15 14:49
这个问题不是简单的数学问题,要是简单的数学问题就好说了,按比例计算而已。我也只是爱好而已,不做产品, ...

引用了下阿莫bbs的一个帖子内的回答 。

假设VREF=2.56V,如果是除以1024,那么当输入电压此时为2.56V时

计算得到的电压应该是Vin=1023*2.56/1024=2.5575V 与2.56V相比就会产生误差

如果是除以1023,则Vin刚好是2.56V ,因此,我认为还是1023

另外,附一般的AD转换器的标度变换公式,来自ADC0809 手册:

Vin/(Vfs-Vz)=Dx/(Dmax-Dmin)

Vin为输入电压,Vfs为满量程电压,Vz为零电压 ,Dx为所测得的数字量,Dmax为最大数字量,Dmin为最小数字量

在测控原理中看到的标度变换公式也和上面相同
发表于 2015-1-15 19:16:17 |
提示: 作者被禁止或删除 内容自动屏蔽
发表于 2015-1-15 19:39:46 |
提示: 作者被禁止或删除 内容自动屏蔽
     
发表于 2015-1-16 08:50:37 |
niushengqi 发表于 2015-1-15 19:39
你之所以这样认为,是因为你忽略了采样误差了,你没有深入电路内部考虑怎么减小误差。你以为AD就是在离散的 ...

其实抛除任何理论,在实践中我做过一些AD采集,也用过几种单片机。也看过其他人的程序,大多还是使用1023的,我想这个数字不是偶然。而其我也给出实际真实测量值和仿真值了。如果你能给出反例,我就相信你。但是你的说法一直是理论,没有实际的数字。你说的误差我相信存在,但是没看到你说的误差影响到实际结果,反而是1023的时候更接近实际结果。仿真可以看到。
或者我给你发仿真工程,你自己测试下?

     
发表于 2015-1-16 09:04:51 |
是不是我用的这个ad已经修正过量化误差 - -
QQ图片20150116090412.png
发表于 2015-1-17 01:05:25 |
提示: 作者被禁止或删除 内容自动屏蔽
     
发表于 2015-1-19 08:31:26 |
niushengqi 发表于 2015-1-17 01:05
这个是三位ADC的理想ADC曲线,那么中间的直线是分辨率为无穷大,也就是说他是连续的线性曲线,而不是数字 ...

但如何解释 实际测量值用1023更接近呢?  而且仿真也表现出来了。

另外麻烦你解释下我发的那个量化图。     关于左边的  0.5和右边的 1.5   
     
发表于 2015-1-19 10:44:19 |
路过,学习一下。
发表于 2015-1-19 10:47:26 |
提示: 作者被禁止或删除 内容自动屏蔽

小黑屋|手机版|矿石收音机 ( 蒙ICP备05000029号-1 )

蒙公网安备 15040402000005号

GMT+8, 2024-3-29 15:25

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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