Thanks,
/ron gremban
-------- Original Message --------
| Subject: | Request for solution ideas to Prius spoofing issue |
|---|---|
| Date: | Thu, 27 Apr 2006 14:53:48 -0700 |
| From: | Ron Gremban <rgremban@...> |
| Organization: | California Cars Initiative |
| To: | priusplus@yahoogroups.com |
Background: In CalCars' first PRIUS+ conversion, a CAN bus controller by EnergyCS replaced Toyota's Battery ECU by emulating its CAN bus messages to the rest of the hybrid system. This was required because the Battery ECU, in reading integrated Amp-hours out of the hybrid battery and knowing the battery's small (6.5Ah) capacity and desired state-of-charge (SOC) range of 40-80%, would perceive that the PHEV battery was fully discharged when in fact it had a lot of capacity left. The EnergyCS box worked quite well, but was proprietary, with no opportunity for us or others to convert further vehicles. In contrast, CalCars would like to see conversion technology become easy and widely available so that many, many people will come in contact with PHEVs as rapidly as possible. Therefore, following up on a tip from Dan Kroushl that higher battery voltages can cause the Battery ECU to skew its perceived SOC, I discovered that the ECU's perceived SOC can be controlled by varying the voltage presented to the ECU as if it were the battery's voltage. I have named this technique "spoofing", and the details of how to do it have been put into the public domain under "CalCars Method" at http://www.eaa-phev.org/wiki/Prius_PHEV and at http://www.eaa-phev.org/wiki/PriusPlus. Current status and problem: In a recent development, three PRIUS+ conversions, still in debug, are now using automated Battery ECU spoofing. All three are using feedback of perceived SOC read from the CAN bus by CAN-View (a device available at http://www.hybridinterfaces.ca), though another CAN bus reader could do the job. A problem has arisen where EV-only mode is not always available. I traced the problem to the value of another CAN bus parameter emitted by the Battery ECU, "Charge Current Limit (CCL)". This parameter tells the hybrid system the maximum charge (regenerative braking) current that the hybrid battery is currently able to accept, and is the main way that the Battery ECU has of limiting excessive current into a mostly-charged battery. Atilla Vass' reverse-engineered Prius CAN message spreadsheet (at http://www.vassfamily.net/ToyotaPrius/CAN/PriusCodes.xls) lists this parameter as at ID 3CD, byte #0 (though it and "Discharge Current Limit, at byte #1, may be transposed). What I've been able to determine so far is this: CCL is far more volatile than perceived SOC. Its resting value is 100-125A. Elevated battery voltages, as when the battery is getting overcharged during regen braking (usually 270V, but as low as 245V), cause the value to decrease rapidly (in seconds) to as little as 0; with low enough battery voltages (e.g. <220V), CCL will then increase again within 10-30 seconds. Additionally, a perceived SOC of 80% or higher in itself causes the hybrid system to dramatically limit charge current. This is all as would be expected, and makes sense. Problem specifics: The problem is that when CCL is reduced below 50A, the Prius pops out of, and will not enter, EV-only mode. Then, at progressively lower CCL values, the engine runs and begins to race. Avoiding these EV limitations and further drivability issues depends on keeping CCL above 50A. If CCL is kept above 50A while perceived SOC is increased to 80% or slightly higher, regenerative braking current into a fully charged PHEV battery can be limited without such problems. But high perceived SOC also has a role in decreasing CCL, to the point where it is nearly impossible to keep CCL above 50A at a perceived SOC of 80%. If, on the other hand, perceived SOC is kept around 60% or below, CCL can be kept above 50A during most regen braking -- but at the expense of allowing high pulses of current into the PHEV battery even when fully charged, and using normal (instead of reduced) amounts of gasoline during higher speed (non-EV) driving. Does anyone have any ideas on how to get around this conundrum short of replacing Toyota's Battery ECU, which issues the perceived SOC, CCL, and related values? We will do this if we have to, but would rather not if we can get around it, for a bunch of reasons. I have thought of intercepting the messages from the Battery ECU that include the CCL and modifying that value before sending the messages on to the hybrid system, but this seems even more complex than replacing the ECU. Thanks, +++++++++++++++++++++++++++++++++++++++++ Ron Gremban, rgremban@... California Cars Initiative, a nonprofit organization: http://www.CalCars.org Moderator & Technical Lead http://www.priusplus.org PRIUS+ PHEV Conversion Group: http://groups.yahoo.com/group/priusplus Newsletter: http://groups.yahoo.com/group/calcars-news Do-it-yourself PHEVs: http://www.eaa-phev.org +++++++++++++++++++++++++++++++++++++++++
-- +++++++++++++++++++++++++++++++++++++++++ Ron Gremban, rgremban@... California Cars Initiative, a nonprofit organization: http://www.CalCars.org Moderator & Technical Lead http://www.priusplus.org PRIUS+ PHEV Conversion Group: http://groups.yahoo.com/group/priusplus Newsletter: http://groups.yahoo.com/group/calcars-news Do-it-yourself PHEVs: http://www.eaa-phev.org +++++++++++++++++++++++++++++++++++++++++