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

电子说

1.3w人已加入

描述

步骤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

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

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分