ESP8266-NodeMCU项目(五):集成空调控制器于洞洞板上并打造电源方案

本文主要是介绍ESP8266-NodeMCU项目(五):集成空调控制器于洞洞板上并打造电源方案,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

错开の折腾经历:ESP8266 NodeMCU

文章目录

  • 前言
  • 一、准备
    • 1.材料清单
    • 2.设计思路
  • 二、焊接
  • 三、总结


前言

继续之前的项目,现在任务就是将实现的空调控制器集成于一块洞洞板板子上,并打造专属电源方案,让它看起来更像是一个IoT设备。


滴滴:以下是本篇文章正文内容

一、准备

1.材料清单

  1. ESP8266-NodeMCU作为主控
  2. DHT11(温湿度模块)、红外发射模块作为功能模块
  3. 5500mAh、3.7V聚合物锂电池一块,作为电源
  4. TP4056:1A锂电池充电模块(type-C口,充放电保护)
  5. 一个5V稳压板(就自动升降压的那种,然后输出5V电压)
  6. 一个六脚自锁开关
  7. 一个电池电量百分比指示板(方便进行电源管理嘛)
  8. 然后就是一堆飞线啊、针脚啊、洞洞板等等

图示:

5V稳压板:
5v稳压板
TP4056:1A锂电池充电模块:
请添加图片描述
六脚自锁开关:
请添加图片描述
请添加图片描述
全家福:
请添加图片描述

2.设计思路

思路是核心内容

首先
按照上次项目中的接线,我们得把两个功能模块的数据脚接到nodemcu板子的两个GPIO口上,然后再给他们接电(正、负)。

然后
TP4056充电模块,B+、B-端接电池(这里可以接上电池电量模块,方便查看电池电量),进行充放电,out+、-端接5v稳压板的Vin+、-端,将稳压板作为TP4056模块的输出负载,可以通过type-c接口接通电源供电,进行电池充电及设备供电,断开c接口,则电池放电。
(这里我想通过开关进行供电控制,所以我就把TP4056输出端的out+接到了六脚自锁开关的一个引脚,然后检测开关按下后是哪些脚接通,然后将对应脚接到稳压板的vin+,而out-则直接接稳压板Vin-,从而实现开关控制设备通电)
稳压板Vin+旁边有个使能端口,可以控制稳压板的开关(具体可以看 上面稳压板的图片,有解释),然后我把它和Vin+接一起,从而实现稳压板的常开(毕竟我有六脚自锁开关了),然后稳压板out+、-,接到nodemcu板子的Vin-5v引脚还有G脚(接地)。

最后
进行功能模块的接线,将DHT11数据脚接D2(GPIO4)、红外发射模块接D5(GPIO14),然后再将它们的正负脚分别接nodemcu板子的3V脚、G脚。

完事后就可以进行焊接工作了(电烙铁、焊锡丝搭档上场)

二、焊接

接线可以通过,焊接导线或走锡线的方式

我这边希望可以尝试一下多种走线方式,所以以上方式都有用到(才不是因为线材没了呢(๑¯∀¯๑))

推荐导线+焊接方式走线,很小白,也很方便,前提得有线,当然有钱也

走锡线就厉害了,小白第一次焊接起来,就很难焊的好看,有可能也会有部分不通电的情况。

方法:先确定好要接的点,然后选好路径,一个一个焊盘焊上锡球先,然后再连锡,最后测试能不能通电(万用表yyds)

焊接图片:
请添加图片描述

请添加图片描述
请添加图片描述
推荐搞个USB检测器(就可以测电压、电流、电功耗,电容量什么的那种)
请添加图片描述

