Honda Insight Forum banner

241 - 260 of 269 Posts

·
Linsight Designer
Joined
·
2,224 Posts
Discussion Starter · #242 · (Edited)
An insight into my thoughts over the past couple hours:
Tonight I'm contemplating power consumption reduction when the key is off and the grid charger is not plugged in.

Note: LiBCM can turn itself completely off whenever it wants... thus, there's no risk that LiBCM is going to drain your lithium battery below a certain point, no matter how long the car sits. However, once LiBCM turns itself off, it cannot turn back on until the next key 'ON' event. Of course the lithium batteries themselves will self-discharge, but that's a chemical property of the cell that we have no control over.

The Arduino Mega PCB isn't designed for power efficiency. Out of the box, the entire PCB consumes 80.5 mA (403 mW), which will drain a fully charged 48S pack in 91 days.
No amount of code optimization on the ATMEGA2560 processor will reduce the power consumption below 62 mA (310 mW). This is determined by holding the ATMEGA in reset.

The 16U2 chip - which handles the USB prototcol - is always powered and running at 16 MHz, even when USB isn't plugged in. So I've added a pin to hold that IC in reset whenever the key is 'OFF" and the grid charger is not plugged in. Therefore, the USB port will only work when the grid charger is plugged in and/or whenever the key is ON. This reduces total power consumption by 12 mA (60 mW).

Next, I removed the power & D13 LEDs, which are otherwise always on. This saves 5 mA (30 mW).

Next I removed several components used to determine how the MEGA should power itself... in LiBCM it'll always be the same, so no need to have two opamps, two LDOs, diodes, etc. This saves 3 mA.

Finally, I removed a PFET that allows the USB cable itself to power LiBCM. This didn't save any power, but prevents LiBCM from back-feeding into the host computer.

...

Overall, I was able to reduce key 'OFF' power consumption from 403 to 240 mW, which increases standby time - starting with a full pack - from 91 to 154 days. Remember: LiBCM will automatically turn itself off when the pack gets low, so there's no risk that LiBCM will over-discharge the lithium pack.
IMO, that's still not good enough. I think the minimum allowable standby time should be over a year.

My first thought was to design out the Arduino PCB... this would allow me to design my own clocking circuit (to drastically reduce power).
Alas, this doesn't end up saving much power, and actually ends up costing more:
-the 16U2 cannot run below 8 MHz (USB requirement), so at most that's going to save a couple mA.
-the ATMEGA2560 won't have enough processing power at a slower clock rate.
-in the low quantity LiBCM will sell at, the ATMEGA2560 processor (used on the Arduino MEGA) actually costs more than the complete Arduino MEGA.
-similarly, the "Arduinoless" components end up costing twice the complete Arduino PCB.

So there actually isn't any appreciable benefit to designing out the Arduino PCB.

...

So then I pondered some more, and realized the following:
There's actually no reason to keep LiBCM on in perpetuity while the key is OFF. My original rationale for leaving LiBCM on 24/7:
-always detect when grid charger is plugged in.
-cool pack if too warm.
-cell balancing (which only occurs in key OFF state).

Then I realized that LiBCM can just turn itself off when the following conditions are met;
-key is OFF for at least ten minutes (to allow time to plug in grid charger), and;
-grid charge is unplugged, and;
-cells are balanced, and;
-pack is cool (user configurable temp).

And presto, now LiBCM won't pull any power during extended key OFF sessions.
In hindsight, this is incredibly obvious. But the above is how I got here.
I'll add an "Allow Cooling When Key OFF" user-configurable setting for those that park their cars in the sun for no more than a few days between drives.
I'll also add a "When key OFF, Turn LiBCM off below ____ SoC" setting.

...

Working backwards from this conclusion, we no longer need to remove the above listed parts from the Arduino PCB (to save power).

