Code Monkey home page Code Monkey logo

battery-pack-workbench's Introduction

Battery Pack Workbench

Workbench dedicated to the creation of battery packs in FreeCAD. Mainly focused on 18650-based battery packs.

Only generates battery pack as an "ortholinear grid" of cells.

Use cases

  • Quickly calculate the capacity, voltage, amps, weight, of different battery configuration (brand, 2S, 3S, etc...)
  • Generate the model to check fit and dimensions
  • Prepare for building the actual battery (e.g. the worbench gives you an estimate of how much nickel strip is required)

Preferences

Preferences can be modified by changing the values in preferences.py The easiest way to load the new preferences is to restart freecad

Usage on non-manjaro platforms/distros : bugs, errors

I only use manjaro so you might get some errors concerning the path of scripts, assets, etc... or other issues when running this addon on other platforms/distros. If you are able to fix those, I would happily include the fixes in the project.

TODO

  • Pie graph for the weight : 90% cells, 8% holders, 2% nickel strip...
  • Graphs to compare differents battery packs (select them first, then click "Comparison")

Note on the included models

I have chosen to include some .step models with the workbench. This is why this workbench is relatively "heavy" to download. I am not sure if this is the proper way to do it in FreeCAD so I am open to suggestion to fix this.

Credits

BMS

https://grabcad.com/library/bms-10s-up-to-5p-1

t-plug

https://grabcad.com/library/tplug-male-female-t-plug-t-plug-1

XT-60

https://grabcad.com/library/xt60h-connector-correct-contact-spacing-1

18650 Holder

https://grabcad.com/library/1p-18650-battery-bracket-1

18650 spreadsheets

Note: I have not checked every values in this spreadsheets, so I recommend always checking with the producer's datasheets. The main function of these spreadsheets is to provide autocomplete and a rough idea of weight and performance. There are prices and link to sellers for some parts. I am not in any way associated with these sellers (maybe the creator of the spreadsheets is ?). I kept the informations in to give a rough idea of the price.

Additional notes from IvanStroganov

"Note: Max values are only possible at ideal temperatures (5 to 45°C). Esp. low temperatures (-20 to 5°C) can drastically reduce performance. If only one value is given, consider it Max."

Documentation used

Workbench creation

https://wiki.freecadweb.org/Workbench_creation

Pyside basics

https://wiki.freecadweb.org/PySide_Beginner_Examples

Pyside docs

https://srinikom.github.io/pyside-docs/PySide/QtGui/QLabel.html#PySide.QtGui.QLabel

Matplotlib colors

https://matplotlib.org/stable/gallery/color/named_colors.html

battery-pack-workbench's People

Contributors

athanaze avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar

battery-pack-workbench's Issues

Unable to create Pack: AttributeError: 'NoneType' object has no attribute 'addObject'

Using freecad 0.20
I'm unable to create a pack.
After seleccting a cell, filling the parameters I get this error.

22:50:50 Traceback (most recent call last):
22:50:50 File "/home/user/.var/app/org.freecadweb.FreeCAD/data/FreeCAD/Mod/battery_pack/batteryPackDialog.py", line 79, in createPack
22:50:50 self.part = App.activeDocument().addObject('App::Part',generate_freecad_name())
22:50:50 AttributeError: 'NoneType' object has no attribute 'addObject'

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.