当前位置:首页 > 工业控制 > 电路设计项目集锦
[导读]在市场中,您可以购买布雷瑟的气象站,它们可以直接与“天气地下地图”连接,并将您当地的环境数据发布给全世界。所以,如果您愿意的话,根本无需做任何工作。但实际上,据我所知,所有型号都可以用于我们的项目,比如我的这个(7 个接口):5 个接口、6 个接口、7 个接口和 8 个接口的型号。实际上,布雷瑟是否向“天气地下地图”发送数据的差异是由其室内显示单元决定的,因此这些型号的价格会更高。我喜欢在桌面上有一个显示屏,所以我建议购买带有显示屏的布雷瑟产品,但如果您想节省费用,也可以只订购室外传感器单元,他们也以备件的形式出售。

在市场中,您可以购买布雷瑟的气象站,它们可以直接与“天气地下地图”连接,并将您当地的环境数据发布给全世界。所以,如果您愿意的话,根本无需做任何工作。但实际上,据我所知,所有型号都可以用于我们的项目,比如我的这个(7 个接口):5 个接口、6 个接口、7 个接口和 8 个接口的型号。实际上,布雷瑟是否向“天气地下地图”发送数据的差异是由其室内显示单元决定的,因此这些型号的价格会更高。我喜欢在桌面上有一个显示屏,所以我建议购买带有显示屏的布雷瑟产品,但如果您想节省费用,也可以只订购室外传感器单元,他们也以备件的形式出售。

由于我是一名业余无线电“老手”操作员,对电子学和自动化有着浓厚的兴趣,所以很久以来我就一直希望能出现在 APRS 地图上。您可能知道,APRS 世界不仅限于持有无线电执照的人员,而是向所有可能加入公民气象观测计划的人开放的。

自动数据报告系统(APRS)是一种数字通信协议,由获得许可的业余(业余无线电)操作员使用,用于交换实时数据,例如位置(通过全球定位系统获取)、天气信息、遥测数据、消息以及其他内容。您可以在 aprs.fi 网站上获取更多相关信息。

公民气象观测者计划(CWOP):非无线电爱好者也可以使用 APRS 协议通过互联网分享气象数据,无需持有无线电执照。这些用户会被分配一个特殊的非无线电爱好者标识符(例如,“DW”后跟数字),而非呼号。有关 CWOP 的更多信息请见此处。

除了上述“特别”的内容之外,另一个自然而然的步骤就是常见的且遍布全球的大型气象地下地图。我也喜欢加入其中,因为它确实是必不可少的。

电路:

该项目所使用的电子元件仅有 4 种:

•布雷瑟气象站 7合一型号,工作频率为 868 兆赫,配备有风向、风速、阵风、温度、湿度、光照、紫外线以及降雨量等传感器;该设备由 3 个内部 AA 电池供电;请注意,7合一型号已适用于本项目,如果您选择其他型号,则会配备较少(或更多)的传感器,并且由于传感器数量不同,软件也需要进行调整,而且更重要的是,数据包可能会是两个而不是仅仅一个(就像 5合一型号使用 6合一协议……真是令人惊讶!)。您可以只购买外部传感器单元,而不购买内部显示屏单元;

•LilyGO Lora32 T3 版本 1.6.1. 板子(包含 OLED 显示屏、WiFi、蓝牙、micro SD 卡、电池充电器、工作在 868MHz 的 Lora sx1276 无线电模块、天线、在 3.3V 电压下工作的 I/O 引脚;该板子通过 USB 供电;)

•带有压力、室内温度和湿度传感器的 BME280 板,工作电压为 3.3V;请注意,BMP280 版本的板需要使用不同的库……所以一定要确认这是 BME280 板。

•SMD 3.3V 蜂鸣器;

•2 个 13 针的转接条形线插头,公头和母头(共 52 个,分别为 2 个 13 针 x 2);请避免将元件直接焊接到 LilyGO 上,而应使用通过转接条形线插头连接的 PCB 来替代。

•需要一些六边形的塑料垫片和 M2 螺丝来固定 LilGO 使其保持在原位。实际上,LilyGO 在印刷电路板上只有两个孔可供螺丝穿过,这两个孔在左边;右下角也可以使用,但您需要稍微打磨一下印刷电路板(不要打磨太多,否则会切断电源线路!)以便让螺丝能够接触到垫片;右上角则无法采用同样的方法,所以您必须放置一个假螺丝来覆盖前面 3D 屏幕的孔。

为了将 BME 和蜂鸣器连接到 LilyGO 上,我使用了一块带有几根电线和 2 个带状引脚的原型电路板。所有操作都是通过 LilyGO 进行无线控制的,它通过 868MHz 的无线电接收来自布雷瑟传感器的数据(即使传感器不在位置上,它也会向室内基站显示器发送数据),然后通过 WiFi 将信息传输到 Wunderground 或者 APRS 服务器。

当然,在安装电路的区域需要配备一个无线网络接入点。我的布雷塞尔气象站安装在房子屋顶的一根杆子上,距离电路约 12 米;他们保证布雷塞尔设备的信号能覆盖到 150 米以外的范围……

整个电路的工作电压为 3.3 伏输入/输出电平;它由 USB 供电,功耗约为 55 至 90 毫安,在停电情况下它会像您的无线接入点一样自动关机,而气象站则由电池供电;如果您希望在停电时保持电路开启,您需要使用板载的 2 针连接器添加一个可充电电池,USB 将为其充电,因为微控制器板已经配备了充电电路;型号为 102535 850/1050 毫安时的电池完全适合我 3D 打印的外壳(见下载部分),请确保连接器是 2 针 JST 1.25 毫米的,且(+)和(-)线的位置正确;