我遇到的问题无非就是走线时不通电(大多数是排版位置时选的不好,然后先后焊接顺序也有点问题,还有就是边聊天边焊,焊错了脚位,hhh

出错不要慌,万用表拿出来,冷静一哈,慢慢测,看看是哪出了问题,解决后收获很大的!

三、总结

实测
按照网上找到的方法进行计算:
估算功耗

测量存在误差,且电池不会一直按3.7v输出,也不会全放电,一般电压掉2.75V左右就不放电了(TP4056充电模块也有个规定:电池电压到2.5V后停止输出),跟别提其他模块的功耗,以及热量散失等等。

所以说,以上测试是理想状态下的,只能参考,实际功耗肯定比较大,续航3天可能都够呛呀!(下次试试看)

通过这次焊接,学会了很多,实现了空调控制器的集成,以及它的电源方案。
低功耗的代码实现,还没有思路,虽然ESP8266-NodeMCU有提供低功耗模式(功耗由高到低:No-sleep > Modem-sleep > Light-sleep > Deep-sleep),但是blinker不知道可不可以支持其实现低功耗,以后找到资料后再进行尝试吧。

唠叨一下,深圳这边最近直接台风+冷空气,一夜转凉,就像入冬了一夜,啧,我在想:那我搞这个还有什么用捏!(T▽T)

2021.10.22记录:
经过测试功耗,以上方案,可以支持独立电源(电池)续航4-5天

项目目录:
错开のESP8266-NodeMCU项目一
错开のESP8266-NodeMCU项目二
错开のESP8266-NodeMCU项目三
错开のESP8266-NodeMCU项目四
错开のESP8266-NodeMCU项目五

这篇关于ESP8266-NodeMCU项目(五):集成空调控制器于洞洞板上并打造电源方案的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/312390

相关文章

SpringBoot基于注解实现数据库字段回填的完整方案

《SpringBoot基于注解实现数据库字段回填的完整方案》这篇文章主要为大家详细介绍了SpringBoot如何基于注解实现数据库字段回填的相关方法,文中的示例代码讲解详细,感兴趣的小伙伴可以了解... 目录数据库表pom.XMLRelationFieldRelationFieldMapping基础的一些代

vite搭建vue3项目的搭建步骤

《vite搭建vue3项目的搭建步骤》本文主要介绍了vite搭建vue3项目的搭建步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学... 目录1.确保Nodejs环境2.使用vite-cli工具3.进入项目安装依赖1.确保Nodejs环境

前端缓存策略的自解方案全解析

《前端缓存策略的自解方案全解析》缓存从来都是前端的一个痛点,很多前端搞不清楚缓存到底是何物,:本文主要介绍前端缓存的自解方案,文中通过代码介绍的非常详细,需要的朋友可以参考下... 目录一、为什么“清缓存”成了技术圈的梗二、先给缓存“把个脉”:浏览器到底缓存了谁?三、设计思路:把“发版”做成“自愈”四、代码

解决docker目录内存不足扩容处理方案

《解决docker目录内存不足扩容处理方案》文章介绍了Docker存储目录迁移方法:因系统盘空间不足,需将Docker数据迁移到更大磁盘(如/home/docker),通过修改daemon.json配... 目录1、查看服务器所有磁盘的使用情况2、查看docker镜像和容器存储目录的空间大小3、停止dock

Spring Gateway动态路由实现方案

《SpringGateway动态路由实现方案》本文主要介绍了SpringGateway动态路由实现方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随... 目录前沿何为路由RouteDefinitionRouteLocator工作流程动态路由实现尾巴前沿S

idea+spring boot创建项目的搭建全过程

《idea+springboot创建项目的搭建全过程》SpringBoot是Spring社区发布的一个开源项目,旨在帮助开发者快速并且更简单的构建项目,:本文主要介绍idea+springb... 目录一.idea四种搭建方式1.Javaidea命名规范2JavaWebTomcat的安装一.明确tomcat

pycharm跑python项目易出错的问题总结

《pycharm跑python项目易出错的问题总结》:本文主要介绍pycharm跑python项目易出错问题的相关资料,当你在PyCharm中运行Python程序时遇到报错,可以按照以下步骤进行排... 1. 一定不要在pycharm终端里面创建环境安装别人的项目子模块等,有可能出现的问题就是你不报错都安装

uni-app小程序项目中实现前端图片压缩实现方式(附详细代码)

《uni-app小程序项目中实现前端图片压缩实现方式(附详细代码)》在uni-app开发中,文件上传和图片处理是很常见的需求,但也经常会遇到各种问题,下面:本文主要介绍uni-app小程序项目中实... 目录方式一:使用<canvas>实现图片压缩(推荐,兼容性好)示例代码(小程序平台):方式二:使用uni

分析 Java Stream 的 peek使用实践与副作用处理方案

《分析JavaStream的peek使用实践与副作用处理方案》StreamAPI的peek操作是中间操作,用于观察元素但不终止流,其副作用风险包括线程安全、顺序混乱及性能问题,合理使用场景有限... 目录一、peek 操作的本质:有状态的中间操作二、副作用的定义与风险场景1. 并行流下的线程安全问题2. 顺

SpringBoot集成WebService(wsdl)实践

《SpringBoot集成WebService(wsdl)实践》文章介绍了SpringBoot项目中通过缓存IWebService接口实现类的泛型入参类型,减少反射调用提升性能的实现方案,包含依赖配置... 目录pom.XML创建入口ApplicationContextUtils.JavaJacksonUt