制作一个廉价的温度传感器
novakon2013/07/28电子技术 IP:重庆
首先,购买一些热敏电阻。我使用的型号是MF52 10K3435,淘宝价3.8元20只,平均每个两毛钱。

可以查到它的一些数据:25度时阻值是10K,其他温度阻值(部分,未显示完全)对应如下:
(单位千欧)
QQ截图20130728213333.png

为了测量其阻值变化,连接电路如下。使用一个10K电阻。

热敏电阻电路.png

使用STM8单片机上的ADC采集电压值。该ADC精度为10-bit,随着输入电压从0到VCC变化,可获得0-1023之间的数值。

设当前温度对应的热敏电阻阻值为R(单位千欧),单片机采集到的数值为D,则有
D=R/(R+10)*1023
这样,便可通过excel求出每个温度下,ADC将会采集到的数值:

QQ截图20130728214134.png

焊个电路,连上单片机

DSC_3787.jpg

由于温度和采集到的数值的关系不是线性的,可以用查表法来对付,有程序如下:



使用arduino的同学可以这么理解:用int buffer=analogRead(A0)采电压值,然后照抄后面查表部分的代码(31-38行是您需要的),temp就是所求温度。

测试(从串口收到,在电脑上显示):室温
QQ截图20130728223110.png
+200  科创币    彼岸江山    2013/07/28 -
来自:电子信息 / 电子技术
9
已屏蔽 原因:{{ notice.reason }}已屏蔽
{{notice.noticeContent}}
~~空空如也
novakon 作者
11年5个月前 IP:未同步
553098
关于精度
- 所使用的10K电阻精度是多少?1%还是0.5%?
- 查表法,整数插值计算精度够吗?应该使用整数还是浮点数?要不要进行数字滤波得到更高精度和更平滑数值?

关于功耗
- 可将VCC改为某个输出脚,当不采样时,禁用此输出脚,减少耗电。
- 5V电压下,20k阻值的负载 -> 250uA或者 0.25mA,如果作为长期记录(比如使用电池供电,放在包装箱里面),应使用以上方法节省电量。

关于校准
- 使用常见的恒温源,比如体温(36),冰块(0)
- 使用一个温度计作参照

关于成本
- 在单片机拥有ADC的情况下(绝大多数情况),成本会控制在1元以内
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
novakon作者
11年5个月前 IP:未同步
555066
回 2楼(gurite) 的帖子
视乎采样精度嘛,在这个例子里面,室温附近的分辨率大概是0.1度
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论

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

所属专业
上级专业
同级专业
novakon
学者 机友 笔友
文章
1256
回复
8386
学术分
16
2008/03/29注册,2年10个月前活动

已走,勿送

主体类型:个人
所属领域:无
认证方式:手机号
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)}}