特点:
1。连接到Wi-Fi,并将数据上传到网络(Blynk App和Thingspeak)
2。监测天气参数,如温度,压力,湿度,海拔和紫外线水平等。
4。远程电池状态监控
5。使用功能强大的锂离子电池(3400 mAh)和太阳能电池板(1W)
6。独立于外部电源
7.可以安装在远程站点或地理位置具有挑战性的环境中
8。由太阳能供电,它是一种环保设备。
第1步:所需的组件和工具
更新05.08.2019
现在您可以从 PCBway 购买单个套件中的PCB和所有组件。
注意:电池和3D打印的外壳不是包含在试剂盒中
使用的组件:
1。 Wemos D1 Mini Pro(Banggood/亚马逊)
2。 TP 4056充电板(Banggood/亚马逊)
3。 BME 280传感器(亚马逊/Bangood)
4。 BMP280(Banggood/亚马逊)
5。 DS18B20传感器(Banggood/亚马逊)
6。 Switch(Banggood/Amazon)
7。螺钉端子(Banggood)
8。 PCB支架(Banggood/亚马逊)
9。 18650电池(Aliexpress)
10.18650电池座(Banggood/亚马逊)
11。太阳能电池板(Banggood)
12。 Straight Headers Pin(Banggood/亚马逊)
13。 22 AWG电线(Banggood/亚马逊)
14。气象站V2.0 PCB(PCBWay)
15。超级胶水(亚马逊)
16。 3D打印灯丝-PLA(GearBest)
使用的工具:
1。 3D打印机(Creality CR-10)
2。烙铁(亚马逊)
3。胶枪(亚马逊)
4。剥线钳(亚马逊)
5。 Wire Cutter(亚马逊)
第2步:电源
我的计划是部署天气站在一个偏远的地方(我的农舍)。为了连续运行气象站,必须有一个连续的电源,否则系统将无法工作。为电路提供连续电源的最佳方法是使用电池。但是几天之后电池汁就会耗尽,去那里充电是非常困难的。因此,提出了一种太阳能充电电路,用于从太阳获取自由能量,为电池充电并为Wemos板供电。我使用的是18650锂离子电池。
电池通过TP4056充电模块从太阳能电池板充电。 TP4056模块配有电池保护芯片或不带保护芯片。我会建议购买一个包含电池保护芯片的模块。
关于TP4056电池充电器
TP4056模块非常适合为单节3.7V 1 Ah或更高的LiPo电池充电。基于TP4056充电器IC和DW01电池保护IC,该模块将提供1000 mA充电电流,然后在充电完成时切断。此外,当电池电压降至2.4V以下时,保护IC将切断负载以保护电池免受欠压。它还可以防止过压和反极性连接。
步骤3:通过BMP/E280监测温度和湿度
在早些时候,使用单独的模拟仪器测量环境温度,湿度和气压等天气参数:温度计,湿度计和气压计。但今天市场充斥着廉价高效的数字传感器,可用于测量各种环境参数。最好的例子是DHT11,DHT 22,BMP180,BMP/E280等传感器。
在这个项目中,我们将使用BMP280/BME280传感器。
BMP 280 :
BMP280是一款先进的传感器,能够以合理的精度非常精确地测量气压和温度。 BME280是博世的下一代传感器,是BMP085/BMP180/BMP183的升级产品 - 具有0.25米的低海拔噪音和相同的快速转换时间。该传感器的优点是它可以使用I2C或SPI与微控制器进行通信。为了简单方便接线,我建议购买I2C版本板。
BME280:
新型BME280传感器,一种温度,气压的环境传感器和湿度。 BME280是博世的下一代传感器,是BMP280的升级产品。博世的这款精密传感器是测量湿度的最佳低成本传感解决方案,精度为±3%,气压为±1 hPa绝对精度,温度为±1.0°C精度。它可以在I2C和SPI中使用。
注意: BME280可以测量湿度,但BMP280不能。 在市场上,BMP280也可以以BME280的名称获得。因此,请确保它是BMP280还是BME280。
步骤4:更多传感器的附加端口
气象站V2.0电路板有5个额外端口可连接更多天气传感器。可以轻松连接以下附加传感器:
1。 GY-1145传感器:用于测量紫外线指数
SI1145是一种带有校准紫外线感应元件的传感器,可以计算紫外线指数。它可以通过I2C通信(地址0x60)进行通信。您可以将此传感器与位于电源开关旁边的电路板中的I2C端口连接起来。
您可以阅读本文以了解有关此传感器的更多信息。
您可以从Banggood购买此传感器。
2。 HDC1080:用于测量温度和湿度
HDC1080是一款数字湿度传感器,带有集成温度传感器,可在极低功率下提供出色的测量精度。它还可以通过I2C通信进行通信。
您可以阅读本文以了解有关此传感器的更多信息。
您可以从Banggood购买此传感器。
3。 DS18B20:用于测量温度
它可以用最少量的硬件和接线来测量温度。这些传感器使用数字协议将精确的温度读数直接发送到开发板,无需模数转换器或其他额外硬件。它使用单线协议与微控制器通信。它可以连接在位于Wemos板右侧的板上的端口P2中。
您可以阅读本文以了解有关此传感器的更多信息。
步骤5:使用外部天线(3dBi)
Wemos D1 mini Pro板具有内置陶瓷天线,可连接外部天线以改善范围。在使用外部天线之前,必须将天线信号从内置陶瓷天线重新布线到外部插座。这可以通过旋转小表面贴装(0603)零欧姆电阻(有时称为链接)来完成。
您可以看到上面的图片,我是如何做到的。
您还可以观看由Alex Eamesto制作的视频来旋转零欧姆电阻。然后将天线SMA连接器卡入Wemos Pro迷你天线插槽。
步骤6:监控电池电压
气象站由18650 Li运行 - 电池,因此监控其状态非常重要。输入到Wemos板的最大电压约为3.2~3.3V,但充满电的18650电池电压为4.2V。因此,要测量此电压,我们必须使用分压器网络降低电压。
Wemos D1 mini已经有一个内部分压器,将A0引脚连接到ESP8266芯片的ADC。分压器由220k(R1)和100k(R2)组成。因此,我们必须使用内置的220k电阻添加外部电阻来读取电池电压。通过使用100k电阻,我们可以测量电池的最大电压,但需要一些余量,选择220k电阻。它在PCB板上命名为R1,位于电池座的正上方。
要选择分压器电阻值,您可以使用此在线计算器。
你也可以阅读这篇关于电池电压监测的文章。
第7步:暗示深度睡眠模式
心脏在我们的气象站使用的Wemos板是ESP8266 SOC,它是一个耗电的芯片。我们的目标是使用18650电池运行设备,但对电源的需求通常会使电池操作变得不切实际。
另一个问题是,随着设备连续运行,很明显设备将会体验升温,因此测量的温度将高于环境温度。
从上面可以看出,我们必须降低ESP8266 WiFi芯片的功耗。为此,我们将使用深度睡眠模式,这是ESP芯片最省电的选择。它允许ESP8266进入休眠状态并节省电池电量。您可以定期将其唤醒以进行测量并发布。
组件操作模式-----睡眠模式
1。 ESP8266 170 mA -------- 10 uA
2。 CH340 12 mA --------- 50 uA
3。内置LED 3 mA ----------- 0 uA
4。电压监控器0.006 mA ----- 6 uA
-------------------------------- ---
总计 185 mA ---- 66 uA
如果睡觉 - 唤醒周期为10分钟,唤醒时间为30秒,能耗预算如下:
唤醒时间为185 mA,持续0.5分钟= 92.5 mA分钟
睡眠时间0.066毫安,9.5分钟= 0.627毫安 - 分钟
总共10分钟= 93.13毫安 - 分钟
因此平均电流消耗为9.3毫安。
步骤8:选择太阳能电池板
从上一步可以得出结论,平均电流消耗为9.3 mA
全天运行设备所需的电量= 9.3 mA x 24小时= 223.2 mAh
WeMos中使用的线性稳压器没有电流增益,因此任何电流在3.3V使用导致相同的cur租用电压为3.7V或电池所处的任何电压。
太阳辐射量根据您所在地球的哪个部分而有所不同。要了解您所在地区的太阳曝晒量,您可以使用Global Solar Atlas。通过考虑最少1小时的全日照,我们将选择太阳能电池板。
因此,我们的目标是在1小时内产生223.2 mAh。
要为3.7V锂离子电池充电,电压为5到6V的太阳能电池板就足够了。
所需的太阳能电池板额定值= 223.2 mA,电压约为5至6伏。
太阳能电池板额定值= 223.2mA x 5V = 1.1W
太阳能电池板选择:1W/5V至6V
在这个项目中,我使用了5V,200mA太阳能电池板(99 x 69 mm)
所以a 1W面板应足以在冬季高纬度地区运行项目。
注意: 如果您的位置接收到充足的阳光,则为0.66我在早期版本中使用的W太阳能电池板也可以工作。
步骤9:PCB设计
在切换到PCB布局后,我使用EasyEDA在线软件绘制了原理图。
原理图中添加的所有组件都应该在那里堆叠在彼此的顶部,准备放置和路由。通过抓住其垫片来拖动组件。然后将其放置在矩形边界线内。
排列所有组件,使板占用最小空间。电路板尺寸越小,PCB制造成本越低。如果该板上有一些安装孔,那么将它安装在一个外壳中将是有用的。
现在你必须路由。路由是整个过程中最有趣的部分。这就像解决一个难题!使用跟踪工具,我们需要连接所有组件。您可以使用顶层和底层来避免两个不同轨道之间的重叠并缩短轨道。
您可以使用Silk图层向电路板添加文本。此外,我们可以插入图像文件,因此我在我的网站徽标上添加了一个图像,以便在电路板上打印。最后使用铜区域工具,我们需要创建PCB的接地区域。
现在PCB已准备好进行制造。
您可以从PCBWay 立即注册PCBWay,即可获得5美元的优惠券。这意味着您的第一笔订单是免费的,只需支付运费。
当您下订单时,我将从PCBWay获得10%的捐款用于我的工作。你的小帮助可能会鼓励我将来做更多精彩的工作。感谢您的配合。
第10步:PCB制作
完成PCB设计后,我们只需单击“Gerber输出”按钮,保存项目,我们就可以下载用于制造PCB的Gerber文件。
步骤11:组装PCB
从PCB制造厂收到电路板后,你必须焊接组件。
对于焊接,你需要一个像样的焊铁,焊锡,钳子。
首先,我切断直的男性和Wemos Board,TP4056,BMP/E 280以及所有端口的母头引脚。
以下是有关接头的详细信息:
1。 Wemos Board - 2 x 8pins Female
2。 BMP280 - 1 x 6针女性
3。 I2C端口 - 1 x 4pins
4。端口P1 - 1 x 4pins
5。端口P2- 1 x 3pins
6。端口P3- 1 x 4pins
7。端口P4- 1 x 3引脚
最好根据组件的高度焊接组件。首先焊接较小高度的元件。
我已经开始焊接电阻器,开关然后移向更大的元件,如接头引脚,螺钉端子和电池座。
步骤12:添加模块和电池
组装插头引脚后,切换和螺钉端子,是时候将板插入各自的头部。 PCB上标有清晰的标题,因此不会产生混淆。
首先,我放置TP4056板并焊接所有焊盘。
然后我添加了Wemos板和BME280传感器。
最后,我将18650电池插入电池座。
步骤13:安装支架
添加所有零件后,将支架安装在4个角落。我使用了M3 Brass Hex Standoffs。
使用支座可为焊接接头和地线提供足够的间隙。
步骤14:3D打印机壳
为了给出漂亮的商业产品外观,我为这个项目设计了一个外壳。我使用Autodesk Fusion 360来设计机箱。
机箱有两部分:
1。主体
2。盖盖
主体基本上设计适合气象站V2.0 PCB(85mm * 83mm)。
盖子盖子用于盖住主体开口。
我用我的Creality CR-10打印机和1.75毫米绿色PLA灯丝打印零件。我花了大约11个小时打印主体,大约3个小时打印顶盖。
我的设置是:
打印速度:60毫米/秒
层高:0.2mm(0.3也适用)
填充密度:25%
挤出机温度:200℃
床温:60 deg C
从Thingiverse下载STL文件
您还可以查看由3KU_Delta设计的机箱。
从下载其设计的STL文件Thingiverse
步骤15:将PCB置于机柜内
首先,将MF十六进制支架插入机箱的四个安装插槽中。
然后通过对准角落处的四个螺孔将PCB板固定在支架上。
插入四个支架后,由于小的不对中,我很难修复PCB。所以我想修改安装支架直接固定3M螺钉而不是六角形支架。
步骤16:安装组件
安装PCB后,必须安装BME280模块和Wemos板。
然后插入跳线JP2。
将SMA连接器插入机箱中提供的孔中。然后用垫圈拧紧螺母。现在通过与SMA连接器正确对齐来安装天线。
最后,将18650电池放入电池座内。确保必须以正确的极性插入。极性标记在电池座,PCB和电池上。
步骤17:安装太阳能电池板
将22 AWG红线焊接到正极端子,将黑线焊接到太阳能电池板的负极端子。
将两根电线插入主机壳顶部的孔中。
使用超级胶水固定太阳能电池板并按压一段时间以便正确粘接。
使用热胶从内部密封孔。
步骤18:3D打印Stevenson屏幕
我早期的外壳设计是一个不错的外观,但它不适合气象站。保持天气传感器的理想外壳是史蒂文森屏幕。一个史蒂文森屏幕是一个天气传感器的外壳,可以抵御雨水和来自外部的直接热辐射,同时仍然允许空气在它们周围自由流通。
太阳能气象站V2的Stevenson屏幕由我的朋友Glen设计。它有一个简单的壁挂支架和一个2部分盖子,用于隔离太阳能电池板的热传递。我非常感谢他的工作。
您可以从Thingiverse下载.STL文件
提示: 使用 Lacquer Spray喷涂完全组装的PCB 保护电路板和元件,但你需要在BME280温度传感器孔上放一点胶带,不要阻挡它。
步骤19:与Blynk App接口
步骤1:下载Blynk应用程序
1。对于Android
2。对于iPhone
步骤2:获取身份验证令牌
要连接Blynk App和您的硬件,您需要一个验证令牌。
1。在Blynk App中创建一个新帐户。
2。按顶部菜单栏上的QR图标。通过扫描上面显示的QR码创建此项目的克隆。一旦检测到成功,整个项目将立即在您的手机上。
我已经制作了Sol Weather Station应用程序。欢迎您试用!
开始使用它:1。下载Blynk App:http://j.mp/blynk_Android或http://j.mp/blynk_iOS 2.触摸QR - 代码图标并将相机指向下面的代码3.享受我的应用程序!
3。项目创建完成后,我们将通过电子邮件向您发送Auth Token。
4。检查您的电子邮件收件箱并找到验证令牌。
步骤3:为Wemos Board准备Arduino IDE
要将Arduino代码上传到Wemos板,你必须遵循这个Instructables
Step-4:Arduino Sketch
安装上面的库后,粘贴下面给出的Arduino代码。
输入路由器的步骤1,ssid和密码的验证码。
然后上传代码。
步骤20:将传感器数据上传到ThingSpeak
首先,在ThingSpeak上创建一个帐户。
然后创建一个新的频道您的ThingSpeak帐户。
查找如何创建新通道填充字段1作为压力,字段2作为温度,字段3湿度,字段4作为高度,字段5作为蝙蝠电压。
在您的ThingSpeak帐户中选择“频道”,然后选择“我的频道”。
点击您的频道名称。
单击“API密钥”选项卡并复制“写入API密钥”
打开Solar_Weather_Station_ThingSpeak代码。
将“WRITE API”替换为复制的“Write API密钥” “。
你可以看到我的实时信息。
目前,我的电池电压读数不一致,因此该字段已被禁用。
步骤21:软件和库
要将Wemos D1与Arduino库一起使用,您必须使用支持ESP8266板的Arduino IDE。如果您还没有这样做,可以通过Sparkfun的本教程轻松地为您的Arduino IDE安装ESP8266板支持。
以下设置更可取:
PU频率: 80MHz 160MHz
闪存大小: 4M(3M SPIFFS) - 3M文件系统大小4M(1M SPIFFS) - 1M文件系统大小
上传速度: 921600 bps
库
在上传代码之前安装以下图书馆:
1。 ESP8266
2。 BMP280
3。 Blynk
您可以通过Sparkfun阅读本教程来安装Arduino库。
在我的早期版本中,Blynk和Thinspeak有两个单独的代码,但是在这个版本中,我们已经编写了一段代码。用户只需为Blynk或Thingspeak注释掉一行代码。例如,如果您将其用于Blynk App,则代码应如下所示:
const String App = “BLYNK”; // alternative is line below
// const String App = “Thingspeak”; // alternative is line above
信用: 我想对Keith Hungerford给予很多赞誉,他指导我让这个项目更加强大。 BMP280的软件库也是由他编写的。您可以在BMP280省电模式下阅读他的Instructable。
注意: 在使用深度睡眠功能之前,必须将Wemos D0引脚连接到RST引脚。这可以通过短接跳线JP2来完成。
更新:15.05 0.2019 的
您还可以在他的GitHub页面上看到 3KUdelta所做的出色工作。在他的V2.3代码中,他包括着名的Zambretti预报员。我非常感谢他为改进项目所做的辛勤工作。
该软件使用着名的Zambretti预测模型提供短期预测(4-6小时):
用语言预测4-6小时
语言趋势
温度
露点
热指数
湿度
绝对压力
相对压力
电池电压(V)
步骤22:结论
今天我收到了太阳能电池板并安装了它。我真的很喜欢这个项目的最终成果。
-
太阳能
+关注
关注
37文章
3394浏览量
114123 -
WIFI
+关注
关注
81文章
5291浏览量
203418 -
气象站
+关注
关注
1文章
744浏览量
15650
发布评论请先 登录
相关推荐
评论