最近我家有这么一个需求,请大家帮我 brainstorm 一下。
假设有一条 1000m 长并且有弯曲的巷道,在地下负 500 米处。巷道内每隔 10 米有一盏灯,共 100 盏灯。灯之间都是并联,受同一开关控制。但是由于灯泡可能老化坏掉,因此其中某几个灯泡不一定会亮,这种情况非常危险。
为了保证工人安全,在灯亮起后,需要在一分钟之内获得每个灯泡的工作情况,如果有任何灯泡坏掉就不能继续作业。
我的设想是,在每盏灯上加装一个电流传感器,采集电流数据判断。因为灯泡坏掉就是灯丝熔断,不可能短路,因此电流为 0 时就可以判定该灯泡坏掉了。
问题是,在一个 1000m 长的巷道内,如何采集 100 个传感器的信号。
最笨的方法是在巷道的一端架设一台大交换机,然后接 100 根网线到每个灯上,用树莓派进行采集。但是这个方案无法扩展,而且布线困难。
我能想到的办法是在巷道内布置一些 AP,实现 Wifi 覆盖,然后用支持 MQTT 的智能灯泡连接。在服务端通过 MQTT 查询每个灯泡的工作情况。
可以使用 Zigbee 来控制灯泡,不过不知道是否支持 100 个节点的链
请问大家还有更好的办法么?谢谢!
1 whileFalse 2020-07-09 13:56:39 +08:00 LZ 这是要干大事儿啊。 |
![]() | 2 rabbbit 2020-07-09 13:57:14 +08:00 矿井? 看看矿下的人员定位用的啥设备,可能已经有 wifi 之类的了. 布线也没啥的, 矿下摄像头也一样都是用的线. |
![]() | 3 lsylsy2 2020-07-09 13:59:41 +08:00 ![]() 智能家居不适合工业环境,你应该去看看单片机、RS485 那一套。 |
![]() | 4 kruskal 2020-07-09 14:00:05 +08:00 ![]() 家里有矿? |
![]() | 5 vmebeh 2020-07-09 14:00:48 +08:00 via iPhone 上防爆灯 专业的让专业的来 |
![]() | 6 gamexg 2020-07-09 14:01:17 +08:00 via Android 记得路灯上是有现成的方案, 用的电力通信 |
![]() | 7 woodensail 2020-07-09 14:02:32 +08:00 额,感觉最省成本的方式是从单片机拖一千根线出去,然后一根一根扫就是。担任 1 千根确实多了点。 那就上扫描码,35*35,一共 70 根线就够。 还是有点多,那就上 6 转 64 译码器。一共两个,那 12 个控制针脚就够了。 |
![]() | 8 lsylsy2 2020-07-09 14:06:16 +08:00 光敏传感器连接单片机发送数据,或者暴力一些直接接继电器,当亮度不够时通电点亮警告灯,一个点应该 10RMB 以内可以解决。可靠性不会比本来也只设计家用级别的树莓派差,还可以每个灯配两个传感器 |
![]() | 9 lsylsy2 2020-07-09 14:07:32 +08:00 ![]() 不要小看家用路由器之类产品上面的“仅供室内使用”标签,出了故障出了事故这就是你监管不力不符合标准的罪证 |
![]() | 10 woodensail 2020-07-09 14:13:47 +08:00 首先 12 个针脚分两 a/b 两组组,每组接一个 6/64 译码器。此时你得到 a1-a64,b1-b64 共 128 根线,你可以控制其中任何一个为高电平。 然后 a1 线串上 1-64,a2 线串上 65-128 依次内托。b1 线串上 64n+1 (也就是 1,65,129...),b2 串 64n+2 。这些线一共可以接 4096 个监控原件。 最后你还需要一根回,把所有灯泡并联上去,大功告成。 工作的时候,就是每次先 a1-a64 扫描一遍,然后 b1-b64 扫描一遍。假设编号 500 的等坏了。那么你就会发现 a8,b53 两个信号有异常。 |
![]() | 11 kop1989 2020-07-09 14:14:45 +08:00 ![]() 如果脱离生产环境,只讨论理论可能的话。是不是可以通过总功率来判断? 假设 100 盏灯,每盏灯 10w 功率,那么正常功率消耗应该就是一个固定的值(不是 1000w,因为有线路损耗啥的)。 如果某一次测得总功率比额定功率变化超过了+-10w 的范围,那么必然是有一个或以上灯泡损坏(短路、开路都可以覆盖)。 |
![]() | 12 gamexg 2020-07-09 14:14:57 +08:00 via Android lora 也是一个选择,通信距离是千米级别 |
![]() | 13 woodensail 2020-07-09 14:17:37 +08:00 不对,我突然发现,没必要分 ab 两组,直接把译码器拉出来的线分两组就行。32*32,1024 个也够你用了。 这样 6 个控制针脚加 1 个用来接回线的输入针脚就够 |
![]() | 14 Xusually 2020-07-09 14:20:43 +08:00 ![]() 这些灯泡专用一路电,电力线通信( PLC ),应该是有现成的方案 |
![]() | 15 Exin 2020-07-09 14:23:40 +08:00 如果线路是专门为所有灯泡供电的话,在线路上测总电流就行了吧 |
![]() | 16 takemeaway 2020-07-09 14:25:03 +08:00 这个时候,激光通信的作用就来了。 每个灯泡上集成激光通信模块,互相连接,中间有故障灯马上可以知道。 |
17 b7ur 2020-07-09 14:26:08 +08:00 那这么复杂,如果电泡坏了,就由单片机发出坏的信号。100 个灯泡由单片机检测一遍,然后发回正作状态就可以了,要么布线,要么无线( lora 不一定能在矿下工作,lora 需要基站的) |
![]() | 18 interim 2020-07-09 14:29:07 +08:00 可以尝试了解 zigbee 组网,只要不是节点连续掉了好几个,都能自组网回来,完全可以容纳 100 个,就是不知道你这个巷道弯曲程度对信号的影响,还是需要实际测试下。 |
19 lx0758 2020-07-09 15:07:20 +08:00 要不试试底层一点的, IIC 协议 |
![]() | 20 PopRain 2020-07-09 15:08:17 +08:00 应该有工业总线去解决吧,没有听说过谁给每个灯泡都拉一根网线。。。。。或者,这个速率没有要求,用之前的同轴电缆总线网络结构也可以,一根同轴电缆就可以了 |
![]() | 21 bagheer 2020-07-09 15:15:59 +08:00 ![]() 这还不简单,改成串联的 |
![]() | 23 VictorJing94 2020-07-09 15:24:20 +08:00 一根线就好了....wifi 不现实 |
24 windyland 2020-07-09 15:39:24 +08:00 via Android ![]() 有个简单的办法,就是载波,在其中一条电源线(火线)的端口处放一台载波发生器,然后在回路(零线)接口处放一个接收装置,载波沿着线传播,由于路径的不同,能收到 100 个时序信号,接着就是定时发射信号,然后和历史数据比对,断路的损坏灯泡会让载波少个信号,如果这样的设备做不出来,可以直接加个瞬变电压,灯泡结构简单不会被瞬时电压损坏(注意去除市电的杂波干扰),但是接收设备却能很简单的接受到 100 个瞬变电压信号,做好滤波,然后把 100 个灯泡分组,这样帮助工人及时确定损坏灯泡的位置,但是也要考虑到各种接触不良导致的异常信号,但是这就是后期优化的水磨功夫了,我打比赛的作品,原理和你这个有些类似,只是我监测的是裂隙。 才疏学浅,如有不足,见谅! |
25 wty 2020-07-09 15:42:12 +08:00 via Android TDR (开玩笑的) 用 485 总线? 485 倒是一次挂不了这么多设备,但是用同样原理的电路,降低速率,用更强驱动能力应该还是能搞定的。反正也没限制功耗,力大砖飞就完了不过缺陷是不能有设备短路的情况,短路的话全部的通信都会挂掉。 |
![]() | 26 lsylsy2 2020-07-09 15:48:22 +08:00 @wty 用中继器做分段的话设备数量就可以解决 以及目的是“安全监测”的话,设备短路也是一种需要检测出来的损坏,只要能排查出是哪一段损坏,比较快的修复就可以吧 |
27 wty 2020-07-09 15:49:59 +08:00 via Android 刷新了一下发现 24 楼的原理挺像 Tdr 的,感觉灯泡阻抗太低了,信号源难搞 |
![]() | 28 x86 2020-07-09 15:54:18 +08:00 现在矿场都招程序员了嘛 |
![]() | 29 locoz 2020-07-09 15:56:31 +08:00 |
30 Ediacaran 2020-07-09 16:07:15 +08:00 via iPhone Zigb 或者蓝牙 mesh |
![]() | 31 mlhorizon 2020-07-09 16:09:38 +08:00 检测灯的损坏,用电流传感器没问题。 组网的话,载波通讯应该是 OK 的。 无线的话,ZigBee 肯定能行,BLE MESH 方案也可以试试。 |
![]() | 32 maweihao999 2020-07-09 16:26:45 +08:00 via Android 低压电力载波 |
33 David1119 2020-07-09 16:29:07 +08:00 modbus+带 modbus 的电流互感器 |
34 PineappleBeers 2020-07-09 16:33:54 +08:00 esp8266 之类的单片机做 mesh 即可。 |
35 thtznet 2020-07-09 16:55:52 +08:00 灯泡冗余,蓝牙 MESH 或者 WiFi MESH 都可以。 |
36 xd314697475 2020-07-09 17:22:01 +08:00 ![]() 矿井吗?之前公司用的是华中科合作的定制传感器 给每个灯旁边安装一个光敏电阻来短路报警线路,如果有灯不亮则线路联通,警报灯亮? |
37 BreadBig 2020-07-09 17:26:50 +08:00 第一想法是,这个是数学题目吗,并联电路的总电流等于各个分支的电流之和,每个灯泡的工作电流稳定的情况下,监测总电流的小于目标电流的最低阈值,是不是就可以知道有灯泡没工作了? |
![]() | 38 SteveLee 2020-07-09 17:31:52 +08:00 via iPhone lora mesh 组网 |
39 optional 2020-07-09 17:43:45 +08:00 我觉得最简单的是买 100 个灯泡啊,如果一个灯泡坏掉的概率是 1/100 的话,那么 2 个一起坏掉的概率是 1/10000,再优化下排列的方式,让灯泡坏掉的情况变得不是那么严重,这样人工巡检一天一次就能解决问题了。 |
40 optional 2020-07-09 17:44:00 +08:00 再买 100,用一份冗余 |
![]() | 41 cpstar 2020-07-09 17:54:36 +08:00 ![]() 就只有一个灯管的监控?将来不做瓦斯浓度的监控么? 那如果不想折腾,弄一大堆什么职能 LED 灯泡,然后一大堆 zigbee 网关,一层一层堆叠呗。 如果想折腾,无线的方案就不要考虑了,纯耗散精力。前述的一千根线是个方案,但是没必要真的一千根,串联+并联的方式,再上级联,简化布线,也许几个 arduino 就够了 |
42 zdphpn 2020-07-09 18:13:08 +08:00 via Android 第一想法,每个灯的旁边都装一个检测灯是否亮着的从机,所有的模块通过 485(可以用中继增加节点个数)连到主机。 从机,检测灯亮有很多方法,光感,电流,用过简单的方法串两个二极管,测二极管上有没有压降。 主机,可以开发一个主机或者直接用 PC,轮寻从机获得灯的状态即可。 |
43 zarte 2020-07-09 18:40:38 +08:00 ![]() 铺个轨道,放个光感小车检测的时候小车来回跑一圈就知道了。要不然每个灯旁加光感检测。 |
![]() | 44 opengps 2020-07-09 18:52:46 +08:00 via Android 楼主把问题想复杂了,来参考下我这里汽车定位器平台的解决方案:每个节点(对我是车,对你是灯)内置一个可远程控制的流量卡即可 |
![]() | 45 opengps 2020-07-09 18:53:56 +08:00 via Android 地下,,,需要追加蘑菇头传输信号 |
46 lty1993 2020-07-09 19:42:11 +08:00 LoRaWAN |
![]() | 47 dapang1221 2020-07-09 19:47:07 +08:00 ![]() 这个,这个还真有现成方案,参考下消防报警器吧,每个手报都有一个独立的编号,实际上就是组网 |
![]() | 48 leavic 2020-07-09 23:13:27 +08:00 这是真矿主啊 |
![]() | 49 leavic 2020-07-09 23:16:35 +08:00 话说,这问题最简单的解法,还真就是改成串联 LED,一个断了直接就没电流,你在井外都能现。 不要扯成本,矿主没资格扯成本。 而且,串联布线这个成本也太低了,原来的 线直接放弃不用都不是啥问题。 |
![]() | 50 gainsurier 2020-07-09 23:17:15 +08:00 via iPhone 通讯管理机解决啊 |
![]() | 51 leavic 2020-07-09 23:23:01 +08:00 当然,本着严谨的态度,本公司从事电力载波行业多内,也算业内翘楚级别,你这个需求用电力载波解决其实挺简单的。 电流传感器直接输出 AD 数据也好,还是输出串口数据也好,直接接入载波芯片数字接口端就可以了,载波端直接接入电线,只要你这些电线是通的,我们一般就没啥问题,100 个节点组网是小意思。 电流传感器其实不一定合适,改成 i2c 输出的光强度传感器可能更合适,毕竟间隔 10 米了,真灭了光强度变化还是挺大的,而且不担心电流传感器本身对线路稳定性的影响。 |
![]() | 53 leavic 2020-07-09 23:30:58 +08:00 载波方案的话一颗载波芯片+PA+外围物料+PCB 能控制在 20 以内。+一个光强度传感器大概 4~5 块。 无需额外布线,但载波有个问题是,你没有低压直流电供载波芯片工作,不过上面所有的方案其实都有这个问题,所以额外的 AC/DC 我就不考虑了,非要算的话,一个 12V 电源大概 20 块。 最终一个节点 50 块成本能搞定。 只要你找到人帮你做这个项目,毕竟量产 100 台。。。不够塞牙缝。 |
![]() | 54 leavic 2020-07-09 23:32:26 +08:00 ![]() 原谅我废话一句,我确实挺感谢楼主你这个帖子的,让我深刻的认识到了载波芯片不能直接利用 220V/380V 工作是个多严重的问题,这简直是给电源厂家打工。 |
![]() | 55 niubee1 2020-07-09 23:34:41 +08:00 可以用 lora,一个 lora 模块几十的成本, |
![]() | 56 tolerance 2020-07-09 23:55:28 +08:00 电力猫合适么?感觉电力线路比较单一,每隔 200 米一个电力猫子猫,电力猫信号应该够用 |
57 sailtao 2020-07-10 00:19:46 +08:00 在封闭且有阻碍物的环境无线信号传递是利用了矿洞内的反射,wifi 等常用无线设备效果不行,大部分使用 lora,而且矿洞内使用的设备在设计、用料、摆放位置都非常讲究,需要考虑的因素非常多。既然是为了安全,还是应该找专业的公司。 |
58 starqoq 2020-07-10 01:58:05 +08:00 用 CAN 总线穿起来。每个灯泡下面加一个单片机和检流电阻。但是要额外布线 2 根。 i2c 是板内总线。大力用黑科技能跑 50m,1km 太夸张了。 |
59 jfcai 2020-07-10 07:20:44 +08:00 via Android 学到好多知识,如果是我应该会选载波方案。 |
![]() | 60 594duck 2020-07-10 07:33:16 +08:00 via iPhone 我也很感谢楼主的帖子。让我可以简单的拉黑一堆脑残,省的日后相见。 还有人说串联的,典型的初中物理不及格 |
62 shaopu 2020-07-10 08:18:39 +08:00 用 esp32 的 ESP-MESH,自组网~ https://docs.espressif.com/projects/esp-idf/en/stable/api-guides/mesh.html 成本也不高~ |
63 lloovve 2020-07-10 08:27:40 +08:00 via iPhone 上电延时电路,然后总线上安装电流检测,这样就可以判断出哪个坏了,不过最好的方法就是 485 通讯 |
64 David1119 2020-07-10 08:33:59 +08:00 一群没有现场经验的在这瞎吹,普通等级走 485 就够了,等级高的上本安模块 |
![]() | 65 billwang 2020-07-10 08:38:59 +08:00 可以考虑特殊的电缆,就是电缆内部穿着光纤,目前电缆井和你这个异曲同工,都开始 IOT 化了。 |
66 fengtons 2020-07-10 08:49:40 +08:00 via Android RS485 通讯距离 1KM 没问题 |
![]() | 67 winglight2016 2020-07-10 08:56:23 +08:00 只看灯亮没亮根本不需要智能设备,我记得高中物理里有这种题目,只需要测试并联电路两头灯电流就好了,多一盏灯和少一盏都会导致电流变化。最多,你加个电流传感器并且自动帮你计算电流波动值,然后亮个警示灯就够了。 |
![]() | 68 diyisoft 2020-07-10 09:10:31 +08:00 在井下搞这些必须,设备必须要带 MA 标志吧。虽然楼上有很多解决方法,但是真正到井下去用还是有路要走的。 走 mqtt 协议不错,如果要研发,到最后设备都要做认证的。 不然就是买现成的类似的系统,然后定制化一下。 |
![]() | 69 memorybox 2020-07-10 09:11:46 +08:00 ![]() 这个需求挺有意思的, 如果搞工程的话,1000 米的巷道,设备不动,我能想到的最简单的实际操作的办法: * 电流传感器引出到继电器,加个蜂鸣报警器,灯灭了长响几声,然后安排工人排班监控即可;制定规章制度,报警喇叭长响就暂停生产; 这个成本低,但是不自动化,要依靠规章制度和人员管理来实现; 要自动化的,不管是单片机、载波、电力线缆通信,都得要现成的厂家解决方案和成熟产品,因为井下是不能给你搞实验的,所以最靠谱的就是问有没有做井下矿灯监控的现成产品~~~这个我没接触过,期待有人推荐个成熟的厂商产品; ======================== 如果要搞研究,就复杂了,可以扩展为"如何方便的对井下数据采集" 这个问题; 我刚毕业是从事矿山机械设备维护的工作,下了不少矿井;就我的实际经验来看,技术选型首先要确定采用无线方案还是有线方案; 我更倾向于无线方案,有线方案的弊端非常明显,就我的实际经验看,在巷道里布线,时刻要面对如下问题: * 回采面不断推进,包括本安电源、照明设备、变压器等等都需要频繁移动位置,这中间拖着电源线缆就已经很麻烦了,如果再加通信线路就更累赘 * 工人维护线缆是个精细活,占用大量人工;而且去井下干过活的人都知道,井上 1 个小时能检查完的工作,井下一般要 3 个小时;如果有人在井下接过断掉的通讯线路就有体会了; * 理论上井下引入的所有的设备都要有本安认证,不管是个小小的传感器,还是电源、电缆;而且各种设备安全限制,所以在井上看来理所当然的事情在井下行不通; 刚毕业的时候能折腾,有个 idea,用本安无线 AP 覆盖巷道,把定位设备做在矿灯里,实现简单的通信、信号采集上传等等;后来做了一个原型: https://github.com/brain-zhang/icaplamp 后来发现功耗、精度、范围等等都不好达到要求,就作罢了; 后来 2014 年开始的时候,基于 Zigbee 的巷道通讯方案渐渐多了起来,我已经不再从事这个行业了,就没有深挖过;今天重新看到类似问题,又去研究了一下 Zigbee 的相关论文,我觉得这貌似是个井下组网的好办法; http://gb.oversea.cnki.net/KCMS/detail/detail.aspx?filename=DZJY201312040&dbcode=CJFD&dbname=CJFD2013 https://xueshu.baidu.com/usercenter/paper/show?paperid=e74861ebfdd52729b56bb0aab9380e9f&site=xueshu_se 搞研究的话,我倾向于 Zigbee 组网方案; |
![]() | 70 检测总电流变化不知道能不能判断出来 |
![]() | 71 nutting 2020-07-10 09:25:37 +08:00 那些 wifi,蓝牙什么最好不要搞,可靠性不行,特殊场合和环境也有限制。传感器可靠性也有问题,布线又不方便。上面说的每个灯加报警不错,坑道里应该很容易听见吧 |
![]() | 72 rainman777 2020-07-10 09:42:09 +08:00 485 |
73 chole 2020-07-10 09:46:33 +08:00 最简单的物理解决方案选择串联所有灯。 |
![]() | 74 OblivionStaff 2020-07-10 10:12:23 +08:00 串联的方案,如果有灯泡坏了,要排查并替换时,工作量太大了 |
76 bashbot 2020-07-10 10:27:26 +08:00 不要用无线方案,不要借用电力线。。 给几个方案参考: 1. 支持故障定位,采用 CAN 总线(或类似的多节点串行总线),需要两根数据线,每个灯下需要传感器和 CAN 解码器 2. 不支持故障定位,光敏传感器用一根线串联,另需一线做回路,只要回路不通(电阻高于设定值)就算有故障。 |
![]() | 77 raptor 2020-07-10 10:33:43 +08:00 这个有专门的工业解决方案啊,不要尝试用业余手段处理,靠不住 |
![]() | 78 sdushn 2020-07-10 10:39:54 +08:00 can 总线了解下?千万别用无线 |
![]() | 80 leavic 2020-07-10 10:44:45 +08:00 @Siriusie 给东家打个广告:钜泉光电,提供宽窄带载波芯片、计量芯片、宽窄带 PA 、多合一电源芯片全套方案,未来还有无线方案。 |
![]() | 82 kusys 2020-07-10 10:49:38 +08:00 走 lora, 当时兖矿有个需求,井下人员定位,我们就给他们做的 lora 方案 从设计到产品生产,都是我们做的 |
![]() | 84 zxcslove 2020-07-10 10:58:39 +08:00 如果是灯丝灯泡,每个灯串一个继电器,所有继电器串成一条安全回路? |
![]() | 85 zxcslove 2020-07-10 11:02:05 +08:00 如果是检测光线,那就用光电隔离元件做类似的安全回路,收光部分用圆筒指向灯泡防止其他光干扰。 |
![]() | 86 lsylsy2 2020-07-10 11:02:06 +08:00 |
![]() | 87 Numberones 2020-07-10 11:24:47 +08:00 @windyland #24 很高级的方法,完善成为一个工程项目都能作为一个硕士课题了 |
89 killeder 2020-07-10 13:18:00 +08:00 uwb ? |
![]() | 91 CBS 2020-07-10 13:32:53 +08:00 盗墓笔记 2020 |
![]() | 92 nielinjie 2020-07-10 13:53:53 +08:00 24 楼的方法不错,可以加个机器学习,通过回波自动判断具体哪个灯坏,把 AI 概念扯进去。 |
![]() | 93 xuxuxu123 2020-07-10 13:55:05 +08:00 想说的答案,已经有伙伴提到了;就是 zigbee 无线组网,接光线传感器,然后只需要在其中一个灯泡设置接收端进行数据上穿就更好了,以后需要架设更长的也没问题 |
![]() | 94 mosliu 2020-07-10 15:52:25 +08:00 zigbee 呗 拿个光敏电阻监测应该就行了 自由 mesh 组网。每个定时上报状态。 |
![]() | 96 bagheer 2020-07-10 23:42:12 +08:00 @ciaoly 其实很容易计算啊,多少个灯泡,电压多少。这个其实很好算,根据灯泡吧,而且很多灯泡适用电压范围很宽,电压不够就是亮度低一点,大概估算就行了,一个可调节的稳压电源搞定。 我画了一个示意图 i.imgur [dot] com/kLvqHjZg.png |
![]() | 98 prenwang 2020-07-11 09:07:59 +08:00 脑洞很大,但是基本都是瞎扯, 标准模式是安装应急灯, 对应急灯实现管理简单的多, |
99 systemcall 2020-07-11 16:16:12 +08:00 via Android 有线:RS485 或者 CAN 无线:ZigBee 这种东西用不上以太网,WiFi 也用不上。需要的是低成本、高可靠性,同时设备多、距离长,而且窄带通信就够了 RS232 可以提高电压来加大距离,但好像没那么远,应该还是得 RS485,设备倒不算很贵。 i2c 看上去很好,因为只需要走 2 根信号线就可以连接所有的设备,每个设备分配不同的地址就行了。但是距离真的没那么远,印象中用 i2c 的通过电缆传输的只有显示器的 DDC 信息 其实感觉 irda 应该也可以,加大功率的话距离也比较远。不清楚 1 分钟能不能传输完 100 个灯的状态,记得这个东西很慢 感觉还是要隔一段时间每个能够用的灯的状态都上报一遍,出现故障再报告的话,如果控制器坏了有可能报不上去 采集这方面,直接检查有没有光也可以考虑一下,光敏电阻没多贵吧,加个 LED 就可以自检了 |
![]() | 100 bbdlg 2020-07-12 05:02:16 +08:00 通过蓝牙网关,可以做跳转,成本还小。 |