打印
[STM32F1]

STM32采集PT100如何实现0.1度的精度?

[复制链接]
20048|37
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
it_yrj|  楼主 | 2014-4-12 13:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我用STM32F103ZET6的ADC进行PT100的温度采集,客户要求精度到0.1度。
外界温度每变化一度,PT100的电阻变化0.39欧姆,
我用电桥采集PT100桥臂的电压,经差分放大50倍后接到ST的ADC脚。
在内部采得的ADC值转化为电阻值,在进行查表得到外接的真实温度值。
请大神指点,在这个过程中我如何保证需要的采集精度呢?即如何实现0.1度的要求呢?谢谢了
评论
Marinmjg 2019-9-9 14:05 回复TA
来学习学习 
沙发
mmuuss586| | 2014-4-12 14:05 | 只看该作者
温度变化0.1度,你的ADC值变多少位呢?

另外温度范围是多少呢?要是0~1000度,你要做到0.1度不太现实;

另外精度和分辨率是2个概念,你精度到0.1度,还要考虑温漂啥的

使用特权

评论回复
板凳
mmuuss586| | 2014-4-12 14:14 | 只看该作者
补充下:
1:还要考虑内部ADC的线性

:2:如果分辨率不够,可以过采样;

使用特权

评论回复
地板
八步电影网| | 2014-4-12 14:18 | 只看该作者
来学习下            

使用特权

评论回复
5
huzi2099| | 2014-4-12 15:20 | 只看该作者
0~100度做到0.1度的相对精度是可以的,0~100,0.1精度才1000分度,12位AD是有富余的.
绝对精度不好做因为绝对校准比较困难.
建议用pt1000,相同的电桥热效应小.

使用特权

评论回复
6
wxlhonker| | 2014-4-12 22:54 | 只看该作者
0.1度(非显示精度,绝对精度)有难度啊,我这一般能做到0.3就不错了,不过已经能满足客户的0.5的要求了就没再继续改进了。

使用特权

评论回复
7
ghostami| | 2014-4-13 13:47 | 只看该作者
建议增加一个积分式的AD转换器,容易实现16BIT以上精度

使用特权

评论回复
8
lishengyi| | 2014-4-13 20:28 | 只看该作者
你要求采集温度精度为0.1°C,
你需要注意一下 STM32F10X的ADC  查看技术手册可知 他有12位分辨率 输入电压在-Vre~+Vref之间
意思你的输入信号 也就是你经过差分放大后的电压必须保持在0~3.3V之间 超出了他测不出来的
在来看一下程序里我们怎么处理的 Voltage =ADC采集到的数据*3300>>12  
看到这里你该明白了吧  
0.1°C的精度需要转换成为相应的电压变化范围 你其实就是要设计这个相应的电压变化范围啊

使用特权

评论回复
9
huzi2099| | 2014-4-13 20:47 | 只看该作者
楼主不见了

使用特权

评论回复
10
it_yrj|  楼主 | 2014-4-13 20:51 | 只看该作者
mmuuss586 发表于 2014-4-12 14:05
温度变化0.1度,你的ADC值变多少位呢?

另外温度范围是多少呢?要是0~1000度,你要做到0.1度不太现实;

ADC是12位的,温度范围是-30到80度,用的PT100,采样后放大了100倍,算了一下大概可以精确到0.5度。
分辨率是0.61mv,每一度的电压变化是24.375mv。
发现降低参考电压差不多可以实现呢?

使用特权

评论回复
11
it_yrj|  楼主 | 2014-4-13 20:54 | 只看该作者
huzi2099 发表于 2014-4-12 15:20
0~100度做到0.1度的相对精度是可以的,0~100,0.1精度才1000分度,12位AD是有富余的.
绝对精度不好做因为绝对 ...

确实是用的PT100,开始用5V的参考电压给电桥供电,AD放大50倍,发现只能到0.5度的精度,降低参考电压貌似可以实现