So we'll keep both the Arduino Mega PCB and it's interface to LiBCM as-is, except that we do still need to remove the USBVCC PFET (to prevent back-feeding 5V into the host's USB port).
 

·
Super Moderator
Joined
·
8,893 Posts
Even smart guys don't always see the obvious until V1.5. Less smart guy like me SOMETIMES see the obvious by V3.0:LOL:
 
  • Like
Reactions: Arbus

·
Registered
Joined
·
365 Posts
When the grid charger is plugged in, will LiBCM cool the HV battery anytime the car's interior temperature measurement is lower (summer time) and higher (winter time) within some predefined range? My vehicle doesn't have access to a covered garage and the HV battery would likely benefit from some sort of temp management. I think this would make the grid charger option worthwhile to me.

I'm pretty sure I read where the thought to trickle charge the 12v battery by LiBCM wasn't found to be feasible. If so, I'll likely be adding a separate trickle charger to keep the 12v battery up. Since I've purchased an EV, my Insight just isn't being driven as much.

Mudder, you've really done a fantastic job on this project so far.

Thank you so much for all your effort!!!!
 

·
Linsight Designer
Joined
·
2,224 Posts
Discussion Starter · #245 · (Edited)
@davismltc
Yes, LiBCM will always heat/cool the battery when the grid charger is plugged in.
Also, by default LiBCM will heat and cool the pack with cabin air even when the car is off, probably until the SoC gets below 40% (user-configurable).
For those that park unplugged for weeks at a time - and don't want the pack to discharge to 40% - there will be a software-configurable option (described above) to disable the fans when the key is OFF. Technically setting the "Key OFF fan minimum SoC Level" value to 100% is identical to "Disable fans when key OFF"... the wording/implementation isn't entirely hammered out yet, but the concept is finished.

LiBCM no longer interfaces with the OEM 12 volt rail at all. All power to LiBCM is generated from the HVDC lithium pack. The only thing LiBCM uses the OEM 12 volt rail for is to tell when the key is on (or more specifically, when the 12vIMAHOLD line is high. Therefore, you can unplug the 12 volt battery and LiBCM will still work.

Mudder, you've really done a fantastic job on this project so far.
Thanks. I've had some form of this project on my mind for five years now. I way overcommitted myself to other projects, but finally I've had free time just starting the past few months. I've still got a list a mile long of things to do, but lithium in an Insight finally crossed the threshold that I'm able to work on it.
 

·
Registered
Joined
·
248 Posts
@mudder nice work so far. I would have watched this thread sooner if i knew it was avr driven :) I'd love to help write code for it if you're interested.

In the mega2560, you can run at whatever speed and when idle, sleep. Use watchdog to wake up at whatever interval. The problem I've had with these circuits is LDO regulators have minimum idle currents. The simple solution is a transistor pair with sw controlled keep alive pin, but then you lose wake functions because no power. I've thought about LDO with keep alive, and small 1F super capacitors to power the master directly when sleeping. That way the master can pull the keep alive any time it comes out of sleep.

My project is using tiny45v as slaves, a similar protocol to the 1-wire light strips. All slaves daisy chained with one opto isolator per slave. 5 byte packets with crc. The slave stack acts like a huge shift register. A small communication converter with Bluetooth module can connect to a raspberry pi, phone, or other wireless master.
 

·
Engine-Off-Coast
Joined
·
2,016 Posts
The 16U2 chip - which handles the USB prototcol - is always powered and running at 16 MHz, even when USB isn't plugged in. So I've added a pin to hold that IC in reset whenever the key is 'OFF" and the grid charger is not plugged in. Therefore, the USB port will only work when the grid charger is plugged in and/or whenever the key is ON. This reduces total power consumption by 12 mA (60 mW).

Next, I removed the power & D13 LEDs, which are otherwise always on. This saves 5 mA (30 mW).

Next I removed several components used to determine how the MEGA should power itself... in LiBCM it'll always be the same, so no need to have two opamps, two LDOs, diodes, etc. This saves 3 mA.

Finally, I removed a PFET that allows the USB cable itself to power LiBCM. This didn't save any power, but prevents LiBCM from back-feeding into the host computer.

...

Overall, I was able to reduce key 'OFF' power consumption from 403 to 240 mW, which increases standby time - starting with a full pack - from 91 to 154 days. Remember: LiBCM will automatically turn itself off when the pack gets low, so there's no risk that LiBCM will over-discharge the lithium pack.
IMO, that's still not good enough. I think the minimum allowable standby time should be over a year.
So, to me, that sounds like a really good solution. Half a year? Then again I'm someone who's definitely going to take care of the car and the batteries any way I can. I know most owners aren't, but that certainly sounds more than good enough for me.




So then I pondered some more, and realized the following:
There's actually no reason to keep LiBCM on in perpetuity while the key is OFF. My original rationale for leaving LiBCM on 24/7:
-always detect when grid charger is plugged in.
-cool pack if too warm.
-cell balancing (which only occurs in key OFF state).

Then I realized that LiBCM can just turn itself off when the following conditions are met;
-key is OFF for at least ten minutes (to allow time to plug in grid charger), and;
-grid charge is unplugged, and;
-cells are balanced, and;
-pack is cool (user configurable temp).
What happens if you plug in the grid charger after 10 minutes?

Also, this might be asking too much, and is probably outside the project scope, but is there a way you could put like an extra pair of pins for a status LED on the board that someone (such as myself) could wire to an external LED that I could stick out the side of the IPU case? It'd be a good to know what it's doing even when the IPU case is closed.

(Or would that be dangerous since the power is ultimately coming from the battery?)
 

·
Linsight Designer
Joined
·
2,224 Posts
Discussion Starter · #248 · (Edited)
In the mega2560, you can run at whatever speed and when idle, sleep. Use watchdog to wake up at whatever interval.
Correct, you can turn the clock off and idle/sleep. You can also divide the master clock down to run all the subsystems at a slower speed. I'm using all the counters and the watchdog already (to force reboot if/when hung), but assuming I can dual-use something in hardware, then I can interrupt myself back up from sleep. I'll think about this more, so thanks for kicking the can a bit.

The problem I've had with these circuits is LDO regulators have minimum idle currents. The simple solution is a transistor pair with sw controlled keep alive pin, but then you lose wake functions because no power. I've thought about LDO with keep alive, and small 1F super capacitors to power the master directly when sleeping. That way the master can pull the keep alive any time it comes out of sleep.
I'm not sure I completely follow this, but I'm powering the Mega with a synchronous pulse skipping buck converter... very low idle current (on the order of years before draining the lithium pack).
 

·
Linsight Designer
Joined
·
2,224 Posts
Discussion Starter · #249 ·
What happens if you plug in the grid charger after 10 minutes?
Nothing... no charging. Grid charger stays off. Again, the default off-time (10 minutes) is user configurable (including setting to never turn off). If you turn the key back on when the (off) grid charger is plugged in, then the grid charger will turn on (and stay on, even when the key is off).

Also, this might be asking too much, and is probably outside the project scope, but is there a way you could put like an extra pair of pins for a status LED on the board that someone (such as myself) could wire to an external LED that I could stick out the side of the IPU case? It'd be a good to know what it's doing even when the IPU case is closed.
The feature is already present exactly as you describe... QTY3 screw terminal pins. However, you'll probably be more interested in the GUI device I haven't announced yet.

(Or would that be dangerous since the power is ultimately coming from the battery?)
There's no danger with any low voltage signals coming from LiBCM. They're all completely galvanically isolated. The entire LiBCM PCB can burn to a crisp and there's zero chance the HVDC will bridge to the low voltage control signals.
 

·
Premium Member
Joined
·
1,861 Posts
Nothing... no charging. Grid charger stays off. Again, the default off-time (10 minutes) is user configurable (including setting to never turn off). If you turn the key back on when the (off) grid charger is plugged in, then the grid charger will turn on (and stay on, even when the key is off).



The feature is already present exactly as you describe... QTY3 screw terminal pins. However, you'll probably be more interested in the GUI device I haven't announced yet.


There's no danger with any low voltage signals coming from LiBCM. They're all completely galvanically isolated. The entire LiBCM PCB can burn to a crisp and there's zero chance the HVDC will bridge to the low voltage control signals.
Ah so you aren't like Apple, who likes to put 50v lines right next to 1.5v lines...lol...
 

·
Linsight Designer
Joined
·
2,224 Posts
Discussion Starter · #252 ·
What will be the frequency of grid charging needed for this pack?
Grid charging is never required. It's only to allow you to start your journey on a full* pack.

*Note: I live on a mountain, and will be including a setting to only charge to ___ SoC, so that I can regen the whole way down the hill.
 

·
Linsight Designer
Joined
·
2,224 Posts
Discussion Starter · #253 ·
Ah so you aren't like Apple, who likes to put 50v lines right next to 1.5v lines...lol...
Ha, yeah, it's such an interesting design decision Apple made with that screen ribbon cable.
 

·
Registered
Joined
·
248 Posts
Correct, you can turn the clock off and idle/sleep. You can also divide the master clock down to run all the subsystems at a slower speed. I'm using all the counters and the watchdog already (to force reboot if/when hung), but assuming I can dual-use something in hardware, then I can interrupt myself back up from sleep. I'll think about this more, so thanks for kicking the can a bit.


I'm not sure I completely follow this, but I'm powering the Mega with a synchronous pulse skipping buck converter... very low idle current (on the order of years before draining the lithium pack).
LDO regulator would be attached to key on 12v through a diode. A transistor pair can connect LDO to 12v hot all the time. The output of LDO connects to small super capacitors which are directly powering the mega. So when the mega is active, it pulls the transistors that connect LDO to 12v so key never has to be on.

In my experience, you've got 20mhz available, you might as well use it since it's set in fuses. You can run a 32khz crystal on i think timer 2 that can do ultra low power RTC interrupts for wake functions instead of watchdog. It's something like 10-15nA to power 32khz timer in sleep mode. I bet you could get idle power draw so low, your 12v battery's self discharge is greater, even with 20mhz main clock.

Edit: just looked in the manual, looks like 8mhz internal is the only option when running 32khz crystal on timer 2.
 

·
Linsight Designer
Joined
·
2,224 Posts
Discussion Starter · #256 ·
I follow that explanation. Thanks for taking the time to spell it out.

Note that LiBCM is (always) entirely powered by the HVDC stack, via a galvanically isolated off-line buck converter that generates a local 12 volt rail. That rail is then buck converted down to 5 volts, using an ultra-efficient synchronous pulse skipping buck converter. By themselves, those two power supplies consume just 70 mW at idle, which would take 528 days to discharge the fully charged lithium battery.

Unfortunately the Arduino Mega PCB doesn't have a 32 kHz crystal, and I don't intend to design that PCB out... as I mentioned previously, the Atmega2560 IC itself is more expensive than the entire Arduino Mega PCB at the low quantity LiBCM will sell at.

So we're left with switching to the internal 8 MHz oscillator before going to sleep. I haven't tested the power consumption in that condition yet. Fortunately, now that we have a workaround to prevent pack discharge, we can optimize the sleep energy consumption later.

Again, thanks for looking into this. I'm all ears for any and all solutions.
 

·
Premium Member
Joined
·
265 Posts
I am so far below your abilities that I feel like when I was a five year old watching my Dad assemble a Heathkit stereo amplifier for our home. I didn't know what all those little colorful parts were, but I knew it was going to be neat when it was done!

To this day, the smell of electrical soldering instantly takes me back to that awe struck five year old watching his Dad!

All this to say thanks for all your work, and I'm looking forward to the end product!
 
  • Like
Reactions: mudder

·
Linsight Designer
Joined
·
2,224 Posts
Discussion Starter · #258 · (Edited)
@tervic Soldering always reminds me of the stereo repair shop I frequented as a kid... the guy chain smoked. With the iron and cigarettes going full tilt, his vision was often obstructed, and yet he was able to fix anything that came before him. I, too, remember sitting there all of maybe 10 years old, having no idea what he was actually doing. A lifetime later, I've assumed his place on the bench (minus the smoking part). Knowledge is humankind's greatest tool, and I constantly strive to learn as much as possible, sometimes at a sacrifice to everything else.

Today I validated the SPI link to the LTC6804s:
youtu.be/h6kbnpcgks8
 

·
Registered
Joined
·
365 Posts
Are the cooling fans ball bearing type and will they be monitored for function? I'm assuming the HV battery will have to be pulled to replace them.
 

·
Super Moderator
Joined
·
752 Posts
Ball bearings fans are not necessarily the panacea some think they are. The main problem I've experienced with ball bearing fans is that the bearings can quickly become quite noisy. Probably not a huge issue inside an Insight.

I would also like to point out that high quality bushing type bearings are not a problem. The O.E. IMA battery fan is a Panaflo. These Panasonic fans used what they called a "Hydro-wave" bearing....marketing speak for a some kind of high-tech bushing.

I have yet to see one of these O.E. battery fans suffer a bearing failure.
 
241 - 260 of 269 Posts
Top