LTC6811 Implementation Thread

And as Switters would say... "F<ck the Dallas cowboys, its Saturday and the waves are 1' overhead".

("Fierce Invalids Home from Hot Climates" on Audio Book read by Keith Szarabajka - check it out if you like raunchy talk and good visuals)

-methods
 
And if you are wondering why the hell I am mind-flowing this out here...
well..

It's what I normally do on a 4' x 8' white board.
We get it all out... visually... then condense it down into what is really important.

When trying to work with a group to down select the biggest problem is keeping everyone who is not directly involved on the same page so as not to side-bar too far into the bushes. If its all up on the white board you can snap-off miss-direction by pointing to the arguments already developed. At some point certain parts get circled as constants, they become requirements and they are backed up by rational. Any further argument goes off-line so that the group can stay focused.

Never will we find a group where EVERYONE there has the entire problem in their head.
Most people you want at a design review only have a rough idea of what they are reviewing... it is the leads job to keep the full problem up in the noggin and everyone else's job to poke holes, prod, question, share concerns, give warnings, and just probe the crap out of the idea.

Conceptual Design Review - before things get too far
Proof of concept and test - now we have something
Production Readiness Review - did you qualify the design?
Off to production

Ok - I am off to draw up the system within this new set of confines.

At this point I owe a clear 5 page set of requirements with rational so that I can quit burning rubber in circles and order parts.

-methods
 
Just a potentially stupid question, but I'll risk anyways: Do those cells unbalance so much/often that you need to have an on-board balancer?
 
ISSUES NOTED:

In the case of charging, our charger will hold up our rails (via the DC-DC) even after an HVC event so the mosfet and associated drive will need to continuously hold off the charge current and keep the contactor open. IF the MCU goes down the mosfet drive must default to open circuit. Obvious but an issue to be wary of.

Decisions need to be made around tradeoff of robustness to noise vs power on the MCU. A 5V rail will probably fair better than a 3.3V... and definitely better than a 2V... IMHO. Brownout is a serious concern.... and we will be dropping from 12V down to 5V or 3.3V via an LDO - or possibly a TO-220 drop in switcher with extra smoothing caps.

PreCharge resistor needs to be rated for continuous output and be fused. It is very easy for this momentary switch to become shorted thereby attempting to draw current in excess of its thermal capacity. Precharge really should be remotely switched via low current... I will draw this up to see how easy we can make it.

PreCharge and the DC-DC both see the Load side of the contactor. They should be combined in some way to keep things simple and water resistant. Perhaps including fusing in here makes sense too... so a PCB design may be in order to address all this. A simple thru-hold board, that screws onto the contact, that is rigid and potted, that holds the precharge resistor AND switch, that packages the DC-DC, and perhaps deals with the coil wire connections... eh... side bar.... but part of the physical layout to address for sure. Otherwise... just wires coming out of the potting with a ring terminal will do fine... or a clever board mount connector.

There are options for the contactor in board mount but they are limited to only 30A... meh...

Contactor coil wants a freewheel diode as close as possible. This can go at the end of a 6" or 12" lead... but it is better if it is closer to the coil... especially if we are going to economize the coil and PWM it.

Need to identify what the 150V DC charge and discharge fuses are going to be, how much they cost, what the fuse carrier costs, how water resistant it is, etc. Review self resetting breakers.

Need to shift focus back to the interfaces at the connector and mounting level.
Balance tap connections
Temperature connections
Interface from LTC to MCU
Potting and mounting of PCB
4 layer requirements
PCB shape
Wires out to the contactor (coil +. coil -, terminal load side)

Need to review 2pcs or 3pcs LTC... for 24S or 36S max... leaning toward 24S max to keep it simple and capped.. but... ah shit... what if we want to run an old busted Zero battery on an ebike??? Sure would be smart to allow for a 26S or 28S pack ...

PWM of precharge - eliminated as a path forward.

