I'm designing an industrial solution for monitoring and controlling some large raw-material processing machines. What I want to have is an RPi Pico at each piece of equipment that can standalone monitor temperatures and current draw of some motors, and then adjust feed rates and cooling accordingly. This part is simple enough for a microcontroller, which will also have a little LCD screen and some buttons for configuring it on the fly.
The hard part I am facing is trying to figure out how to communicate status to a central RPi 3. The environment is going to be very noisy with electrical interference from 20+ 2-phase and 3-phase electric motors, so WiFi connections are spotty at best, and there is a LOT of heavy steel everywhere. So I want to use protected and shielded Cat5e cable to directly wire up all of the nodes to the central Pi, but the distance is expected to be up to 30 meters for the farthest device.
Unfortunately the Pico doesn't have Ethernet built in, but I was thinking of trying to perform a serial bus connection between them with the Picos as slaves and the Pi3 as the master. I've seen some ethernet "shields" but they use too many pins as I need several for my sensors, screens, and controls. From what I see online is that most of the serial types the Pi support won't work over long distance (SPI, I2C, UART, etc.).
I'm just wondering if anyone knows how to send a reliable serial connection down a long Cat5e cable. Some people online talk about RS485 or CAN, but the Pi doesn't support those, and I have no experience with them.
- Distance: Up to 30 meters (farthest Pico device, most are between 10m-20m)
- Picos: Up to 10
- Power: 12VDC and Ground (I plan to have a 5V regulator at each pico)
My current thought is to use RJ45 pins 1-2 and 7-8 as 12VDC/GND pairs, then the central 4-5 pins for serial. Originally was looking at trying to send I2C down it but feeling discouraged about its capabilities even though Cat5e has low capacitance and impedance with the twisted pairs.
Note: I need to isolate the ground because if a motor blows, it can cause huge localised voltage spikes that can fry electronics. So I want to send power and ground over the cable. Using 12V to reduce the amperage needed to power everything.