PCB设计
直播中

李皓圳

7年用户 1035经验值
私信 关注
[资料]

分享一个太阳能WiFi气象站的设计方案

说明
太阳能 WiFi 气象站 V3.0



这个气象站是一个如此紧凑的气象站,由多个气象传感器组成,测量以下参数:
1. 内部温度 (BME280)
2. 湿度 (BME280)
3. 气压 (BME280)
4外部温度 (DS18B20)
5. 风速 (Sparkfun Weather Meter)
6. Wind Direction (Sparkfun Weather Meter)
7. Rain Gauge (Sparkfun Weather Meter)
8. UV Index (SI1145)
9. Lux Level (BH1750)
I have designed该项目的定制PCB。它的设计使得您可以根据您的实际应用需求方便地集成不同的传感器组合。

为什么是气象站?
想象一下,你住在离气象部门很远的地方。在这种情况下,您获得的天气预报可能不是最准确的。这是家庭气象站变得更加有利的地方。这个小型气象站可以提供有关您居住地天气参数的准确数据。
今天,被称为小气候的局部天气数据是更精确和准确天气预报的新前沿。因此,天气数据的收集变得越来越小和网格化。

应用:
这种小型便携式气象站在智慧农业、智慧城市、太阳能发电厂、建筑工地等领域的应用非常广泛。

更新时间:24.05.2021
现在您可以从 PCBWay 订购完全组装好的 PCB V3.0。请注意,PCB 中不包含传感器,但您会在包装中获得 ESP32 开发板和太阳能电池板。

视频教程:使用的组件:

使用的



组件:

1. ESP32 开发套件 V1-30 引脚

2. TP4056

3. 气压传感器 BME280

4. 温度传感器 - DS18B20

5. 紫外线指数传感器 - GY1145

6. Lux 水平传感器 - BH1750

7. 风雨传感器

8. MCP1700-3.3V

9. 电阻器 - 2 x 1K、1 x 10K、3 x 4.7K、1 x 27K, 1 x 100K

10. 电解电容器 - 1 x 100uF

11. 陶瓷电容器 - 4 x 0.1uF

12. TVS 二极管 - DT1042-04SO-可选

13. RJ11 连接器

14. 公头/母头

15. 跳线帽

16. 螺丝端子 - 2P - 5.08mm 间距

17. 螺丝端子 -3P -3.5mm 间距

18.太阳能电池板 - 5V / 1.2Watt (110 x 69 mm) -

19. 18650 电池

20. 8650 电池座

21. 22 AWG 电线

22. MF 跳线

23. 滑动开关

24. PCB

使用的工具:

1. 烙铁

2. Nipper

3. 电线Stripper

4. 3D 打印机 2021

年 5 月 1 日更新

PCB V3.0 更新到 V3.1,I2C 端口(P1、P2 和 P3)的小变化
管脚顺序从 (VCC, GND, SDA, SCL) 更改为 (VCC, GND, SCL, SDA)

注意: PCB V3.0 工作正常,但您需要延长线来连接端口 P1 中的传感器模块、P2 和 P3。
从 Instructables 第 14 步下载 PCB V3.0 的 Gerber 文件

第 1 步:选择电源



如果您计划在农舍等偏远地区安装气象站,您可能无法访问电网来运行气象站。要连续运行该站,必须有连续的电源,否则系统将无法工作。为威廉希尔官方网站 提供持续供电的最佳方式是使用电池。但就电池而言,运行几天后,它的汁液就会耗尽,去那里充电是一件非常困难的工作。因此提出了一种太阳能充电威廉希尔官方网站 ,利用来自太阳的自由能为电池充电并为 ESP32 板供电。

在这里,我使用了 18650 锂离子电池。电池通过 TP4056 充电模块从太阳能电池板充电。TP4056模块自带电池保护芯片或不带保护芯片。我会建议购买一个包含电池保护芯片的模块。

18650电池充满电后输出4.2V。通过使用低压差稳压器 (MCP1700-3302E),电池电压进一步降至 3.3V。

稳压器的输出将通过 3.3V 引脚为 ESP32 供电。

第二步:电源威廉希尔官方网站