Communications port - I want to do it over bluetooth instead of USB this time. Bluetooth module right on the COM1 of the Arduino. $9 bom cost, infinite less worry around an exposed USB connector, eliminate the FTDI chip which is a power hog... use boot sequence to power comms... at startup BlueTooth fires up... if no comms... it puts itself to sleep. DONE with busted old FTDI chips.

Just having a BlueTooth on the device... would allow for... the user to turn the contactor on and off from a simple Android device.
Now that could be interesting... Anyone who could broadcast over BlueTooth could supply a heartbeat... that once removed... would result in system shutdown.
Interesting... power hungry but interesting. Remote shut down - something I need for my kid

(Note: I went out to Pismo and put my 5yo on a quad. It was a kids quad... he could handle it... but it came with a remote key fob to kill the engine. Made me feel GOBS better having that key fob once I quit running along side him. Remote kill... reliable remote kill... on a heartbeat... software option)

And... if we do that... all the settings can be exposed to the user via an Android app. I can whip up a Bluetooth Android app in a matter of hours now.
All settings could be exposed very easily.
All data could be exposed very easily.
Not looking to become a datalog whore here... just... saying... BlueTooth... it makes shit awesome.

-methods
 
We are going treasure hunting today...
Mid-low tide in a few hours

Shells, sea glass, floatsam...

Waves are 7' at the lane today. I just checked the cam and they are coming in one after another. You can see surfers just weaving through kooks on long rides. Oh... that would be nice... but I am out of shape. Hit the shore pound two days ago at Blacks Point. Overhead with a big riptide. Got pounded and ground into the sand - sand in my nose and ears. Kimberly got washed up on shore. I kicked until I couldn't paddle out any longer.

We have climbing gear now... so we have been repelling down cliffs to deserted beaches :shock: . Want to talk about fun... walking on a beach that nobody else can walk on... a few months back we drove north to Jaguar beach (near bonny dune) and swam out around the point to a deserted beach. It was INTENSE... we had to navigate overhead waves across to large sea-cave openings. There were underwater rocks - huge rocks... kelp everywhere. No help in sight in any direction. Went out near sunset... walked the deserted beach till the sun set then had to swim back into the current to get back to a trail. Much better to just climb up your ropes... but... its nerve racking wondering if anyone is fooling with your tie-off at the top... :shock:

Pics or it didn't happen (pics posted on my www.SchindlerEngineering.com website) :wink:

Ok - block diagrams
Stay on topic

-methods
 
In the spirit of making things as complicated as possible... :mrgreen: roll your own current sensor!
http://datasheet.octopart.com/MLX91205KDC-AAH-003-TU-Melexis-datasheet-62983320.pdf

...just putting this out there for future reference.
 
Njay said:
Just a potentially stupid question, but I'll risk anyways: Do those cells unbalance so much/often that you need to have an on-board balancer?

No such thing as a stupid question friend.
The only stupid question is the one nobody will ask.

Now... the answer to your question is ... what we would consider "common knowledge" at this point.
YES - for a sustainable no-fuss solution it is best to have balance on board.
Monitoring of cell levels is mandatory... and if this monitoring is implemented balancing comes with it for very cheap...

If we dont balance on board we have to trust the user to balance charge from time to time.
With new cells... meh... you can go without balance.

With salvage cells (which I mostly deal with) imbalance is a constant concern. People can talk all they want about how their packs stay nuts-balanced. Thats not what I have experienced. I have experienced drift of at least a parallel group of cell high or a cell low.

If we were to consider your question as a design driver... if we dropped balance we could drop the entire LTC requirement.
We could monitor with hardware and have our switch driven from an opto trigger.
This would SIGNIFICANTLY reduce cost, complexity, and size.

We have gone this route in the past. I am willing to consider it...
Let me block diagram it out
Consider dropping the MCU and LTC chain all together (this is what my only real customer wanted anyway... SIMPLE HARDWARE PROTECTION)

Thanks for stirring the pot friend.

