×

为18世纪的磨坊构建传感器网络

消耗积分:0 | 格式:zip | 大小:0.03 MB | 2022-12-12

名士流

分享资料个

描述

现代工厂流程在很大程度上依赖于数字技术来监控设施的不同部分。借助数字技术,工厂变得更安全、更高效且更易于操作。这项技术被认为是理所当然的,当您参观越来越老的工厂时,这一点就会变得显而易见。我在一家 18 世纪的磨坊工作,那里几乎不用电。平皮带和皮带轮将动力从传动轴传输到机械,我们的大部分机械都是用木头制成的,手工切割并在 1900 年代初期组装。当我被要求开发一个传感器网络来监控工厂流程的不同部分时,我抓住了这个机会,将我的工作场所带入了 21 世纪。

工厂可以被认为是一台大机器,同时有许多较小的过程。因此,我们需要各种传感器来监督这些过程,并在出现问题时提醒我们。该项目启动时包含的初始传感器在粮仓内进行测量,以确定它有多满,监控 AC Tech SMVector 控制器的 0-10v 直流输出,并获取建筑物各个部分的温度和湿度读数。未来的传感器将包括测量流经喷口的谷物的喷口流量计、记录谷物通过哪个喷口的二通阀上的磁性开关,以及让我们了解轴承温度的总轴轴承上的温度传感器。

通过引入该网络,我们可以节省时间,无需四处走动以目视检查整个建筑物的四层楼的流程,并且我们可以量化不同流程的各个部分,为我们提供用于统计目的的数据。

该网络由标准节点、连接到传感器的 Arduino 供电设备、基本节点、充当网络集线器的 Arduino 设备以及充当服务器和数据解释器的 Raspberry Pi 组成。

硬件

nRF24L01(RF24)模块是一个射频发射器,能够向其他RF24模块发送和接收数据。RF24 模块可以按照下面的接线图连接到 Arduino Nano。

 
poYBAGOS7ZuACWv8AABUKL6dfXs355.png
RF24模块与Arduino Nano接线图
 

RF24 模块可以在 5 伏电压下供电,但建议您在 3.3 伏电压下供电。为确保 RF24 模块不会偶尔断电,需要一个去耦电容器。我在 RF 模块的电源和接地引脚附近使用了一个 10 uF 电解电容器(图中未显示)。如果没有这个电容,RF 模块将表现不佳。

一旦我了解了 RF24 模块,就可以制作可定制的 PCB,以支持不同的传感器。

 
pYYBAGOS7aKALQHMAADCg4s9zeM967.png
我用于所有网络节点的设计
 

我设计的 PCB 包括一个 Arduino Nano、一个 RF24 模块、一个 10 uF 电解电容器、2 个 LED 指示灯、两个用于 LED 的电阻器,以及一个用于放置微型 USB 母连接器以为节点供电的位置。当一个节点放在一起时,它看起来像这样......

 
poYBAGOS7dqAIfi0AAmJ79HZVg0752.jpg
没有RF24和Arduino Nano的组装板
 

 

 
pYYBAGOS7leAWmmeABq4uBrAEnI080.jpg
完全组装的节点
 

然后将每个节点封装在一个 3D 打印的外壳中,使其易于安装到墙壁和表面上。

 
pYYBAGOS7sCAAyDoAA-xGti3pTc450.jpg
节点和案例示例
 

由于范围问题,我修改了 RF24 以添加更长的天线。天线修改将库存 RF24 模块的范围从 5-10 英尺范围扩大到 20 或 30 英尺。为了修改 RF24 天线,我将一根 18 号实心线剪成大约 7 英寸,并将其焊接到 RF24 天线走线的末端。警告:如果对天线施加的压力太大,延伸 RF24 天线可能会拉起 RF24 模块上预先存在的迹线。

 
pYYBAGOS7waANpoRAA3OCKVeGc0671.jpg
库存RF24和天线
 

 

 
poYBAGOS70-ADNQzAA9xFJdrdMY314.jpg
预焊RF24走线,排好天线,上电烙铁
 

 

 
poYBAGOS75aABXngAA-G9el4DDA432.jpg
使用大量的焊料
 

我在新天线的两侧涂了一大团热胶,因为在实验过程中,我发现它有助于将新天线加固到 RF24 模块。

 
poYBAGOS79OAfUHPAApO-WimqQE415.jpg
基础节点和树莓派服务器
 

为了将系统整合在一起,每个网络都需要一个将所有数据路由到的基本节点。在我的项目中,我使用通过串行电缆连接到 Raspberry Pi 的节点。节点用于发送和接收网络消息,RPI 用作记录和解释数据的中央服务器(服务器程序将在本项目后面解释)。

 
poYBAGOS8CuANyKIABRSDaADdlg661.jpg
节点和案例
 

节点和基础编程

对于这个项目,我专门使用RF24Network库(由 Tmrh20 创建)来处理 RF24 消息传递。RF24Network 库允许您在树结构中构建节点网络。地址以八进制格式写出。每个 RF24 模块最多可以分支成 5 个节点,这些子节点的地址后跟父地址。因此,如果我们要将两个节点分配到节点 2 下,那么我们将一个节点指定为 012(第一个节点是节点 2 的子节点),另一个节点指定为 022(第二个节点是节点 2 的子节点) .

 
poYBAGOS8C-AR8XtAABAhfTt1B8672.png
寻址是在树结构中完成的
 

