技术热线: 4007-888-234
设计开发

专注差异化嵌入式产品解决方案 给智能产品定制注入灵魂给予生命

开发工具

提供开发工具、应用测试 完善的开发代码案例库分享

技术支持

从全面的产品导入到强大技术支援服务 全程贴心伴随服务,创造无限潜能!

新闻中心

提供最新的单片机资讯,行业消息以及公司新闻动态

用3个元器件和串口实现的测温方案 超便宜

更新时间: 2019-03-23
阅读量:1878

用3个元器件和串口实现的测温方案 超便宜



  In this article building of a simple thermometer for PC will be described. The unit is extremely simple and cheap to build. You will only need one NTC resistor, one diode and capacitor and serial port connector.

Elements:

Capacitor 10 uF or more

Diode 1N4148 or 1N4001 or similar

Thermistor NTC 10k or similar

9 or 25 pin female connector



 Description

Let's say DTR and TXD are zero at the beginning. Nothing is going on. Then we set DTR to 1 and start counting time. Capacitor is being charged through NTC resistor. The higher the temperature, the lower the resistance and capacitor is charged more rapidly and vice versa. We use DSR pin to monitor the voltage of capacitor. When it is charged enough, DSR goes to 1, we stop counting time. From elapsed time of charging we can calculate resistance of NTC, from resistance the temperature. After each measurement we set DTR to 0 to empty the capacitor through diode.

Theoretical background

Charging of capacitor: Capacitor C and resistor R in series, connected to voltage U0. Typical time constant tau = R * C. Voltage on capacitor versus time t: U = U0 * (1 - exp(-t/tau) ) (Equation is solution of simple differential equation)



NTC thermistor resistance

The resistance of NTC thermistor can be approximated by exponential curve R (T) = R25 * exp(B*(1/T-1/298K)) (R resistance in ohms, R25 resistance at 25°C, B typical constant dependant on NTC value [unit is kelvin K]). Do not worry about those constants, we will not need them.

Calibration of device

You need another calibrated thermometer for calibration of newly built one. The best is good ole' mercury thermometer with 0-100°C range. Measure temperature and write down capacitor charging time (you can get this data in program). Change temperature and repeat process. Be patient! Thermometer need some time to reach external temperature.

My way of doing it: I bound thermometer and NTC together and put them in plastic bag (to keep water away from thermometers). I put bag in glass with ice cubes. The ice melted, temperature of water began to rise because my room is hot (28°C). On every couple of degrees change, I wrote down temperature and time.

When you have collected temperature vs. time data, enter them in fitting program. MS-Excel can do it. Plot temperature vs. 1/log(time). Fit with linear function. In my case, equation for temperature in Celsius degrees is 2722*1/Log(time in microseconds)-217. Therefore constants are A = 2722 and B = - 217.

 

Time measurement/program

I wrote small Delphi application. For details, see source. First press "Calibrate" button to calibrate timing procedure. The frequency of your processor will be shown. Then select COM port and press "Open port". At the end you can finally press "Start". Do the calibration process as described above. When you enter correct factors also correct temperature will be displayed.

Download zipped application with Delphi source: tempmeter.zip.

Pinout of 9 pin serial connector

Data Terminal Ready DTR = Pin 4

Data Send Ready DSR = Pin 6

Transmit Data TXD = Pin 3



(If you have 25-pin connector for modem, find pinout for your connector on net)

Usage

Build it, hook it up, calibrate.

 

Through the day temperature logging - You can throw it through the window and then log temperature vs. time. Write application that records temperature every 5 minutes and writes it to file (send me file with data and your location, I will publish it on web page).

Model - Test if A*1/Log(time)+B is good way of fitting..

Black body radiation - You can do black-body radiation experiment. Put thermistor on fire for second or two, remove it and measure temperature every 500 ms. Compare data with theoretical black body radiation (j=sigma*T^4)

Chilling with wind - Pour watter in bottle, wait for temperature of water to be the same as air temperature. Wind humid cloth around bottle, put thermistor in it. Put whole stuff in shadow windy place (Chicago ;-). Measure temperature every minute. Think what happens and why.