Honda Insight Forum banner

201 - 219 of 219 Posts

·
Super Moderator
Joined
·
731 Posts
I have to say that the layout has gone more compactly that I imagined. Then again, most of my projects have gone about like this:

"These components will never all fit."
"Hmm, I might just be able to make this work."
"Hey look! There's some space to spare."
 

·
Premium Member
2001 5S "Turbo"
Joined
·
11,325 Posts
What about
"Damn, I should have done that in the first place".
 

·
Linsight Designer
Joined
·
2,172 Posts
Discussion Starter #203
"These components will never all fit."
"Hmm, I might just be able to make this work."
"Hey look! There's some space to spare."
Fun facts about "fullest" PCB I've ever worked on (along with four other analog/digital engineers):
-QTY26 layer 11x7" PCB
-QTY53 power supplies
-QTY64 DRAM ICs (512 GB total, that stored ~600 ms of data).
-QTY4 DC-26.5 GHz ADCs
-QTY4 Inphi opamps that were ~$500 each.
-QTY2 Virtex7 ~1600 pin FPGAs
-QTY1 Kintex7 ~900 pin FPGA
-QTY1 custom ASIC with ~1100 pins
-QTY1 custom ASIC with ~400 pins
-Refdes numbering went to: U112, C1618, R1587, J27, L103, C14

Total PCB BOM cost exceeded $20,000. It took more than a month full time for three layout engineers to fit it all. I accidentally blew one up. Fun times.
 

·
Registered
Joined
·
971 Posts
Question. The Insight gracefully reduces the maximum available regen as state of charge reaches 100%; it similarly does so for assist as state of charge approaches 0%, first requiring increased throttle for similar amounts of assist, then fading assist regardless. Is this fading behavior commanded by the ECU or is it performed independently by the MCM (presumably by comparing the pack voltage at MCM connector 'E' (or maybe VPIN) against limits programmed into it?)

I ask because I'm enamored by the simple galvanically isolated PWM circuit used to scale pack voltage. If when commanded to provide assist or regen the MCM alone makes the determination by how much, then if one starts with enough cells in the pack, I wonder if intelligently scaling pack voltage could eliminate the mismatch between the working ranges of lithium and NiMH cells.

For example, if one has a 48S Insight pack and applies PWM with an 80% duty cycle when the pack is at 2.8 volts/cell, and increases the duty cycle with pack voltage until the duty cycle is 100% for a pack voltage of 4.1 volts/cell, the resulting voltage seen at the MCM 'E' connector would be 108V - 197V, which is greater than the maximum range the MCM subjects a NiMH pack. This would allow the car to perform its stock fade behavior.
 
  • Like
Reactions: daleag

·
Linsight Designer
Joined
·
2,172 Posts
Discussion Starter #205 (Edited)
Question. The Insight gracefully reduces the maximum available regen as state of charge reaches 100%; it similarly does so for assist as state of charge approaches 0%, first requiring increased throttle for similar amounts of assist, then fading assist regardless. Is this fading behavior commanded by the ECU or is it performed independently by the MCM (presumably by comparing the pack voltage at MCM connector 'E' (or maybe VPIN) against limits programmed into it?)
The ECM ultimately controls assist/regen behavior, based on QBATT signal. However, since LiBCM is able to manipulate all the data the MCM uses to generate QBATT, we can change the charge/discharge aggressiveness that the MCM generates as we please.

I ask because I'm enamored by the simple galvanically isolated PWM circuit used to scale pack voltage. If when commanded to provide assist or regen the MCM alone makes the determination by how much, then if one starts with enough cells in the pack, I wonder if intelligently scaling pack voltage could eliminate the mismatch between the working ranges of lithium and NiMH cells.
Yes, that is the entire point of this circuit.

For example, if one has a 48S Insight pack and applies PWM with an 80% duty cycle when the pack is at 2.8 volts/cell, and increases the duty cycle with pack voltage until the duty cycle is 100% for a pack voltage of 4.1 volts/cell, the resulting voltage seen at the MCM 'E' connector would be 108V - 197V, which is greater than the maximum range the MCM subjects a NiMH pack. This would allow the car to perform its stock fade behavior.
Also yes.
Technically as duty cycle increases the perceived pack voltage at MCM 'E' decreases. So if we send 0% duty cycle when the pack is empty and 100% when the pack is full, then we'll compress the voltage seen at MCM 'E' as follows:
Actual Pack Voltage: 133-197 V
Perceived Pack Voltage: 133-173 V

LiBCM will also need to adjust VPIN by the same amount.
 

