基于PIC16F76及MCP3553的高精度测量仪器(详细设计过程)

[复制链接]
24778|124
 楼主| 兰天白云 发表于 2007-11-21 09:23 | 显示全部楼层

回复

回:abc2001<br />精度0.001度,是做绝对的,否则也用不着省计量局和国家计量局了<br />回:emicro<br />这个电阻不是金属膜的,也不用色环表示的(不是贴片的),如果向美国购买,还地证明是非军事用途(我觉地是废话),他们最好的电阻是0.01%,1PPM的,要定货,很麻烦,所以只好降低要求
 楼主| 兰天白云 发表于 2007-11-21 09:41 | 显示全部楼层

信号调理(续4),放大电路

放大部分本想图个方便用仪表放大器的<br />这里先申明AD的基准电压为2.5V<br /><br />因为V1-V2=0.05~0.069255V,所以设置A=36倍<br />则V0=1.8~2.5V,零位从1.8V起,太浪费AD的资源了,况且这样做就达不到设计要求了<br /><br />注:MCP3553是22位的AD,实际使用能做到20位已很困难(本人只能做到20位,每秒采样3次)<br /><br />看样子,直接用差分放大是解决不了问题的,得想其他办法
HWM 发表于 2007-11-21 09:55 | 显示全部楼层

学习~~ 接受再教育~~~~

  
 楼主| 兰天白云 发表于 2007-11-21 10:44 | 显示全部楼层

HWM:不要这么说哦,我无地自容啊

  
 楼主| 兰天白云 发表于 2007-11-21 11:26 | 显示全部楼层

信号调理(续5),放大电路实际电路

为了充分利用AD的带宽,要把放大后的电压调整到0~2.5V<br />1:先减掉1.8V<br />2:然后把2.5-1.8=0.7V涨宽到2.5V<br />在这种设计时,宁用运放也不用电阻(运放比电阻便宜,运放比电阻好找)<br />实际电路如下图:<br />为了获得1.8V的基准电压,花了我2个电阻和一个运放
emicro 发表于 2007-11-21 11:28 | 显示全部楼层

re

我没说它是金属膜的,也没说它是色环表示的啊。我说的是金属箔电阻,高精度的大都是这种,估计你当成金属膜了。你的2ppm是什么温度范围内的指标?-55&nbsp;℃&nbsp;--125&nbsp;℃?-45&nbsp;℃&nbsp;--85&nbsp;℃?0&nbsp;℃&nbsp;--60&nbsp;℃?温度范围不同标称可大不一样啊,我前面提到的是-45&nbsp;℃&nbsp;--85&nbsp;℃内5ppm,如果是0&nbsp;℃&nbsp;--60&nbsp;℃那就成了2ppm了,白云你确定一下,如果是-45&nbsp;℃&nbsp;--85&nbsp;℃内2ppm又不到10元我很感兴趣啊。
 楼主| 兰天白云 发表于 2007-11-21 11:56 | 显示全部楼层

是0 ℃ --60 ℃的,令你失望了

  
emicro 发表于 2007-11-21 12:47 | 显示全部楼层

hehe

没什么,有空继续啊。仪表放大器是用外部电阻设置放大倍数的吗?可以考虑固定放大倍数的仪表运放。
 楼主| 兰天白云 发表于 2007-11-21 14:44 | 显示全部楼层

谢谢emicro的建议

仪表放大器,现在用的是外部电阻设置放大倍数,估计固定放大倍数的仪表运放会更好<br />接下来要弄AD了,基准电压前面说了,是2.5V的,它同样来自LM399分压<br />以下是MCP3553的资料,感觉用在这里怕怕的<br />也找过很多AD,ADI公司的不错,特别是那些24位的AD,但速度快,导致价格高<br />我只要3次/秒就够了,所以选了这款,22元/片
 楼主| 兰天白云 发表于 2007-11-21 14:50 | 显示全部楼层

居然没人批评,晕

  
xwj 发表于 2007-11-21 14:59 | 显示全部楼层

嘿嘿嘿...

你怕没人批评吗?<br /><br />俺是先引蛇出洞,等你发完了,再一次性拍得你永不翻身...<br /><br />先做好心理准备吧...
 楼主| 兰天白云 发表于 2007-11-21 15:11 | 显示全部楼层

哇!,这么恨

还是一点一点的拍吧,这样就死不了了.<br /><br />还有一个疑问XWJ,我发完后你还会不会来呢?敢发誓吗?
xieyuanbin 发表于 2007-11-21 15:45 | 显示全部楼层