ESP32 的工作电压为 3.3V,而充满电的电池电压为 4.2V。所以我们必须将电池电压从 4.2V 降到 3.3V,这可以通过线性稳压器轻松完成,但不幸的是,对于这个项目根本不推荐。因为所有线性稳压器都要求输入电压至少比所需的输出电压高一些。该最小量称为压差电压。由于这个原因,当电池电压下降到 3.7V 左右时,线性稳压器将无法维持电压所需的电压(3.3V)。

解决上述问题的方法是使用低压差或 LDO 稳压器。低压差或 LDO 稳压器是一种直流线性稳压器,即使在电源电压非常接近输出电压时也能调节输出电压。在这里,我们将使用 MCP1700 LDO 为威廉希尔官方网站 高效供电。

陶瓷电容 (0.1uF) 和电解电容 (100uF) 并联到 LDO (MCP1700 -3.3V) 的 GND 和 Vout 引脚,以平滑电压峰值。

MCP1700 的输出通过滑动开关连接到 ESP32 3.3V 引脚。

MCP1700 数据表:下载

第 3 步:风向标(风向传感器)











风向标指示风吹的方向。它是 Sparkfun 天气传感器套件中最复杂的传感器。它有八个簧片开关,每个都连接到不同的电阻器。当风向标旋转时,磁铁会关闭簧片开关,并且由于它们彼此靠近,因此可能一次关闭两个,从而可以指示多达 16 个不同的位置。然而,在测试单元时,我永远无法让设备同时关闭两个开关,所以虽然理论上可以测量 16 个方向,但我只能得到 8 个。该软件考虑了 16 个方向,以防万一。

外部电阻器可用于形成分压器,产生可以用模数转换器测量的电压输出,在您的微控制器上,您可以确定风向标指针的方向。

为了测量电压输出,我使用了一个 10kohm 的外部电阻与风向标电阻 (Rvane) 形成分压器。如上图所示,10K电阻接3.3V。然后,我将分压器的中间连接到 ESP32 ADC 引脚(GPIO 35),测量电压,并参考上表,转换为风向。

簧片开关和电阻器排列如上图所示。表中给出了所有 16 个可能位置的阻力值。

当风向标指针落在两个开关之间时,电阻值被认为是两个相邻电阻之间的等效电阻。在这种情况下,叶片的磁铁会同时激活两个开关,因此它们是并联的。

第 4 步:风速计(风速传感器)



风速传感器是一种杯型风速计,通过在磁铁移过簧片开关时闭合触点来测量风速。根据数据表,2.4 公里/小时(1.4912 英里/小时)的风速会导致开关每秒关闭一次。风速计开关连接到由风速计和风向标(引脚 2 和 3)共用的 RJ 11 电缆的内部两个导体。

风速计连接到 ESP32 GPIO 引脚 14 和 GND。之后,我们需要做的就是监控按钮按下,这非常简单。我们可以使用 pin 中断方法来监控按钮按下(提示)。当簧片开关闭合威廉希尔官方网站 (按下按钮)时,它会触发软件事件。

如果你想制作自己的风传感器,那么请阅读这篇漂亮的 Instructable

这些是更多的 3D 打印风传感器:
1. 风速计
2.风速计

第 5 步:雨量计(降雨传感器)









在这里,我使用了一种最常见的雨量传感器,称为翻斗式雨量计。基本上,传感器内部有一个小跷跷板形状的翻斗桶(见上图)。雨水在一端填满了一个桶,然后它翻倒了,所以它倒空了,另一边的桶开始填满。每次铲斗倾斜时,它都会通过一个磁簧开关通过一个磁铁来进行瞬时电气连接。水桶根据水量进行校准,这意味着如果我们可以计算开关关闭的次数,我们就可以计算出降雨量。

与风速计非常相似,雨量计会产生滴答声以记录下雨量。计算滴答声以确定最近下了多少雨。每个刻度代表 0.011" (0.28mm) 的降雨量。此传感器连接到 ESP32 的 25 针。

我在这里使用的雨量计来自 Sparkfun。它的末端有一个 RJ-11 插头,您可以直接插入将其放入 Weather Station V3.0 PCB。



