Teensy3 CellLog/BMS/Bluetooth

Eascen

10 mW
Joined
Oct 17, 2012
Messages
32
Location
DC Metro
So, I've had quite a few issues with my batteries (prepackaged from ElectricRider) and I've become somewhat unnerved by the lack of insight into actual cell states, so I had the idea of replicating a CellLog into something a bit more flexible, and then I saw matterrr's post I re-energized my concept using a teensy3 instead of an Arduino. Why? A) Faster, moar better. B) The biggest issue people talked about with the Arduino is the lack of precision of the ADC. The Teensy3 has a 16bit (13bit accuracy range) 14 port ADC, and using a 3.3v AREF allows for an exceptional clarity. I hooked up a basic prototype and did the light bulb drain on my two battery packs using 390K/33K divider at cell 12, which according to calculations provides 0.070212766v disparity between 40.8 and 30v. With basic code the Teensy was doing roughly 49k readings per second, which I then averaged out over 10k readings, which I then recorded 1/50 of with the datetime http://www.hatefulbastard.com/batlog.txt which shows a very steady discharge curve for Battery #2, and that my #1 battery is pretty well hosed.

Following in Matterr's footsteps I designed out an alpha board and shipped it off to have it printed.

cellogv1circuit.png


omgwtfbbq.png


The goal is to be able to have these transmitted via a $6 bluetooth module, using the $19 teensy3.

The teensy3's voltage uses approximately 29ma, and the blue will use 30-60ma (still need actually get a value for this), and in my current revision I've added a Nokia 5110 screen for reading output.

Currently known issues:

I'm using the main VRM for AREF, and accuracy may not be as good as I'd like, so I'm adding a ZRC330 for AREF
The Teensy itself doesn't have a way to power down the bluetooth, so when LVC is reached, if it's powered off the battery it will continue to drain. Newer schematic has a button to allow for power on after LVC shutdown, including power to bluetooth and screen/screen backlight allowing for them to be programmably enabled/disabled.
Voltage dividers could be optimized more to use less energy.
Currently, it's only setup for a 12S pack, though the same board could easily be adapted to smaller. The largest the teensy can support without an additional ADC is 14S. Putting this into the schematic might be helpful to allow for up to 22s, including a higher resolution ADC for the higher voltages. I've ordered a C8051F350 for testing, though that might be a longer term goal.
I forgot to connect the last two pins through the trace, so they'll have to be hard wired... hey it's my first one.
I have no clue how I'm going to solder this with those tiny resistors so tight... shoulda made the board larger.
My RX and TX pins for serial are backwards to the bluetooth, so I either go with SoftwareSerial or cut and re-wire. Ooops.

If I've gone this far, why not just actually make a full BMS? Good question but I'm no EE. Figured I'd see what kind of interest would be. A celllog is nice -- but being able to pair my batteries to my phone and use it for data storage/calc seems a lot easier to me.
 
Back
Top