Honda Insight Forum banner
Status
Not open for further replies.
901 - 920 of 1,164 Posts
To MCM:
0x3A = +28ºC
0x30 = +18ºC

I send these two fake values to enable max assist under WOT in 2nd and 3rd when LiBCM's reported SoC >= 40%.

When 40%+ SoC I send 0x3A and when <40% I send 0x30 which limits WOT assist in those gears.

Stock Insight Behaviour:
Insight max assist can only happen in 2nd and 3rd above 20ºC IMA batt temp when flooring it for the first 4 seconds while flooring it, after which the Insight throttles assist. But if you let up then immediately floor it again you'll get another 4 seconds at max assist.

Sending the fake lower temperature locks the Insight out of max assist. This should help keep the pack from going low into negative-recal territory, especially on current-hacked Insights.

We could maybe have it look at the current hack parameter and only implement this on current hacked Insights if we want non-hacked Insights to have max assist during WOT in 2nd and 3rd at all SoC levels.
 
  • Like
Reactions: coreyosaur
Save
Discussion starter · #905 ·
Just drove to Madison (750 miles) without turning the key off. After twelve hours the current-accumulated SoC (which is calculated continuously when the key is on) exactly matched the open-circuit-voltage SoC (which is measured every ten minutes when the key is off). This is good news, because it means the current sensor calibration and current accumulation algorithms are working better than my worst-case calculations predict: My math shows that the two SoCs can differ by 0.5% per hour driven (e.g. I could have seen up to a 6% SoC difference between the two calculated SoC values).
 
Today I modified my version of battsci.cpp to send battTempBATTSCI to MCM if it's not going to modify the desired IMA behaviour based upon spoofed MCM SoC.

So if it's warm out and you have SoC above about 40% you'll see actual battery temperature on OBDIIC&C. Or if it's cold out and your SoC is low you'll see actual battery temperature on OBDIIC&C.
 
Save
Discussion starter · #907 ·
Temperature spoofing to limit assist/regen works, but ideally I'll decipher the remaining BATTSCI signals so that we can limit current without spoofing. For now I'll merge your code, but long term it'll get changed to how the OEM BCM works.

The next major task on my list when I get back to Chattanooga is capturing enough BATTSCI data to properly decode it. My primary goal is to get the OEM SoC gauge (on the instrument panel) to work. Honestly I'm surprised that hasn't already been deciphered. I imagine that during my deciphering I'll figure out how the BCM tells the MCM to stop charge/assist.
 
My primary goal is to get the OEM SoC gauge (on the instrument panel) to work. Honestly I'm surprised that hasn't already been deciphered.
:unsure: If you mean how to drive the SOC bars on the OEM gauge then we know how to do that on the METSCI line.
Details have been posted before.
 
My understanding was METSCI only sends data 1 direction -- from MCM to BCM, with the gauge listening in. LiBCM doesn't intercept METSCI, it only listens, so LiBCM can't directly tell the gauge what to show.
 
Save
My understanding was METSCI only sends data 1 direction -- from MCM to BCM, with the gauge listening in. LiBCM doesn't intercept METSCI, it only listens, so LiBCM can't directly tell the gauge what to show.
That's Correct.. The MCM drives the gauge currently..

But if LiBCM Ver 5 intercepted or replaced the METSCI data from the MCM to the gauge it could manipulate the bars at will. There are only three types of three byte packets.
 
Question: what does the BCM get from METSCI? I'm wondering if it's time to start "The Insight Documentation Project" and capture this information in a wiki (Github provides a wiki feature for projects, by the way.)
Number of bars to display on SoC Gauge
Number of bars to display on Charge Gauge
Number of bars to display on Assist Gauge
Sometimes an engine status byte
A few checksum bytes

Lots of detail in here:
metsci.cpp
 
Save
Discussion starter · #913 ·
More info: The analysis I'm doing next is to figure out how to send the correct data on the BATTSCI bus so that the MCM sends the correct data on the METSCI bus to correctly display the SoC on the OEM SoC gauge. I know this is possible, as that is how the OEM BCM behaves. We just haven't fully documented what the BCM sends to the MCM to make the MCM correctly update the SoC gauge.
 
More info: The analysis I'm doing next is to figure out how to send the correct data on the BATTSCI bus so that the MCM sends the correct data on the METSCI bus to correctly display the SoC on the OEM SoC gauge. I know this is possible, as that is how the OEM BCM behaves. We just haven't fully documented what the BCM sends to the MCM to make the MCM correctly update the SoC gauge.
When you say correctly update the SOC...
Do you mean when it stops responding completely to changes in data we send on BATTSCI?
That might be a flag or something we are missing.

In broader terms ASFAIK we cannot send a simple 0-100% SOC to the MCM on BATTSCI or the MCM will throttle stuff and tell the ECM via the QBATT that the pack is at whatever SOC and the ECM will also throttle/disable stuff.

The MCM/ECM expects to receive SOC values from the BCM between 80-20% and even then they will respond by limiting assist/regen/enable dc-dc high power etc..

The BCM knows the useable capacity of the battery pack and rescales to send an appropriate SOC window to the MCM etc as it ages and the useable capacity goes down.

So 4ah useable when new might only be 1ah useable later.

We get this useable XX capacity value continually scaled to the 80-20% range so the bars just go up and down a lot quicker when the pack is old.
 
I like that bracket holding the OBDIIC&C. How is that connected on the back? How did you get it to be so stable? I didn't see it move during the drive...You have my curiosity peaked...
 
Discussion starter · #920 ·
LiBCM calculates the actual lithium pack SoC (including aging).
My goal then is to send a remapped SoC - based on the actual SoC (including aging) - so that the instrument panel's SoC gauge updates... right now it never updates, since we haven't figured out the missing "magic" packet on the BATTSCI line. I'm actually gathering data for this right now.
 
901 - 920 of 1,164 Posts
Status
Not open for further replies.
You have insufficient privileges to reply here.