Connectivity for battery / charge management system

Topics concerning OEM and open source BMSes
Post Reply
User avatar
catphish
Posts: 954
Joined: Fri Oct 08, 2021 11:02 pm
Location: Dorset, UK
Has thanked: 93 times
Been thanked: 179 times

Connectivity for battery / charge management system

Post by catphish »

I'm in the middle of developing a device to act as the charge controller and general central power management unit. I've had some trouble working out what input / output will actually be required, so I thought I'd make a post to tidy up my thought process, and potentially get input from others. My project is intended to be CAN centric, so I'm attempting to keep wiring light, but I don't want to miss anything.

Battery modules
* Slave modules have proprietary daisychain interface

Master BMS
* My own design - handles balancing and makes cell voltages available on CAN bus
* viewtopic.php?f=13&t=2123

Ovartech charger and DCDC converter
* Charge control via CAN
* DC-DC converter enabled by 12V interface - wire to ignition switch
* Battery lines fused direct to battery - no contactors

Current sensor
* Currently looking for a current sensor with coulomb counting and CAN

Charge controller - design in progress
* CAN interface - a single CAN bus to talk to BMS, charger, current sensor and gauge cluster
* EVSE PP and CP lines
* Low side switch to drive coolant pump during charging
* 12v digital input, either to enable charging or a charge stop button - I'd be interested to know how other people start / stop charging safely

Am I missing anything that will be needed to facilitate charge control or is otherwise essential to battery / charge management? :?:

* Possibly a second low side switch for type 2 connector locking solenoid?
User avatar
catphish
Posts: 954
Joined: Fri Oct 08, 2021 11:02 pm
Location: Dorset, UK
Has thanked: 93 times
Been thanked: 179 times

Re: Connectivity for battery / charge management system

Post by catphish »

To answer my own question here - I have decided to build a charge management board with the following connectivity:
* 12V supply
* CAN
* PP / CP
* 4 x 12v digital input
* 4 x 12v low side switch outputs

This is enough to allow a variety of IO as needed.
charge-controller.png
User avatar
johu
Site Admin
Posts: 5684
Joined: Thu Nov 08, 2018 10:52 pm
Location: Kassel/Germany
Has thanked: 153 times
Been thanked: 960 times
Contact:

Re: Connectivity for battery / charge management system

Post by johu »

Very nice layout with the various areas highlighted.

I think this is going to work. Nissans BMS outputs two essential values: a discharge and a charge power limit. The discharge limit seems to be the result of a simple calculation: derate if battery overheats or undervolts, reaching 0 at 2.5V. Maybe there is also a low temperature derating but I've never been there.

The charge limit seems more sophisticated, taking into account ambient temperature, cell temperature, cell voltage and state of charge.

Note many fuel gauges are analog, so at least one of your digital outputs should be PWMable.
Support R/D and forum on Patreon: https://patreon.com/openinverter - Subscribe on odysee: https://odysee.com/@openinverter:9
arber333
Posts: 3241
Joined: Mon Dec 24, 2018 1:37 pm
Location: Slovenia
Has thanked: 74 times
Been thanked: 223 times
Contact:

Re: Connectivity for battery / charge management system

Post by arber333 »

Maybe use one 2.4in ii2c oled display with rotary encoder and push button. That would be a good I/O interface. Also oled is very robust display insensitive to UV light.
User avatar
catphish
Posts: 954
Joined: Fri Oct 08, 2021 11:02 pm
Location: Dorset, UK
Has thanked: 93 times
Been thanked: 179 times

Re: Connectivity for battery / charge management system

Post by catphish »

johu wrote: Mon Dec 27, 2021 3:17 pm Very nice layout with the various areas highlighted.

I think this is going to work. Nissans BMS outputs two essential values: a discharge and a charge power limit. The discharge limit seems to be the result of a simple calculation: derate if battery overheats or undervolts, reaching 0 at 2.5V. Maybe there is also a low temperature derating but I've never been there.

The charge limit seems more sophisticated, taking into account ambient temperature, cell temperature, cell voltage and state of charge.

Note many fuel gauges are analog, so at least one of your digital outputs should be PWMable.
Thank you. I'm hoping this IO will cover everything. In the case of my project vehicle, most things you describe can be set with CAN (openinverter for Tesla SDU, CAN controlled charger, planning to replace analog gauges with CAN ones).

One benefit of the RP2040 MCU is that any pin can perform time sensitive things like PWM using the PIO, so PWM output is definitely something that can be added to any of the digital outputs if needed.

Temperature and cell voltage is available from the BMS master over CAN, so hopefully I can use this to derate the other components under some circumstances. Similarly, one of the outputs will control PWM of the coolant pump for he batteries and charger, so hopefully lots of options are possible with this hardware.

Project files are published here: https://github.com/catphish/ev-charge-controller
It's designed to work in parallel with my BMS master, which I redesigned to match the form factor of this board: https://github.com/catphish/ti-daisychain-bms
Post Reply