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

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

3天内不再提示

开发者案例:使用ESP8266模块DIY一个热水器控制器之(1)硬件篇

机智云 2022-04-01 10:44 次阅读

随着物联网模块大量普及,各种“云”应接不暇,物联网进入家庭的速度明显提高。作为电子DIYER,意味着有了可以快速解决家庭实际需求的有力工具,以前的各种奇思妙想,都可以使用物联网技术用较短的时间内实现啦。
这不,老婆大人看到我做的门灯控制器,就提出来让我把家里的热水器改装成带物联网遥控的,可以在下班前用手机打开热水器,回到家就能有热水用。
最终制作的作品是这样的:
23e6133e-b114-11ec-82f6-dac502259ad0.png
一、需求分析 我家的热水器是海尔EC5002-05,它可以设置好加热功率档位和加热目标温度,打开开关自动按照预置功率加热至目标温度。
它的控制开关是微动开关,这种开关按下是需要一定的力度的。
我的主要工作其实就是用物联网技术打开这个开关就行了,只要能通过手机控制这个电源开关打开,回到家就能用上热水。
2401b706-b114-11ec-82f6-dac502259ad0.png
二、总体设计 要想控制电源开关按下,有两种思路。第一种,就是设计一个机械装置,模拟人按下开关的动作;第二种,就是用电信号控制它打开。按照以往的工作经验,我觉得可以采用下面几种方案,每种方案都是用ESP8266进行控制的,给出开关量控制。

(一)使用电磁铁,给出一个向下的按压动作。比如下面的这种,它就能产生一个向下按压的动作,来完成按压。这种方案的缺点是电磁铁工作电压很高,有的220伏,有的是12伏或者是24伏,而且它体积较大,也比较重,专门为它设计一个支架,也不好设计。此外,还不知道它的力度好不好控制,万一这玩意力度太大,把面板给弄坏了。。。。

(二)使用普通舵机。正好家里有一个普通的舵机,arduino套件里面的SG90舵机,它很小,也很便宜,但是完成点击的动作是没问题的。缺点也是需要一个专门的固定架子,此外,还需要专门的供电电源,以及PWM控制信号提供者。我以前做过一个STC计算器,用这个单片机提供PWM信号也行,不过就是增加了最终作品的体积和复杂程度。(ESP8266也可以提供PWM,不过没时间学它怎么用)

(三)使用直线舵机。在寻找合适的舵机的时候,竟然发现还有这种“直线舵机”。它其实就是把旋转运动利用一个螺杆转换成了直线运动,使用起来仍然是PWM控制方式,看上去这个东东比较适合我,如果说有缺点的话,仍然是需要为它设计支架。
2414e7f4-b114-11ec-82f6-dac502259ad0.png
以上三种方案,都是模拟人手按压微动开关动作的,都需要设计安装支架。而支架安装到哪里,是个问题,安装到墙上,可能需要一个庞大的支撑架子,安装到热水器上,可能需要打孔或者用强力胶固定。即使固定的问题能够解决,那么支架呢?当然可以用3D打印来解决,当然3D打印的设计过程是需要反复多次的,当然时间是可能会受到批评的,当然美观程度是会受到我家外貌协会那位质疑的。

(四)使用ESP8266直接控制,给出电信号。就是拆开热水器看看,这个开关下面的电路板上面,按下之后给控制芯片提供了一个高电平还是低电平,如果按下就是高电平,抬起就是低电平,那么我让ESP8266直接输出一个高电平给控制芯片就行了。这样做的优点是ESP8266可以隐藏着热水器内部,外观上看不出任何痕迹。缺点是ESP8266输出的电平是3.3伏,而后来测量的热水器控制板电平是5伏,不可以通用,再加一个电平匹配电路,担心时间长了会有安全隐患。不怕一万,就怕万一。

(五)使用ESP8266控制继电器,控制开关引脚短路。这个思路就是把热水器控制板上电源开关按键用导线引出来,然后用ESP8266搭建一个电路,控制这两根导线的通断,其实根子里,还是模拟按键,只不过不用机械装置来按压微动开关了。

这么做的好处优势很明显,就是安全,不管外部控制电路发生什么问题,大不了,就相当于热水器的开关按下或者打开,不会引起热水器任何故障。而且这个方案实现速度快,不用大量的机械加工工作。