I would want to maintain Temperature probes...
But.. in truth... I never implement my temperature probes... because I always use pre-packaged hobby king packs
So we would drop temp
Drop balance
Fall back on a .... eh... sigh...

That would sure get the show on the road eh?
Trip the Contactor coil mosfet driver with an opto... let the hardware chips tune the time constant...

Now that gets simple!

-methods
 
AHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH

Shush bigmoose :mrgreen:
You are going to cause me to blow a gasket :)

Trying to kick this crap out the door.
I spent the last 2 nights in bed pouring over shunts, hall sensors, coil sensors, internal, external, ranging, biasing, cost, current draw, IP.... MEH it was a huge distraction. I think I am going to leave that job to the controller.

-methods


bigmoose said:
In the spirit of making things as complicated as possible... :mrgreen: roll your own current sensor!
http://datasheet.octopart.com/MLX91205KDC-AAH-003-TU-Melexis-datasheet-62983320.pdf

...just putting this out there for future reference.
 
Note:

Jozzer kicked a significant chunk of change into the R&D pot to move this effort along. My only real paid for goal is to try and meet his requirements and my requirements. Mine are just to allow my lady friend to use a pack I built without fear. His are the usual... to offer a DIY solution that is a bit better than the Chinese BMS offerings. Something simple, water proof, dummy proof, but more of a one size fits all... more of a tool than a solution.

My adviser at Stanford (my effective adviser... since I never met with my assigned adviser but once...) told me this:

"Patrick - We make tools. We are tool makers."

It is always more useful to make a tool than a specific solution.
Even people who have 3pcs of solution can still buy a tool.
The Cycle Analyst is a huge success because at its heart it is more of a tool than a solution... it is the general solution for many things.

I wish to build a tool.
It would be damn nice if this tool scaled 4S to 30S
It would be damn nice if this tool handled balance issues
It would sure make me proud if it was clean and easy and dummy proof and just plugged in... like a CA

A hybrid tool... which can be used as a solution... or moved around
A general solution - imperfect but meeting requirements

Let me revisit if we can do that in hardware.
Oh man is the LTC end of things complicated and expensive...

Anyone want to post of a scale-able hardware chip or board?
Something 4S or 6S or 1S... that stacks to 30S?
Ripple noise becomes a big issue at time of connection. Things need to be strapped up.

Meh Meh Meh :)

-methods
 
Monitoring the cells is the bare minimum... if they get unbalanced, which, if I'm correctly aware, can be seen at the charge's bottom or top, the "engine check" bulb lights up and then it's up to the user to also plug the external balancer in tonight's charge. Or just prevent the user from using the battery like LVC/HVC until it gets the pack to the balancer, if you value the battery pack more than the user :D (heck, nothing prevents me from driving my ICE car without coolant, oil, or make clutchless gear changes, etc etc).

With the balancer off-board, it can balance hard (and can be used to balance other packs... a generic device, like a charger). As long as it's easy, just a plug...

Or, you "glue" the charger and the balancer's plugs together - impossible not to balance. I think balancing (for health), is actually more of a charger's task.

On-board balancing is the endless problem of trying to find the balance (no pun intended :D) between balancing quickly enough and not shedding too much heat. I don't see a win-win solution here yet.

methods said:
Njay said:
Just a potentially stupid question, but I'll risk anyways: Do those cells unbalance so much/often that you need to have an on-board balancer?

No such thing as a stupid question friend.
The only stupid question is the one nobody will ask.

Now... the answer to your question is ... what we would consider "common knowledge" at this point.
YES - for a sustainable no-fuss solution it is best to have balance on board.
Monitoring of cell levels is mandatory... and if this monitoring is implemented balancing comes with it for very cheap...

If we dont balance on board we have to trust the user to balance charge from time to time.
With new cells... meh... you can go without balance.

With salvage cells (which I mostly deal with) imbalance is a constant concern. People can talk all they want about how their packs stay nuts-balanced. Thats not what I have experienced. I have experienced drift of at least a parallel group of cell high or a cell low.

