/BMS-bq76940

battery managment system based on the BQ76940 from TI

Primary LanguageKiCad Layout

battery managment system based on the BQ76940 from Texus Instruments

This project supports akkupacks from 9 to 15 serial Li-Ion based cells (max. Voltage ~63 Volt). It can balance each cell and turns the charge and discharge MOSFETs to control the system over i2c.

Measuring:

  • up to 15 cell voltages
  • akkupack voltage
  • tempreature (internal + external)
  • akkupack current

Protection:

  • overcurrent in discharge
  • overcurrent in discharge
  • overvoltage
  • undervoltage

My System

For the dokumentation see /Dokumentation/DA_MB_15.pdf where you can find my hole work (german). The important BMS part is shown in capter 5.

The realized system has the following specifications:

  • µC: ATmega168PA
  • programming was done in C with Linux in nano and the AVR-Tools (avr-gcc, avr-objcopy, make)
  • to programm the µC i use avrdude over USB
  • the current system is based on 15 cells and max. 60 Volts
  • balancing and loading the akkupack
  • balancingcurrent up to ~105 mA
  • 3x temp. sensors
  • switches current up to ~70 Ampere

All testing and programming was done with the developed EvalBoard. For schematica and layouts see /kicad (http://kicad-pcb.org/). alt tag alt tag alt tag alt tag

For testing the given example run the Makefile (in /Quellcode/Anwendungsbeispiel): (boot the BQ76940 with 3.3V on TS1) (bootet if 3.3V on REGOUT/3V3_init)

make clean
make all
sudo make load

ToDO:

testing heating distribution under use testing current measuring funktion

License Information

This code is public domain to support electromobility and is a collaboration between Nathan Seidle (https://github.com/nseidle/BMS) and me.