第 6 步:测量降雨量来制作您的 3D 打印雨量计

在上一步中,我们已经讨论过,每次铲斗倾斜时,它都会通过磁簧开关通过磁簧开关,从而实现瞬时电气连接。在这里,雨量计中的每个桶尖都可以假设为按下按钮。然后我们可以轻松地连接仪表,就像它是一个按钮一样。

雨量计连接到 ESP GPIO 引脚 25 和 GND。之后,我们需要做的就是监控按钮按下,这非常简单。我们可以使用 pin 中断方法来监控按钮按下(提示)。当簧片开关闭合威廉希尔官方网站 (按下按钮,铲斗倾翻)时,它会触发软件事件。

这里我使用 attachInterrupt() 来监控提示的数量。您可以从 Arduino Page 找到详细信息。

第 7 步:通过 BME280 监测压力、温度和湿度







在早期,环境温度、湿度和气压等天气参数是使用单独的模拟仪器测量的:温度计、湿度计和气压计。但今天市场上充斥着廉价而高效的数字传感器,可用于测量各种环境参数。最好的例子是 DHT11、DHT 22、BMP180、BMP/E280 等
传感器。在这个项目中,我们将使用 BMP280 / BME280 传感器。

BMP280:

BMP280 是一款精密传感器,可以非常准确地测量气压和温度,并具有合理的精度。BME280 是博世的下一代传感器,是 BMP085/BMP180/BMP183 的升级版 - 具有 0.25m 的低海拔噪声和相同的快速转换时间。该传感器的优势在于它可以使用 I2C 或 SPI 与微控制器通信。为了简单方便的接线,我建议购买I2C版板。

BME280:

新型 BME280 传感器,一种具有温度、气压和湿度的环境传感器。BME280 是博世的下一代传感器,是 BMP280 的升级版。博世的这款精密传感器是最佳的低成本传感解决方案,用于测量精度为 ±3% 的湿度、绝对精度为 ±1 hPa 的气压以及精度为 ±1.0°C 的温度。它可用于 I2C 和 SPI。

注意:

BME280 可以测量湿度,但 BMP280 不能。在市场上,BMP280 也有 BME280 的名称。所以要确定是BMP280还是BME280。

第 8 步:监测紫外线指数 - SI1145 传感器



Si1145 是一款带有校准的紫外线传感元件的传感器,可以计算紫外线指数。它可以通过 I2C 通信(地址 0x60)进行通信。您可以将此传感器与位于 ESP 板左下方的 PCB 中的 I2C 端口连接起来。

SI1145 传感器真的没有真正的紫外线传感器!相反,它查看从太阳接收到的可见光和红外光的量,并使用公式计算紫外线指数,精确到小数点后两位。

如果您需要更准确地测量紫外线指数,您可以使用 VEML6070 传感器。与 Si1145 不同,此传感器不会为您提供紫外线指数读数。但是,Si1145 会根据光照水平进行 UV 指数近似,而不是真正的 UV 感应。相比之下,VEML6070 确实具有紫外光谱中的真实光传感器。

第 9 步:监测 Lux 水平 - BH1750 传感器





BH1750 环境光传感器模块基于 ROHM Semiconductor 开发的数字环境光传感器 IC BH1750FVI。它是一款内置16位照度数字转换器的数字IC。

该传感器的输出以 LUX (lx) 为单位,因此不需要任何进一步的计算。勒克斯是衡量光强度的单位。它根据照射在特定区域的光量来测量强度。一勒克斯等于每平方米一流明。

为了与 ESP32 等外部设备进行通信,BH1750 环境光传感器 IC 使用 I2C 总线接口。
引脚说明
VCC – 3.3V 至 3.3V
GND – VCC
SCL – SCL
SDA – SCL
ADD – I2C 设备地址(保持打开)

第 10 步:外部温度传感器



如果需要,可以连接外部温度传感器,如 DS18B20 来监测环境温度。DS18B20 是达拉斯半导体公司制造的单线接口温度传感器。它只需要一个数字引脚即可与微控制器进行双向通信。我已经用 ESP32 GPIO pin4 连接了这个传感器。
DS18B20 通常有两种外形。一个采用 TO-92 封装的外观与普通晶体管完全一样,另一个采用带有延长电缆的防水探头。我使用 DS18B20 探头测量温度。它使用单线协议与 ESP32 通信。它可以连接到 PCB 上的 3 针螺丝端子。