If we were to consider your question as a design driver... if we dropped balance we could drop the entire LTC requirement.
We could monitor with hardware and have our switch driven from an opto trigger.
This would SIGNIFICANTLY reduce cost, complexity, and size.

We have gone this route in the past. I am willing to consider it...
Let me block diagram it out
Consider dropping the MCU and LTC chain all together (this is what my only real customer wanted anyway... SIMPLE HARDWARE PROTECTION)

Thanks for stirring the pot friend.

I would want to maintain Temperature probes...
But.. in truth... I never implement my temperature probes... because I always use pre-packaged hobby king packs
So we would drop temp
Drop balance
Fall back on a .... eh... sigh...

That would sure get the show on the road eh?
Trip the Contactor coil mosfet driver with an opto... let the hardware chips tune the time constant...

Now that gets simple!

-methods
 
If I can find a simple enough hardware solution that stacks I would consider it.
Even if the user does not balance... it just means shorter and shorter range as the upper and lower bounds creep in.

We drove north on Hwy 1 - past the island but short of the lighthouse.
Put on wet suits and walked out to a beach.
Navigated human size tide pools out into the break.
Kimberly slid down the side of a rock and cut both hands up.
Found some high quality large pieces of beach glass.
Lots of sea life. No people. Windy... but not cold.

-methods
 
I live relatively close to the sea (15Km or so) and one of the things I like the most is to walk at night on rocky beaches (sometimes rocks are sand covered, sometimes they're not) exploring the sea life. I've actually been in Santa Cruz a couple of times, but just enough time to wet my feet in the Pacific (yeyy :D) and watch the sea lions sunbathing on the wharf and complaining about the voyeurs :D
 
Those sea lions fart just FYI... it is nothing nice.

The sea birds are worse... I was once swimming from Sunny Cove to Blacks Point and I passed 100+ pelicans that were hanging out. They took flight... and shit started raining from the sky. Big yellow-white streaming blobs of it.

I tried to go under water for 10 seconds to wait them out... when I opened my mouth for a large breath... SPLASH... I got a mouth full of the nastiest tasting substance known to man. It was the worst kind of fishy... I was gagging and choking out in the waves.

On that note:

I have completed the high level system architecture.
The component interfaces have been thought out ad nauseam - I can list all of the customer requirements, how they drove system design, and weighting of decisions.

There is a "BASE" board - it serves as Master. It can service up to 12S, has the MCU, and acts as the central point for external components.
There is a "EXPANSION" board - serves as a slave. Services cells in chunks of 4-12 for any cells over 12S.
There is a "DC-DC" board - it serves to knock pack voltage down to the required contactor drive. 100mA variant (for MOsfet systems), 400mA variant (for 50A contactor systems), 2A variant (for big systems).
There is a "Contactor" port. It is 3 wires... coil+, coil-, and load side terminal (To bring in system voltage)

User can substitute their own DC to DC... its just 4 wires: HV, HV_GND, 12V, 12V_GND

User can substitute their own Contactor or switch... its just 3 wires: GND, 12V, Load_HV (so we can read load for precharge match, detect charger, and power DC-DC)

BASE passes HV from Contactor out to DC-DC

I added lots of ports.... Dedicated LVC, HVC, OVER_TEMP, AUX1, AUX2 (programmable) - these can be low power sink only or powered

There are programmable onboard LED's - you can go low power or wasteful with feedback

Expansion and Base boards bring in Xpcs (currently 3) of Temperature data

I am still down selecting on a board mount IP67 connector... I laid out the system using JST-XH-7 for balance, JST-XH for Temp, JST-SM for Opto... But I think for this design I want to fully encapsulate and actually meet an IP standard... even if the battery can not. At least the BMS will be rated... for the case where a battery is in a box with an external connection.

I like the A Series from Amphenol Sine Systems - but they are much too bulky.
I need a right angle
Single Row
O-Ring Sealed
Series of connectors which go to 7pin at a minimum
They must be small... Weatherpak is not even a consideration!

Anyhow - once I decide whether to Draw it nice by hand, do it in Power Point, do it in Eagle, or whatever... I will present it in a nice new clean thread.

Round 1 seed was under $1k
From that we reviewed changes in the market, poled customers future and past, compiled and solicited requirements, designed sub-systems, confirmed all would work with a >99% confidence, and basically did everything but actually build one.

Rount 2 seed will be more like over $3k
That involves finalizing the system architecture and freezing it (posting it), developing the detailed BOM (Bill of Materials), the schematic layout with mechanical complete (board outlines), copper layout, ordering parts for 3pcs, ordering PCB's, building 3 out, destroying one, testing one in service, and sending one out for test in service.

I may have to seed round two... or if I find some time and money I may kick-start it. F kickstarter... I dont want to get into all that... we can already do that on the micro level. Best bet is if I find FTE work and just fund it myself, answer to myself, and profit if I want to.

-methods
 
Request to support coil voltages other than 12V.

12V, 24V, 48V, 72V I can support.

V-Pack comes in off the Contactor and into main board
Primary DC-DC is modular and external - I am producing 150V to 12V converters...

If someone wants to supply a DC-DC that outputs a greater voltage, the signal is only used for:

* Feeding coil drive Mosefet... which will be 150V rated
* Feeding onboard 5V regulator (for uController) which will have a range based on part specified. Here is a wide range drop in switcher:

https://www.digikey.com/en/product-highlight/c/cui/dc-switching-regulator

I cant power the uController and perif off the LTC... it will cause lower 12 imbalance.
I may be able to push the 5V regulator off the board... tho it needs to be super clean and steady. (no go)

I can spec a regulator with up to a 72V input - best I can offer
78XX drop in replacement

I will see what the custom switcher works out to in size. cost,complexity.
I may be able to just lay a second on the board.

Where the rubber hits the road is that we need a DC-DC which accepts full range pack input
Outputs a voltage and current acceptable to drive users switch
3V or 5V will need to be created for the logic. I want it clean.

If V-Coil = Vpack...
well...
In that case DC-DC connector gets looped back in

Buss reg would need to handle that voltage + lots of noise filtering.

one arm typing... grrrr...

-methods
 
methods said:
AHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH

Shush bigmoose :mrgreen:
You are going to cause me to blow a gasket :)