使用特权

评论回复
12
it_yrj|  楼主 | 2014-4-13 20:57 | 只看该作者
wxlhonker 发表于 2014-4-12 22:54
0.1度(非显示精度,绝对精度)有难度啊,我这一般能做到0.3就不错了,不过已经能满足客户的0.5的要求了就 ...

请教一下显示精度和绝对精度有什么区别呢?
看到需求上写着最小控制温度为1度,测量和显示的精度为0.1度,劳请大神给解释一下呗

使用特权

评论回复
13
it_yrj|  楼主 | 2014-4-13 20:58 | 只看该作者
ghostami 发表于 2014-4-13 13:47
建议增加一个积分式的AD转换器,容易实现16BIT以上精度

打算用OP07来着,可编程的AD成本有点高啊

使用特权

评论回复
14
it_yrj|  楼主 | 2014-4-13 21:04 | 只看该作者
lishengyi 发表于 2014-4-13 20:28
你要求采集温度精度为0.1°C,
你需要注意一下 STM32F10X的ADC  查看技术手册可知 他有12位分辨率 输入电压 ...

恩,测到ADC的值在反推回去就可以得到PT100的阻值,然后查表就可以了。
请问用恒流源会不会比电桥要好些呢?

使用特权

评论回复
15
it_yrj|  楼主 | 2014-4-13 21:05 | 只看该作者
huzi2099 发表于 2014-4-13 20:47
楼主不见了

回来了亲,请指教啊

使用特权

评论回复
16
CHSung| | 2014-4-13 21:46 | 只看该作者
ADC 的參考電壓要留意,不然精確度都被它破壞了~
可查詢 AN2834 Application note: How to get the best ADC accuracy in STM32Fx Series and
STM32L1 Series devices

使用特权

评论回复
17
huzi2099| | 2014-4-13 23:23 | 只看该作者
it_yrj 发表于 2014-4-13 20:54
确实是用的PT100,开始用5V的参考电压给电桥供电,AD放大50倍,发现只能到0.5度的精度,降低参考电压貌似 ...

5V给电桥供电绝对不行,你可以算算5*5/((100+100)/2)=0.25W,你的电阻会发热,pt100电流不能超几个毫安,具体手册上有.

使用特权

评论回复
18
huzi2099| | 2014-4-13 23:26 | 只看该作者
it_yrj 发表于 2014-4-13 20:54
确实是用的PT100,开始用5V的参考电压给电桥供电,AD放大50倍,发现只能到0.5度的精度,降低参考电压貌似 ...

简单的放大是不行的,你得差掉下限电压后放大的电路.

使用特权

评论回复
19
huzi2099| | 2014-4-13 23:35 | 只看该作者
it_yrj 发表于 2014-4-13 20:57
请教一下显示精度和绝对精度有什么区别呢?
看到需求上写着最小控制温度为1度,测量和显示的精度为0.1度 ...

绝对精度是指你的结果和标准温度绝对对齐,严格的说这个绝对的测量是要通过国家计量部门认可的.
市面上就没有0.1度精度的温度测量仪器,有也是瞎做根本不可靠,所以绝对0.1的温度你根本没法校准.
相对精度不考虑温度校准,虽然显示温度与实际有偏差但这个偏差是固定值我也不知道偏差多少,但是温度上升或下降了0.1度是可以准确的.

使用特权

评论回复
20
huzi2099| | 2014-4-13 23:45 | 只看该作者
it_yrj 发表于 2014-4-13 20:57
请教一下显示精度和绝对精度有什么区别呢?
看到需求上写着最小控制温度为1度,测量和显示的精度为0.1度 ...

控制温度指你的调控手段实施的时候允许的最大偏差,比如加热过冲,热容导致测量滞后,热循环温度不均...

使用特权

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

本版积分规则

63

主题

614

帖子

0

粉丝