Grmume / renogy-smart-battery

Playground for the 100ah LiFePo Renogy Smart Battery RS485 interface
MIT License
21 stars 7 forks source link

Registry info #1

Open epfenninger opened 2 years ago

epfenninger commented 2 years ago

Test 34 - Cell 1 Temperature in Milli-Celsius Test 35 - Cell 2 Temperature in Milli-Celsius Test 36 - Cell 3 Temperature in Milli-Celsius Test 50 - Cell 4 Temperature in Milli-Celsius

epfenninger commented 2 years ago

I think this is all of the registries. We can basically break it into blocks of information

Block One: Individual cell information 5000 : 4 5001 : 33 5002 : 33 5003 : 33 5004 : 33 5005 : 0 5006 : 0 5007 : 0 5008 : 0 5009 : 0 5010 : 0 5011 : 0 5012 : 0 5013 : 0 5014 : 0 5015 : 0 5016 : 0 5017 : 3 5018 : 80 5019 : 80 5020 : 80 5021 : 80 5022 : 0 5023 : 0 5024 : 0 5025 : 0 5026 : 0 5027 : 0 5028 : 0 5029 : 0 5030 : 0 5031 : 0 5032 : 0 5033 : 0 ^^^------------------ Some of these zeros are probably related to cell balancing

Block Two: Whole battery info. 5035 : 0 5036 : 1 5037 : 70 5038 : 0 5039 : 1 5040 : 80 5041 : 0 5042 : 65488 5043 : 132 5044 : 1 5045 : 9798 5046 : 1 5047 : 34464 5048 : 0 5049 : 148 5050 : 100 <- 82% sure this is SOH of battery 5051 : 5000 5052 : 55536

Block Three: A lot of these are settings for restrictions on charging voltage, etc. I bet some have to do with the state of protections too. I'm watching 5100-5105 tomorrow morning (it is below freezing here, so they should shut down charging and turn on heat) and I think I'll see that reflected there. 5100 : 0 5101 : 0 5102 : 0 5103 : 0 5104 : 0 5105 : 0 5106 : 14 5107 : 0 5108 : 0 5109 : 192 5110 : 20560 5111 : 21569 5112 : 18480 5113 : 12592 5114 : 13616 5115 : 13104 5116 : 13877 5117 : 13363 5118 : 12337 5119 : 12336 5120 : 12337 5121 : 12338 5122 : 21058 5123 : 21553 5124 : 12336 5125 : 19526 5126 : 20529 5127 : 12883 5128 : 18477 5129 : 18225 5130 : 12337 5131 : 12601 5132 : 21061 5133 : 20047 5134 : 18265 5135 : 0 5136 : 0 5137 : 0 5138 : 0 5139 : 0 5140 : 0 5141 : 0

Block Four: Absolute mystery. Besides 5223. Maybe TX/RX info? 5200 : 37 5201 : 35 5202 : 30 5203 : 25 5204 : 550 5205 : 500 5206 : 50 5207 : 0 5208 : 12000 5209 : 10000 5210 : 6000 5211 : 148 5212 : 142 5213 : 120 5214 : 100 5215 : 600 5216 : 500 5217 : 65436 5218 : 65286 5219 : 50536 5220 : 52536 5221 : 54536 5222 : 0 5223 : 50

Grmume commented 2 years ago

I think you are right. The first block consists of information about each cell as there seem to be packets of 4 of similar data.

Regarding register 5050: From the code by @sdellysse this seems to be the undervoltage threshold in mV and not SOH. (Register 5049 also contains the value 148, which might point to the overvoltage threshold). But upon further investigation it seems like most protection thresholds lie in the range from 5200 to 5222... Why do you think it is the SOH? Do you have batteries which show a value different from 100?

By looking at the datasheet I was able to identify some more protection thresholds and have added the information in the code.

gambleben commented 2 years ago

I was able to capture and decode the communications between the BT2 device and the battery. In addition to what has already been identified, it queries 13f0, 13f1, 13f2, 13f3 (5104, 5105, 5106, 5107). I think that these registers likely show various statuses stored in individual bits. Some of the bits also likely correspond to cell balancing.

5037 and 5040 are BMS temperatures (signed ints - divide by 10 to get degrees C). I verified this by opening one of my batteries and holding one of the temp sensors coming off the bms against a cold pack. I got it down to -3 C, but couldn't trigger any low temp protection. I think it might use the cell temps for low temp protection. The Renogy app also didn't show the low temp. I think it's showing an average of the cell temps.