I am trying to develop a sensor network for a rainwater collection system. The setup consists of four "nodes" and a master, where each node has an ultrasonic distance sensor to measure the water's height and a generic MAX-485 transceiver module for communication.
Everything connects to an ATTINY-85 running a simple script and the required MODBUS C libraries. A generic RS-485 to USB dongle is responsible for interfacing with my laptop (eventually a Pi 2B+). I was powering everything with two BK1673 lab power supplies.
I had no issues until I decided to use the power supply module on site. It is rated 24 V @100 W and is located in an enclosure powering a small alarm system and some lighting. It is overkill, as the whole lot draws about 20 W. I installed one node to test before setting the remaining three up, but to my surprise, I received no answer. I suspect there might be some issue with a ground loop.
Each node draws about 25 mA at idle with bursts of 50 mA when communicating (lab testing), so I don't suspect a lack of power being the culprit. Noise doesn't seem to be an issue as the installation location is far from civilization. Biasing and termination resistors are in place, and all nodes are daisy-chained. Powering via a battery, power bank, or lab PSU solves the problem but is not practical. Also, ten feet of CAT-5e between every node linked everything at the lab.
- Node as is
Would integrating a small DC-DC converter and optocouplers, and adding a signal ground solve my problem?
- Proposed Node with isolated RS-485 section
EDIT:
First of all, thanks for helping! In hindsight, not having any grounding between nodes is dumb. I will link them with a third conductor. I plan to do this by connecting the negatives of every node to the negative connector of the dongle USB port, hopefully referencing everything to mains earth.
As soon as possible, I will rewire the system as follows.
Furthermore, there are four resistors in total; two 650 OHM biasing resistors connected to the 5V power rail on the last node and two 100 OHM termination resistors at the start and finish of the RS-485 bus. CAT-5e has an impedance of 100 OHMS, but the transceiver can drive 100 to 120 OHM impedances according to its datasheet.