Page 1 of 1

Isabellenhutter shunt

Posted: Tue Feb 28, 2023 3:44 pm
by FFMan
I've got one of these shunts to integrate into my build, and i've found a fair amount of documentation about the message formats etc, but what I'm lacking is an understanding of the principals of ascertaining SoC.

Do i understand correctly it is essentially coulomb counting using the shunt data ?

If so, this assumes you start from a known capacity, and i wonder how you ascertain this in the first place ? I can say charge each of my 6 banks of batteries (60v BMW) individually and this would be the high point. How do i work out how many coulombs can be burned before i need to shut down the motor given it was a second hand pack and could well be less than the stated capacity.

Does the shunt have capability and if so do people use it, to track the power in/out (so you can somply read that number), or is it the responsibility of the attached arduino to calculate the flow based upon the regular current reading available ? If that, does one then store the capacity in eeprom at shutdown ?

If you fully charge the batteries, do you still rely upon the coulomb count, or do you reset to known max assuming you can get a full charge in it ? I guess the latter assumes repeatability of full charge which can be affected by temperature etc.

Apologies if i've missed articles etc explaining all this, feel free to point me in the right direction.

Re: Isabellenhutter shunt

Posted: Tue Feb 28, 2023 3:50 pm
by Bigpie
What I do is: Fully charged the battery to whatever voltage, reset the shunt counters, drive around until I'm at minimum voltage. Read off the shunt amp hours consumed as usable capacity.

From then on using the the consumed amp hours as a percentage of the usable capacity.

Re: Isabellenhutter shunt

Posted: Tue Feb 28, 2023 4:08 pm
by FFMan
Bigpie wrote: Tue Feb 28, 2023 3:50 pm What I do is: Fully charged the battery to whatever voltage, reset the shunt counters, drive around until I'm at minimum voltage. Read off the shunt amp hours consumed as usable capacity.

From then on using the the consumed amp hours as a percentage of the usable capacity.
thanks - figured it would be something like that. When driving around to discharge did you pause towards the lower end to allow the voltage to settle or would that actually skew the result ?

Does the shunt store the SoC value if you configure it, or do you continually use the measures it provides and retain the SoC on the Arduino ?

Do you reset the 'used count' to zero when fully charged, or rely upon counting in and out and accept the drift may actually reflect the true capability of the pack to accept charge ?

Re: Isabellenhutter shunt

Posted: Tue Feb 28, 2023 4:25 pm
by Bigpie
I reset on end of charge but it's usually pretty close to 0 anyway. Shunt doesn't give out a SoC you'll have to calculate it, my BMS does it.

Re: Isabellenhutter shunt

Posted: Tue Feb 28, 2023 8:31 pm
by FFMan
Bigpie wrote: Tue Feb 28, 2023 4:25 pm I reset on end of charge but it's usually pretty close to 0 anyway. Shunt doesn't give out a SoC you'll have to calculate it, my BMS does it.
thanks for that.

Do you recall which data point you use, from which can id ? The terminology in the docs isn't crystal clear. seems there is a choice of:-

Current
Energy
Power
CurrentCount

Do you use current and work out the consumed current based on the message interval ? i.e. 100w for 20ms = ?

Do you use the voltage reading if your shunt has it. Is it likely more accurate than the inverter, feels like it should be.

Re: Isabellenhutter shunt

Posted: Tue Feb 28, 2023 8:51 pm
by Bigpie
The wiki has instructions on configuring the shunt, we want some extras. I can't remember the ID off hand, but here's the DBC I use. https://github.com/jamiejones85/DBC-fil ... AShunt.dbc it's the amp seconds counter.

Re: Isabellenhutter shunt

Posted: Tue Feb 28, 2023 9:41 pm
by FFMan
Bigpie wrote: Tue Feb 28, 2023 8:51 pm The wiki has instructions on configuring the shunt, we want some extras. I can't remember the ID off hand, but here's the DBC I use. https://github.com/jamiejones85/DBC-fil ... AShunt.dbc it's the amp seconds counter.
thanks - seems straightforward enough :-)