Serial communication with RJ45/RS485 MPPT solar charger

Hi All,

I have bought following MPPT charger which has RJ45/RS485 port for communication (it comes with RJ45 to USB ttl cable) and it has its own PC program for monitoring the parameters of the Solar Panel, however i would like to get the data over Arduino and upload them to thingspeak.

Here are some notes;

MPPT charger : http://www.cnbou.com/10a-mppt-solar-charge-controller/
RJ45, RS485 to USB ttl cable : https://www.amazon.com/USB2-0-Interface-Adapter-Converter-Chipset/dp/B008BZBJ92

I am using standard ethernet cable between charger and the converter.

Charger RJ45 wiring;
(1, 2 ,3, 6)
orange-white (2.6V) , orange (seems ground) blue-white (0.23V) , blue (0.23V). it seems blue and and blue-white are short to each other.

I wonder if it is possible to connect the USB pins (5V, GND and Data-+ to as Tx,Rx) to Arduino and communicate via serial port?

OR

I could use the RJ45 out which has 4 cable which i am not able to distinguish the pins for max485.

Any advice is welcome.

I wonder if it is possible to connect the USB pins (5V, GND and Data-+ to as Tx,Rx) to Arduino and communicate via serial port?

No. Although USB transfers data serially it's far from being compatible with TTL UART style devices.

But you can use a MAX485 (or similar) to connect the RS-485 bus to your Arduino. As RS-485 transmits information by a differential signal you cannot simply measure voltages to get the pinout.
Do you know what protocol the charge controller speaks on the RS-485 bus? Reverse engineering a completely unknown protocol needs a lot of time and a deep knowledge of the transfered information.

Manufacturer says it is MODBUS RTU. They were kind enough to send the protocol also. I know what will i get when i read the holding registers, however they did not give the RJ45 pinout. actually the problem is having 4 wire output. I am not really aware of the pin correlation with max485.

I wonder if the following one will help here?

pylon:
Do you know what protocol the charge controller speaks on the RS-485 bus?

I wonder if the following one will help here?

I guess not. Without a documentation of the pinout it quite difficult to find out what the pins do. Theoretically it can be that you have a full-duplex RS-485 bus, so you have one pair of wires for one direction and another one for the other. In this case you would need a driver chip as the MAX1318X.

Manufacturer says it is MODBUS RTU. They were kind enough to send the protocol also.

Does that means you got a complete description of the registers supported?

pylon:
MAX1318X.

I could not find that chip, Could you please provide a link or datasheet for more info.

Does that means you got a complete description of the registers supported?

I dont know whether the legal restrictions therefore i only place a piece of commands here.
.
For instance, if we read the "holding registers" at (0x37) charger responds its current temperature.

I could not find that chip, Could you please provide a link or datasheet for more info.

MAX1318XE

I dont know whether the legal restrictions therefore i only place a piece of commands here.

Did you sign a non-disclosure?

pylon:
MAX1318XE

Thanks. I am going to check it out.

Did you sign a non-disclosure?

No, I only don't know there are obligations if i share it at public domain.

No, I only don't know there are obligations if i share it at public domain.

If they didn't tell you that you must not open it, you're free to share with us. I don't know your legislation but I don't think that they can do you any harm if they didn't tell you that you don't allowed. Anyway, it's your problem but don't expect help from us if you keep the documents secret.

pylon:
but don't expect help from us if you keep the documents secret.

I believe you also know that my topic is not about arduino coding or Mod bus rtu. Actually, i am not totally keeping secret here. Because the reading or writing commands are very well known with MOD BUS RTU.

If you really say that someone will place an answer of distinguishing the pinout of the RJ45/RS485 and way of communication with arduino when i share the MOD BUS RTU (which is not a secret) protocol. If yes, i will immediately share.

I found the pinout of the adapter you use here:

TXD+ pin 1
TXD- pin 2
RXD+ pin 3
RXD- pin 6
Ground pin 8

As I expected you have a full-duplex bus. It seems that in your case GND is not connected but that isn't necessary anyway (differential signals).

If you really say that someone will place an answer of distinguishing the pinout of the RJ45/RS485 and way of communication with arduino when i share the MOD BUS RTU (which is not a secret) protocol. If yes, i will immediately share.

That sentence was regarding the implementation of the ModBus RTU features. Of course help for the pinout does not depend on that documents.