当然这样做是需要一定的技术基础的,不建议看了帖子的朋友一定要自己动手DIY。生命诚可贵,用电须谨慎。
综上所述,总体设计选用第五套方案,这里没有说软件,是因为我只会用机智云,而且机智云非常好用,还可以生成APP源码。
三、详细设计3.1 热水器引出控制线
硬件清单:电线若干、连接器接头若干(我用的是手头有的,其实控制信号电压和电流都很低,不用特别高指标的连接器)
制作步骤:
1.断开电源,打开热水器控制面板,它用4个螺丝固定,用头部带磁性的螺丝刀拆下,防止掉下来找不到了。
242f59a4-b114-11ec-82f6-dac502259ad0.png
2.拆开控制电路板保护壳
24404b92-b114-11ec-82f6-dac502259ad0.png
3.拔掉连接排线,取出电路板,可以看到微动开关,按下电源开关,其实就是按下了右下角那个微动开关SW4。
2452cf92-b114-11ec-82f6-dac502259ad0.png
4.在电源微动开关背面找到它的引脚,它是4个引脚,两个一组,组与组之间平时是不导通的,用万用表确定好引脚有,焊接电线。我用的是非常好的硅胶线,特别柔软,但是特别可靠。
2467dde2-b114-11ec-82f6-dac502259ad0.png
5.为硅胶线做一个连接器,我不习惯用胶带随便缠一下,老是觉得那种连接不可靠。
24772572-b114-11ec-82f6-dac502259ad0.png
6.用胶**固定一下焊接点,防止拉扯导致短路
248d0c98-b114-11ec-82f6-dac502259ad0.png
7.做一个将导线引出热水器外部的连接线。注意使用热缩管。
24a38d2e-b114-11ec-82f6-dac502259ad0.png
8.将控制板安装回去,里面空间足够大,然后把红色的连接器留在热水器控制面板外壳里面。
24b2a69c-b114-11ec-82f6-dac502259ad0.png
9.安装完成的效果是这样的。
24d45fc6-b114-11ec-82f6-dac502259ad0.png

3.2 ESP8266控制器设计
硬件清单:ESP8266模块、壳体、洞洞板、三极管、电阻、继电器模块、导线若干
制作步骤:
1.准备ESP8266模块,使用到的引脚有三个:VCC,GND和GPIO12(当然也可以用其他引脚,只不过编程时需要进行初始化)
24e945e4-b114-11ec-82f6-dac502259ad0.png
2.准备3.3伏转5伏电路。因为ESP8266输出的IO电平是3.3伏,而手头的继电器是5伏才能控制,所以需要加一个电平转换,或者叫做开关电路,使用的是NPN三极管S8050,原理是下图。注意,连接基极的电阻最后测试应该为1K,集电极带箭头的是输出。这个电路用到的是三极管的开关功能。实际上三极管原理非常复杂,模拟电路有专门的课程进行学习,我们这里只用了一个基本的电路,来实现3.3伏驱动5伏的器件,也就是继电器(5伏工作电压)
24f7272c-b114-11ec-82f6-dac502259ad0.png
3.用洞洞板固定单排母(用来插入ESP8266模块)和三极管电路,给ESP8266供电(5伏),并将GPIO12连接至三极管电路的基极电阻上。洞洞板打3毫米孔,用来固定在壳体上。
2522b040-b114-11ec-82f6-dac502259ad0.png
4.给壳体开孔,用来向外连接导线。
253a15be-b114-11ec-82f6-dac502259ad0.png
4.将洞洞板打孔位置、继电器板安装孔位置在壳体内部确定好,然后想办法用胶**固定几个尼龙螺母。有动手经验的人一看就知道怎么安装的,这里就不再细细赘述过程。
256bc21c-b114-11ec-82f6-dac502259ad0.png
5.将VCC、GND和信号线都连接好,同时也连接好继电器,我手头只有一个双路继电器,其实单路继电器就够用了。
257c0b40-b114-11ec-82f6-dac502259ad0.png
6.给ESP8266供电的是USB接口的充电器,现在家里往往都有好几个闲置的充电器可以用,充电器也是一个专门的学问,大厂的充电器质量还是杠杠滴,用在这里非常合适(省电、可靠),比自己做一个简单的220转5伏电路可靠多了。
25932e4c-b114-11ec-82f6-dac502259ad0.png
7.继电器引出的两根线连接到热水器控制线上
25b61948-b114-11ec-82f6-dac502259ad0.png
8.为了提高可靠性,用了多层热缩管,将热水器那端的连接器缩住,可以抵抗水汽可能引起的短路(其实短路就相当于电源开关按下,并不会产生危害性后果)。多层热缩管的作用,有点类似于德国人连接电缆。

用到的工具比较多,最后做出来的作品看上去却很简单
25c5193e-b114-11ec-82f6-dac502259ad0.png
硬件部分做好了之后,还需要软件的配套才能实现控制热水器开关的功能,在下一篇文章中,将与大家分享机智云后台配置、APP源代码生成以及设备识别二维码制作的经历。

