0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

烹饪温度计的制作图解

454398 来源:工程师吴畏 2019-08-22 09:34 次阅读

步骤1:

烹饪温度计的制作图解

我早期的设计采用NTC温度探头,采用表查找技术将电阻分压器的输入电压转换为温度。由于ESP32能够进行12位模拟输入,并且由于我的设计是为了提高精度,因此我决定在电压到温度转换的代码中实现“Steinhart-Hart”方程。

首先由John S. Steinhart和Stanley R. Hart于1968年发表,Steinhart-Hart方程式定义了NTC温度探头的温度关系阻力如下:

1/T = A +(B *(log(热敏电阻)))+(C * log(热敏电阻)* log(热敏电阻)* log(热敏电阻))

其中:

T是开氏度。

A,B,C是Steinhart-Hart系数(稍后会详细介绍)。

热敏电阻是当前温度下温度探头热敏电阻的电阻值。

为什么这个看似复杂的Steinhart-Hart方程对于简单的NTC温度探头来说是必不可少的数字温度计? “理想的”NTC温度探头将提供实际温度的线性电阻表示,因此涉及电压输入和缩放的简单线性方程将导致精确的温度呈现。但是,NTC温度探头不是线性的,当与几乎所有低成本单板处理器(如WiFi套件32)的非线性模拟输入结合时,会产生非线性模拟输入,从而产生不准确的温度读数。通过使用Steinhart-Hart等公式以及仔细校准,可以通过生成非常接近的实际温度来获得使用NTC温度探头和低成本单板处理器的高精度温度读数。

所以回到Steinhart-Hart方程式。该等式利用三个系数A,B和C来确定温度作为热敏电阻器的函数。这三个系数来自哪里?一些制造商使用NTC温度探头提供这些系数,而其他制造商则没有。此外,制造商提供的系数可能是也可能不是您可能购买的精确温度探头,并且很可能是代表他们在一段时间内制造的所有温度探头的大样本的系数。最后,我根本找不到本设计中使用的探针的系数。

没有所需的系数,我创建了Steinhart-Hart Spreadsheet,这是一个基于电子表格的计算器,可帮助生成NTC温度探测所需的系数(我丢失了链接到我多年前使用的类似网络计算器,所以我创造了这个)。为了确定温度探头的系数,我首先用数字欧姆表测量分压器中使用的33k电阻的值,然后将值输入标有“电阻器”的电子表格的黄色区域。接下来,我将温度探头放在三个环境中;第一个室温,第二个冰水和第三个沸水,以及一个已知的精确数字温度计,并允许温度计上的温度和WiFi套件32显示屏上出现的热敏电阻输入计数(稍后将详细介绍)稳定下来。当温度和热敏电阻输入计数稳定后,我将已知准确温度计指示的温度和WiFi套件32显示屏上显示的热敏电阻计数输入电子表格的黄色区域,标记为“温度计的度数F”和“AD分别来自三个环境中的WiFi套件32“。输入所有测量值后,电子表格的绿色区域将提供Steinhart-Hart方程所需的A,B和C系数,然后将其复制并粘贴到源代码中。

如前所述Steinhart-Hart方程的输出以开氏度为单位,此设计显示华氏度。从开尔文度到华氏度的转换如下:

首先,通过从Steinhart-Hart方程中减去273.15(开氏度)来将开尔文度转换为摄氏度:

度C =(A +(B *(log(热敏电阻)))+(C * log(热敏电阻)* log(热敏电阻)* log(热敏电阻))) - 273.15

第二,将摄氏度转换为华氏度,如下所示:

度数F =((度C * 9)/5)+ 32.

随着Steinhart-Hart方程和系数完成后,需要第二个方程来读取电阻分压器输出。本设计中使用的电阻分压器型号为:

vRef 《---热敏电阻《--- vOut 《---电阻《---接地

其中:

此设计中的vRef为3.3vdc

热敏电阻是用于电阻分压器的NTC温度探头。

vOut是电阻分压器的电压输出。

电阻是电阻分压器中使用的33k电阻。

接地是好的。

v本设计中的电阻分压器连接到WiFi套件32模拟输入A0(引脚36),并且电阻分压器的电压输出计算如下:

