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

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

3天内不再提示

带DS18B20温度传感器的Arduino可编程加热器鼓风机温控器

454398 来源:网络整理 作者:佚名 2019-10-31 10:05 次阅读

步骤1:列表材质/工具

工具:

焊料I ron

剪线钳/剥线钳

#2 Fillips头螺丝起子

精密Fillips头螺丝起子(继电器模块中的螺钉)。

丁腈手套

更轻或更小的喷枪

可选:用于LED屏幕/控制箱外壳的3D打印机。

材料:

1个3.5v 5毫米绿色LED

1个220欧姆电阻

1个Songle 30A 250vac继电器(部件号:SLA-05VDC-SL-C)

1个Arduino Uno或兼容控制器

1个LCD键盘防护罩(SKU:DFR0009)

1x DS18B20防水数字温度传感器

1x DS18B20-XH适配器

1x环氧管道腻子

热缩管

公/母面包板跳线

电线22ga(来自Arduino的6vdc电源用于继电器)

电线16ga(来自房屋的115vac电源)

电线螺母

6v 1a墙式变压器/电源适配器

步骤2:LCD键盘防护罩简介

在此Instructable中,我将使用预先组装的LCD键盘护罩,与组装相比,我发现花费相同的成本却花费更少的精力

此防护罩使用LiquidCrystal.h库和Arduino的以下PIN进行操作; 8、9、4、5、6、7。LCD防护罩还包含六个按钮,这些按钮由一个由5级分压器设置的模拟PIN控制。请注意,所有这些屏蔽都与为您的特定屏蔽设置分压器的位置无关。在稍后提供的代码中,此代码在“int read_LCD_buttons()”下定义,并且说明在代码中已注释。

