高精度温度测量
cgcc2018/01/17仪器仪表 IP:未同步
        我自从大二参加校电子设计大赛,做了一个温度计后就一直在纠结一个问题,如何把温度计的精度做上去?当时做校赛的时候采用了一个比较传统的电路方案:用稳压芯片的电压为基准,采用op07运放搭配精密电阻搭建电流源,然后用AD620仪表放大器放大PT100上的电压,送入单片机ADC采样后计算得到电阻,再通过R-T关系得到温度,这种结构也是百度上通常可以搜索到的方案,当时由于采用了精密电阻,电流源精度在万分之三左右,但是整体线性性不好,误差在最小70mOhm,最大在100mOhm,电流源的误差贡献就在30mOhm左右了,而且当时用了一个1.5元的稳压芯片,电压也不稳定,导致零点偏移严重。最后光电路的误差带来的温度测量误差就在0.25度了,哪怕在采用1/3B级误差0.1度的铂电阻,整体的误差在0.35度(0.27?)左右了,完全达不到WMO的0.1度要求。所以一直想提高测量精度。终于我发现了一个电路图, SBVANL1MS(9S7N1QD2QFY]F.png
        这个电路图带来的好处不言而喻,但是由于我不是电子专业出身对于一些模电方面的东西还是不太懂,就比如这个参考电压的最低电平高于输入信号的电压情况是否正确?(大神可以跟我讲讲不?)
        对此我问了一些人,最后
        。。。。。。。
        没人理我。😂

        但是我还是相信ADI公司的,虽然我买不起他们的芯片,于是在伟大的淘宝上我买到仿制芯片来试验一下。
        画PCB,买原件,焊接。。。。。。。花去了我一个月的时间,最后焊完这家伙长这样
A@UD`8(J2(3SR`VMVFQV)QY.png
        然后写程序调试,克服各种奇怪的问题,一边又一遍debug,最后的结果还算好,通过和垃圾5位电表的比对,测量电阻精度在+-20mOhm左右,分辨率为5mOhm。
        但是我却遇到了致命的问题:稳定性不好,每次上电的数值都不一样,偏差在20mOhm上下,(已经排除了温漂的影响)如此大的偏差直接影响了最后测温的精度。现在这个问题是我想尽量去克服的问题。不知道论坛里面有没有大神可以帮我看看到底是什么问题?
---------------------------------------------------------------------------------------------------------------------------
        今天把温度计开了一天,PT100换成低温漂电阻,仪器参数如下:
        平均值:120.301
        方   差: 0.0207
)Q]%C[9563MI8D~%3Q2I5]U.png






ps:如今气象上公认最好的电测温度计是芬兰维萨拉生产的,精度在+-0.2度

[修改于 6年11个月前 - 2018/01/18 19:32:15]

来自:仪器与装备 / 仪器仪表
17
已屏蔽 原因:{{ notice.reason }}已屏蔽
{{notice.noticeContent}}
~~空空如也
三水合番
6年11个月前 IP:未同步
842604
要做一个很准的温度计,首先需要一个更准的温度计……
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
zx-16533
6年11个月前 修改于 6年11个月前 IP:未同步
842607
稳压芯片不准的吧。。不是有专门的电压基准芯片么。。
这里的文本显示不出来
------
引用 三水合番:
问题来了,世界上最准的温度计是咋制造的2333

ps.[quote]引用标签上方的文本无法在帖子中显示,不知道是不是bug..
@虎哥
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
虎哥
6年11个月前 修改于 6年11个月前 IP:未同步
842610
引用 radio:
是个BUG,以前多处引用的帖子已经脆了,要修。@的ID最后面要加空格才能识别。

宏观温度是按照“分子无序运动的快慢”来定义的,这东西很难进行直接观察,间接的手段也比较模糊,因此温度的计量是一个世界性难题,目前执行的ITS-90标准也是用一系列实物基准作为固定点,用各种奇技淫巧来进行分度。世界范围内,目前的不确定度水平,在中低温区大约是0.2mK。

楼主提到了0.35度的误差,要想计量到这个不确定度,就需要非常精密的恒温槽。标准元件反而简单一点,可以采用二等或一等标准水银温度计。

