NTC 温度计 revisit

47 views
Skip to first unread message

Atommann

unread,
Oct 3, 2010, 11:32:19 AM10/3/10
to sz...@googlegroups.com
Dear all,

找零件的时候找到去年 Anders 给我的那只很漂亮的玻璃封装的 NTC,我想:“为何不焊起来试试呢?”

正好,以前做数码管实验时搭了一个 4 位数码管显示板,再利用 ATmegaxx8 Target Board (也就是名片板)
可以很快搭建出这个电路来。电路板可以弄个透明盒子装起来,供电部分可以考虑 USB 供电。

原理图和 Anders 的基本一致,不同之处是显示部分,由 4 个单独的一位数码管组成,共阴极,用 NPN 三极管 2N5551
驱动,因此我修改了程序中的数码管驱动部分。

照片是我手上的三种可以测量温度的设备的对比:
左边:NTC 温度计,显示 29.8 度
中间:ALTEC PC410 温度控制器,使用 Pt100 铂电阻温度传感器,显示 29.9 度
右侧:Taylor 9848FDA 食品温度计 (可用于婴儿饮食,洗澡测量温度以便参考),显示 29.4 度

从对比中可见这个 NTC 温度计还是挺准的!

gEDA 原理图和源代码下载地址:
http://www.atommann.com/electronics/ntc-thermometer/ntc-thermometer.zip

--
Best regards,
Atommann

experiment.png
thermometer-compare.jpg

Anders Ma

unread,
Oct 3, 2010, 11:35:36 AM10/3/10
to sz...@googlegroups.com
哈哈,你这几天够多产的。

2010/10/3 Atommann <atom...@gmail.com>
--
You received this message because you are subscribed to the Google
Groups "Shenzhen DIY Lab" group.
To post to this group, send email to sz...@googlegroups.com
To unsubscribe from this group, send email to
szdiy+un...@googlegroups.com
For more options, visit this group at
http://www.szdiy.org
http://groups.google.com/group/szdiy?hl=zh-CN



--
Regards
Anders

mctor

unread,
Oct 4, 2010, 5:28:15 AM10/4/10
to sz...@googlegroups.com
看来 atommann 最近很有空啊,做出了不少东西。有机会一定要去参观一下。
 
不知道这种温度计的原理是什么呢?我对温度计的认识还停留在 水银和大气压 的层次。不知道电路是怎么实现的。是不是有类似 感温电阻 的元件呢?

 
2010/10/3 Atommann <atom...@gmail.com>

Anders Ma

unread,
Oct 4, 2010, 7:33:27 AM10/4/10
to sz...@googlegroups.com
原理就是透过热敏电阻阻值来确定温度。热敏电阻的阻值会随着温度变化而变化。
下面是温度计的程序源代码,有兴趣可以看看。



--
Regards
Anders

Atommann

unread,
Oct 4, 2010, 10:26:12 AM10/4/10
to sz...@googlegroups.com
在 2010年10月4日 下午5:28,mctor <mxc...@gmail.com> 写道:
> 看来 atommann 最近很有空啊,做出了不少东西。有机会一定要去参观一下。

这几天放长假嘛 :)

> 不知道这种温度计的原理是什么呢?我对温度计的认识还停留在 水银和大气压 的层次。不知道电路是怎么实现的。是不是有类似 感温电阻 的元件呢?

这种温度计就是利用感温电阻实现的,这个温度计用的感温电阻被称为负温度系数热敏电阻(NTC, Negative Temperature
Coefficient Thermistors),它的特性是当温度升高的时候,它的电阻值就会降低,因此得名。与之对应的是正温度系数热敏电阻(PTC,
Positive Temperature Coefficient Thermistors)。

利用 NTC 的这个特性(温度变化 NTC 的阻值就跟着变化),只要能有个办法测出 NTC 的阻值就可以推出温度是多少。这是通过原理图里面的
AVR 微控制器内部的 Analog/Digital 转换器实现的。在图中 NTC 和一个 10k 的电阻形成一个分压电路,NTC
上的电压被送到微控制器的 ADC 转换器中。

ADC 转换器要有一个参考电压,这里用的是 5V,另外,AVR 的 A/D 转换器是 10 位的,也就是 0V 对应于二进制数 0,5V
对应于二进制数 1023,假如 25 度的时候 NTC 的电阻是 10k,这时加载到 ADC 的电压就是 5*10/(10+10) =
2.5V,这时微控制器把 2.5V 和参考电压 5V 一比较,就得知:ADC = Vin*1024/Vref = 2.5*1024/5 =
512,这个时候模拟量就变成数字量了。这时,利用分压公式 5Rntc/(10k+Rntc) = Vin 和前面的式子 ADC =
Vin*1024/Vref (Vref 和 ADC 的值已知)就可以算出 NTC 的阻值 Rntc 是多少了。

得到了 NTC 阻值,就可以知道对应温度是多少了,这两者是函数关系。可以利用查表的方法来得到温度值,也可以利用插补公式来算出温度值。这个温度计项目用的是经过扩展过的
Steinhart–Hart equation 来计算,这个公式依赖几个参数,这些参数由 NTC 的材料及其它因素决定。程序中用的参数来自
Vishay 公司(它的精密电阻非常有名)的型号为 NTCLE100E3103JB0 的 NTC 的数据手册。国内的很多 NTC
厂家都没有公布这几个参数。

这样就算出了温度值,然后把这个值送到 LED 数码管或 LCD 上显示即可,也可以把它记录到 SD
卡里面,这就成为一个温度记录仪(Temp. Logger),还可以把它通过串口发送到 PC 上显示。还可以把它以 Morse
码的形式以音频或无线电的方式发送出去,或者用无线数据传数模块比如 HopeRF 公司的产品来传送数据。

还可以把多个这种温度计插入土壤,然后把测得的温度传回家中的一台运行 Linux 的 ARM 计算机中,对农场的土壤温度进行全年采集和记录。

Thermistor
http://en.wikipedia.org/wiki/Thermistor

--
Best regards,
Atommann

Reply all
Reply to author
Forward
0 new messages