要与 DS18B20 温度传感器连接,您需要安装 One Wire 库和 Dallas Temperature 库。您可以阅读本文以了解有关 DS18B20 传感器的更多详细信息。第 11 步:监测电池电压气象站由 18650 锂离子电池供电,因此监测电池状态至关重要。ESP32 板的最大输入电压约为 3.2~3.3V,但充满电的 18650 电池电压为 4.2V。所以要测量这个电压,我们必须通过使用分压器网络来降低电压。分压器由27k(R1)和100k(R2)组成。


当您的 ESP32 由电池供电或太阳能供电时,监控电池电量非常有用。一种方法是使用 ESP32 的模拟引脚读取电池的输出电压。

然而,我们在这里使用的电池在充满电时最大输出 4.2V,但 ESP32 GPIO 工作在 3.3V。因此,我们需要添加一个分压器,以便我们能够读取电池的电压。

分压器公式如下:

Vout = (Vbat*R2)/(R1+R2)
所以,如果我们使用 R1=27k Ohm,R2=100k Ohm,

我们得到:1 Vout = (4.2*100k)/( 27k + 100k) = 3.307V

因此,当电池充满电时,Vout 输出 3.307V,我们可以通过 ESP32 GPIO 引脚读取该电压。要选择分压器电阻值,您可以使用此在线计算器。第 12 步:ESP32 - Thingspeak-Deep-Sleep我们气象站的核心是一个 ESP8266 SOC,它是一个耗电的芯片。当您的项目由插件墙供电时,您往往不太关心功耗。但是,如果您打算用电池为您的项目供电,那么每一毫安都很重要。




我们的目标是使用 18650 锂离子电池运行设备。要使用电池运行 ESP32,我们必须降低功耗。为此,我们将使用深度睡眠模式,这是 ESP 芯片最省电的选项。它允许将 ESP32 置于休眠状态并节省电池。您可以定期唤醒 ESP 以进行测量并发布它们。

计算电池寿命:

ESP32 在正常运行中消耗大约 75mA,在通过 WiFi 传输数据时达到大约 150mA。在深度睡眠中大约 10uA。ESP32 需要大约 30 秒来上传数据。

电池寿命计算:

已用电池:3400mAh / 3.7V 18650 锂离子电池
发布间隔 = 10 分钟(开启时间:30 秒,睡眠时间:9 分钟 30 秒)
读数总数/小时 = 60/10 = 6
每小时功耗(开启时间)= 6 x 150 mA * 30 / 3600 = 7.5mA
睡眠时间 = 6 x 10uA * 570 / 3600 = 0.0095 mA
总时间(以小时为单位)电池 = 3400 / (7.5+0.0095) = 452.76Hrs
电池总天数 = 452.76/24 = 18.86 天

第 13 步:太阳能电池板选择





太阳日照量因您所在的地球而异位于。要了解您所在地区的日照量,您可以使用 Global Solar Atlas。考虑到至少 1 小时的充足阳光,我们将选择太阳能电池板。

从上一步得出,平均电流消耗为 7.5 mA

运行设备一整天所需的电量 = 7.5 mA x 24 小时 = 180 mAh

因此,我们的目标是在 1 小时内产生 180 mAh。

要为 3.7V 锂离子电池充电,电压为 5 至 6V 的太阳能电池板就足够了。

所需的太阳能电池板额定值 = 180 mA,电压约为 5 至 6 伏。

太阳能电池板额定值 = 180 mA x 5V = 0.9 瓦,考虑到一些损耗,我选择了更高额定值的太阳能电池板。

选择的太阳能电池板:我使用了 5V,250mA 太阳能电池板(110 x 69 毫米)

第 14 步:PCB 设计







切换到 PCB 布局后,我使用 EasyEDA 在线软件绘制了原理图。

您在原理图中添加的所有组件都应该在那里,彼此堆叠,准备好放置和布线。通过抓住其焊盘来拖动组件。然后将其放在矩形边界线内。

