基于ATtiny85测量沸水的热电偶温度计
这个项目描述了一个热电偶温度计,可以测量温度高达+1350°C,只使用一个ATtiny85和OLED显示器
它使用ATtiny85的模数转换器(带有x20增益选项)测量热电偶电压,内部温度传感器测量环境温度(显示在屏幕底部),读数精度超过5℃。一些可能的应用包括烹饪温度计,焊接铁温度监视器,或木材燃烧炉温度显示器。
介绍
我最近想建立一个能够测量250°C左右温度的电路,所以我在之前的项目中使用的温度传感器,比如DS12B20,并不合适,因为它们的最高温度限制通常是150°C。这里选择的传感器是热电偶,它利用了两个不同金属之间的结产生与温度成比例的小电压这一事实。最常见的热电偶类型称为K型,它使用铬镍合金(一种镍铬合金)和铝镍合金(一种镍/铝/锰/硅合金)。
人们可以使用自定义热电偶放大器将小电压转换成数字信号,然后从微控制器中读取;一个流行的选择是MAX31855K,它提供了一个SPI输出。
然而,我突然想到,你可以直接使用ATtiny85上的模拟输入读取热电偶。ATtiny85方便地提供了一个10位差分模拟输入与x20增益选项。k热电偶产生约41µv /°C,所以使用1.1 v电压参考我们可以计算该决议和最大范围如下:
分辨率= 1.1/(1024 x 20 x 41 x 10-6) = 1.31℃
最大值= 1024 x 1.31 = 1341°C。
通过采样,得到分辨率低于1°C,这对于许多应用来说绝对足够精确。
ATtiny85是少数AVR微控制器之一,包括ADC输入上的增益选项;我知道的其他型号只有ATtiny861、ATtiny167和ATmega1284P。
虽然k型热电偶可以测量零下200℃的温度,但是为了简单起见,在这个项目中我只支持室温以上的温度。如果有兴趣的话,我可能会在以后的项目中扩展它。
得到了温度
如何通过测量热电压来获得温度呢?
最简单的方法是假定电压和温度之间的关系是线性的,41µv /°C。对于较小的温度范围,这是一个很好的近似;然而,在较大的范围内,与线性行为有显著的偏离。
为了获得最大的精度,您可以使用美国国家标准与技术协会(NIST)提供的系数来求解九阶多项式。然而,这种方法对于我想要达到的精度并不是必需 的。
我使用的方法是分段线性模型,用一系列直线段逼近标准响应曲线。我使用在线热电偶温度计算器查找一系列固定点的温度,对应的ADC读数是128的倍数:
然后将它们编码为以下的不动点数组,以十分之一度为单位,用于温度的线性插值:int Temperature[9] = { 0, 1684, 3370, 4995, 6613, 8269, 9993, 11805, 13751 }; 传感器测温
热电偶产生的电压并不能给出绝对温度,但可以给出探头的温度和热电偶与电路连接的温度之间的差值。这传统上被称为"冷结"(即使你在测量零度以下的温度,它实际上会比探测器还要热)。因此,所有热电偶放大器都包含一个传感器来测量其内部温度。
幸运的是,ATtiny85包含一个内部温度传感器,因此热电偶温度计使用它来计算冷结温度。电路
电路如下图所示
对于显示器,我选择了I2C 128x32 OLED显示器,可从Adafruit或英国的Pimoroni获得。33 kΩ电阻器和0.1µf电容器确保显示正确重置权力是第一次申请时,虽然你可能不需要他们。或者,您可以使用AliExpress的等效显示器,或者I2C 64x32 OLED显示器。
我使用了网上购买的k型热电偶,但是不同的供应商可以提供多种探头。
程序
对于内部温度测量和差分电压测量,我都在睡眠模式下进行模拟到数字的转换,这是数据表所建议的,目的是将处理器和外围设备的噪声降到最低。
显示
显示代码类似于我在早期项目中使用的代码,这些项目使用相同的128x32 I2C OLED显示,例如微型机器码监视器。在这个项目中,我只需要数字0到9的字符集定义,以及一些额外的字符,如"-"、"C"和学位符号。
该程序允许您绘制两倍大小的字符;有关如何工作的详细信息,请参阅"大文本"中的"小显示"。
测量内部温度
设置内部温度测量ADC的程序为:void SetupInternal () { ADMUX = 0<由于程序太多这里就不一一举例了,需要的可以私信我,发你完整版源程序。测试
注意,在关键应用中使用热电偶温度计之前,应该根据已知温度对其进行测试。我用商用热电偶温度计对温度计进行了测试,沸水温度为100℃,橄榄油温度为220℃,每种温度计的读数都在5℃以内。
要测量固体物体的温度,可以使用聚酰亚胺胶带将热电偶连接到物体上。编译程序
我使用Spence Konde的ATTiny Core编译了这个程序。选择ATTinyCore菜单上ATTinyCore标题下的ATtiny25/45/85选项。然后检查了是否设置如下(忽略其他选项):
芯片:"ATtiny85"
时钟:"1mhz(内部)"
定时器:"Timer1"
这些是新ATtiny85的默认保险丝设置,但是如果您以前使用过不同设置的ATtiny85,请选择Burn Bootloader来适当地设置保险丝。
火星曾发生过核战争?探测器拍到的残垣断壁会是遗迹吗?就在前一段时间,NASA那边又放出来一张火星地表的照片,声称上面有什么火星古代的象形文字石刻,而这张照片是在一个火星遗迹上找到的,甚至有的网友坚信这些文字就是火星曾经存在大量智慧生
火星大气密度不到地球的1,机智号直升机是怎么飞起来的?2021年4月19日,人类的第一架火星直升机美国的机智号首飞成功。这标志着人类航天事业又朝前迈出了一步,不过这还只是一个开始。值得一提的是,机智号还携带了一件特殊的物品,飞行者一号
旅行者号飞出太阳系时,遇到了一道火墙,太阳系边界真实存在?1977年9月20日,无人探测器旅行者号开始了它的星际之旅,在距离地球180亿公里的地方,旅行者号发现太阳系正在被一层火墙牢牢包围。这是一条温度高达5万多摄氏度,整体宽度长达2。2
最新超级计算机排名更新,我国超算数量世界第一,远超美国一年两次的超级计算机TOP500榜又更新了,与去年11月份发布的排名相比,变化不大,仍然是由日本的富岳蝉联冠军。日本富岳我国排名最靠前的,还是神威太湖之光,排名第4。如果以峰值性能
贝叶斯优化方法确定U值此代码通过贝叶斯优化方法确定DFTU中的HubbardU参数。依赖的软件Python3。6NumPyPandasASE(httpswiki。fysik。dtu。dkase)pyma
计算圆周率的三种奇怪方法,有些圆藏得很深圆周率日被定为3月14日,为什么?因为的前三位是3。14。得到的值并不容易,有很多种方法可以计算出。这篇文章我将分享一些我最喜欢的方法来获得这个伟大的数字。首先,从一个相当简单的测
衰老究竟是怎么一回事,有延缓衰老的方法衰老是人体退化的一种表现,是不可逆转的!衰老包括了细胞组织器官功能的减退。外在人体衰老表现包括了身高体重下降,骨密度下降,毛发改变,面容改变等等!究竟我们生活方式对我们衰老有没有影
学习方法记忆今天我们要深入你的记忆原理,教你如何记得更好记忆的原理非常复杂,毕竟,我们需要解释一堆神经细胞,化学物质,电冲动你的大脑将信息转化为记忆,要通过几个不同的阶段首先,感觉记忆,加工你
拾荒老汉捡到3万,失主耍赖说少1万,老汉掀起衣服,失主傻眼了随着社会的发展,人们越越来越自私,但是还是有很多好人,很多拾金不昧的人,今天小编就来说一下拾荒老汉周大爷的故事。周大爷今年72岁了,现在是独居老人,很多年前,周大爷原本有一个幸福的
南极洲冰层下是否存在未知生物?大家好,我是原力南极洲位于地球的最南端,它不属于任何国家只因气候恶劣不适合居住,据记载历史上南极洲最低温度达到89。2,号称地球最冷的地方。在南极洲大部分国家都有自己的科考站,因为
福特新专利自动驾驶购物车能跟着顾客到处走如果有自动驾驶购物车的帮助,那么我们在去超市的时候,想要购买整整一车的商品,就不会像现在怎么难了。汽车厂商福特就想开发这样一款小型的电动汽车,它可以作为购物车自动跟随在顾客的身后,