Skip to content

willzhang05/modular-ev-bms

main
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
src
 
 
 
 
 
 
 
 

Modular EV Battery Management System

UVA ECE Fall 2020 Capstone Project design for a modular battery management system (BMS) for use in electric vehicles. This repository contains the embedded systems code for the Main Node and Cell Node boards.

Hardware

  • The PCB layouts and associated schematics for the Main Node and Cell Node boards can be found on the associated repository on CADLAB.io.
  • The Main Node uses the STM32G473 MCU.
  • The Cell Node uses the STM32F042 MCU.
  • The Cell Node board is designed to attach using nickel strips to a pair of standard 18650 battery cells connected together using the Vruzend V2.1 battery connector kit.
  • Photos demonstrating the attachment of the Cell Node board to the battery cells can be found here.
  • Both the Main Node and Cell Node were designed to run off an external 12V supply, such as a lead-acid battery, rather than directly off the battery pack.
  • This choice was made to avoid the potential complexity created by the addition of a buck-boost converter for a design without an external supply.

Software

  • Both the Main and Cell Nodes run Mbed OS v6.
  • The Cell Node's STM32F042 MCU has an extremely limited amount of flash memory. As a result, a large number of features must be removed from the build.
  • Macros built into the code allow for the enabling and disabling of features (such as printf) as needed.

Software Environment

  • The instructions on the UVA Solar Car Team Website were used to help set up this project.
  • The PlatformIO Core, which includes the PlatformIO CLI, must first be installed.
  • The PlatformIO IDE can be optionally installed as either a Visual Studio Code or Atom extension.
  • On Windows, the driver for the ST-Link debugger will be needed to upload programs. This driver can be found here.

Directory Structure

  • The include and src directories are split into CellNode, MainNode, and Shared subdirectories.
  • The CellNode subdirectories will only include .cpp and .h files specific to the Cell Node, while the MainNode subdirectories will only include .cpp and .h files specific to the Main Node.
  • The Shared subdirectories will include .cpp and .h files that are common between the two boards.
  • All testing code that can be run on both boards will be located in src/Shared/test_main.cpp.

Authors

  • William Zhang
  • Dipesh Manandhar
  • Nripesh Manandhar
  • Nikilesh Subramaniam
  • Phillip Phan

Acknowledgements

We would like to thank Dr. Harry Powell and Prof. Adam Barnes for their valuable help and support throughout the development of this project.

About

UVA ECE capstone project design for a modular BMS for use in electric vehicles.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published