以使威廉希尔官方网站 板占用最小空间的方式排列所有组件。威廉希尔官方网站 板尺寸越小,PCB制造成本就越便宜。如果此板上有一些安装孔以便可以将其安装在外壳中,那将很有用。

现在你必须路由。路由是整个过程中最有趣的部分。这就像解决一个难题!使用跟踪工具,我们需要连接所有组件。您可以同时使用顶层和底层以避免两个不同轨道之间的重叠并使轨道更短。

您可以使用 Silk 层将文本添加到板上。此外,我们可以插入图像文件,因此我添加了要打印在板上的网站徽标图像。最后,使用铜面积工具,我们需要创建 PCB 的接地区域。现在 PCB 已准备好进行制造。

注意:当您下订单时,我将从 PCBWay 获得 10% 的捐款,用于对我的工作做出贡献。你的一点点帮助可能会鼓励我在未来做更多很棒的工作。谢谢您的合作。

2021 年 5 月 24 日更新

现在您可以从 PCBWay 订购完全组装的 PCB V3.0。请注意,PCB 中不包含传感器,但您会在包装中获得 ESP32 开发板和太阳能电池板。

2021 年 5 月 1 日更新

PCB V3.0更新到V3.1,I2C端口(P1,P2和P3)的小变化引脚顺序从(VCC,GND,SDA,SCL)更改为(VCC,GND,SCL , SDA ) 注意:PCB V3.0 工作正常,但您需要延长线来连接端口 P1、P2 和 P3 中的传感器模块。

更新于 09.09.2021

PCB V3.1 更新到 V3.2,从 200mA LDO (MCP1700) 升级到 500mA LDO (TC1262-3.3V),使供电更稳定。您可以从 PCBWay 下载 Gerber 文件或购买 PCB V3.2

您可以从 PCBWay 下载 PCB V3.0 和 V3.1 的早期 Gerber 文件。

第 15 步:PCB 制造



完成 PCB 设计后,我们只需单击“Gerber 输出”按钮,保存项目,我们就可以下载用于制造 PCB 的 Gerber 文件。

第 16 步:组装 PCB



从 PCB 工厂收到威廉希尔官方网站 板后,您必须焊接元件。对于焊接,您将需要一个像样的烙铁,焊锡,钳子。

首先,我切割了 ESP32 板、TP4056、BME280 和跳线 JP1 的直公母头针。以下是有关接头的详细信息:

1. ESP 板 - 2 x 15 针(母)
2. BME280 - 1 x 4 针(母)
3. UV 传感器 - 1 x 4 针(母)
4. 照度传感器 - 1 x 4 针(母头)
5. 备用 I2C 端口 - 1 x 4pins (母头)
4. 跳线 JP1- 1 x 2pins ( Male )

最好根据元件的高度焊接元件。首先焊接高度较低的组件。我已经开始焊接电阻器、开关,然后转向更大的组件,如插头销、螺丝端子和电池座。

第 17 步:焊接 TVS 二极管





在整个 PCB 中,高度较低的组件是 TVS 二极管,它是本项目中唯一使用的 SMD 组件。您可以查看数据表。

首先,在所有 6 个焊盘上涂抹助焊剂,然后在角焊盘上涂抹少量焊料。使用镊子放置并对齐二极管芯片。将芯片固定到位,同时用烙铁头接触焊盘,使焊料将引脚和焊盘熔化在一起。

确保 PCB 上的点符号和 TVS 二极管匹配在一起。圆点符号代表引脚号-1。
现在将焊料涂在所有焊盘上,就完成了。如果您在焊接过程中搞砸了,您可以使用拆焊芯去除多余的焊料。

注意:不使用此 TVS 二极管不会影响气象站的功能,它为威廉希尔官方网站 提供了额外的保护。

第 18 步:焊接电阻器和陶瓷电容器





考虑到元件高度,TVS 二极管之后,下一个元件是电阻器,然后是陶瓷电容器。弯曲电阻腿并将它们插入 PCB 孔中。使用钳子焊接腿并修剪额外的腿。

