1
\$\begingroup\$

I have an RS-485 input / output from a solar charge controller (SCC) and would like to read the output in two locations, while maintaining its input from one, or hopefully both of those locations (see pic below) everything will be contained within less than a metre square, so distances are not an issue:

Here's the setup - I have an Epever Tracer-BN solar charge controller in place and it has an RJ45 connector on the bottom, which gives data output and accepts some inputs to allow configuration and make read requests of the SSC. There is a proprietary bit of kit to display the output and allow me to change some setting on the SSC, but I would also like to be able to perform the same functions on a mobile app, so need to duplicate the signal to a Raspberry Pi.

basic setup

The SSC only has one connector, and the supplied cable for that is an RS-485 with RJ45 connectors on it that looks like this:

SCC RS485 cable

I can connect to the Raspberry Pi using pins 3&5 or 4&6 into an adapter (link). Can I split the cable by connecting the remaining pair (4&6 or 3&5) into the proprietary monitor, or is this likely to cause problems, for instance because the signal will be... weaker? in some way broken?

I get that this is not a set of hardware that many people are probably intimately familiar with, but I am entirely unfamiliar with any of this stuff and I reckon that anyone who has a good working knowledge of the way these cables and information happens will be able to make a better judgement call / best guess than I can! I'm worried that there might be general problems associated with splitting a cable in the way I suggest.

I am particularly concerned because all the hardware I can find on the internet to do this apparently simple job is exorbitantly expensive, which makes me think that actually it is a very complex thing to do and I must be missing something. All the similar projects for specifically solar setups do not split the RS485 cable so again, I worry that there may be some reason why doing so is impossible.

Any thoughts or advice would be extremely welcome! The basic question I am asking is "do you think this will work, or do you foresee some potential problems I will encounter trying to split this cable?"

\$\endgroup\$
3
  • \$\begingroup\$ This is effectively unanswerable without knowing the behavior of the software. You can spy on unsolicited or reply data sent to the other device, but to request your own replies you would need to not collide with requests from that so you would need to predict it's behavior, or learn if the occasional collision can be tolerated. \$\endgroup\$ Dec 19 '18 at 14:36
  • \$\begingroup\$ I had not considered the software at all... so you mean it may work, but it may be that if I go to the shed and use the MT50 monitor to send changes to the charge controller, the data feed to the Raspberry Pi may be interrupted and vice versa? If that is the case then I may as well install a switch... \$\endgroup\$ Dec 23 '18 at 21:37
  • \$\begingroup\$ @David Smyth, from reading the eLog01 specification epsolarpv.com/product/56.html, I don't think converting the USB output of this module to RS485 is going to give your the real time data you are after. The USB interface on the eLog01 is used to pull stored/captured time series data, that it collects from the upstream RS485 connected solar controller during its normal course of operation. As such, the Wifi/bluetooth module connected to this is not going to observe the same control data as presented by the original RS485 interface. \$\endgroup\$ Aug 22 '20 at 21:37
1
\$\begingroup\$

I wonder if you could try something like this ethernet splitter to split the signal, though as you say it will probably halve the output voltages, and depending on the requirements of your instruments that might cause issues. These cost ones of dollars, so you might as well give it a shot! Apologies if the proprietary monitor doesn't take a standard RJ-45 cable...

Ethernet Splitter

\$\endgroup\$
2
  • \$\begingroup\$ I'm hesitant to use an ethernet splitter in case there are impedance matching passives in there that are inappropriate for the OP's case. Do you have a link to an example device? \$\endgroup\$
    – Reinderien
    Dec 19 '18 at 14:18
  • 2
    \$\begingroup\$ Ethernet can't be split like that unless different pairs are routed to each side. And this would not "halve the output voltages" \$\endgroup\$ Dec 19 '18 at 14:38
1
\$\begingroup\$

RS-485 is meant to be divided between nodes in a daisy-chained fashion with no stubs. Effectively, looking at your diagram, one of those three arrows needs to be shortened to a zero or near-zero length, and then you will have a daisy chain.

Another requirement is termination. Check on your adapters, because "good" adapters will have selectable termination. If it's on, resistors will be connected to match the impedance of the cable at the end of the chain, and if it's off, the resistors will be disconnected so that the device can exist in the middle of the chain.

If you fail to do the two things above, the maximum speed of your transmission will be affected, and you will get signal reflections. The degree to which those affect your signal will vary based on length, bit rate, and the quality of your RS-485 transceivers.

@ChrisStratton's advice above also needs to be taken into account. If the protocol is usually of a uni-directional (SSC to listeners) nature, it should be relatively safe to add multiple listeners. If the protocol is strongly bi-directional, and if the software has no tolerance for collision avoidance or collision recovery, then your data will be corrupt no matter how well the hardware side of the line is set up.

\$\endgroup\$
2
  • \$\begingroup\$ are you saying that I should go "through" (e.g.) the Raspberry Pi, producing a new signal from the Pi that can be supplied to the monitor? \$\endgroup\$ Dec 19 '18 at 16:07
  • \$\begingroup\$ If what you're asking is whether the Pi needs two transceivers, then no. You should be able to get away with one transceiver where each of its terminal block inputs has two wires in it - going in both directions of the daisy chain. \$\endgroup\$
    – Reinderien
    Dec 19 '18 at 16:09
1
\$\begingroup\$

Since your Raspberry is USB, you could buy the cheap eLog01 from Epever which takes the RS485 via RJ45 connector and produces one RJ45 output which can run your MT50 and the other output is a mini USB which can connect directly to a PC and should also run your Raspberry. The eLog01 in itself is an interesting device. I have this same setup in my solar arrangement and it all works really well. I am interested in connecting the Epever bluetooth monitor too, so am currently looking at USB-RS485 converters that would allow me to run the BLE-01 from the eLOG01 usb output. This is an ongoing experiment so I have not yet fully implemented it... I'm waiting on a CH340 chip based USB-RS485 converter to arrive so I can begin the next phase.

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.