Honda Insight Forum banner
901 - 920 of 947 Posts

·
Premium Member
Joined
·
2,142 Posts
Not sure where you got that note? Must be old.. :unsure:

Temp in BATTSCI is simply offset by 32C~ or something IIRC.

If the MCM receives 00 hex it knows the temp is -32C (That's as low as it can go)

20 hex (32 Dec) would be 0C

It can receive values upto 255 - offset (32) = 223C (y)
Let's hope the batteries never reach 223C, or I may have to get out some marshmelons.
 

·
Linsight Designer
Joined
·
2,782 Posts
Discussion Starter · #902 ·
Excellent... it didn't help that one of my OEM temperature sensors was broken (and was compressing the analog range), which made it difficult to bit-bang the values myself. Looks like the offset is 30 degC (i.e. OEM BCM can transmit down to -30 degC). Thanks!
 

·
Engine-Off-Coast
Joined
·
2,187 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.
 

·
Linsight Designer
Joined
·
2,782 Posts
Discussion Starter · #906 ·
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).
 

·
Engine-Off-Coast
Joined
·
2,187 Posts
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.
 

·
Linsight Designer
Joined
·
2,782 Posts
Discussion Starter · #908 ·
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.
 

·
Administrator
Joined
·
13,145 Posts
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.
 

·
Engine-Off-Coast
Joined
·
2,187 Posts
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.
 

·
Administrator
Joined
·
13,145 Posts
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.
 

·
Registered
Joined
·
1,286 Posts
My understanding was METSCI only sends data 1 direction -- from MCM to BCM, with the gauge listening in.
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.)
 

·
Engine-Off-Coast
Joined
·
2,187 Posts
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
 

·
Linsight Designer
Joined
·
2,782 Posts
Discussion Starter · #914 ·
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.
 

·
Linsight Designer
Joined
·
2,782 Posts
Discussion Starter · #915 ·
Got curious and decided to quote the PCB out to a turnkey fab house... for now it's cheaper for me to just build them in the garage, even with my elevated (personal) labor cost. I should probably hire a technician.
 

·
Administrator
Joined
·
13,145 Posts
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.
 

·
Premium Member
Joined
·
2,142 Posts
Omfg I'm in love with that all purple setup you have!!!
 
  • Like
Reactions: Natalya

·
Registered
2003 Honda Insight CVT, 2001 Honda Insight MT, 2000 Honda Insight MT
Joined
·
153 Posts
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...
 
901 - 920 of 947 Posts
Top