·
Administrator
Joined
·
12,725 Posts
Fun facts about "fullest" PCB I've ever worked on.
You can't tease us with that then leave us hanging..
Give us a clue as to what that was in/for? :p
 

·
Linsight Designer
Joined
·
2,172 Posts
Discussion Starter #207
You can't tease us with that then leave us hanging..
Give us a clue as to what that was in/for? :p
It was a high speed 8 bit ADC that simultaneously sampled QTY4 channels at 56 GS/s. DC to 26.5 GHZ analog bandwidth. Here are a few customer use cases:

-Capture the entire communications spectrum in an area, scan for certain signals, modify desired signals in realtime, then use a louder broadcaster to man-in-the-middle the data in real time. Three FPGAs lets you do that.

-Measure a nuclear warhead's yield nondestructively.

-Capture neutrino detections with photomultipliers. We did a system with QTY2000 total channels. I suspect it's still scanning scintillating fluid underground, pulling 150 kW 24/7.

-Measure hard disk drive head data stream... the read/write head is a digital (1 or 0) signal, but you need to make sure the head is working properly by reading the actual analog values... 250 MB/s is up to 2.1 billion state changes per second. Our ADC could capture 27 8b samples per state change.

...

I sometimes miss working at a larger company that can throw hundreds of great minds at a problem... but I'd never do it again. It's so stressful. I'm happy working on my own little hobbies at smaller companies.
 

·
Linsight Designer
Joined
·
2,172 Posts
Discussion Starter #208 (Edited)
Late update: I ordered the PCB a few days ago. Here's the final PCB:
90195

I'm only showing the top layer, with flood planes turned off so the silkscreen text is easier to read. I tried to make it really clear which parts will kill you dead if you touch them. Someone is still probably going to hurt themselves, though; they can have all of my Linsight LLC assets (hint: it won't be worth the legal fees).

I also ordered enough parts to build a couple prototype boards. Between the time I started the schematic and the time I ordered the parts, eight different parts that were in stock were no longer in stock anywhere. The 2020/2021 parts shortage is very real. At work we've resorted to ordering gray market ICs. It's not pretty.

These first boards are for me - not you - so please don't spam my inbox asking for a prototype board. Probably it won't be useful to you anyway, as it's bound to have a couple wrinkles to iron out. Shipping a RevA PCB with this many parts is fairly unlikely. When the time comes, I will message those individuals I believe have the technical prowess to not flood my inbox with rudimentary "How do I use a screwdriver?" messages. My goal is to pass on the routine support to this community as a whole, using those early adopters' feedback and subsequent help in this forum. I do not want this project to consume my time supporting the same basic installation questions. Rest assured that I will provide ample installation instructions for the casual electronics hobbyist to successfully install a 42S or 48S system. Beyond that, I don't intend to support every single use case. That is one of my primary hesitations in releasing this passion product.

In short, people who just want a simple solution will want to use 42S or 48S. This will work out of the box... no configuration required. Just plug it in and it will work.

...

Hackers and tinkerers read on:

LiBCM supports 60S on the board. To use this configuration, you will need QTY2 12S modules and QTY2 18S modules. Technically 54S is also supported, using QTY3 12S modules and QTY1 18S module. Note that a 54S configuration that uses QTY3 18S modules WILL NOT WORK. In either configuration, QTY1 12S pack will be outside the OEM IMA battery enclosure. This pack connects in series between the most positive pack inside the enclosure & the HVDC+ contactor (i.e. the external pack is the most positive in the stack). This external pack will need to be manually wired into screw terminals on the PCB. The 13 position screw terminal header I used is removable, so you can wire the pack separately, and then connect it to the PCB. I do not intend to support this configuration much beyond this paragraph, but it will be supported in firmware.

Up to 84S is supported with QTY2 external LTC modules. I wouldn't push it past that, as the galvanic isolation is only rated for 630 VDC absolute max, which equates to ~300 VDC for safety. I suspect 84S is probably only useful for the LTO crowd. Again, I don't intend to support this configuration much, but it's there if you want it.

As far as configuration goes (e.g. changing maximum charge/discharge voltage, battery ampacity, fan enable/disable conditions, etc), I initially intend to support this via a USB serial protocol. In simple terms, you'll plug the Arduino into your laptop (or remove the Arduino from the installed PCB and plug it into your desktop). From there, you'll use a text-based configuration window. Don't let this scare you; Arduino's built-in Serial window is very easy to use. Using this window, you'll also be able to read the real-time cell voltages, battery current, configure current spoofing (e.g. Peter's +40% current mod), spoof the voltages sent to the MCM ('E', VPIN, and BATTSCI). Basically everything will be configurable. I'll probably have a "default settings" menu that lets you one-click the entire system for the most common configurations (e.g. bone stock system, Peter's +40%, etc).