Trying to kick this crap out the door.
I spent the last 2 nights in bed pouring over shunts, hall sensors, coil sensors, internal, external, ranging, biasing, cost, current draw, IP.... MEH it was a huge distraction. I think I am going to leave that job to the controller.

-methods


bigmoose said:
In the spirit of making things as complicated as possible... :mrgreen: roll your own current sensor!
http://datasheet.octopart.com/MLX91205KDC-AAH-003-TU-Melexis-datasheet-62983320.pdf

...just putting this out there for future reference.

Lol. Actually designing a hall effect current sensor is pretty easy. I had to deal with it recently when reverse engineering the Tesla small inverter.
But with Melexus you will need their programmer which is like 4k IIRC. :-/
But yeah. Stick with a shunt for a BMS.
If you want to get super fancy use a delta sigma ADC close to the shunt and an MCU that can input a delta sigma bitstream directly.
This can save costs, board space and offer better performance if you want to put in the effort.
 
Thanks for chiming in!

Love to talk about that Tesla work sometime...

-methods
 
On the subject of reverse engineering...

The Tesla dumpsters are packed full of haywired engineering boards that are unpotted... The hay wires tell you a lot.

Google voice to text
 
bigmoose said:
In the spirit of making things as complicated as possible... :mrgreen: roll your own current sensor!
http://datasheet.octopart.com/MLX91205KDC-AAH-003-TU-Melexis-datasheet-62983320.pdf

...just putting this out there for future reference.

Same chip I used in the 2017 and up Zero packs. Works amazingly well.
 
