Renogy DCC50S Display

Hi Jasnon,

I've found that arduino libraries are a great resource,
still struggling with the Arduino.
Can manage to read the stuff with python, see link ealier Gitlab. post #57Post #57

Could you point me to the library which you are using?

Thanks T
 
Hi Jasnon,


still struggling with the Arduino.
Can manage to read the stuff with python, see link ealier Gitlab. post #57Post #57

Could you point me to the library which you are using?

Thanks T
Wait what?

In post #94 you had the Mega working with slave simulator. What's the issue?

I am using modbusMaster.h, I gave you my code, you must be using the same library?!
 
I do not get any right messages from Renogy via Arduino Mega (clone) and MAX485.
working with the raspberry and usb rs485 and python.


Sometimes in the internet there a several library version of same library around.
Can also read messages from Master simulator and Renogy.

Maybe the Mega is broken or the MAX485.

Thanks t
 
I do not get any right messages from Renogy via Arduino Mega (clone) and MAX485.
working with the raspberry and usb rs485 and python.


Sometimes in the internet there a several library version of same library around.
Can also read messages from Master simulator and Renogy.

Maybe the Mega is broken or the MAX485.

Thanks t
Can you connect the mega to the DCC50S, and also connect your PC to the RS485, then run Slave Simulator on the PC. You should be able to see the message MEGA>>DCC50S and the reply DCC50S>>MEGA
 
Hi Jason,

I am using modbusMaster.h, I gave you my code, you must be using the same library?!

sorry I was not precise enough. I found different versions on the internet for this library, that is why I was asking.
using: ModbusMaster.h

I will also try this, as you proposed
Can you connect the mega to the DCC50S, and also connect your PC to the RS485, then run Slave Simulator on the PC. You should be able to see the message MEGA>>DCC50S and the reply DCC50S>>MEGA
. This is the advantage of the bus system of RS485

Thanks a lot
 
Hi T6Jay, You wrote, You have got some Information about RS485 Protocol of Renogy Products. Where ca I find these Information or a snipplet of Sourcecode. I've got a renogy Battery and want to read the Battery state but I cannot find any information at all. Can You help me?
 
Hi T6Jay, You wrote, You have got some Information about RS485 Protocol of Renogy Products. Where ca I find these Information or a snipplet of Sourcecode. I've got a renogy Battery and want to read the Battery state but I cannot find any information at all. Can You help me?
I've sent you the DCC50S modbus info, which is all I have. Somewhere in this thread,I think a member (maybe Boopzz) was asking about renogy batteries, but I don't know if they managed to get/create a map.
 
- @TD21 I have the modbus mappings so can get those across, just PM me your email.
- I have asked for the Smart Battery mappings and got refused, so assume they will stick to this. Realistically it shouldnt be too hard with the right kit. We need some kind of device that can sniff the data channels for the RS485. This depends on how the display polls. If it polls everything it could be time consuming, if it polls when the screen is selected then it should be ok. If its the latter you select the field on the display, the sniffer should capture the request address and the reply, you can then input into a spreadsheet what the request, reply and also what the display shows and this should show you the unit. In the modbus mappings for temp for example its a 7 bit register and the 7th bit is the polarity so that throws into a mix some complexity!
- Yes I'd like to complete the python script and turn it into a proper driver with every value available, partly why I tried to keep the repo seperate from a full stack for the van but pull from it
Hi boopzz, I'm looking for Modbus protokol of the Battery "RBT100LFP12S-DE" too. Canu get me some Information about device number and Registers? I only want to reed registers to get the state of the battery. If You have some information, can You send me to arnold.beck@web.de?
Thank You,
Arnold
 
Hi, unfortunately Renogy wouldn't give out the battery mappings due to safety concerns :confused:. I have got a Python driver to get a load of stats but it's not quite refined as not all the mappings are in there yet. It outputs the data to an MQTT Subscriber but could be anything I guess
 
Have been following along with this thread. Cool stuff!
Have 2 renogy lifepo4s and a DCC50S installed. Though trying this on the raspberry pi pico!