鉴于有目共睹的辛勤劳动及技术含量

先加条裤子,同时希望尽早看到下文
Aihe 发表于 2007-11-21 18:58 | 显示全部楼层

不知道运放的温度漂移多少

失调怎么补偿
 楼主| 兰天白云 发表于 2007-11-21 20:45 | 显示全部楼层

回Aihe

OP07D的输入失调电压=25uV<br />还是看下图吧<br /><br />用我给的参数不能正确无误得到0.00000~2.50000V的<br />总有点偏差,比如2.50000变成了2.49991V了,这些都很正常,MCU旁边有个校准模块,可以解决失调问题,选OP07是为了给自己留条后路,怎么说呢?OP07的失调电压和温度系数本人觉的有点大(虽然已经很好了),与OP07一样封装且引脚数相同的运放,叫7652,其失调电压=5uV,温度系数=0.05uV/度,这应该是最精密的运放了<br /><br />呵呵,有备无患
 楼主| 兰天白云 发表于 2007-11-22 10:01 | 显示全部楼层

AD(续6),AD实际电路及程序

读MCP3553函数.读到22位数据<br />用软件模拟SPI<br /><br />unsigned&nbsp;long&nbsp;readadc(void)<br />{unsigned&nbsp;char&nbsp;cyt,i;<br />&nbsp;unsigned&nbsp;long&nbsp;adval=0;<br />&nbsp;<br />&nbsp;AD_SCK=1;<br />&nbsp;adltime();<br />&nbsp;AD_CS=0;<br />&nbsp;for(i=0;i&lt2;i++)<br />&nbsp;&nbsp;{disp(pv,sv,led.bits);}&nbsp;//没事干,扫描显示<br />&nbsp;AD_CS=1;<br />&nbsp;for(i=0;i&lt15;i++)<br />&nbsp;&nbsp;{disp(pv,sv,led.bits);&nbsp;&nbsp;//没事干,扫描显示<br />&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;}<br />&nbsp;AD_CS=0;<br />&nbsp;adltime();&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//延时<br />&nbsp;for(cyt=24;cyt&gt0;cyt--)&nbsp;&nbsp;//这个时候MCP3553完成工作,开始读数据<br />&nbsp;&nbsp;{adval=adval&lt&lt1;<br />&nbsp;&nbsp;&nbsp;AD_SCK=1;<br />&nbsp;&nbsp;&nbsp;adltime();<br />&nbsp;&nbsp;&nbsp;AD_SCK=0;<br />&nbsp;&nbsp;&nbsp;adltime();<br />&nbsp;&nbsp;&nbsp;if(AD_SDO==1)<br />&nbsp;&nbsp;&nbsp;&nbsp;{adval+=1;}<br />&nbsp;&nbsp;}<br />&nbsp;<br />&nbsp;AD_SCK=1;<br />&nbsp;adltime();<br />&nbsp;AD_CS=1;<br />&nbsp;adval=adval&0x003fffff;<br />&nbsp;//adval=adval&gt&gt3;<br />&nbsp;return(adval);<br />}
aihe 发表于 2007-11-22 13:28 | 显示全部楼层

如果没记错的话7652是崭波放大器

还想问一下RT100的线性度能达到精度吗?<br />好像记得RT100需要冷端补偿<br />我记得模拟版以前有个帖子专门讲几个高精度放大器的<br />https://bbs.21ic.com/club/bbs/ShowAnnounce.asp?v=&ID=1875427
wolfererer 发表于 2007-11-23 12:27 | 显示全部楼层

恩,进来支持一下

  
dcp 发表于 2007-11-23 18:34 | 显示全部楼层

HOT!

  
 楼主| 兰天白云 发表于 2007-11-24 08:55 | 显示全部楼层

(续6),数据处理及显示

1:读到AD数据后首先进行滤波处理,这里采用剔除最大最小值,然后余下的求平均<br />2:根据校准数据对滤波后的数据进行修正,同时也进行线性修正<br />3:转换成BCD码送显示模块<br />4:要显示99.999必须有5个数码管,考虑以后升级到控制功能,另加5个数码管用于给定值的显示<br />5:16F76的IO口足够多,电流足够大(25mA),所以段驱动就由IO口直接驱动,位驱动用145,这东西便宜,电流又大,很好用,这样做唯一缺陷是要单片机不停的扫描<br />在我的读AD值程序里有两次调用显示函数就是这原因,总用IO口=8+4=12个<br />6:扫描频率70HZ以上,眼睛看着很舒服
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 在线客服 返回列表 返回顶部