vOut = vRef *电阻/(电阻+热敏电阻)

然而,正如Steinhart-Hart方程式中,热敏电阻的电阻值是为了获得温度所必需的,而不是电阻分压器的电压输出。因此,重新排列等式以输出热敏电阻值需要使用如下的小代数:

将两侧乘以“(电阻+热敏电阻)”,结果为:

vOut *(电阻+热敏电阻)= vRef *电阻

将两侧除以“vOut”,结果为:

电阻+热敏电阻=(vRef *电阻) )/vOut

从两侧减去“电阻”导致:

热敏电阻=(vRef *电阻/电压) - 电阻

最后,使用分配属性,简化:

热敏电阻=电阻*((vRef/vOut) - 1)

代入WiFi套件32 A0模拟输入计数为0通过4095表示vOut,并用4096的值代替vRef,提供Steinhart-Hart方程所需的热敏电阻电阻值的电阻分压器公式变为:

热敏电阻=电阻*((4096/模拟输入计数) - 1)

因此,在数学背后,让我们组装一些电子设备。

第2步:组装电子设备。

五条4英寸28awg电线(一条红色,一条黑色,一条黄色和两条绿色)。

One,Maverick“ET-72温度探头”探头

一个2.5mm“手机连接器,面板安装

一个33k欧姆1%1/8瓦电阻器。

一个,压电蜂鸣器。如果选择一个不同的压电蜂鸣器确保它符合这个规格(方波驱动,《= ESP32的当前输出)。

为了组装其他组件,我执行了以下步骤:

完成所有布线后,我仔细检查了我的工作。

剥离并镀锡每个4“线长的末端,如图所示。

将黄线的一端和33k欧姆电阻的一端焊接到手机连接器的“Tip”引脚。

将黑线的一端焊接到33k欧姆电阻的自由端,并修掉多余的电阻线。

在导线和电阻上施加热缩管。

将红线的一端焊接到手机连接器上的“套管”引脚。

将黄色线的自由端焊接到WiFi套件32上的引脚36.

将黑线的自由端焊接到WiFi套件32上的GND引脚。

将红线的自由端焊接到WiFi套件32上的3V3引脚。

将一根绿线焊接到压电蜂鸣器的一根引线上。

将剩余的绿线焊接到压电蜂鸣器的剩余导线上

将其中一根绿色压电线的自由端焊接到WiFi套件32上的针脚32上。

将剩余的绿色压电线的自由端焊接到WiFi套件32上的GND引脚。

将温度探头插入电话连接器。

步骤3:安装软件。