在焊接过程中,请务必参考示意图以避免任何错误。下面附上示意图。您应该打印输出并在焊接时将其放在一边。

同样,焊接陶瓷电容器。请注意,陶瓷电容器没有任何极性,因此您可以以任何方式焊接,它会起作用。

第 19 步:焊接 LDO MCP1700









本项目使用的 LDO MCP1700 采用 TO92 封装,引脚间距仅为 1.26mm。因此,如果您是初学者,您可以在焊接过程中将焊盘短路,为避免这种情况,我没有在 PCB 上使用 TO92 封装。我故意在焊盘之间提供了一些间隙。

如上图所示拉伸 MCP1700 的 3 条腿,然后将其插入标记为 MCP1700 的 PCB 孔中。

引脚图如上所示,每个引脚名称也标在PCB上,以免在焊接过程中混淆。

第 20 步:修剪接头









修剪母接头的最佳方法是数出 15 个引脚,拉动第 16 个引脚,然后用钳子剪掉第 15 和 17 个引脚之间的间隙。

切割头部以使剪断居中时必须小心。偏心切割可能导致割台的机械部分脱离或失去一些保持力。

或者,您可以拿一个文件,一块砂纸来打磨标题的末端,使其看起来非常光滑。

我按照上面的原则准备了所有的女头。

第 21 步:焊接接头





将所有四个接头插入 PCB。PCB 被标记以识别哪个接头连接到哪个位置。插头的公插针应进入 PCB 的顶部并从底部伸出。我总是先焊接两个端销,然后焊接剩余的销。

重要的是,每个接头都与 PCB 呈 90° 角,这一点很重要。这将确保 ESP32 板/传感器模块将直接滑到接头上,并且您无需弯曲任何引脚。

要安装 TP4056,这里我使用了 6 x 1 母针,您也可以使用公针。

用钳子修剪多余的腿。

第 22 步:焊接更大的元件



PCB 上更大的元件是端子连接器(两个螺丝端子和两个 RJ11 连接器)和 18650 电池座。首先焊接两个螺丝端子,然后焊接 RJ11 连接器。RJ11 连接器有一些锁定装置,您必须将其插入 PCB 上的两个侧孔中。


第 23 步:添加模块和电池



组装完插头引脚、开关、连接器和螺丝端子后,是时候将板插入各自的插头了。接头在 PCB 上清楚地标明,因此不会混淆。

首先,我放置 TP4056 板并焊接所有焊盘。

然后我添加了 ESP32 板和 BME280 传感器。

最后,我将18650电池插入电池座。

第 24 步:3D 打印外壳



放置天气传感器的理想外壳是 Stevenson Screen。史蒂文森屏幕是一个外壳,用于保护气象传感器免受降水和来自外部来源的直接热辐射,同时仍允许空气在它们周围自由循环。

我来自新西兰的朋友 Glen 帮助我制作了这个专业级的 Stevenson Screen。我非常感谢他帮助这个项目取得成功。

这有一个简单的壁挂架和一个两部分的盖子,用于隔离太阳能电池板的热传递。V3.0 设计可在顶部安装一个紫外线指数传感器。除此之外,用于安装太阳能电池板的顶盖远离主外壳,以避免太阳能电池板的热量传递到外壳的内部。

史蒂文森屏幕有 6 个部分:

1. PCB 安装框架
2. 底板
3. 底部安装
4. 中环 x 12 号
5. 屏幕顶盖
6. 太阳能电池板安装顶盖(太阳能电池板尺寸:110 x 69 毫米)
7. M6 杆 x 4 号

我使用我的 Creality 3D 打印机和 1.75 毫米白色 PLA 灯丝来打印零件。我会推荐使用 ABS 或 PTEG 灯丝而不是使用 PLA。

您可以参考上面的爆炸图来组装3D打印的零件。

您可以从 Thingiverse 下载 .STL 文件

您可以从 GRABCAD 下载 STEP 文件以进行任何修改。

代码

软件

Weather_Station_V3_30.03.2021.ino


Gerber_PCB_Solar WiFi气象站V3.1

Gerber_PCB_Solar WiFi气象站V3.1.zip


更多回帖

发帖
×
20
完善资料,
赚取积分