请注意LCD键盘护罩的缺陷,并用PIN 10调暗屏幕,因为这可能会烧坏LCD键盘护罩。在Arduino论坛(http://forum.arduino.cc/index.php?topic=96747.0)上有记录。

第3步:温度传感器

使用的温度传感器是DS18B20防水数字温度传感器,它利用Dallas温度IC和 DallasTemperature.h 库。为方便起见,我将其与DS18B20-XH适配器配对,该适配器将通过 OneWire.h 库调用。

步骤4:温度传感器接线:

通过D13焊接公对母面包板跳线,其公端通过DS13B20-XH适配器连接到“ SIG”引脚。

通过Arduino的地焊接一个公对母面包板跳线,其公端穿过DS18B20-XH适配器上的“ GND”引脚。

通过Arduino的5vdc焊接一个公对母面包板跳线,其公端连接到DS18B20-XH适配器上的“ VCC”引脚。

将DS18B20温度传感器标头插入DS18B20-XH适配器。

步骤5:中继简介:

该继电器是Songle 30A 250vac继电器(部件号:SLA-05VDC-SL-C)。我之所以选择此继电器,是因为该型号的内置螺口罩制作精良,并且继电器本身又坚固又坚固。

第6步:继电器接线-信号和DC:

焊接一个公对母面包板跳线,其公端通过D12并连接到Songle 30A上的“ IN”引脚250vac继电器。

在一端插入一条22ga的导线,以牢固地连接到Songle 30A 250vac继电器的 DC 电源螺钉。

从Arduino的V +桶形插孔(中心)的背面焊接电线的长度,并连接到Songle 30A 250vac继电器上的“ DC +”引脚。 ( 请务必使用此电源,而不要使用arduino的5vdc连接器,因为它的功能不足以可靠地切换继电器。我们稍后将使用6vdc电源为Arduino供电,因此,通过此连接进行中继 )。

从Arduino的V型桶插孔(外部)的背面焊接一段电线,然后连接到Songle 30A 250vac继电器上的“ DC-”引脚。

步骤7:准备中继LED指示器:

拍摄一个3.5v 5mm绿色LED并修剪V +(长脚),如上所示。

修剪一个220欧姆的电阻,如上所示。

将修剪过的引线焊接在一起。

将公对母面包板跳线焊接到V +侧

将公对母面包板跳线焊接到V-侧

将一段热将每个“公对母”面包板跳线收缩到3.5v 5mm绿色LED的底部,并用小手电筒或打火机对其进行热收缩。

步骤8:LED接线:

从3.5v 5mm绿色LED上的 V + 焊接公母母跳线,公端穿过D2在Arduino上。

通过 V-在3.5v 5mm绿色LED上焊接公对母面包板跳线,其公端通过Arduino的一个接地连接。

第9步:保护接线和连接:

所有连接都焊接好之后,使用热胶固定并支撑Arduino UNO板上的接线。

步骤10:将LCD Shield连接至Arduino:

听起来很简单!

将LCD键盘防护罩连接到Arduino。这应该很容易,尤其是如果您将先前的布线热粘合到Arduino PCB板上。

步骤11:高压警告

!!高压警告!!

下一步将涉及高压,在操作过程中应采取适当的预防措施这些步骤。确保在电源(如断路器盒)上禁用所有交流电压源。 高压会导致严重伤害或死亡。

步骤12:对变压器进行硬接线:

如果在要控制的电机/项目附近有插座,请跳过以下步骤,只需插入6v 1a Wall-Wart样式的变压器/电源适配器插入插座,然后将桶形插孔插入Arduino。

如果要/需要将6v 1a壁式样式的变压器硬接线/电源适配器:

从6v 1a沃尔特式变压器/电源适配器中拧出螺丝,并断开任何胶水密封以将外壳拆开。

从叉子上切下高压电线(上图中的黄色),该电线会插入墙上的插座。

用钳子将叉从变压器箱中取出。

从Transformers PCB板上拆焊高压电线(上图中的黄色),注意不要破坏蚀刻或通孔。

从Transformers PCB板的每个高压通孔焊接16ga长的导线(大多数是双极性的,因此在大多数情况下热/中性无关紧要)。

插入16ga导线长度的自由端。

步骤13:变压器箱:

在变压器外壳的末端为新的高压线划出一个插槽。

用热胶填充盒中的叉孔。

将新的高压线穿过插槽,然后重新组装变压器外壳。

将桶形插孔插入Arduino。

步骤14:继电器接线-高压侧:

由于我们将切换电源的热端,因此建议将黑线用于以下两个连接。

在16ga导线上的2个长度。

将16ga导线之一连接到Songle 30A 250vac继电器的COM螺钉端子

将16ga导线之一连接到Songle 30A 250vac继电器的NO。螺丝端子。

步骤15:使其可显示:

如果访问3D打印机,您可以为Arduino Uno/LCD键盘护罩做保护套。我使用的是来自thingiverse.com的略微修改过的表壳,并用看起来像乙烯基的碳纤维覆盖了它。

使用案例:

Mmintbox 1机箱

通过Vector_Mayhem

2013年8月29日

https://www.thingiverse.com/thing:142282

步骤16:将项目连接到房屋:

确保所有交流电压源均在电源(例如断路器箱)上禁用。

使用线螺母将16ga电线从Songle 30A 250vac继电器的COM螺钉端子连接到房屋HOT电线。 ** 如果对变压器进行硬接线,请参见下文。

将16ga电线从Songle 30A 250vac继电器的NO螺钉端子连接到鼓风机/风扇的热线使用线螺母。

将鼓风机/风扇的中性线连接到房屋中性线。 **如果对变压器进行硬接线,请参见下文。

硬接线变压器的其他步骤:

如果您要对变压器进行硬接线,则需要将其中一根高压线从变压器连接到火线,将另一根高压线连接到房屋电流的中性点用线螺母将上面的线钩起来。

步骤17:温度传感器的放置:

由于我正在利用鼓风机将热量从散热器转移到厨房,但又不想将传感器放置在散热器组件内部,因此我将DS18B20温度传感器的探头连接到“冷面”。这将有助于防止鼓风机以高于散热器内部水位的读数踢动。有一些代码也可以防止这种情况,稍后我将继续介绍。

使用丁腈手套,取少量硬化的环氧管道腻子,然后将其跪成球状以获得适当的腻子/硬化剂混合物。

确保DS18B20温度传感器相对于出口管平放,将腻子压在传感器和管上,并有效地将其固定到位。

允许硬化。

步骤18:Arduino代码:

代码已附加(Temp_Controller_LCD_EC_7_F_DELAY.ZIP ),并在代码的每个部分都在进行内联注释。我将在此处添加一些要点,但请仔细阅读代码。

**警告**

此代码是为热水锅炉系统配置的,您的配置可能会有所不同。

设置以下代码,以便在水热时打开加热器鼓风机;请使用“ 检查温度是否在极限范围内”下的 《。如果打开诸如电加热器之类的东西并监视冷环境,请使用》

我在设置代码中添加了一个下拉命令,该命令将使继电器和从由于某种原因重置Arduino时暂时通电而导致;

//初始化继电器PIN,使其在重置时保持无效状态

digitalWrite(RELAY,LOW);//关闭继电器

//初始化LED PIN,使其在重置时保持无效

digitalWrite(LED_GREEN,LOW);//绿色LED熄灭

代码快速入门(在代码中查找):

设置继电器的默认温度值:

int SetPoint = 75;

定义LCD按钮分压器(每个LCD键盘都是唯一的):

int read_LCD_buttons()

从F到C的代码:

将“ getTempFByIndex”的所有实例更改为“ getTempCByIndex”

将“ lcd.print(“ F”);”的所有实例更改为“ lcd.print(“ C”); “

更改或删除鼓风机截止延迟:

在代码末尾进行修改或删除:

delay(120000);//延迟2分钟以使继电器无法回收,直到温度恢复正常。

步骤19:如何安装Arduino库:

该项目正常运行所需的库:

OneWire.h-(Onewire.Zip)

DallasTemperature.h-(Arduino-Temperature-Control-Library-master.Zip)-由我固定。

LiquidCrystal.h

不幸的是,并非所有版本的Arduino库都是相同的,例如DallasTemperature.h中存在一个错误,该错误在此引起了轰动。项目。为简化起见,我提供了此Instructable中使用的每个库的副本。

如何安装Arduino库:

下载该库并将其保存到您可以找到的目录中。

将库压缩后,再将其导入到Arduino IDE中。

打开Arduino IDE,然后转到 Sketch》 Include Library》 Add .ZIP Library。

单击要导入的Library .ZIP文件,然后单击。单击“打开”。

有关导入库的完整参考,请参考Arduino官方库指南。

步骤20:按钮控件:

一旦使用此Instructable 的 Arduino代码部分下的快速入门指南为特定项目设置了代码,日常控件就很简单;

一旦您设置了默认温度;

int SetPoint = 75;

您可以使用LCD键盘防护板上的向上和向下按钮。这样可以更轻松地校准特定项目的检测设置,可以在代码中将其更新为默认值(如果需要)。

步骤21:成品:

我现在可以为我的Beacon Morris K120 TwinFlo III热水瓶踢设置一个可编程的恒温器控件小型供暖器。自从设置好之后,我只是将工厂开关设置为LOW,剩下的就不用理会了,并在以后的几年里享受温暖的厨房。

我的地雷设置为在华氏75度进行探测,而这在夏季是无法检测到的,所以我整年都未使用此探测器,并且在第一年没有任何问题。
责任编辑:wv

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

    关注

    10

    文章

    765

    浏览量

    80063
  • 温控器
    +关注

    关注

    10

    文章

    239

    浏览量

    33645
  • Arduino
    +关注

    关注

    184

    文章

    6425

    浏览量

    184749
收藏 人收藏

    评论

    相关推荐

    DS18B20温度传感器的优缺点

    可编程寄存器:DS18B20内部具有可编程寄存器,允许用户对其进行配置和控制,以满足不同的应用需求。
    发表于 04-04 11:39 278次阅读

    基于51单片机的多点温度检测网络,DS18B20传感器,代码,仿真,原理图等资料

    他们的温度。 单总线本身也可以向所挂接的多个DS18B20供电,而无需额外电源。4组温度传感器的连接网络如下。 Proteus仿真电路 **原理图 ** 仿真结果分析 把在K
    发表于 03-24 22:08

    树莓派Pico上使用DS18B20温度传感器

    DS18B20 温度传感采用单总线的接口方式,与微处理器连接时仅需要一条口线即可实现微处理器与 DS18B20 的双向通讯。单总线具有经济性好,抗干扰能力强,适合于恶劣环境的现场
    的头像 发表于 11-21 14:21 564次阅读
    树莓派Pico上使用<b class='flag-5'>DS18B20</b><b class='flag-5'>温度</b><b class='flag-5'>传感器</b>

    DS18B20 数字温度计特点

    一.DS18B20特点 DS18B20 数字温度计提供12位(二进制)温度读数的数字型传感器传感器
    的头像 发表于 09-11 11:19 1221次阅读
    <b class='flag-5'>DS18B20</b> 数字<b class='flag-5'>温度</b>计特点

    鼓风机调试

    鼓风机
    李开鸿
    发布于 :2023年09月10日 21:54:27

    ds18b20温度传感器内部结构 ds18b20温度传感器的工作原理

    DS18B20内部包含一个数字转换器,用于将传感器输出的模拟电信号转换成数字信号。该数字转换器能够将温度值转换为相应的数字温度
    的头像 发表于 08-30 16:16 3926次阅读
    <b class='flag-5'>ds18b20</b><b class='flag-5'>温度</b><b class='flag-5'>传感器</b>内部结构 <b class='flag-5'>ds18b20</b><b class='flag-5'>温度</b><b class='flag-5'>传感器</b>的工作原理

    基于单片机的DS18B20数字温度传感器实验

    DS18B20 数字温度传感器提供 9-Bit 到 12-Bit 的摄氏温度测量精度和一个用户可编程的非易失性且具有过温和低温触发报警的报警
    的头像 发表于 07-27 16:48 1800次阅读
    基于单片机的<b class='flag-5'>DS18B20</b>数字<b class='flag-5'>温度</b><b class='flag-5'>传感器</b>实验

    基于51单片机的DS18B20温度读取实验

    DS18B20:是一个数字温度传感器,提供 9-Bit 到12-Bit 的摄氏温度测量精度和一个用户可编程的非易失性且具有过温和低温触发报警
    发表于 06-25 14:08 1271次阅读
    基于51单片机的<b class='flag-5'>DS18B20</b><b class='flag-5'>温度</b>读取实验

    【笔记】多路DS18B20温度的读取

    多路DS18B20温度传感器的读取原理如下:1.初始化:首先需要初始化GPIO引脚的配置,将其设置为推挽输出模式。这个引脚将用于与DS18B20传感
    的头像 发表于 06-08 09:49 2766次阅读
    【笔记】多路<b class='flag-5'>DS18B20</b><b class='flag-5'>温度</b>的读取

    DS18B20 OneWire给出随机127错误的原因?

    将一根电线 DS18B20 连接到 sonoff th10。闪现并用arduino ide编程。在水外,传感器提供错误 -127 随机。我可以过滤掉,但想知道是否有人有线索,因为它只发
    发表于 05-31 07:59

    ds18b20错误输出的原因?

    所以我遇到了一个问题。我让 tasmota 在连接了两个 DS18B20 的 esp8266 上运行。我在数据和电源之间有通常的 4k7 电阻。我不断收到其中一个传感器报告 85° 然后返回实际温度。它一直来回跳动,我不确定发生
    发表于 05-29 08:15

    基于51单片机的DS18B20温度传感器例程源代码

    基于51单片机的DS18B20温度传感器例程源代码
    发表于 05-18 09:56 7次下载

    基于51单片机的DS18B20温度传感器例程源代码

    基于51单片机的DS18B20温度传感器例程源代码
    发表于 05-12 16:12 4次下载

    【正点原子STM32精英V2开发板体验】DS18B20温度采集

    of \'XXX\'”。 本节主要分享基于DS18B20温度精准采集,我们知道DS18B20是美国DSLIAS公司推出的单总线数字温度传感器
    发表于 05-03 19:31

    DS18b20传感器读数问题如何解决?

    “read_DS18B20_Temp”,我将传感器连接到的引脚号传递给该函数,它将返回温度。我用 DHT 传感器做了一些事情,它工作正常。 这是我目前的尝试: 代码:全选functio
    发表于 04-27 07:04