所以你可以更好地理解一点,这是我网络中连接的几个节点的基本布局。

 
pYYBAGOS8DGAYJ16AADtJXWqzZs937.png
我的网络结构
 

我使用节点 01、011、0111 和 01111 作为转发器节点,这意味着它们主要用于从树结构中更靠下的节点传输信息。节点 03、0211 和 0311 都是传感器节点,这意味着它们连接了传感器,这些传感器生成我们需要发送回节点 00 的数据。

 
pYYBAGOS8FWAK8fPAAlAzbbI23c027.jpg
中继器示例(这是2楼的中继器)
 

 

 
poYBAGOS8KiAKy81AA6rFIiacm8414.jpg
中继器的另一个例子(这是3楼的中继器)
 

节点和传感器程序

Node 程序在您正在创建的节点上运行。这是充当端点的程序,其中数据从连接到节点的传感器生成。我提供了一个没有对我的传感器进行任何修改的节点代码版本(带有解释发生了什么的注释),但我还包括我为我的项目网络编写的程序(与节点代码略有不同)。

基地计划

基本程序是您在基本节点(标记为节点 00)上运行的程序。

关于程序需要注意的一点是,当您为消息创建数据结构时,端点程序和基础程序中的 C 结构需要相同。

将传感器附加到节点

该网络推出了 3 种传感器类型,用于测量谷物箱满满程度的传感器,用于监控某些电机功率输出的传感器,以及为我们提供建筑物周围温度和湿度读数的传感器。

粮仓传感

 
poYBAGOS8K6AGOCBAAErC1Ll15c861.png
超声波传感器接线
 

为了测量粮仓的深度,我在粮仓顶部安装了超声波传感器,使传感器指向仓内。然后我将 3 个超声波传感器连接到我在节点的原型板区域设置的引脚。每个回声针都连接到一个单独的 Arduino 针,但触发针是共享的,以便于编程。

 
pYYBAGOS8NqAPhSOAAmcxaR9iMY186.jpg
垃圾箱传感节点(3 个垃圾箱的 3 个超声波传感器)
 

 

 
pYYBAGOS8ROAM78IAAqyh5JCO3M115.jpg
另一个附有 3 个超声波传感器的节点
 

 

 
poYBAGOS8UGAXcl5AAp9VNo6YtY637.jpg
安装在垃圾箱上的超声波传感器图片
 

温湿度传感

 
pYYBAGOS8UOAANkqAACcMU8Srfw217.png
DHT11接线
 

DHT11用于测量整个厂房的温度和湿度。这是重要的信息,因为在处理谷物和面粉时,温度和湿度的波动会影响面粉的研磨细度。

 
pYYBAGOS8buALFCDABfNec53P9I433.jpg
带有超声波传感器和 DHT11 的节点
 

 

SMVector 3 相控制器监视器

 
pYYBAGOS8cGAM8WuAACFBDfL0cs745.png
监控 SMVector 控制器的节点
 

要将小麦浆果磨成面粉,我们必须用石磨研磨浆果。磨机本身使用连接到 AC Tech SMVector 控制器的三相电机运行,该控制器可以选择输出 0-10 伏模拟信号,该信号与电机消耗的电流成比例。这对于监控很有用,因为石磨可以打开其进料机构,让更多的谷物进入磨机,这使得磨机更难研磨谷物。最终,这会导致电机试图补偿、吸收更多电流,并最终过载和卡住。网络允许我们远程监控电流,因此如果我们看到该值稳定上升,我们可以在磨机开始超载之前手动关闭进料机构。该电路充当分压器,

 
poYBAGOS8huAF3lgABMy1XmRrWQ430.jpg
石磨设置
 

 

 
pYYBAGOS8lWAHdewAA4zZP6YmPk067.jpg
连接到 SMVector 控制器的节点
 

Python服务器程序

消息从网络中的 RF24 节点发送后,消息被路由到基节点(地址 00),然后作为字符串通过串行电缆发送到 Raspberry Pi。

 
 
 
 
poYBAGOS8luAFTCYAAEDigLwULE211.png
 
1 / 2消息发送到节点 3,在下一行回复
 

该程序将收到一条消息,将其分解为多个组成部分,解释数据,然后将其显示在 GUI 中。从 GUI 中,您可以查看节点\传感器信息并使用输入框和“发送命令”按钮向节点发送消息。每 10 条消息后,程序会自动将节点信息保存到文本文件中,以便日后分析。

 
pYYBAGOS8l-AX6ugAAEJBBlifOU147.png
带有时间戳、电池电压、原始数据和解释数据的文本文件
 

最后的想法

我这个项目的目标是建立一个 RF24 网络,可以从一个中心位置监控我们工厂的不同部分。通过使用 RF24 模块、Arduino Nano 和各种传感器,我能够创建一个廉价的解决方案来完成我的目标,同时构建一个可以轻松构建和扩展的强大框架。虽然网络不是完全无线的(节点需要电源线,除非节点由电池供电),但在网络中实施新节点就像打开设备一样简单。

更新更好的版本

如果你想在我已经完成的工作的基础上再接再厉,我设计了一个更好的 PCB,它更容易制作传感器。我会将该板作为 gerber 文件包括在内,如果您想根据我的工作构建自己的网络,我建议您使用 Network Board 版本 2 而不是版本 1。

 
poYBAGOS8oeAJET4AAyDRfWRj6k497.jpg
RF24 网络板 V2 旁边是其外壳原型(尚未完成)
 

 


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !