Open source integrated EV Electronics system

Teslafly said:
I would like to buy some full assembled daughter boards from you. Any plans and price on that?
How does the daughter boards communicate with the Arduino master? I²C ?

The boards communicate with the master via the SPI protocol along with an extra int pin for various programmable functions. I would be happy to provide assembled boards as it will help with the parts cost, but I do have to warn you. These boards are DEV boards. They may not be perfect (you can help with that by looking over the schematic) and they come with no software whatsoever. I am still learning some of the more intricate ins and outs of programming, and aside from outside help, I expect it to take 1-2 months before we have working code. If your intention is a working BMS, don't get this. If you want to help with development, be my guest. According to my calculations (All parts sitting in mouser/digikey shopping cart) These prototypes will cost $20 -$25 to put together, but when making these boards in quantities above 100 the price will be pretty close to $12.

as for the master board, you could do with just hooking up the wires to a teensy 3.1 board, but depending on the cost I may go and fab a few master boards as well. They won't have much except for the controller itself, a can communication ic, some voltage regulation stuff and contactor mosfets, but they will be a bit more expensive I believe. I'll know when I finish the schematic.
Sorry for taking a couple of days to respond. My ES notifications got eaten by my spam filter.

I have only basic knowledge of Arduino so i can't be much help in developing.
But i am interested in a working product with Arduino as master because than i can also use as many thermistors in the battery box like i want also i can let the Arduino control fan's inside the battery box for cooling.
So i would be interested in 10 daughter boards when everything is working and Arduino code is ready.
 
10 boards? = 60 cells = 222v nominal?
What sort of battery pack are you running? And are you sure the mere 420ma balancing current will be enough for what sounds like a huge pack? I only have the capability to test up to 40 cells 5ah. Once balancing and fault control is working are you sure you want to sink so much into an untested and potentially unreliable product? If you are though and are willing to accept the risks assosiated with a project like this, I guess you could be a good beta tester. I'll be creating a deticated thread for this bms later today (the master board schematic is almost done) you should follow that and put in your input on development.
 
Teslafly said:
10 boards? = 60 cells = 222v nominal?
What sort of battery pack are you running? And are you sure the mere 420ma balancing current will be enough for what sounds like a huge pack? I only have the capability to test up to 40 cells 5ah. Once balancing and fault control is working are you sure you want to sink so much into an untested and potentially unreliable product? If you are though and are willing to accept the risks assosiated with a project like this, I guess you could be a good beta tester. I'll be creating a deticated thread for this bms later today (the master board schematic is almost done) you should follow that and put in your input on development.

Balance current is a function of how well matched the cells are and how fast you're charging, rather than pack voltage. 420mA is plenty of balance current even for hundreds of Ah. The Tesla battery pack only includes about 100mA of shunt capacity, although part of that is likely because they have such a large number of high quality cells in parallel.
 
Nah its not for 1 battery its for 3 battery's.

Oh, so you're gonna need three master boards as well. ok. I'm less concerned now, although I would push you to only use it on one ev as it is in no way guaranteed reliability. also, so I know what some others would like, could you provide me with the specifics of your setup/s and what you would like to see in terms of functionality in this BMS? Would you like mosfet driven auxiliary outputs?, status leds?, an integrated buck converter for auxiliary modules? what do you think?

20mA is plenty of balance current even for hundreds of Ah. The Tesla battery pack only includes about 100mA of shunt capacity

Wow, only 100ma? I had no idea it was that low. I feel less bad about having to derate the board if there is no heatsinking. ~9 watts of dissipation in a 25sq cm board isn't happening. although I am aware (and kind of intending) that people use these on hobby grade packs which are less known for their quality. I guess a function of this bms may be reporting cell life and detecting bad cells (which cheap Chinese ones often don't do) that cause the whole pack capacity problems. I do plan on counting and storing total hours that each balance resistor is on. low numbers would indicate a weak cell. Ir estimation is also an intended feature.
 
I have a few comments.

I would not define the exact parts (like ATA6870N, Arduino or similar), only the system architecture (power distribution, signals between modules, operating modes) and the communication protocols.

Instead of specifying isolated communication bus among the modules, I would prefer a common ground voltage, similar to the body ground at the cars. This would be the most negative voltage of the battery, and the controller GND, display GND, and others can be connected here. If this GND is connected to the vehicle's frame or not, that is a question.
The reason of the common GND is that a high speed isolated bus (either CAN or RS485) is more complex and not so reliable. But the module designer still can choose if he wants to implement isolated bus or not.
The issue with common GND is the BMS output stage, because today the BMS-es switch the negative output. Instead of this, the positive output should be switched, so a small DC/DC converter or a charge pump or a photovoltaic isolator is needed to drive the n-channel mosfets in the BMS power stage. This adds a few components on the BMS, but the comm. bus and all other modules are more simple and there are no floating GND-s in the system.
The BMS also should have separate power outputs: at least a high current one for the controller and a low current one for the display. The latter can be made with a PNP transistor or a pMOS, that is more simple for high side than the high current nMOS output. Separate outputs are useful, because if the BMS cuts the controller due to battery overcurrent or exhaust, then the display can be still alive and can show what happened.
Also a separate optional BMS output could be implemented for a GPS/GSM alarm module (can be active in a standby mode) or for a data logger module, and the aux (lights, etc.).
The BMS could be capable of controlling the charger: not just on-off, but at least selecting high current mode and low current mode for balancing.
Embedded charger is also an option.

Concerning the PC connectivity, I think the USB is not mandatory on all modules if there is a common communication bus. It is enough to have it only on one of the modules, then firmware can be downloaded to any module via the internal bus and also service diagnostics can be communicated on this bus.
If it is done so, then several operating modes for the system can be specified, e.g.:
- off
- standby
- power-on self test
- active (on)
- service
- firmware download
- alarm
- charge
- error
In each mode the behavior of the modules can be defined, for example the controller is switched off in charge mode.
These are just some ideas.
 
Back
Top