Tuesday, September 29. 2009Noise SilencedMy previous attempt at averaging out the charging noise involved taking 10 ADC readings, but at the weekend I learnt that this is unlikely to work -- 10 ADC readings is very quick and my noise is at 50Hz. I'm now averaging for 160ms or thereabouts. Averaging 8 cycles of the noise is probably much more than I need, but it solves my problem nicely. It is causing problems with the scan time. The firmware is continuously monitoring the cell voltage, and when a request comes in it will have to wait for any ADC averaging that is already going on before waiting another 160ms for a new reading to respond to the request. Since we take two ADC readings to measure the voltage, and we also ask for the shunt current, it takes about 10 seconds to scan 10 cells (I now have two BMS boards up on the bus). I will improve this in two ways, the first is to cache the most recnet values so that they do not need to be regenerated when a request to send them is received. The second will be to interrupt the currently executing ADC reading to return a cached value. It may be possible to do this latter change purely in the receive interrupt handler, if it isn't it will likely involve a significant design change to the firmware's main loop. The above graph shows quantisation of about 9mV. This is unexpected with so many values averaged. I will confirm the average calculations by streaming the raw data back across the bus. I'm currently running at 9600bps, I may increase to see more of the data. Charging current was between 5 and 10A. Sunday, September 27. 2009Charging NoiseI hooked up my oscilloscope and had a look at the charging noise. My scope is rather geriatric, and the calibration is poor, but for what it's worth, it was set at 200mV/division and 10ms/devision. If we trust this, we see about 250mV of noise at 50Hz (the AC mains frequency here in New Zealand). My previous attempt at filtering the noise out involved taking 10 samples and averaging them and it seems very likely that it failed because it was averaging a different part of a 20ms pulse each time. I don't actually know how long each ADC reading takes (I recall I chose the slowest ADC speed available but what that might be, I don't know). I think the easiest solution is to continuously measure the voltage in the main loop and store a moving average of many many ADC readings. When a request for the voltage arrives or the internal cell management program needs the voltage, the current value of the average calculation is returned. This reduces latency on the RS485 bus as we don't have to wait a few hundred milliseconds to average out the noise. I will have to be careful that the main loop doesn't run at some factor of 20ms as this would cause aliasing. You can also see a faint shadow below the main line, this isn't a camera artefact, but whether it's real, I do not know. It's not really obvious in the picture, but it almost looks like a mirror image of the main line. I haven't tried to filter out the 50Hz noise to see if this is some other higher frequency component.
Tuesday, September 22. 2009EVD5 BMS Charging Thunder SkyI hooked up the EVD5 BMS to a set of 5 Thunder Sky LFP40AHA cells and did a first charge on them. These cells have been sitting for a little more than a year now, with no charging or other maintenance. I learnt several things.
Edward lent me an isolation transformer to make the PFC-30 charger safe. Without the transformer, the battery is connected to the mains and you'll get a shock if you touch it. Wednesday, July 29. 2009Nice Battery Layout at the NYT
The New York Times has a story on International Battery, including a photo of a very clean prismatic cell layout (the little picture on the left, click to enlarge).
Monday, July 13. 2009Noisy PFC-30 ChargerThe Manzanita Micro PFC series chargers are renown for being noisy. The graph above shows just how noisy. Charging at about 10A starts at 50 seconds and continues for about 180 seconds. Charging resumes briefly at 40A. We can see about 50mV of noise while charging at 10A, and 200mV at 40A. Currently the EVD5 firmware does not average voltage readings, I had similar noise problems using a LabJack with the PFC-30 charger and averaging was very helpful. The good news is that the BMS didn't crash. The LabJack crashed if I charged at more than 7A, while the EVD5 BMS, even with floating current sensors (I've only hooked up the voltage sense wires, the bypass circuit will come later) was happy at 40A, at least for a short time. I'll test high current more thoroughly when I've packaged enough BMS boards for the whole battery. See evd5-pfc30.tar.bz2 for the raw data. Sunday, July 5. 2009Basic BMS Functionality CompleteToday I finished the software addressing functions in my BMS firmware. I had previously been working with just one cell, getting the basic commands to work. Now I send a cell address and only that cell responds. Without this, all the cells respond at the same time and make a terrible din such that you can't understand any of them. My protocol isn't exactly fancy, but is a pain to type manually, so I wrote a very primitive monitor in C. With a computer sending commands, I found that the slave processors are too slow to keep up while they are actively monitoring the cell voltage, so I had to implement interrupt driven receive and a buffer to store the incoming command until the the slave has finished looking after it's cell. The above graph shows 4 cells (my power supply only does 15V, which isn't enough for the 5th cell). All 4 cells are being charged at 350mA, and after 1000 seconds, cell 2's voltage hits 3550mV and the BMS starts to discharge that cell (i2 on the graph). The current lines appear to bifurcate because the current control is oscillating. The hardware isn't really designed to control current, I'm running a software control loop to make it do that, and it's a bit finicky. The software tries to keep the current within 50mV of it's target current, but the current control knob doesn't easily give it fine enough control to do that. Basically the program turns up the current, overshoots, turns it down, undershoots and repeats. I'll try a 100mV target next time. The graph stops because my primitive monitor program detected a protocol error and stopped. The next change with be error recovery. I expect to be hooking this up to the car and seeing what happens with the PFC30 charger in the next couple of days. Last year I made a simple BMS with a Labjack & a laptop which worked really well with my power supply but freaked out when I connected the big charger. The Manzanita PFC series is renown for injecting a lot of electrical noise into the battery. See evd5-first-charge.tar.bz2 for the raw data. Thursday, June 18. 2009Tumanako BMS DevelopmentMy friend Philip had something of a setback in his electric race car project and has launched Tumanako, an open source electric car effort, in the hope of completing what couldn't be bought. I've been working on the BMS as I wasn't happy with any of the commercial offerings -- basically they were either too expensive or too opaque. When we're finished, the Tumanako BMS will provide valuable insight into the health of your battery. You won't one day get a red light and have no idea or information or history about what your battery was doing before something went wrong. I'm converting Bob's assembly firmware to C. The BMS uses PIC processors and it's been about 10 years since I last played with them. A lot has changed. I've made quite a lot of progress in the last week or so, I
The photo above shows one BMS slave board, capable of monitoring 5 cells, mounted on top of 5 A123 M1 cells in a test rig. The empty looking circuit board is a shunt board which holds the transistors to control the balancing current. The small circuit board with plugs at either end is the RS485 - RS232 converter. I don't have a photo of flashing lights and programming cables for you today, I'm sure if you try, you can imagine something approximating a christmas tree. Monday, May 25. 2009BMS ArrivesSome assembly, both of hardware and software is required. This board manages 5 cells, I have another 20 or so like it.
(Page 1 of 2, totaling 18 entries)
» next page
|
Errorserendipity error: could not include @serendipity_html_nugget_plugin:185f6f376b1b08b446a92b05bfcdc7a1 - exiting.
Errorserendipity error: could not include @serendipity_syndication_plugin:3350747ad57cf5d3bf3643dd4bfb538f - exiting.
Errorserendipity error: could not include @serendipity_archives_plugin:7015fd6c22523f7c6f1ff00a3ba7e879 - exiting.
|