文号
926205
阅读
21367
回复
7
收藏
0
自制数显电子温度计(不用单片机)
2023/10/13
原创
IP:山东
摘要:本作是基于ICL7107模数转换芯片和TMP235温度——电压传感器及其他元器件制作的数显电子温度计,具有零下25摄氏度到125摄氏度(理论上)的量程,显示位数为三位半,显示分辨率为0.1摄氏度。由于整机由纯硬件模拟电路组成,所以精度无法保证,有可能存在较大的误差。


自制温度表输出.mp4  点击下载 ‎


又是一个非常简单粗暴的全硬件方案。很多年前我看到《无线电》杂志上有大佬只用了单片机和简单的外围器件就做出来了电子温度表,不由得自己也想做个,无奈这么多年过去了我仍然对编程一窍不通,连大学里编程相关的科目都差点挂了科,最后只能还是把目光移回到纯硬件上来。

相对来说最容易测量的电学量是电压,所以我需要把温度转换为电压进行测量。电压表倒好说,弄个ICL7107就可以了。传感器方面,如果用热敏电阻,似乎精度也不高,不同种热敏电阻阻值与温度的函数关系还可能不一样,而且电阻换算到电压之后也不是线性的,这就给温度的标定带来了很大的困难。后来我翻阅了大量的Datasheet之后找到了TMP235这种有源器件,它的输出电压与温度满足一次函数Uo = 500mV + (10mV x T )的关系,这可太妙了啊,不仅是线性的,而且因为系数是10,电压表的示数是十进制的,所以电压表表头之后只需要动个小数点,表头之前只要把TMP235的输出电压减去500mV就行了,正好大学模电课学到了运放的加减运算电路,这就派上用场了。于是咬咬牙买下来了四块钱一个的TMP235,翻出来箱子底下好久没用过的ICL7107,然后嘉立创划拉划拉打了个PCB板。

初步确定电路结构框图如图所示。

Image_1697163985836.jpg

在最开始,表头的基准电压我按照ICL7107官方电路,从电源电压(已经经过板载的7805和7905稳压)用可调电阻分得。而温度传感器这边500mV的零点参考电压我用的是LM385稳压管,减法器的运放我用的是OPA2171,我还以为这种运放既然精度好,就能直接用。欢欢喜喜的装好电路之后我却发现示数实在是偏的离谱,有100多,调整好表头参考电压之后示数仍然明显偏大,后来经过逐个测量,我发现减法电路根本没有正常工作(可是仿真验证表明电路是没有问题的),无奈之下开始怀疑是不是运放的问题,忍痛铲掉了OPA2171,换上了单价只有几毛钱的最常见的LM358,减法电路立马就正常了。但就算如此,示数仍然偏大,这个时候再次测量,发现500mV的传感器零点电压没出来,这一电压是由稳压管LM385提供的,可能是因为我买的LM385是假货,它两端的电压根本不是预期的2.5V,而是只有零点几V,这肯定是不行的。除此之外,TMP235的表现令我非常失望,山东省现在(注:本作是今年上半年完工的)仍然是冬天,然而没有暖气的室温下他居然输出0.77V电压,换算过来就是27度,这显然偏离了我提前做好的计算。


于是,第二版的PCB上,我放弃了LM385,转而使用手头现有的集成稳压芯片1117-1.2V配合可调电阻分压作为基准源。作为常见的LDO器件,他输出可能不会是正好1.2V,但比较稳定,再配合可调电阻,足够了。同时,切断了TMP235与周边器件相连的大片铜箔,把它用飞线拉出来拉到板子外面,以防止其他器件发热(尤其是集成稳压管7805  7905)干扰温度测量。由于上一段提到我买的TMP235输出电压偏高,所以零点电压也调高了一些,约650mV,表头基准则按照ICL7107官方指示,定在1.00V,这样具有较高的精度了,而且无论是零点还是表头参考均保留可调电阻,不准了再调就行。

Image_1697163949187.jpg Image_1697163945957.jpg Image_1697163943170.jpg

3年1个月前IP:广东
926210
1楼

典型的开倒车示范案例。如果是国产替代品ICL7107,里面大概率是个MCU。80年代的电话机,所谓DTMF拨号芯片里面也是个单片机,进行数字信号处理。楼主逃避编程知识学习,搞成非主流设计,恐怕家电维修都无法胜任。

引用
评论(1)
7
NPS_2750X作者
3年1个月前IP:山东
926220
2楼
引用warmonkey发表于1楼的内容
典型的开倒车示范案例。如果是国产替代品ICL7107,里面大概率是个MCU。80年代的电话机,所谓DTMF拨号芯片里面也是个单片机,进行数字信号处理。楼主逃避编程知识学习,搞成非主流设计,恐怕家电维修...

回复

感谢指教,单片机我已经在搞了,今年刚把我的第一个51单片机最小系统板打出来,我脑子很笨,不是个学编程的料,最简单的流水灯程序都花了一整天时间才搞定的

Video_1697205765423.mp4  点击下载 ‎


引用
评论
1
3年1个月前IP:广东
926222
3楼
引用NPS_2750X发表于2楼的内容
回复感谢指教,单片机我已经在搞了,今年刚把我的第一个51单片机最小系统板打出来,我脑子很笨,不是个学编程的料,最简单的流水灯程序都花了一整天时间才搞定的[视频]‎

看arduino官方网站的教程即可。不要搞51这种已经淘汰的非主流架构,这种东西难学、难用,对于以后的学习也没什么帮助。

引用
评论
1
3年1个月前IP:江西
926224
4楼

楼主可以试试用三极管be结的温度特性进行测温,专门的传感器都不需要。

引用
评论
3年1个月前IP:上海
926226
5楼

初学者还是不推荐Arduino 这东西其实路很窄的 不能真正用好单片机 单片机开发应该尽量直接使用原厂原生态

引用
评论
3年1个月前IP:广东
926229
6楼

如果有点耐心,其实直接用C,简单易懂入门快,理解深。

初学者没必要琢磨拍视频发帖,因为不懂的看了没多大帮助,懂的也看不上……圈子本身就小,想靠点赞流量转化不现实,还不如自己静心多练提高自身实力。


引用
评论
2
3年0个月前IP:江苏
926322
7楼

还是学正经单片机好点,看做项目基本两种比较多,量大的就用那种比较小众的牌子,量小的就国产兼容STM32这种。学那种四不像的没啥意思。

引用
评论
笔记
{{note.content}}
{{n.user.username}}
{{fromNow(n.toc)}} {{n.status === noteStatus.disabled ? "已屏蔽" : ""}} {{n.status === noteStatus.unknown ? "正在审核" : ""}} {{n.status === noteStatus.deleted ? '已删除' : ''}}
  • 编辑
  • 删除
  • {{n.status === 'disabled' ? "解除屏蔽" : "屏蔽" }}
我也是有底线的