1. Attachments are working again! Check out this thread for more details and to report any other bugs.

Crazy experiment idea : battery module bypass

Discussion in 'Gen 2 Prius Technical Discussion' started by landspeed, May 1, 2019.

  1. landspeed

    landspeed Active Member

    Joined:
    Feb 25, 2007
    357
    202
    0
    I have two 'spare' batteries for my Gen 2 Prius. I still use the one that came with my car, but I bought a battery for $400 (in US$) from a doctor; it is a total pile of junk with all the cells imbalanced and with many cells that fluctuate, and another that I bought for $100 from a person who had a new battery installed from Toyota. The $100 battery is amazingly balanced, much better than my current battery, but one of the 1.2v cells in a module is totally dead, meaning that the module-pair has voltage fluctuations as it 'charges' and 'discharges' super quickly - the dead 1.2v cell charges in a few seconds and discharges in a few seconds under load, triggering big red triangles and so forth.

    The Prius uses a HV-HV DC convertor, to give a stable voltage to MG1 and MG2 etc. The Prius C has the same engine as the Gen 2 Prius (the Prius C is 3rd Gen, but still 1.5 litre, yet the 3rd Gen is 1.8 litre). The Prius C has a smaller battery pack, specifically less modules than a Gen 2 battery pack.

    In theory, given that the Prius steps the voltage from the HV battery up using a DC-DC HV convertor, it should be possible to use a battery with fewer modules than standard. Particularly as the voltage can fluctuate significantly anyway (e.g. 14.4-19 volts on my car when on very low charge versus a long period of regen and high SoC).

    Does anyone know how the programmers coded their code? I don't know.

    If I was to take a very good condition battery with a single very dead module-pair, and bypass that module pair, then the total (serial) voltage would be about 14.4 volts lower. This should be fine. However, the battery ECU monitors all the module-pair voltages individually. The question becomes 'did the programmers add code that will throw a code if the total voltage of all module-pairs is different to the voltage detected across the whole battery'.

    - Depending on how they programmed the ECU, there is a chance that bypassing the 'dead' module pair could allow an otherwise good battery to function well.
    - Risks would include major errors if the battery ECU complains that the expected voltage (by adding all module-pair voltages) is different to the voltage measured across the whole battery.
    - Another risk would be if the ECUs end up overcharging the battery, so that the remaining good modules are all overcharged a bit, shortening their lifespan.

    I don't have the source code, and my ECU emulator is far from complete.

    I plan to bypass a module-pair, and see what happens if I connect such a battery to the car. The bypassed module-pair is an issue in that it would read 'zero volts' if the voltage sense wires are disconnected, or would read a 'stable' voltage if the voltage sense wires remain connected. I would simply connect the voltage sense wires to an adjacent cell. The 1000 ohm resistor would prevent any fires if a 'short circuit' occurs across the sense wires.

    I have a few spare cars as backups if this goes wrong. I would be interested to know if anyone has any ideas what the outcome of this experiment will be? I am hoping that the car might be able to function normally. If it does, then any 'dead' HV battery that is 'dead' because a single cell in a module / module-pair has failed, might be able to be resurrected by bypassing the dead module......
     
    SFO and Landon51 like this.
  2. ericbecky

    ericbecky Hybrid Battery Hero

    Joined:
    Mar 12, 2004
    4,379
    3,238
    1
    Location:
    Madison, Wisconsin
    Vehicle:
    2005 Prius
    Model:
    Two
    No one has publicly released the code.
    Too bad, because if it was available we could do some spoofing and swap the NiMh pack with lithium, perhaps.
     
  3. Landon51

    Landon51 Member

    Joined:
    Apr 18, 2018
    190
    63
    0
    Location:
    US
    Vehicle:
    2007 Prius
    Model:
    Two
    How is this going? What have you found?

    Posted via the PriusChat mobile app.
     
  4. Dxta

    Dxta Senior Member

    Joined:
    Nov 7, 2016
    1,932
    767
    0
    Location:
    Lagos
    Vehicle:
    2008 Prius
    Model:
    II
    I think to me, the ECU would read your bypassing of the module pairs, as a fault, and trigger the red triangle.
    It may still operate the car, but you'd get a lot of vibrations and all that, on start-up, because, you've already "deleted" a little bit of it's 200..and something pack voltage, that the inverter assembly is supposed to use for its operations.
     
    Raytheeagle and Prodigyplace like this.
  5. TMR-JWAP

    TMR-JWAP Senior Member

    Joined:
    Aug 12, 2016
    6,404
    6,062
    0
    Location:
    Columbia, SC
    Vehicle:
    2007 Prius
    Model:
    Touring
    On another note, since my memory fails me at this moment, what would the ecu do if you just took one sensor tab and taped it up so it's not touching/sensing anything. I know cracks in the crimp, bad connections, etc will cause P3000 codes or whatever due to fluctuating voltages, but what if it read 0? I'm positive it would code out, but would it recognize it as a broken wire and let you keep driving normally or would it throw you into limp? Heck, I may even remember the answer to this after a good night's sleep.....
     
  6. landspeed

    landspeed Active Member

    Joined:
    Feb 25, 2007
    357
    202
    0
    These are the things I am wondering! The battery for the experiment is currently sitting in the back of my Leaf, and if not too tired I might just do this at the weekend!

    My plan would be to take the sensor from the 'dead' module pair and use it to measure the module pair next to it (given this battery is very well balanced except for the first pair / block). This would then let the ECU think that the disconnected module is still running at the same voltage as all the other modules / blocks in the pack.

    Doing some testing today, I ran the battery down to two bars, then did full acceleration uphill; I managed to briefly get 190 volts from the battery; I know that when going down a long hill and not using 'B' mode properly, the battery can temporarily reach 19 volts per block, for a total of 266 volts. This means that the HV-HV convertor can actually run from a wide range of voltages, so losing approx 14.4 volts from one pair / block should not make a difference to the actual function of the car.

    If the ECU code measures the individual cells and deltas, and the disconnected cell is 'mirrored' (on the voltage sense lines) to a good cell, then the ECU should (when comparing the cells to each other), be happy.

    If the code that manages the HV-HV convertor is somewhere else, for example the HSD / Inverter ECU, then there is a chance that it will read the voltage of the battery, and then convert that voltage to whatever is needed for the HV system / MG1 / MG2 etc.

    The issue then becomes; does the battery ECU run a check where it adds up each of the blocks, to make a total, and then compares this to the total voltage across the battery? If so, it will detect a fault. The issue then becomes how it would interpret such a fault; it might be possible that the car would be perfectly usable, or not.
    - It seems logical that such code exists. However, I am not sure how fast the sample rate is as the ECU cycles through the blocks. Technically it could be possible during sudden braking (and thus rising voltages), the calculated voltage (each block added together) could be quite different to the 'total' battery voltage. This kind of issue would require that the programmer includes a certain degree of tolerance. Given the possible battery voltage range of 190-266 volts or more, it is not certain that the experiment will be a failure. However, I would still be very surprised if the car works fine with such a modification!
     
  7. edthefox5

    edthefox5 Senior Member

    Joined:
    Jul 25, 2007
    10,096
    4,820
    0
    Location:
    Clearwater, Florida
    Vehicle:
    2007 Prius
    Model:
    Two
    Mgs run on 3 phase ac not dc.
     
  8. landspeed

    landspeed Active Member

    Joined:
    Feb 25, 2007
    357
    202
    0
    True; however, the MGs get their AC from the DC battery (also, via all kinds of other ways such as the other MG etc). However, one example would be; in 'EV' mode, doing max acceleration, and also doing downhill braking (max regen at say 44km/h), the voltage of the battery changes a lot. During the acceleration, the MGs are getting their 3-phase from a fluctuating voltage source (the battery).

    The Prius C uses a lower-voltage HV battery with fairly similar electronics otherwise; I am not sure if the car is necessarily 'hard-wired' to a certain number of modules; the NWH20 battery ECU itself is made for battery packs from the NWH11 anyway (except for the fact that the board is not populated with the components at the HV side, but it was clearly designed for a larger pack). The software will be hard-coded, almost for certain, though!
     
  9. RobH

    RobH Senior Member

    Joined:
    Sep 18, 2006
    2,369
    981
    70
    Location:
    Sunnyvale, California
    Vehicle:
    2006 Prius
    I would worry about the car trying to charge the battery to 266 when it only has 250 worth of cells.
     
  10. landspeed

    landspeed Active Member

    Joined:
    Feb 25, 2007
    357
    202
    0
    Me too; the question would be : how does the car decide what to charge the battery to? It could be based on the individual block voltages, or it could be on the overall voltage?

    Either way, the battery ECU does stop charging when even a single block goes too high / and vice versa when a single block goes too low (or if they all go low). It all depends on exactly how they programmed the software.

    What is interesting is that during periods of full-regen, the per-block voltage can almost reach 20 volts; while the cells aren't really 20 volts (just the chemistry 'settling down' after a sudden burst of charge), it shows that, in a way, the 'capacity' can't really be determined by the ECUs by either total, or module / block voltage.

    It likely uses the current gauge to 'guess' where it is, and if it sees the cells reaching high voltages for too long, it reduces the max regen and uses the friction brakes more.

    The only way to test would be to actually do the bypass; I have so little time but hope to do it soon. It really depends on the software algorithms. if it was possible to hack the battery ECU (which it isn't, yet), it should be simple to reduce the block count down to 13.
     
  11. Berkeloid

    Berkeloid Junior Member

    Joined:
    Jan 5, 2019
    11
    4
    0
    Location:
    Australia
    Vehicle:
    2007 Prius
    Model:
    N/A
    Apologies for resurrecting an old thread, but I tried this today so I thought I would report my results.

    The car (Prius Gen 2) had been reporting battery issues for about a month but drove well enough, however today (possibly due to the heat) it appeared to go into some kind of "limp home mode" and even with my foot planted to the floor and the engine revving it wouldn't accelerate beyond 30km/h unless going downhill. It just barely made it uphill only going 10km/h.

    I measured the voltages of each cell and they were all around 7.2 V, except for one which was 6.7 V. So I attempted to bypass that single cell (not the whole pair). I did it by disconnecting that cell and using a cable to connect the two cells either side.

    When switching the car back on, as usual it attempted to start the engine after a few seconds, only this time it failed to do so. It sounded like it only cranked the engine for the same length of time as normal but it didn't start. It waited 20 seconds or so and unsuccessfully tried again, throwing a P0AFA "low hybrid battery voltage" code. The battery was around 207 V and only dropped to 203 V during an attempted start, which didn't seem too bad to me but apparently the car didn't like it.

    While I was experimenting further the car eventually attempted another engine start and succeeded, and began charging the battery. Unfortunately because I had bypassed one battery, all the cell pairs were reading ~15 V via OBD except one was reading ~8 V. Surprisingly, the car kept charging, almost as if it wanted to get the lowest voltage pair up to ~15 V before it considered the pack full. Once the pairs reached 17 volts (240 V pack) I stopped it as it looked like it would happily overcharge the cells.

    I tried disconnecting the voltage probe from the pair with the bypassed battery but this seemed to confuse the car (the OBD reported it repeatedly switching from -16V to +17V and back) but the car kept the engine running continuously, charging the battery up to 232 V, letting it drop back to 228 V, then charging it back up to 232 V again.

    I then tried moving the voltage probe to an adjacent pair, but this had the same result, except the OBD data reported the bypassed pair at 24 V, and the normal pair next to it at 0 V. So it looks like the voltage readings are relative to the probe next to it, rather than relative to the common battery negative point.

    So it looks like bypassing a cell, or a pair of cells, is probably not possible without reprogramming the battery computer, as it seems to put a lot of weight on the values returned by the individual voltage probes rather than the pack voltage as a whole.
     
  12. Ancel Bhagwandeen

    Ancel Bhagwandeen Junior Member

    Joined:
    May 19, 2022
    47
    31
    0
    Location:
    Caribbean
    Vehicle:
    2012 Prius v wagon
    Model:
    N/A
    I am looking at a project to enhance the battery's lifetime by occasionally having the engine cycle the batteries to 100% SoC and down to about 5%, during normal driving, without needing user involvement. Also, the 7.2V modules can be passively balanced when the engine is off. Thus the car will haev self maintenance of the battery giving the end user less costs and service calls.

    Basically a mini BMS that refines the voltages reported to the ECU by the voltage harness. And a means to passively parallel all the modules when the engine is off and automatically switch to normal mode when the engine is being started.
     
  13. TMR-JWAP

    TMR-JWAP Senior Member

    Joined:
    Aug 12, 2016
    6,404
    6,062
    0
    Location:
    Columbia, SC
    Vehicle:
    2007 Prius
    Model:
    Touring
    Doesn't matter what you try to do, you're not going to reliably fix a module with an internally failed cell. You're pissin in the wind, especially when it only cost 30 bucks or so to buy a reliable replacement.
     
  14. tracy ing

    tracy ing Active Member

    Joined:
    Dec 22, 2017
    384
    168
    0
    Location:
    wash dc
    Vehicle:
    2005 Prius
    Model:
    N/A
    Agreed a bad cell is a bad cell
    HOWEVER
    I actually have a 2008 that was throwing codes and triangles and not running (replace pack - two banks had codes)
    I got it to run, it is running now, daily, it has low battery range, but no codes, cause the BANKS are operating withing tolerances now
    Here is what I did
    I cleared all codes, disconnected the 12 volt overnight
    No triangle, placed in ready mode and let it charge up the hv.
    Placed AC on high trans in nuetral, let it drain the HV down (hv wont charge in nuetral)
    Eventually it drained the HV down and the 12 volt battery light came on cause it was no longer being charged
    After about 3 minutes of the 12 volt not getting charge I shut it all down
    Pulled the 12 volt to reset codes triangles
    Waited a few hours started car and drove it to charge the HV

    Two weeks later, still going.

    all of this to keep it on the road while a replacement pack is built
     
  15. pasadena_commut

    pasadena_commut Senior Member

    Joined:
    May 2, 2019
    1,737
    524
    0
    Location:
    Southern California
    Vehicle:
    2007 Prius
    Model:
    N/A
    When a pack is discharged to low voltages the weaker cells may become reverse polarized, which is bad for them. However, if the current used is low enough ( <= 1/10 * C) the cell should be able to withstand the situation without damage, and that is how packs are balanced. In the operation described in the previous post I would expect instead high current discharge to low voltages, which may have potentially damaged some of the cells. I'm not sure about Prius cells, but most NiMH cells will vent if discharged at high current. They may be able to withstand that one or two times, and then that cell is toast.

    (Caveat: I have only ever balanced a Honda Civic IMA pack, but those are also NiMH, and even though the geometry is different, the basic chemistry is the same.)