计量一等标准水银温度计就需要用到更高的基准,通常是标准铂电阻温度计,它的电阻是依靠电桥测定的。如果需要在线测量,采用“数字万用表”是可行的,但是表的不确定度需要妥善的控制,这就是楼主遇到的问题。
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
cgcc作者
6年11个月前 IP:未同步
842628
引用 三水合番:
通过pt100测温可以转为测电阻,也就是我可以用测万分之一的低温漂电阻的方法来评估电路的精度,至于PT100探头测温精度方面我也只能相信厂家的参数了。
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
RodTech
6年11个月前 修改于 6年11个月前 IP:未同步
842643
要注意pt100自发热,同时看看各家app note

attachment icon 2- 3- 4-Wire RTD Measurement.pdf 620.40KB PDF 131次下载 预览

attachment icon 00687c.pdf 149.63KB PDF 113次下载 预览

attachment icon CN0287.pdf 469.66KB PDF 123次下载 预览

attachment icon Maxim-HighAccuracyTempMeasurements.pdf 207.27KB PDF 78次下载 预览
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
rb-sama
6年11个月前 修改于 6年11个月前 IP:未同步
842644
前段时间刚做完一个气相色谱仪里程控线性升温的项目
我觉得我可以回答这个问题233
-
徐版说的PT100自发热问题是其一,这一点很重要,所以供电电压必然不能很高。
这就需要很大的放大倍数给单片机采集,所以前端要做到低噪。
如果要很精确,恒压供电肯定是不靠谱的,一般是用运放与基准源搭成恒流源给pt100供电。
标定之后,仪用放大器输出放大之后的电压仅与增益*I*R有关,这样可以得到不错的温度分辨率。
我做到了0.2°C的精度。
-
再谈我后来用的方案,因为量产产品需要每次都标定校准。
这样其实是很耗费人工的,所以我后来选了美信Maxim的MAX31865这款芯片。、
这个芯片支持2-3-4wire PT100温度采集和自校准。
标称可以达到 0.03125°C的温度精度,实际我用在0.125°C这一档,效果非常稳定。
用来做双环PID,可以达到0.2°C左右的控制精度。
这里有个我开发的时候在GitHub上找到的基于Arduino的例程。

attachment icon arduino-max31865-master.zip 19.36KB ZIP 45次下载 可以参考一下。
后来我把它移植STM32F4平台上了,用一个回调做初始化配置。
2.png
采集部分代码主体就是这样,
写的很乱,见笑了 - -。
为自己的时间着想,建议选用IC集成解决方案会比较靠谱。
-
ps:顺便晒一下我做的程控升温的线性度。 3.png

引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
cgcc作者
6年11个月前 修改于 6年11个月前 IP:未同步
842647
引用 rb-sama:
集成ic是个省事的方案。你那个芯片的0.125度的应该是分辨率吧?而且工作范围内,总精度在0.5度左右(190mOhm),当然你的项目里面测温是一个子项目,标定就显得很麻烦,我这个是想做一个气象站的。标定是一定要的。所以我内部加了拟合函数功能模块。



ps:
集成更低系统功耗,简化设计,减少设计周期:
简便的RTD铂电阻之数字转换器;
支持100Ω至1kΩ (0°C时)铂电阻RTD (PT100至PT1000);
兼容于2线、3线和4线传感器连接;
SPI兼容接口;
20引脚TQFN和SSOP封装;
高精度设备满足误差预算:
15位ADC分辨率,标称温度分辨率为0.03125°C (随RTD非线性变化);
整个工作条件下,总精度保持在0.5°C (0.05%满量程);
全差分VREF输入;
转换时间:21ms (最大值);
集成故障检测,增加系统稳定性:
±45V输入保护;
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
cgcc作者
6年11个月前 IP:未同步
842649
引用 RodTech:
嗯嗯。考虑了。电流源是镜像电流源,电流大小是350uA。这个电流下自发热影响很小的吧?
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
rb-sama
6年11个月前 IP:未同步
842650
引用 cgcc:
分辨率是 0.03125°C,我做了均值滤波,均值滤波后输出固定的值。
当前温度与下一次采集的温度差低于0.125°C不变,这是为了避免PID反复积分。
原理是在最小采样周期,温度不会瞬变。
PT100传感器的等级与标准确定了测量温度的值,这个是可信的,温度差同样可以通过标定来解决。
没太了解你说的拟合函数问题,如果用软件来测值太麻烦了。
MAX31865是集成在里面的,直接读真值。
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
cgcc作者
6年11个月前 修改于 6年11个月前 IP:未同步
842660
引用 rb-sama:
我的 意思是 温度计标定的话肯定要标定几个温度点的,而这些温度点的偏差不太适合直接加减一个值去补偿,所以用一个拟合函数来补偿这个误差。佷好奇你那个方案如果把PT100换成阻值已知的电阻情况下,温度显示与阻值公式推算的温度差距是多少。
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
rb-sama
6年11个月前 修改于 6年11个月前 IP:未同步
842684
引用 cgcc:

