Read voltage and other details from HV battery?
#6
Hey kbauer let me see if I can help you sort things out. First I want to clear some things up, you may already know but for others following along it may be helpful, then I will get into this specific case. It might be long reading. Skip over what you like. BTW I enjoy this type of question! It shows the capability of OrBit that is just below the surface of "click a button"...we may not have a specific button for something, but there is much more you can do that is already there.

In general the answer to "is there a way to read the..." is YES. We are always using data read from the car in the various displays and dialogs, service procedures etc. To make a new display, we would code it in as an enhancement or as part of a feature. But outside of what is there in a display like the HV batt SoC and SoH on the main Shortcuts tab for example, there is an entire generic system for reading module data driven by a catalog of module information. You found it already, just to the right of the Send Cmd and just above the Parameters Monitor...the list of Data IDs (DIDs) you can read, from the currently selected module in the Active Diag ECU dropdown, is shown there, you can click any one and read from the car. Parameters monitor is a further enhancement to fill the need when you want to monitor and display some of that same DID data over time, rather than just read it once.


The displayed data is translated from raw data with Volvo info. When we read the data, the raw result is translated through the module information that we have to display the result. That includes field names, units used and the factor information to do the math or bit shifting, if the input data is a float or integer etc. This information is ultimately sourced from Volvo. We wouldn't have any other way to know it. some data fields may be obvious to translate to a readable result and guess the units used, and others can be quite complicated. We will come back to your specific case.


The source data comes from the car. Maybe everybody knows this and it's my personal issues since I make OrBit ;-) I just like to call it out when I see example "battery charge is 100% in the car and OrBit displays 83%". It's true, but we just display what the car is reporting from the DID we read. Hopefully the correct DID, in this case when I added that display I chose the DID 4028 from the BECM "Vehicle Battery State of Charge - Estimated" if you are curious. I chose that because that DID 4028 is a common one to battery SoC data across modules in the car. It did turn out, that field displays the "actual SoC" not the SoC that is displayed via the battery meter in the car. As you probably know those are different things in the car, te hybrid battery is managed between a limited min and max SoC that it uses for charging and discharging to preserve the service life of the battery. I've not found any data to read to see what that is for a particular car, that may not exist. From observation of my Extended Range T8 PHEV, the range of "empty" and "full" by the dash display is between 15% and 95% SoC in the HV battery, in my car. If the SoC displayed is 83%, that is what the car reports. 


Could the data displayed in OrBit be wrong? Yes it can...if we don't have the correct module information. What we have is extensive but not complete. We may not have every specific part number module info. In those cases OrBit goes through a background process to find the closest match and load that module data. Most cases that process works out fine. Very few data fields vary over module variants, the results calculation, units, labels etc. are usually very consistent. If there is a discrepancy we have found and handled a few cases, by refining the process of loading the closest match of module data, or sometimes we are able to get new data for new module parts and I add it to the catalog OrBit loads from. If you have a case where you think it's "wrong" data, we would make an investigation into the specific case, the data field, your specific car, what specific module you have like the particular BECM part number etc. We would take that as a support case and look into it, and we have an interest in it if it would solve a case for many other cars, if there is an actual problem. We must also consider there can always be a bug as well, where some data forumla is not processed correctly. 


The above does happen, but most cases, there is no problem if you just "think" some data read should be something else. You have to consider, maybe you are not reading the correct data field? Maybe things don't work exactly how you think they work? I find there are multiple DIDs for many things, actual voltage, adjusted voltage, estimated, it may not be obvious what is the correct data to read for what you want to know. This is the level that DID reading is at, we have all of the module information so you can read things, but it may require some learning or observation to find what you want to know. 


Finally, Send Cmd is not the best tool here. There is no sense in sending raw commands to read a DID you can read via clicking on the DID field in the list. OrBit even reports the raw hex return in the DID result window so you can see it. Send Cmd is an experts tool, if you know what you are doing and you want to send some UDS command, it's there and you are welcome to use it, translating any results is up to you.


Now lets look at your case (if you have not fallen asleep by now!)....

As far as the data you read, to find what you want to know, best way is scroll the DID list, or narrow it down by search. X119 may have led you astray by suggesting some random DIDs ;-) There is a filter above the list, you can free-text search and filter the list to find what might be useful. I have a 2022 S60 T8 (extended range) and I have a different BECM for sure on the newer battery. But the fields are all very similar or the same. I don't have an FD73 available, but on some older BECMs I check and it's "Cell Delta Voltage". I have a Cell Delta Voltage that is DID DD10 on my BECM model. For me it returns "0". I think we can guess what delta voltage is...and that doesn't seem related to what you want to know. 

   

The other data field you read is 4856 which is available on my BECM as well, with a slightly different label "HV Bat Pos Breaking Element A". Lets address the formula, I looked it up in the module info (and also confirmed it's the same in all BECM cases we have info for). It is "X/8.10891". Given that formula the math is correct in OrBit:

0x0c46 = 3142
3142/8.10891 = 387.475012055
result 387.48V 
(NOTE: this may not be totally correct in that the result should actually be 387V, there is a 'result precision' field that we currently don't deal with, but we will in the future)

So it looks like the voltage readout is correct. That does seem arbitrary formula for sure, but it's what we got from Volvo, this is how they did it. Who are we to question it? ;-)

The next question here is... is this the data you want to know? If you know that the "breaking element A voltage" is exactly what you want to know, then that should do. I don't even know what the "breaking element" is. I would look through the DIDs for a different DID. I easily find 4803 - HV Battery Pack Voltage, that seems like it would be the one. I am not sure that is available on all of the BECMs by the data we have. But FYI both the "breaking voltage" and the "pack voltage" return the same result (418V) on my car. The data scaling formula is actually different on those, so it confirms we are handling the result correctly, as the final result matches. 

I don't think you can make any conclusions about it by just change the math until it matches what you like ;-) We should find where you can read the cell voltages.

I find a DID 4806 - All Cell Voltages to read out individual cell voltages. As you note, looks like they are all around 4.1V or just under. 

   

If you don't find the cell voltages available in a DID listed that you can find (and I think the "default" BECM module info does not have one if OrBit doesn't load up a better match of module data for your BECM) then send a message into support. I will look at your case specifically, we can do some things to figure out if the data is available, confirm how to read it and process the result, and make it available for all cars with the same BECM part.
Reply


Messages In This Thread
RE: Read voltage and other details from HV battery? - by Power6 - 8 hours ago

Forum Jump:


Users browsing this thread: 1 Guest(s)