Hi, unfortunately Renogy wouldn't give out the battery mappings due to safety concerns :confused:. I have got a Python driver to get a load of stats but it's not quite refined as not all the mappings are in there yet. It outputs the data to an MQTT Subscriber but could be anything I guess
Would love to see what youve cobbled together? How have you been able to get this far, Im keen to collaborate!
 
Hi, unfortunately Renogy wouldn't give out the battery mappings due to safety concerns :confused:. I have got a Python driver to get a load of stats but it's not quite refined as not all the mappings are in there yet. It outputs the data to an MQTT Subscriber but could be anything I guess

I'm new to the forum, but not new to hacking protocols. I'd love to see what you have so far. I have been gifted three batteries, two V1 and two V2, and I'm nosey.
 
I have been able to get a working model of the map shown in the spreadsheet in this thread on the raspberry pi pico and an oled display. However when connecting to the DCC50S I never get anything on the RX line. Currently the unit is only hooked up to the house battery, so I'm hoping this is the reason...
I am able to read the same pinout of the RJ45 port on the DCC50S, and it matches the mapping image also in the thread. Any ideas? thanks for all the help guys!

Current progress: Tiggilyboo/vanny-hub
 
I've never heard of a pico until now. Am I correct to think is has RS232, but NOT RS485 built in? If so, you need one of these;

1620574594298.png
If you already know this, and have something similar, you must be referring to the RX pin on the pico? as the DCC50s has no RX (or TX pin)

If you can fill in these bits of the jigsaw, we may be able to help
 
OK, it sounds like you're 90% of the way there then. The only things I can suggest now are;

Check the pico comms settings are 9600, 8bit, NoParity, 2 stop bits. For me it looks like this; Serial1.begin(9600, SERIAL_8N2);
Swap the RS485 A and B lines, just to be sure.
Connect the Renogy 0V pin to the Max485 0V. This was essential for me
Use your PC as a modbus master, to interrogate the DCC50s. I used MODBUSMASTER to do this, and it worked.

Where are you? I'm in Lancashire, near Leyland

Good luck
 
I remembered something else.

I had an occasion when my arduino was working with a PC slave simulator, as you did, but the same setup just would not work with the DCC50s.

It turned out that the arduino modbus library worked great with an arduino leonardo, but when I ran it on a nano33ble (a faster micro) the switch from tx to rx happened too soon, the result was that the final byte of the frame never left the 485max, this byte is part of the CRC. I then discovered that the slave sim software I was running simply ignored the CRC, and gave a 'valid' reply. The DCC50S however refused to respond to a frame missing half of the CRC.

The modbus libray I used was ModbusMaster by Doc Walker. The fix was to add a 2ms delay after the final byte was transmitted, and before the switch to RX.

Could this be your issue?
 
I remembered something else.

I had an occasion when my arduino was working with a PC slave simulator, as you did, but the same setup just would not work with the DCC50s.

It turned out that the arduino modbus library worked great with an arduino leonardo, but when I ran it on a nano33ble (a faster micro) the switch from tx to rx happened too soon, the result was that the final byte of the frame never left the 485max, this byte is part of the CRC. I then discovered that the slave sim software I was running simply ignored the CRC, and gave a 'valid' reply. The DCC50S however refused to respond to a frame missing half of the CRC.

The modbus libray I used was ModbusMaster by Doc Walker. The fix was to add a 2ms delay after the final byte was transmitted, and before the switch to RX.

Could this be your issue?
hmm, interesting... I have not had time to switch A and B (D+ and D-) on the RS-485 yet, nor mimic master from PC over USB TTL, but will give it a go tomorrow hopefully.
It seems like the message is sending everything out, and waiting for a reply. Sadly I have sort of bodged together some things to get a working modbus library on the pico (a lib called lightmodbus), so it is possible that the DCC50S is much slower to respond, as you point out above.
On the PC side when I was mimicking the DCC slave, I am using pymodbus which has a sufficient CRC check.

I'll let you know how it goes! Thanks for the help

PS. I'm originally from Canada, but living in the Netherlands
 
Quick follow up - I was able to get a response today from the DCC50S! My modbus library was not waiting enough time between characters in the frame when sending (1.5t). However, now I'm getting a CRC error, probably some other timings off. Thanks for the help, my problems no longer seem directly related to this thread. Will share my repo when is all is done for anyone else to use. Cheers!
 
Back
Top