当前位置:首页 > 工业控制 > 电路设计项目集锦
[导读]我从硬件库存的墓地中复活了旧主板。这个板曾经是创业公司的MVP产品。两年前,当初创公司还处于炒作阶段,有很多投资者想要慷慨地为初创公司提供资金时,我们看到了工业物联网领域的巨大机遇。我和其他创始人正在迈出第一步,以实现建立这家主要专注于工业物联网应用的创业公司的想法。

我从硬件库存的墓地中复活了旧主板。这个板曾经是创业公司的MVP产品。两年前,当初创公司还处于炒作阶段,有很多投资者想要慷慨地为初创公司提供资金时,我们看到了工业物联网领域的巨大机遇。我和其他创始人正在迈出第一步,以实现建立这家主要专注于工业物联网应用的创业公司的想法。

我从这些制造业中注意到的一件事是他们使用标准的工业测量工具,这导致了一个相似之处,这些工具使用标准接口称为MODBUS。从这个机会,这个硬件诞生了桥接MODBUS到Lorawan/无线数据。

在本项目中,主要目标是恢复硬件,使其能够从Modbus传感器采集数据,将数据保存到SDCard或内部数据缓冲区,进行数据转换,并将数据发送到云端。

具有MODBUS协议能力的土壤传感器正在这个项目中用于PoC(概念验证),因为这是我的垃圾抽屉中唯一支持MODBUS的传感器。

主图

从下面的图表中,它大致解释了将在这个项目中实现的想法。从下到上有带modbus RTU - RS485接口的土壤传感器,可采集土壤质量信息。为了获取传感器内部的数据,主板需要借助UART到RS485板转换器进行modbus RTU数据查询。通过这样的查询命令,我们将能够收集土壤的温度、体积含水量(VWC)和电导率(EC)。

一旦板获得土壤数据,主板将对实际值进行转换,并将转换发送到lorawan网关。为了能够发送lorawan协议和lorawan无线电,ESP32S3将需要RFM95支持来完成这些事情。RFM95和ESP32S3之间通过SPI接口通信,在主板内部进行物理连接。

Lorawan网关将接收来自主板的数据,并将数据存储在Lorawan本地服务器内部。在此lorawan网关中,采用RAK网关模块作为集中器,Balena鳍板作为网关基板。基板本身能够运行RPi OS和Chirpstack作为lorawan服务器。从这个阶段开始,我们可以查看主板/节点发送的数据。

Thingsboard需要作为仪表板,以提供传感器数据的交互式视图。Lorawan网关可能需要一个桥接器来执行数据传输到Thingsboard。在Thingsboard免费版中,不支持Chirpstack - Thingsboard集成,因此可能需要在Chirpstack - Thingsboard之间创建手动桥接。

硬件列表

要建立这个项目,需要几个硬件:

•自定义Modbus到Lorawan板

•Lorawan网关

•UART/TTL转RS485

•支持Modbus-RTU的土壤测量传感器

•云服务器/ Thingsboard服务器

明确地,建立自定义Modbus - Lorawan板:

•ESP32S3

•RFM95W

•MPPT太阳能充电器

•SD卡数据接口和插槽。

硬件图

从主板到传感器的连接图解释如下。主板通过USB接口供电,为主板上的各个模块和部件供电。电压转换3.3V也分配到外板提供板支撑,本项目为RS485板转换器。

通过跳线进行Uart连接,将Uart - rs485的TTL端口连接到主板。在转换板的另一侧,引脚A和B连接到传感器引脚。为了使传感器正常工作,本项目采用外接12V适配器,12V输出连接到土壤传感器的输入电源引脚。

为了更好地了解主板,此图对每个模块的连接进行了高级概述。该板的主控板是ESP32S3,能够提供WIFI、BLE等无线连接性能,并带有一些外围设备作为通信接口。

如图所示,ESP32S3通过SPI连接,将命令/数据发送到支持模块(RFM95),并通过SPI接口将数据文件读/写到SDcard。ESP32S3还保留了其他GPIO,可作其他用途。

电源控制器为单板上的所有模块供电。有三种电源可以切换,它们是USB,太阳能电池板和电池。

主板概述

硬件测试

由于该板长期处于休眠状态,因此可能需要进行功能检查以确保该板正常运行。一些功能性检查包括:

•Lorawan连接测试

•SD卡数据Wr/R测试

•Modbus查询测试

有关此检查的更多细节请参见视频/录音。

固件图与实现

下面的图表描述了正确完成这项工作的主要流程图。经过几次试验,由于库问题,需要通过排除SD卡的写入和读取命令来更新此图,其中expressif - Arduino VSPI没有按预期工作,导致错误行为。

首先初始化外设,然后启动lorawan例程/事件。这个lorawan调度时间是每60秒一次,所以lorawan网关每分钟都会收到最新的数据。一旦启动,lorawan固件将自动处理每个事件和调度。

lorawan初始化后开始Modbus数据查询。单板以Modbus数据格式发送Modbus RTU命令。有关modbus RTU的更多细节,我们可以遵循此信息。

来自modbus的RTU代码,基于modbus的数据协议

Modbus地址:0x01

功能码:0x03

起始地址:0x0000

请求的数据长度:0x000A

CDC: 0xC5CD

一旦modbus从/目标发送反馈,固件将modbus值转换为实际值,并将其复制到lorawan数据负载中。

由于需要执行多个测试,因此在此项目上开发了多个固件。主要实现是ESP32S3_RFM_Firmware,涵盖了从获取土壤传感器数据到将数据发送到云的所有过程。

下面的代码是程序运行的主要流程,这个代码是基于上面的固件图编写的。从外设初始化开始,读取数据总线,发送测量数据。我们可能注意到modbus数据查询和lorawan事件是如何共存的。lorawan栈/事件需要与其他栈中的modbus数据查询分离,这种方法可以防止由于lorawan事件和优先级导致主栈溢出。

从代码中还执行了数据modbus转换到其实际值,并将其存储在lorawan有效负载中。modbus查询每20秒触发一次,但数据每1分钟传输一次,这意味着平台和lorawan服务器将接收到最新/最大的数据。

Lorawan到Thingsboard桥

Lorawan - Thingsboard桥是为了克服Thingsboard免费版本的限制而制作的。集成Thingsboard的chirpstack lorawan服务器只提供高级版本,这意味着我们需要节省一些预算来购买许可证。

在这个项目中,通过利用MQTT协议的优势,我们可以轻松地交换数据,从而手动处理简单的桥接。由于该桥只覆盖了少量节点,大量节点的约束条件仍然未知。

桥牌的代码实现如下面的代码所示,它是按照上面的图表创建的。此代码在网关内注册为服务,因此每次网关上电时,网桥将自动运行。

网桥实现的结果如下图所示,网桥能够将数据从Chirpstack网关网桥传输到Thingsboard

结果

硬件组装

给电路板一个合适的外壳,设备就可以测试了。

Chirpstack Lorawan服务器

Thingsboard仪表板

本文编译自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 隧道灯 驱动电源
关闭