okashira said:
...But with Melexus you will need their programmer which is like 4k IIRC. :-/
...
Okashira, did I miss something? I only thought the factory programmer was necessary to take the chip off data sheet parameters? I thought it was a $3 part if you could use it as stated in the datasheet.
 
The programmer is needed to set a sensitivity anything other then the factory options?
I guess you could design around the factory available sensitivities.
Specifically I was thinking of the 91209... which is the Tesla sensor for phase current on the small drive units. It's a really fast response sensor suited to Tesla's application.
I think tesla has a jig setup where they run an environmentally controlled current test though the phase legs of an assembled inverter and update the sensor firmware.
You are right.. their other sensors may be offered in a wider range of sensitivities so they could be made to work more easily without programming.

Anyway, you dont need a super fast response for BMS current sense. Shunt is still probably best option.
 
okashira said:
The programmer is needed to set a sensitivity anything other then the factory options?
I guess you could design around the factory available sensitivities.
Specifically I was thinking of the 91209... which is the Tesla sensor for phase current on the small drive units. It's a really fast response sensor suited to Tesla's application.
I think tesla has a jig setup where they run an environmentally controlled current test though the phase legs of an assembled inverter and update the sensor firmware.
You are right.. their other sensors may be offered in a wider range of sensitivities so they could be made to work more easily without programming.

Anyway, you dont need a super fast response for BMS current sense. Shunt is still probably best option.

Shunt is never the best option if you're dealing with high power and size weight and cost matters IMHO.
 
okashira thanks for the clarification! I have a half dozen sample chips in my lab and never got around to building prototype sensors... (the story of my life.) Glad to know they will work as stated in data sheet.
 
Good news...

We have a VTC tomorrow with parties over seas that are interested in moving forward with aspects of this effort.
It looks like there are some slave units that are production ready.... and possibly a high end Master.
We may have an opportunity to develop the low cost Arduino based Master... but the target BOM is pretty low :|

Once the work is done... these should be as simple as Lego's

I am still waffling on the idea of incorporating a Master/Slave on one board.
It sort of breaks the paradigm.

Ideally the Slaves should be packed into the battery... air tight or potted.
Only Main Power, Main Ground, and 2 comms wires should be leaving the battery.
Easy enough to keep that water tight.

If we do a good job on the Master... it should be able to support legacy units in the field (Like the LTC6804)... tho with the comms issues those had it may not be worth it.

Anyway... The master can be in a small bud box... or otherwise potted.

The only bummer to not having a Combo board is the extra wires.

Speaking of extra wires... I would like for there to be *no* balance taps exiting any particular brick of cells. Thats how Justin went about it... and I thought a lot about it... and although it ends up costing more in PCB... the simplicity will pay for itself down the road.

If we spec a really nice twisted pair for the comms cables... something with a good LT type connector... strain relieved and water proof... something COTS that only costs a buck or two... I think it can be a win.

In a perfect world a battery would have its contactor or switch built in.
That just does not scale... and having bricks stacked up in strange combinations of series and parallel can lead to behavior that would be difficult to diagnose.

K... I have kids playing with scissors over here and a bunch of hooligans starting to set off fireworks outside.

-methods
 
liveforphysics said:
okashira said:
The programmer is needed to set a sensitivity anything other then the factory options?
I guess you could design around the factory available sensitivities.
Specifically I was thinking of the 91209... which is the Tesla sensor for phase current on the small drive units. It's a really fast response sensor suited to Tesla's application.
I think tesla has a jig setup where they run an environmentally controlled current test though the phase legs of an assembled inverter and update the sensor firmware.
You are right.. their other sensors may be offered in a wider range of sensitivities so they could be made to work more easily without programming.

Anyway, you dont need a super fast response for BMS current sense. Shunt is still probably best option.

Shunt is never the best option if you're dealing with high power and size weight and cost matters IMHO.

With a delta sigma adc you can use a shunt with an extremely low value and keep it pretty small on a PCB.
 
Back
Top