I don't intend to initially support H-Line interfacing. The hardware support is there, but I probably won't do the firmware for a while. It'll all be open source, so anyone can do that work and I'll merge it in. Another option would be to use a Raspberry Pi with a small screen to communicate using the USB protocol mentioned previously. Once the hardware is plugged in, this is as simple as opening a serial monitor, then using it exactly as you would on a computer.
 

·
Registered
Joined
·
971 Posts
This could save a bunch of cars from the scrap heap. I hope our battery vendors are lining up to build a commercial version because that will only make it better for hobbyists.

Here are a few observations.

1. It looks like the installer has to connect the packs to the board inside the case, then attach the main board to the case. Is this how assembly will go? A slipped screwdriver could be fun. Also when moving the pack this would expose high voltage on two sides instead of one (the switch board).

An integral shield comes to mind but the board is full to the brim.

I would argue that some level of safety is part of the MVP. If more room is needed, 48 cells is the MVP. Also there is a Mega with a footprint 40% smaller: Amazon.com: MEGA 2560 PRO Embed CH340G/ATMEGA2560-16AU Chip with Male Pinheaders Compatible for Arduino Mega2560 Module: Computers & Accessories It is 40% the size of the full Mega.

2. I don't see holes to restrain the Mega. Metal screws and standoffs suck around high voltage. These suck for other reasons but at least they can't unscrew:
90223


3. I can't figure out where the PCB's own mounting holes align with existing holes on the battery case. Then again the case on my bench isn't torn down so I might not be seeing everything.

4. It should be mentioned that there are two LTC8604 demo boards and I assume that it is the DC1942C (using the LTC8604-2) that is compatible because it supports parallel (aka multi-drop) operation, as opposed to the LTC8604-1 (and its demo board DC1894B) that does not.

Finally, thank you very much for the tip on the LTC8604 a while back. I obtained both types of demo boards on Ebay and one is now measuring voltages in a cell-level NiMH conditioner. It is amazing how the measurements are rock solid down to the millivolt.
 

·
Linsight Designer
Joined
·
2,172 Posts
Discussion Starter #212
This could save a bunch of cars from the scrap heap. I hope our battery vendors are lining up to build a commercial version because that will only make it better for hobbyists.
I believe the "commercial" solution will be for vendors to buy the PCB, build it into a case, then sell the case as a complete solution. I get that many customers won't want to deal with integrating this PCB into the pack module.

1. It looks like the installer has to connect the packs to the board inside the case, then attach the main board to the case. Is this how assembly will go? A slipped screwdriver could be fun. Also when moving the pack this would expose high voltage on two sides instead of one (the switch board).
The high current leads are installed first, then this PCB. The final LiBCM product will have a second (empty) PCB that mostly covers the high voltage sections. It will also have a gigantic "DANGER HIGH VOLTAGE" silkscreen in ~1" BLOCK letters. I haven't ordered that PCB yet, because it isn't necessary for prototyping (or alpha early adopters). A slipped screwdriver would certainly be exciting. Note that the OEM switch+fuse is still used, although it is placed much higher in the stack. Still, when the switch is off, it still requires touching two separate points on the PCB to elecrocute yourself. This is because the pack isn't referenced to the low voltage system in any way... even if you touch the most positive point in the stack, there's no return path to ground. While I'm not advising anybody touch anything high voltage, it's technically safe to touch any single point in the IMA bay while also touching chassis ground... but not more than one point... that could kill you.

An integral shield comes to mind but the board is full to the brim.
The integral shield I mentioned above is attached to the PCB via M4 standoffs, using the QTY6 holes around the board perimeter.

I would argue that some level of safety is part of the MVP. If more room is needed, 48 cells is the MVP. Also there is a Mega with a footprint 40% smaller: Amazon.com: MEGA 2560 PRO Embed CH340G/ATMEGA2560-16AU Chip with Male Pinheaders Compatible for Arduino Mega2560 Module: Computers & Accessories It is 40% the size of the full Mega.
The MEGA size ultimately didn't matter, as most of the low voltage circuitry is placed between the QTY6 8-pin female SIPs. There was some reason the smaller MEGA wouldn't work, although I don't remember why at this point. I definitely looked at using it, but ultimately didn't for some reason (that escapes me).

2. I don't see holes to restrain the Mega. Metal screws and standoffs suck around high voltage. These suck for other reasons but at least they can't unscrew.
The MEGA is restrained by the 2nd (insulating) PCB, mentioned above.

3. I can't figure out where the PCB's own mounting holes align with existing holes on the battery case. Then again the case on my bench isn't torn down so I might not be seeing everything.
There aren't existing holes on the battery case... the user is expected to drill QTY6 holes into the OEM case, using the PCB as a guide. Right now my plan is to use heat-set threaded inserts (like the ones installed in the case now), since this prevents the "oh crap I dropped a nut into the HV system". However, I get that some people might prefer to use traditional nuts, which will work as well.

As much as I wanted to mount the PCB using the QTY8 M6 holes on the fan outlet side of the pack, I needed those holes to mechanically secure the modules in place.

4. It should be mentioned that there are two LTC8604 demo boards and I assume that it is the DC1942C (using the LTC8604-2) that is compatible because it supports parallel (aka multi-drop) operation, as opposed to the LTC8604-1 (and its demo board DC1894B) that does not.
Correct, -2 is required, and the correct LTC demo board part number is written on the PCB, right next to the isoSPI connector (which is no longer part of the OEM BCM connectors, because I couldn't pass HV creepage & clearance with the OEM connector.

Finally, thank you very much for the tip on the LTC8604 a while back. I obtained both types of demo boards on Ebay and one is now measuring voltages in a cell-level NiMH conditioner. It is amazing how the measurements are rock solid down to the millivolt.
Thanks for your feedback, as always!

The LTC6804 uses an amazing delta sigma ADC architecture. This won't mean anything to most people - even those who know what an ADC is - but delta sigma converters are THE WAY to measure in noisy systems:
-Essentially remove quantization noise
-Magically spread your noise spectrum out to several MHz, then chop off everything above your effective sampling rate, and presto you've cut the noise floor down 20 dB below any other ADC topology.
-Perfectly linear. As in perfect... there is zero non-linearity with a properly-designed 1b delta sigma... that's the magic when your ADC's oversampled data stream can only be one or zero (and two points is always a straight line).
-No MSB issues.
-Since you're sampling at a massive oversampling rate, periodic noise is nearly entirely rejected. In contrast, a SAR or Flash ADC sampling at 20 Hz is only going to get 20 discrete samples per second, whereas a delta sigma sampling at 20 Hz might sample 2 million times per second... so noise in the system gets averaged out 100 thousand times per sample.

Gosh you just can't go wrong with a delta sigma ADC.
 

·
Premium Member
Chicago & Detroit
Joined
·
1,194 Posts
I don't know which thread to ask this question soooo

Peter (re-)posted a picture and the instructions to mod the MCM by cutting a pin and running B+ to the disconnected pin. This procedure delay's the signal which illuminates the IMA dash light to prevent havoc when 'nothing' is really wrong. He said he does it to every project involving the LTO. I can almost repeat everything except I can't see the picture or read the instructions. Can someone please post a link or re-post the process/procedure.

EDIT: found it. It's on YouTube. Also found Post # 507 Inside the G1 MDM & more power!

 

·
Administrator
Joined
·
12,725 Posts
The FSC mod John mentions above prevents the car throwing an IMA code in a temporary overcurrent situation.
Regen is very demanding on the IGBT module and it can flag an overcurrent with hacked +40% regen at low rpm.

This mod stills allows the IGBT to protect itself, but it stops the fault code flagging up in the MCM.
The driver might feel a slight stutter as the regen is disabled for a second or two.

Non current hacked cars don't need this mod.
Not all current hacked cars need this mod. (If your car does not throw codes then great.)
Not all current hacked cars will exhibit this behaviour due to tolerances in the IGBT modules.
The issue only occurs in a limited set of conditions, low rpm (<2000rpm) heavy regen (70A+) anyway.

IGBT modules are plentiful and cheap. I have never blown one even at 30kw. ;)
 

·
Linsight Designer
Joined
·
2,172 Posts
Discussion Starter #216
H-Line is wired on the board, but won't initially be supported in firmware. I'm planning on supporting USB data streaming out of the box. I'm also working on a nice GUI using a plug-in LCD screen
 

·
Administrator
Joined
·
12,725 Posts
As this BMS module replaces the BCM it doesn't actually need an H Line to mimic OEM functionality as the OEM BCM is not connected on the H Line.

To report DTC error codes to an HDS or equivalent tool it will have to pass data over the BATTSCI line to the MCM which will generate the H Line signals.
 

·
Premium Member
Southern California
Joined
·
837 Posts
The H-line could be useful for querying data from LiBCM using OBDIIC&C or Pegasus, though!
 

·
Administrator
Joined
·
12,725 Posts
The H-line could be useful for querying data from LiBCM using OBDIIC&C or Pegasus, though!
Indeed cell voltages etc.. Sounds like Mudder has another plan as well .. ;)
 
201 - 219 of 219 Posts
Top