文件“AnalogInput.ino”是一个包含设计软件的Arduino环境文件。除此文件外,您还需要WiFi Kit32 OLED显示屏的“U8g2lib”图形库(有关此库的更多信息,请参阅https://github.com/olikraus/u8g2/wiki)。

在Arduino目录中安装U8g2lib图形库,并将“AnalogInput.ino”加载到Arduino环境中,编译并将软件下载到WiFi套件32中。一旦下载并运行,将在WiFi上显示OLED显示屏的顶线套件32应显示“温度”,当前温度以大文本显示在显示屏中央。

触摸中央按钮(T5)显示“设置报警温度”显示。按照简介中的说明,按左按钮(T4)或右按钮(T6)调节报警温度。要测试警报,请将警报温度调整为等于或低于当前温度,并且应发出警报。完成设置报警温度后,触摸中心按钮返回温度显示。

软件中的值dProbeA,dProbeB,dProbeC和dResistor是我在探头校准过程中确定的值。这种设计应该产生精确到几度的温度读数。如果不是,或者如果需要更高的精度,则接下来进行校准。

步骤4:校准NTP温度探测器

校准温度探头需要以下项目:

一个数字欧姆表。

一种已知的精确数字温度计,能够在0到250华氏度之间。

一杯冰水。

一壶开水(非常非常小心!)。

首先获得实际的33k电阻值:

断开WiFi Kit 32板的电源

从手机连接器上取下温度探头(根据您的数字欧姆表,也可能需要从WiFi套件32中去除黑线。)

打开Steinhart-Hart电子表格。

使用数字欧姆表测量33k欧姆电阻的值,并将其输入电子表格中的黄色“电阻”框,并输入软件中的变量“dResistor”。虽然这看起来似乎过多,但是33k欧姆的1%电阻确实会影响温度显示的准确性。

将温度探头插入手机连接器。

接下来获取Steinhart-Hart系数:

打开已知的准确度数字温度计。

USB电源插入WiFi套件32.

同时按住左(T4)和右(T6)按钮,直到出现“Thermistor Counts”显示。

允许数字温度计和热敏电阻计数显示稳定。

在“房间”行的黄色“温度计的度数F”和“ESP32的AD计数”列中输入温度和热敏电阻计数。

将数字温度计和热敏电阻探头插入冰水中,使两个显示器都稳定下来。

在“冷水”行中输入黄色的“温度计的度数F”和“ESP32的AD计数”列中的温度和热敏电阻计数。

将数字温度计和热敏电阻探头插入沸水中,使两个显示器都稳定下来。

在“沸水”行中输入黄色的“温度计的度数F”和“ESP32的AD计数”列中的温度和热敏电阻计数。

将绿色“A:”系数复制到源代码中的变量“dProbeA”中。

将绿色“B:”系数复制到源代码中的变量“dProbeB”中。

将绿色“C:”系数复制到源代码中的变量“dProbeC”。

编译并将软件下载到WiFi Kit 32中。

步骤5:3D打印案例和最终装配。

我打印了“Case,Top.stl”和“Case,Bottom.stl” .1mm层高,50%填充,没有支撑。

打开外壳后,我按如下方式组装了电子元件和外壳:

我从中拆除了电线三个孔塞,将孔塞压入“Case,Top.stl”中的位置,然后将导线重新焊接到孔塞上,小心地注意左(T4),中心(T5)和右(T6)导线和各个按钮。

使用附带的螺母将手机连接器固定到“Case,Bottom.stl”中的圆孔。

将压电蜂鸣器放在手机连接器旁边的机壳底部组件中,并用双面胶带固定到位。

将WiFi套件32滑入机箱底部组件的位置,确保WiFi套件32上的USB端口与机箱底部的椭圆形孔对齐(请勿按压OLED显示屏以定位在底部组件的WiFi套件32,相信我这一个,只是不要这样做!)。

将表壳顶部组件压在表壳底部组件上,并使用角落处的小点浓氰基丙烯酸酯胶固定到位。

步骤6:关于本软件。

文件“AnalogInput.ino”是对我以前的Instructable“https://”文件“Buttons.ino”的修改。 www.instructables.com/id/ESP32-Capacitive-Touch-Buttons/”。我修改了原来的三个代码段“setup()”,“loop()”和“InterruptService()”以包含探测和报警的软件,并且我添加了另外三个代码段“Analog()” ,“按钮()”和“显示()”清理“循环()”并添加必要的探针和报警软件。

“模拟()”包含读取所需的代码热敏电阻计入一个数组,平均计数数组,使用分压器生成热敏电阻值,最后使用Steinhart-Hart方程和温度转换方程生成华氏度。

“按钮() “包含处理按钮和编辑报警温度所需的代码。

”Display()“包含在OLED显示屏上显示信息所需的代码。

如果您对此代码或此Instructable的任何其他方面有任何疑问或意见,请随时提出,我会尽力回答。

我希望您喜欢它(和仍然清醒)!

第7步:“即将进行的项目”。

即将推出的项目“Intelligrill®Pro”是双温度探头吸烟器监测器,具有以下特点:

Steinhart-Hart温度探头计算(与“查找”表相对),以提高此Instructable中的精度。

探针1的预测完成时间,包括Steinhart-Hart计算得出的提高的准确度。

第二个探头,探头2,用于监测吸烟者的温度(限制在32到399度之间)。

电容式触摸输入控件(与之前的Instructable相同)。

基于WIFI的远程监控(使用固定的IP地址,可以在任何可以连接互联网的地方监控吸烟者的进度)。

扩展温度范围(32至399度)。

在Intelligrill®发射器和大多数支持WiFi的监控设备上发出声音完成警报。

温度显示为°F或°C。

时间格式为HH:MM:SS或HH:MM。电池显示为伏特或%充电。

基于螺旋钻的吸烟者的PID输出。

“Intelligrill®Pro”仍在测试,以成为最准确,功能最强大,最可靠的基于HTML的Intelligrill®我有设计的。它仍然在测试中,但是在测试过程中它正在协助准备,我已经获得了超过几磅。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 温度计
    +关注

    关注

    6

    文章

    397

    浏览量

    78117
收藏 人收藏

    评论

    相关推荐

    温度计的种类有哪些,各有什么用途

    温度计是用来测量温度的仪器,常见的温度计种类有很多,每种温度计都有其独特的用途和适用范围。以下将详细介绍几种常见的温度计。 气压
    的头像 发表于 01-22 11:34 1030次阅读

    电接点双金属温度计-全球百科 #从入门到精通,一起讲透元器件!

    元器件温度计
    嘉可自动化仪表
    发布于 :2023年12月11日 08:20:47

    基于MCS一51温度计的设计实习

    电子发烧友网站提供《基于MCS一51温度计的设计实习.pdf》资料免费下载
    发表于 10-19 10:47 0次下载
    基于MCS一51<b class='flag-5'>温度计</b>的设计实习

    写字机的制作过程

    写字机的制作过程,图解,利用了core——XY的结构,详细制作图解,需要有一定制作基础的DIY同学。
    发表于 09-27 07:41

    五种常见温度计的工作原理

    本文介绍五种常见的工业用温度计:液体膨胀式温度计、固体膨胀式温度计、压力式温度计、热电偶温度计、热电阻
    的头像 发表于 09-06 16:10 1669次阅读
    五种常见<b class='flag-5'>温度计</b>的工作原理

    DS8B2数字温度计的设计、装配与调试(2)#传感器

    传感器数字温度计
    未来加油dz
    发布于 :2023年08月20日 09:33:18

    DS8B2数字温度计的设计、装配与调试(1)#传感器

    传感器数字温度计
    未来加油dz
    发布于 :2023年08月20日 09:32:34

    基于RJM8L003的食品温度计解决方案

    食品温度计是一种可以测量食品温度的专业工具,主要用于食品加工、储存、运输、销售等环节中,确保食品卫生安全和品质保持不变。随着人们对食品安全和品质的重视,以及对食品温度监测的要求越来越高,食品
    发表于 08-03 16:40

    数字温度计电路图详解

    该数字温度计电路图使用一个通用的1N4148二极管作为温度传感器。该应用利用二极管的温度系数-2 mV/°C来创建精确的电子温度计
    的头像 发表于 07-28 10:38 2593次阅读
    数字<b class='flag-5'>温度计</b>电路图详解

    电阻温度计信号调理器电路图解说明

    电阻温度传感器(RTD,电阻温度器件)有NTC(负温度系数)和PTC(正温度系数)两种形式。下图显示了这种温度计的信号调理器电路。该传感器调
    的头像 发表于 07-27 14:46 580次阅读
    电阻<b class='flag-5'>温度计</b>信号调理器电路<b class='flag-5'>图解</b>说明

    Arduino红外线温度计、秒表、烹饪计时器、闲置追踪器

    电子发烧友网站提供《Arduino红外线温度计、秒表、烹饪计时器、闲置追踪器.zip》资料免费下载
    发表于 07-11 10:03 1次下载
    Arduino红外线<b class='flag-5'>温度计</b>、秒表、<b class='flag-5'>烹饪</b>计时器、闲置追踪器

    热电偶温度计

    有没有工程师可以写高温热电偶的温度计
    发表于 06-15 09:15

    想要构建一个简单的wifi温度计,在哪里可以找到这样简单的工具包和源代码?

    我们正计划构建一个简单的 wifi 温度计。内置热电偶。可充电电池。Android 应用程序以 F 和 C 显示温度。电池百分比。任何演示套件随时可用?请告诉我们在哪里可以找到这样简单的工具包和源代码?
    发表于 06-01 09:15

    使用ESP8266-01模块的太阳能wifi泳池温度计,如何将模拟传感器信号直接连接到AD输入?

    泳池温度计,但它们似乎都与专用接收器(桌面或壁挂式)配对,无法通过手机应用程序或网络浏览器访问。 所以我的想法是让手机/网络浏览器可以使用池温度信息,并使用另一个 ESP8266-01 模块制作一个
    发表于 05-30 06:52