步骤1 【项目介绍】
夏天对于搞IT的来说大部分时间是待在凉爽的空调间。但是难免有外出的场景,比如要背着黑色电脑双肩包去客户现场或者行走在上下班路上等等。男人也懒得打伞,这时包背在后背上是最难受的,特别是双肩包,热的不行。怎么解决这个问题呢?这里我设计了一个智能太阳能水冷背包。背包使用太阳能板和充电宝超长持续供电,根据手机设定启动温度,让水冷背包在高于设定温度时自动持续给背部进行水冷降温,温度降到指定温度后又自动停止,让背部持续保持凉爽适宜的温度。
步骤2 【解决方案】
怎么解决这个夏天背包导致后背热的问题,用哪种方式解决?头脑风暴一下有几个关键点:
1.冷源的来源问题?冷源可以是预制的冰块,也可以是自己主动制冷等方式,考虑要维持冷源的持续性,所以决定使用半导体制冷片主动制冷模式。
2.想一想冷源怎么输送?有风扇、水冷等方式。但分析下来严酷的夏天户外风扇吹来吹去会把外界热风混入,所以决定使用水冷这种输送更加快速、均匀、损耗小的方式来解决这个问题。
最后确定整个解决方案:
使用手机的blynk app来设定水冷背包的启动温度,温度传感器持续检测冷水循环罐温度,当温度高于设定温度时,自动开启循环水泵和半导体制冷片对冷水循环罐制冷和通过降温水管循环水流,降温水管布设在背包后面给人体进行降温。整个设备使用太阳能板和充电宝持续供电。控制芯片我们采用小巧的Beetle-ESP32控制器,由于带wifi、蓝牙功能,结合blynk app能快速实现手机的智能控制。
步骤3 【作品演示】
步骤4 【制作过程】--材料
步骤5 【制作过程】--搭建连接
1.冷水循环罐制作:
在潜水泵接上一根输液管,放到一个方形塑料瓶里面,瓶口开3个口,一个进水口、一个出水口、一个电源线孔。这样通电后,水能在管子里面反复循环流动。
2.主控部分:
把杜邦线对半剪开,在Beetle-ESP32控制器上要用的引脚上焊接上,方便插拔反复使用。这里D2接DHT11温湿度传感器、D3接继电器输入,继电器输出接5V-12V半导体制冷片的散热风扇、半导体片电源线以及水泵的电源线,然后用接线柱接到充电宝。使用继电器是因为半导体制冷片电流比较大。制冷片的制冷效果经过测试不错,5V充电宝能降到14度,12v电源能降到2度,现在也有很多充电宝支持12V电压。
3.全部组装:
充电宝给主控、半导体制冷片、散热风扇、水泵供电,太阳能板给充电宝充电。由于刚好有个成品太阳能板,直接就用这个,也可以使用df的各种太阳能板、电源管理模块。太阳能板使用时可以用挂钩挂在背包前面。
温湿度传感器可以用双面胶粘在冷水循环罐外,冷水循环罐再用双面胶粘在半导体制冷片的制冷金属片上。
制冷水管用魔术贴粘在背包上,这里只有一根输液管有些过短、过细,如果选用粗的长的塑料管可能效果更好。潜水泵也尽可能选用马力大的,这样循环更快。
步骤6 【制作过程】--编程
1.主控编程:
程序用arduino编程,注意要在库管理器搜索安装适合Esp32的Blynk的库和DHT11的库。
代码逻辑比较简单,主要根据手机传递过来的设定温度来控制继电器的开合,进而控制制冷片和水泵的运行。并把温度传感器的温度、湿度也显示在手机上。
#define BLYNK_PRINT Serial
#include <WiFi.h>
#include <WiFiClient.h>
#include <BlynkSimpleEsp32.h>
#include <DHTesp.h>
DHTesp dht;
/** Task handle for the light value read task */
TaskHandle_t tempTaskHandle = NULL;
/** Pin number for DHT11 data pin */
int dhtPin = D2; //温度传感器接线
int jdqPin = D3; //继电器接线
double settemp =26; //默认触发温度
void setup()
{
Serial.begin(9600);
Blynk.connectWiFi("你的手机热点名", "热点密码");
Blynk.config("你的blynk app授权码",IPAddress(116,62,49,166), 8080);
dht.setup(dhtPin, DHTesp::DHT11);
pinMode(jdqPin,OUTPUT);
}
void loop()
{
TempAndHumidity lastValues = dht.getTempAndHumidity();
Blynk.virtualWrite(V0, String(lastValues.temperature,0)); //传递显示温度
Blynk.virtualWrite(V1, String(lastValues.humidity,0)); //传递显示湿度
delay(1000);
Blynk.run();
if (lastValues.temperature>=settemp){ //温度高于设定值运行触发继电器制冷、运行循环泵
digitalWrite(jdqPin,HIGH);
}else{
digitalWrite(jdqPin,LOW);
}
}
BLYNK_WRITE(V3) { //手机设定温度触发值
settemp = param[0].asFloat();
}
2.手机app设置:
手机下载BLYNK app,BLYNK的基本用法可以在论坛搜索铁熊老师的帖子。这里只讲下我们这里的设置。温度、湿度、设定温度都选择虚拟引脚,对应主控程序里面的V引脚。继电器的状态引脚因为接线是D3,根据Beetle-ESP32控制器维库里面查到D3是对应IO26,所以App控件里面就选择digital GP26引脚。
步骤7 【项目总结】
本项目基本完成了一个户外智能太阳能水冷背包的原理模型,能实现夏天长时间户外活动背包导致后背热的降温问题。也可以改造为智能太阳能水冷背心,在不需要使用背包时也可以使用。外观设计还可以更加优化紧凑。特意选择了小巧的Beetle-ESP32控制器作为主控也为后续产品化的优化打下了基础。功能方面如果增加一个测量皮肤温度的传感器就更加准确的获得人体的舒适度,进而更优化的进行降温。
DFBJzJ5jwmD2020.08.30
厉害