About two months ago I ordered a new set of batteries for my EV project. Soon after that I had 36 brand new Thundersky cells sitting on my floor. This however was only the beginning. Unlike the 12 lead acid yellow top Optima batteries I used to have in my battery compartment, the Thundersky cells require compression in order to prevent them from expanding during charging. It also makes them easier to handle once all electrical terminals are wired together.
In order to make the strapping effective I spent a great deal of time with a large file on the broad sides of each cell. When they arrived each one had a mound around the top of the cell where the plastic case was sealed. On my first attempt this caused the batteries to arch when strapped, preventing them from sitting flat. Once filed, each end of the pack was fitted with a 1/16″ aluminum plate to prevent the straps from digging into the sides of the end cells. After the three straps were banded and crimped, one set to each of the three packs, I placed each pack in a large plastic ABS box with a lid to keep dust and dirt out.
Each lid was also fitted with a bar to act as a spacer and hold-down. The bar runs down the length of the pack outside of the terminals and is compressed when the hold-down bars are tightened over the three packs side by side.
Over the last few months I have been working on a new project. An idea I toyed with a few years ago has once again piqued my interest. My first iteration of the BMS, which I dubbed BMoS to denote that it was simply a monitoring system, remained unfinished as I have recently upgraded to LiFePO4 batteries from Thundersky. As the old system was suited for 12 volt batteries I turned to a new design incorporating the MAX11068, a chip capable of measuring 12 cells and more importantly managing my costly battery pack. As is well known in the EV world, batteries set in long strings to acquire higher voltage can suffer from imbalance causing some cells to receive a greater charge then others. Not only is this inefficient, lowering the overall capacity of the pack, it can also be dangerous if left unattended. Some cells such as Li-Poly will violently burst in to flames if overcharged.
The new design also required a whole new approach to how I would set up my BMS. The system consists of a BMS slave board for every 12 cells. Each of those boards are connected through a CAT-5 cable (same cables used for Ethernet) and run the RS-485 protocol for communication. Each of the units is also optically isolated from one another to remove any risk of high voltage where it is not wanted. At the end of the chain is a master unit which will document all data on an SD card and serve it to a host PC when connected through a Bluetooth serial link.
Before I recently got back to working on my car I was continuing work on my BMS. A lot has changes since my first revision and I will try too go over all that here. First off and most noticeably is I have created an actual PCB, this is a huge improvement over the previous breadboard design as I can now develop on the hour long train ride to work.
I do however need to make a second rev of the board to fix some little bugs, remove some unnecessary components and move some connectors around. Since my previous version of the BMS master board I have also switched to a big beefy 32bit PIC microcontroller, this meant rewriting my menu code. I also took the opportunity to write some line and circle drawing routines.
Hey there everyone,
It’s been a while since my last post. My blog client, BlogDesk, was not playing nicely with the old version of WordPress. Anyway it all works now and I can unload a backlog of blog.
So first off I’m introducing a new project here on this post! Ok so it’s not really new as I have been working on it since 2003. The project is a 1929 Mercedes gazelle kit car (incomplete might I add) I bought from the auto shop at my old high school for the grand sum of $100.
I’m not going to start talking about the whole inception of this car but there are a whole bunch of photos of this project at http://photo.gangus.com/v/Jos/car/09300004.jpg.html you can peruse at your leisure.
So what’s new? Glad you asked, the first thing was the roll bar. I need somewhere to mount the seat belts to when I install them and since its a convertible car it’s difficult to just mount them on the sides. Luckily I have a friend in the bay area who was kind enough too let me use his roll bar bender and even helped me do it. It’s a very satisfying process bending a thick walled 2 inch tube 180 deg, it makes you feel very powerful
Another problem with the seating in this car is that you sit to high. So much so that the windshield bracket impedes your vision. My solution is too cut out a section down in to the battery box. This is no longer a problem since I’m going too be using low profile Li-on batteries.
Finally there needs too be some clean up work on the suspension and drive train. The car suspension is sitting to high which again brings us to the issue of sitting to high in the car but this time from the perspective of the ground. Since the car doesn’t weigh very much at this stage I have decided to adjust the suspension in order to lower the entire vehicle about 3-4″. This should improve air drag and thus efficiency giving me more miles; it will also make the car look much cooler. While doing this I’m taking apart the breaks and wheel bearing housings. After 30+ years on the road the VW bus chassis is covered in a thick mix of oil, grease and road dirt.
In this video you can see that I have added the voltage indicator lines. I have also made the graph display scalable to maximise use of the display space. What is not evident is the bar-graphs now no longer need to redraw the entire bar each time one is updated. This saves heaps of cycles and gives a much smother image. I’ll have a demo of that in the next video.
Still to do:
Feed in real data for a more impressive demo
A low tide mark, this might be a bit later on as I will need “active” data ie. data that is changing to test and develop.
Alright folks what do we think of this type of layout? I finally got this LCD to work and I have been playing around with how I want the graphics to look. Things I still need to add are:
A low tide mark for each battery to show how low it has gone when you pressed down hard on the accelerator.
Some lines going across the screen to act as a visual aid for determining voltage.
Fix the line drawing routine to only redraw the part of the graph that needs to change. This should result in a much smother image and should take a lot less of the PIC’s CPU time.
Make the graph scalable to allow up to 24 batteries. 24 enough?
Any suggestions? Leave a comment
Image 1: FIRST LIGHT! It works! It’s a bit of a rats nest but I cleaned everything up after I got here.
Image 2: Single bar not much to it.
Image 3: 12 bars! Even tho it only says 10
Image 4: That’s better. Now I just need to add those extra features…
I still need to determine how to layout the raw data version where it simply shows each battery as a voltage. I think though I will finish the graph first since that is more fun (=
Well after many hours of coding I finally have some software the simply displays the buffered values of all the batteries to .1 of a volt with less then +/- .1 volts! It’s currently refreshing at about 10 Hz but I think I can even speed that up by removing a few unnecessary delays. I still have a lot of refractoring to do on my code but things are going smoothly and there is little holding me back save my lack of time. There is still a lot to do before having a finished product. It needs to be able to sit on the evil bus and listen for its address and ignore anything else that comes its way. That way it can share the same data line with its other node friends. I also need to create the master node. The master will “call” each node in turn asking for its data. Once the node responds the master will call the next and so on in an endless loop. Can’t wait to start coding that one…. :’(
Photo 1: Here you can see the volt meter hooked to the first battery. It’s a little bit off but I don’t have the best calibration system.
Photo 2: My two boards talking evil to each other.
Photo 3: My mini EV pack for testing. Nice to have that but I will soon have a calibration setup which will do pretty much the same
thing except be safer since it will only be able to supply 60mA