对于你上面提出的的问题,其实都可以在datasheet里找到答案。
用这个片子对RTD做测量,官方提供以下三个方案
1.png
1:简单的线性计算公式带来的误差范围如上。
这种方案显然不符合你的项目要求。
2.png
2:拟合公式来进行精确函数计算补偿,不需要你说的自己测点做拟合。
这个公式是满足IE751标准的,datasheet中有相关描述。
有快速浮点计算能力的嵌入式系统比较适合应用这个方案。
3.png
3:查表线性插值拟合
折中的方案,查表后作线性插值,精度介于以上两个方案之中。
-
上面三个方案,原理都是基于采集电阻值标准,温度对电阻值的conver。
下面来看看ADC的精度,
4.png
±1LSB的意思是,最大一个正负分辨率的误差。
换算到温度就是±0.03125°C,在Vref可信时,这个是ADC采集能够带来的最大温度误差。
当然以上的前提是,配合方案2能带来的最高精度结果。
-
对于你的应用,单片机处理能力足够的话,建议用方案2。
处理能力较弱的话,用方案3。
-
以上都是基于Maxim原厂资料置信的结论,如果对原厂测试数据怀疑的话。
可能真的要做人肉标定,那就是另外一个话题了。
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
cgcc作者
6年11个月前 IP:浙江
842893
明天准备进行水三相点标定
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
cgcc作者
6年10个月前 IP:浙江
842909
2018/1/28
气压:102.0kpa
理论值,冰水混合物 0.0摄氏度,沸水:100.2摄氏度
雪后阴
冰水混合物:99.993Ohm -> 0.0摄氏度
沸水:138.570Ohm->100.3摄氏度
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
虎哥
6年10个月前 修改于 6年10个月前 IP:四川
842913
水要蒸馏,其实大气压的测量更不容易测准,引入了新的误差,当然气压对三相点偏移贡献比较小。
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
阮洪文
6年8个月前 IP:加拿大
845100
这样精度的电路设计根本用不着用三相点瓶标定,除非你的电路和传感器达到了50mk以下的不确定度
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
rundstedt
5年10个月前 IP:辽宁
854087

这个电路我做过,用经过34401A标定的电阻箱测试,精度做到0.01K是非常轻松的。没有测试设备无法测试实际温度的精度。至关重要的原件是那个6.25k的电阻,我用的是5ppm的,有钱的话可以用Vishay VHP202温飘可以做到0.1ppm,也可用国产的RJ711,温飘可以做到1ppm。

引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论

想参与大家的讨论?现在就 登录 或者 注册

所属专业
所属分类
上级专业
同级专业
cgcc
进士 机友 笔友
文章
19
回复
65
学术分
0
2012/01/29注册,1年3个月前活动
暂无简介
主体类型:个人
所属领域:无
认证方式:手机号
IP归属地:未同步
文件下载
加载中...
{{errorInfo}}
{{downloadWarning}}
你在 {{downloadTime}} 下载过当前文件。
文件名称:{{resource.defaultFile.name}}
下载次数:{{resource.hits}}
上传用户:{{uploader.username}}
所需积分:{{costScores}},{{holdScores}}下载当前附件免费{{description}}
积分不足,去充值
文件已丢失

当前账号的附件下载数量限制如下:
时段 个数
{{f.startingTime}}点 - {{f.endTime}}点 {{f.fileCount}}
视频暂不能访问,请登录试试
仅供内部学术交流或培训使用,请先保存到本地。本内容不代表科创观点,未经原作者同意,请勿转载。
音频暂不能访问,请登录试试
支持的图片格式:jpg, jpeg, png
插入公式
评论控制
加载中...
文号:{{pid}}
投诉或举报
加载中...
{{tip}}
请选择违规类型:
{{reason.type}}

空空如也

加载中...
详情
详情
推送到专栏从专栏移除
设为匿名取消匿名
查看作者
回复
只看作者
加入收藏取消收藏
收藏
取消收藏
折叠回复
置顶取消置顶
评学术分
鼓励
设为精选取消精选
管理提醒
编辑
通过审核
评论控制
退修或删除
历史版本
违规记录
投诉或举报
加入黑名单移除黑名单
查看IP
{{format('YYYY/MM/DD HH:mm:ss', toc)}}