原文链接:https://blog.csdn.net/youngwah292/article/details/84888248

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

    关注

    112

    文章

    15311

    浏览量

    172141
  • 物联网
    +关注

    关注

    2877

    文章

    41948

    浏览量

    359889
收藏 人收藏

    评论

    相关推荐

    通过STM32+ESP8266 Wifi模块 +云服务,做一个数据收发控制的板子云服务方面该如何选择?

    通过STM32+ESP8266 Wifi模块 +云服务一个数据收发控制的板子 云服务方面
    发表于 04-25 08:16

    ESP8266如何控制IO输出PWM?

    ESP8266如何控制IO输出PWM
    发表于 10-27 07:14

    nodemcu和esp8266是什么关系?

    nodemcu和esp8266是什么关系 nodemcu和esp8266是什么关系?通俗理解就是nodemcu是一个开发板,基于esp8266开发
    的头像 发表于 10-20 14:53 2615次阅读
    nodemcu和<b class='flag-5'>esp8266</b>是什么关系?

    ESP8266 Non-OS SDK API参考

    ESP8266EX只需通过 SPI/SDIO 接⼝或 I2C/UART ⼝即可作为 Wi-Fi 适配器,应⽤到基于任何微控制器的设计中。ESP8266EX 集成了天线开关、射频 balun、功耗放⼤
    发表于 10-10 06:23

    ESP8266EX技术规格书

    。此外 ESP8266EX 只需 通过 SPI/SDIO 接⼝或 UART 接⼝即可作为 Wi-Fi 适配器,应⽤到基于任何微控制器的设 计中。 ESP8266EX 集成了天线开关、射频 balun
    发表于 09-18 07:33

    机友分享|ESP8266+机智云平台实现APP控制舵机旋转

    本文的开发项目由开发者发布在CSDN博客(ID为nanxl1)分享,主要介绍了使用ESP866模块、机智云平台及APP实现远程控制舵机旋转,
    的头像 发表于 08-09 19:25 3418次阅读
    机友分享|<b class='flag-5'>ESP8266</b>+机智云平台实现APP<b class='flag-5'>控制</b>舵机旋转

    【华秋推荐】物联网入门学习模块 ESP8266

    ESP8266。相当部分朋友接触物联网都是从ESP8266开始的,凭借优异的性能以及超低的价格,深受国内外工程师,各路DIY大神的喜欢,基于它的开源项目也是非常非常多。这个
    发表于 08-04 11:27

    使用ESP8266 DIY GoPro Wi-Fi遥控器

    电子发烧友网站提供《使用ESP8266 DIY GoPro Wi-Fi遥控器.zip》资料免费下载
    发表于 07-05 11:28 0次下载
    使用<b class='flag-5'>ESP8266</b> <b class='flag-5'>DIY</b> GoPro Wi-Fi遥控器

    使用ESP8266 DIY控制任何家用电器

    电子发烧友网站提供《使用ESP8266 DIY控制任何家用电器.zip》资料免费下载
    发表于 06-27 14:55 0次下载
    使用<b class='flag-5'>ESP8266</b> <b class='flag-5'>DIY</b><b class='flag-5'>控制</b>任何家用电器

    如何使用WeMOS D1 ESP8266控制无刷电机?

    我正在尝试使用 WeMOS D1 ESP8266 控制无刷电机 电机控制器和电机规格如下: 11.1v LiPo 电池为控制器
    发表于 06-05 09:23

    ESP8266是否适合构建定制的加热和空调控制器

    块 Adafruit Feather Huzzah ESP8266 开发板,这是我几年前买的,后来直没有使用,我想知道它是否可以代替它。 我不确定硬件是否具备我需要的
    发表于 06-02 07:24

    如何开发自己的esp8266模块 ?

    我在 esp8266开发相当大的应用程序(2 年开发),我现在遇到了硬件集成问题! 整
    发表于 05-31 08:31

    无法从串行监视控制ESP8266怎么解决?

    次连接 Arduino 时,Arduino IDE Lybrary 的串行监视上就绪。在我使用了些来自互联网的草图之后它工作正常,但是周后我想从那里的串行监视命令
    发表于 05-31 06:10

    ESP8266初次如何实现无线通信(基于电脑与ESP8266)

    一.需要的软件及硬件 1.软件 2.硬件 二.ESP8266的使用 .ESP8266的介绍 2.ESP8266进行初始AT指令的配
    发表于 05-30 09:53 20次下载
    <b class='flag-5'>ESP8266</b>初次如何实现无线通信(基于电脑与<b class='flag-5'>ESP8266</b>)

    ESP8266 DevKitC V1如何下载FW到定制ESP8266板?

    我是 ESP 论坛的新手,刚开始使用 ESP8266 进行开发。我有 ESP8266 Dev
    发表于 05-30 07:41