该软件:

对于主要工作,该示例使用了 BresserWeatherSensorReceiver 库的 0.37.0 版本,其作者是马蒂亚斯·普林克;当然,代码中还存在其他库,比如用于 OLED 显示屏的库、WiFi 库、看门狗库、偏好设置(EEPROM)库、Wire 库(BME280)、NTPClient 库(时间更新)等等。

首先,该程序会通过互联网更新时间(每 3 小时更新一次),然后持续监听 868 兆赫频道上气象站的传输信息,并每 12 秒接收传感器的数据。如果您启用了“Wunderground”部分,它将每 7 分钟向 Wunderground 服务器发送气象数据;如果您启用了 APRS 服务器,同样的操作会每 11 分钟进行一次。时间安排可以稍作调整,比如改为 5 分钟和 10 分钟。

还设置了一个看门狗功能,如果由于某种原因程序运行超过 60 秒,它将自动重置并重新尝试;即使其中一个“故障计数器”超过 9(即 9 以上),看门狗也会重置电路:NTP 时间、WiFi 访问、WUNDER 服务器访问、APRS 服务器访问、由看门狗导致的重启或其他原因、网络访问、BME 接收和 BRESSER 接收。通常电路和软件运行良好,没有问题,但通过这些计数器,您可以有效地控制可能出现的问题。计数器会显示在显示屏上,并以某种遥测形式出现在发送给 APRS 数据包的“评论”文本中,非常有用,因为您可以远程查看(参见 aprs.fi 的“原始”数据包)。评论中有一个符号(+)表示 Bresser 电池良好,或者有一个符号(-)表示电池需要更换新的电池。我的经验是,避免将电路放置得太靠近 WiFi 接入点(1-2 米的距离就足够了),这样您将减少通信错误。

设备通电后,显示屏会保持亮起状态 10 分钟,之后会自动关闭以节省屏幕电量。

如果您将电路与 Arduino IDE 连接起来,并开启“串口监视器”,您就能看到详细的日志,其中会说明软件正在执行的操作。

对于某些计算,会根据标准大气压力、平均风向以及露点来进行特别的考量。

个性化设置:

在进行编译和测试之前,您需要指定您的无线网络的接入点名称及密码:

•char WiFi_SSID[40] = "XXXXX"; // 输入您的 WiFi 访问点的名称

•char WiFi_PASS[40] = "YYYY"; // 输入您的 Wi-Fi 访问点密码

还需要调整的是赛道的当地海拔(平均海平面高度)以及 mslH 常数,以根据当地海拔计算出从当地到平均海平面的正常化气压;同时也要设置您所在时区,以便进行每日降雨量计算;别忘了填写您的 Wunderground 天气站 ID 和密码(如果常量“isWUNDERactive=true”被激活的话);当然,如果常量“isAPRSactive=true”被激活,您还必须插入您的 APRS 数据访问信息;如果您对 Wunderground 或 APRS 不感兴趣,只需将相应的值设为“false”,并避免设置其他相应的值(ID、PASS、呼号、密码等);由于我的 BME280 板的温度和湿度数据不精确,我引入了两个偏移值,也许您也可以根据与“可靠”仪器的比较结果进行个性化设置。以下是您需要修改的内容:

•const float mslH = 285; // 电路所在位置的海拔高度(米)(以当地平均海平面高度为基准)

•const long utcOffset = +3600; // 本地时间所处时区的偏移量(以秒为单位,+3600" = +1 小时)

•char mywunderID[40] = "IDIDID"; // 您的 Wunderground 天气站 ID

•char mywunderPASS[40] = "PsWPswP"; // 您的 Wunderground 密码

•const double bmeTempOffset = -3.4; // BME280 在室内环境下的温度偏移值(单位:摄氏度)

•const double bmeHumiOffset = +12.0; // BME280 用于室内湿度测量的偏移量

•const char myAPRScallsign[40] = "CALLSIGN-13"; // 您的业余无线电呼号或 CWOP,用户

•const char myAPRSpasscode[40] = "12345"; // 您的业余无线电密码或 CWOP 密码

•const char myAPRSlatLon[40] = "4018.23N/01435.16E"; // 您的气象站位置(度分秒/度分秒)

•const char APRSserver[40] = "rotate.aprs2.net"; // APRS 服务器网址

该示例代码源自马蒂亚斯·普林克编写的解码示例代码(请阅读代码开头处的版权声明);在编译之前,您需要按照作者的说明自定义 WeatherSensorCfg.h 文件;我根据需要对以下行号进行了注释/取消注释操作;非常重要的是第 93 行,如果您在多个布雷塞尔站点周围都有设置,可以在此处输入您的站点 ID;如果该行留空,您将收到任何站点 ID,但如果您输入了它,请注意,它会随着每次站点重置或电池更换而随机变化(变化不定),因此您需要手动保持其更新!

•89: #define SENSOR_IDS_EXC {}

•93: #define SENSOR_IDS_INC { 0xD144 }

•101: //#define WIND_DATA_FIXEDPOINT

•105: // 定义 BRESSER_5_IN_1

•106: //#define BRESSER_6_IN_1

•107: #define BRESSER_7_IN_1

•108: // 定义 BRESSER_LIGHTNING 这个宏

•109: // #define BRESSER_LEAKAGE

•151: #define ARDUINO_TTGO_LoRa32_V21new

示意图:

本文编译自hackster.io

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