Just looking at the recent generating and usage figures, I realised that for a few days I have been statistically off the grid.
These lithium batteries are 95% charge efficient. This means that the losses are very small to put energy into the battery and get it out again. For every 100Wh put in, you can take 95Wh out. That compares well with lead acid batteries where the best you can get out is about 80Wh.
Another way to look at it is that by changing to lithium batteries, the effective size of your PV array increases by about 15%. Or you effectively have 15% more charging hours in the day (as it still takes time to charge the wasted Watt.hours of energy lost in an inefficient battery).
As I had more power available with the new batteries, I moved a couple more loads to solar from being on the grid. These were the garage CCTV camera and the central heating system.
The central heating system runs on gas but it also uses electricity for the boiler controller (valves, fans, thermostat controls), the heating timer programmer, as well as the zone valves and circulating pump upstairs. But it was powered from one place in the airing cupboard.
With these things moved to run on solar power, that leaves very little in the house that runs on the grid:
The main cooker and oven in the kitchen;
The instant water heating shower (2 minutes a day);
A hair dryer (2 minutes a day);
The microwave in the kitchen (a few minutes a week);
A clock radio in the bedroom (24x7 load);
A radio and DECT phone in the kitchen (18x7 on a timer);
Two bedside lights (a few minutes a day);
On a number of days, the import meter did not increment at all (it only counts whole kWhs). So on those days, the house statistically consumed no grid power and so the house appeared to be entirely powered from the solar batteries.
But it's not just a "rounding error". The wireless energy meter spends most of the day now reading "zero" Watts and the import meter also stops. This is because they cannot measure very small power loads of less than about 10-20 Watts. Below that threshold, the import meter enters an "anti creep" mode where it stops counting and the LED that normally blinks to show the passing of Watt.hours lights continuously to show that it has entered the non-counting mode.
This prevents the meter erroneously counting units that were just a calibration error (for example it might read 5W when the consumer unit is actually turned off).
The electricity company does not usually care about this small error, and in any case, who could run a house on just 10W of energy?
So it seems I don't have to bother with running wires to the bedroom for the clock radio or the kitchen for the radio and DECT phone, as they don't consume enough power to cross the threshold at which the import meter will start to count :D
The side effect is that the energy company doesn't believe my self-entered meter readings on their web site now. They asked for a reading for the latest bill and I gave it to them. Then a few days later they sent someone to re-read my meters, as they didn't believe my readings!
Unlike folk who have grid tied solar, it's entirely possible for my import meter to stop counting up. People with grid tied solar still consume grid electricity in the evening that has to be paid for. They just earn it back on the FIT for the energy they export (usually measured on a separate generating and export meter or "deemed" exports from the generating meter only).
Friday, March 16, 2012
Wednesday, March 14, 2012
Balance Tracking Data
Well, the pack has been in for a little over 3 weeks now and has been cycled to various depths from full to nearly empty. It's been bottom balanced at 3.000V once, by hand with nothing more advanced than a test meter and a big light bulb.
I set the CellLog8s doing what it does... Logging data at 15 second intervals from all 8 cells plus the pack Voltage. And here's the trace from the night of the 7th March to the night of 13th March. Again, you can click on the graph to open a bigger view.
I set the CellLog8s doing what it does... Logging data at 15 second intervals from all 8 cells plus the pack Voltage. And here's the trace from the night of the 7th March to the night of 13th March. Again, you can click on the graph to open a bigger view.
You'll notice that on the first night, the pack almost bottomed out before starting to charge on the 8th. Just briefly it got down to about 3.1V. Below you can see the zoomed in view of that discharge "spike".
The cells show good tracking with a spread that is just 15mV from the highest to the lowest cell in the pack. This differential shrinks to about 7mV when under lower load.
The chart above shows the opposite end of state of charge at the 12th March. Here you can see the pack reaching just shy of 27.80V and the spread of cell Voltages from 3.465V to 3.505V, some 40mV.
Remember that the pack is bottom balanced, so there will be more variation at the top of charge. As long as we always undercharge the pack, this isn't a problem and requires no active balancing or Voltage limiting. If we tried to do this, we'd be top balancing the pack and then would mess up the bottom balance.
As the charging current at the 28.00V target has been pretty massive (over 70A), I think the maximum regulation Voltage on the chargers was a bit too low. They always seem to stop at 27.85V, measured on the CellLog8s and my DVM. So I've tweaked the settings a bit. The SSMPPT-15 and TSMPPT-60 have had their maximum regulation limit raised from 28.40V (3.55Vpc) to 28.80V (3.60Vpc). Hopefully this will allow the terminal Voltage (at the charger end of the cables) to go high enough to raise the battery terminal Voltage to the desired 28.00V level.
I also tweaked the timer on the SSMPPT-15 so that it charges for 10 minutes (rather than 1 minute) before cutting out on the extended absorption timer. You can see from the high charge chart that the SSMPPT-15 quit assisting the charge early and the TSMPPT-60 wasn't quite able to hold up the Voltage. The big charger is still aiming to charge for 20 minutes, but now the small charger will support it for half the time. Of course, the 10 minutes is not concurrent with the 20 minutes of the big charger, as the Voltage set point on the SSMPPT-15 is 0.1V lower at 27.90V. It reaches this point while the TSMPPT-60 is still in bulk charge mode, trying to get to 28.00V.
Thursday, March 1, 2012
Bottom Balancing the Pack
Having got the low Voltage disconnect protection sorted, it was time to finish the initial preparation of the battery pack.
The strategy here is to have the cells balanced closely at their bottom or empty state. That way you can use them closer to empty while not tripping the protection. With this method, no active balancer for controlling the top / full Voltage of the cells is required, provided that you normally under charge the cells. Only a way to disconnect the load at the bottom of charge is needed.
So I turned off the solar charger for a couple of days and ran the house as normal on battery power to run them down (without wasting the energy).
It's incredible how efficient they are at absorbing energy. They are always operated in the bulk part of their charge curve (ignoring the short 20 mins at the "top" constant Voltage of 28.00V). And over the last few days have sat for quite some time soaking up all the power the chargers could throw at them - up to 76 Amps without the cells getting the slightest bit warm or even changing terminal Voltage much.
No need for the "battery protection" dump loading that I used to do with the old lead acid bank when the charge current was too high during bulk and absorption charging. It does mean that less energy is diverted to the water tank now though.
Here you can see a trace from the Morningstar logger, showing the dramatic cliff-edge that lithium batteries fall off when nearing empty. Click on the graphs for bigger versions.
The strategy here is to have the cells balanced closely at their bottom or empty state. That way you can use them closer to empty while not tripping the protection. With this method, no active balancer for controlling the top / full Voltage of the cells is required, provided that you normally under charge the cells. Only a way to disconnect the load at the bottom of charge is needed.
So I turned off the solar charger for a couple of days and ran the house as normal on battery power to run them down (without wasting the energy).
It's incredible how efficient they are at absorbing energy. They are always operated in the bulk part of their charge curve (ignoring the short 20 mins at the "top" constant Voltage of 28.00V). And over the last few days have sat for quite some time soaking up all the power the chargers could throw at them - up to 76 Amps without the cells getting the slightest bit warm or even changing terminal Voltage much.
No need for the "battery protection" dump loading that I used to do with the old lead acid bank when the charge current was too high during bulk and absorption charging. It does mean that less energy is diverted to the water tank now though.
Here you can see a trace from the Morningstar logger, showing the dramatic cliff-edge that lithium batteries fall off when nearing empty. Click on the graphs for bigger versions.
That was the pack Voltage. A close up of the data from the CellLog8s shows the detail of each cell at the end point. You can see where the cells started to nose-dive and then the alarm tripped on one cell reaching 2.999V. The pack then recovers a bit and I then start the bottom balancing, using nothing but a DVM, the CellLog8s display and a 60W 12V light bulb to hand drain each cell to the same level (3.000V plus or minus about 3mV).
Then I left the inverter off for a day with the chargers on and then another very sunny day with low inverter load, finally putting a total of 11.3kWh into the system (some went to the fridge freezer, and a bit more to the water heater, late on the second day). I counted about 7.7kWh into the battery bank itself. You can see how it soaked it up relentlessly on the second day.
The top trace is pack Voltage, rising to 27.8V on the second day (still not quite reaching the "full" charge Voltage of 28.0V). Middle trace is charger combined power output. Bottom trace is solar strength % (red), TSMPPT-60 charge Amps (blue) and SSMPPT-15 charge Amps (green). Charge current maxing out at over 70 Amps for quite a lot of the day.
One final graph shows the dramatic "hockey stick" charge curve as you get to the very full state of a cell. It was taken during logging of one of the cells during the initial charge, where I monitored the final 40 minutes of charging from 3.65V to 3.97V and then the current taper at that constant Voltage.
Charging to 4.00V is not recommended for regular charging as it is very close to saturated charge and then the cells get damaged quickly after that. This is why I have set the target charge Voltage much lower at 3.50V per cell. It's the start of the saturation zone. To charge much higher than this requires an active top balancing charger but only gains you a small additional storage % of capacity.
Monday, February 27, 2012
The "5 Minute Warning" Alarm
The CellLog8s LVD is fine and works well at protecting the battery bank from over discharge but it doesn't give you any warning that the lights are about to go out.
So I started thinking about some kind of pre-alarm that would give me a few minutes warning (under heavy load) that the battery was nearly depleted. I could then turn off some big loads and buy some time.
The old SmartGauge Voltmeter has a programmable relay in it too. But it only works on pack Voltage. I've been using it as an obvious visual reminder of pack Voltage (it's no good at reading SoC for non lead acid batteries).
Then I started looking around the house for something to use as a buzzer or alarm sounder that the relay could activate so that you'd get the message...
I found a small toy sound effect thingy that you press the top and it makes a cool police car sound. I actually found another one that my wife had that made steam train noises and in fact a whole load of similar sound chip enabled things, like a Dr Who Darlek bottle opener that says "EXTERMINATE!" when you close a circuit (with the bottle top) and a Christmas card that plays George Michael's "Last Christmas"...
But I decided to go with the police car :D
Taking it to bits was very easy and then all I had to do was solder wires on to the existing switch contact and run these out to the alarm relay on the SmartGauge and program the chosen low Voltage alarm.
The toy still uses the same two 1.5V button cells to make the noise. The SmartGauge does not provide any power to the relay contacts so external power for the alarm or whatever is needed. If the batteries in the alarm go dead, it does not affect the safety of the battery bank as this alarm is just for information.
When the relay contacts close, the police siren only goes off once for a few seconds and then stops. This is a good thing! Saves the batteries in the alarm and prevents bricks being thrown at the thing for sounding too much once the message has gotten through to whoever is within ear-shot of it :D
So I started thinking about some kind of pre-alarm that would give me a few minutes warning (under heavy load) that the battery was nearly depleted. I could then turn off some big loads and buy some time.
Then I started looking around the house for something to use as a buzzer or alarm sounder that the relay could activate so that you'd get the message...
I found a small toy sound effect thingy that you press the top and it makes a cool police car sound. I actually found another one that my wife had that made steam train noises and in fact a whole load of similar sound chip enabled things, like a Dr Who Darlek bottle opener that says "EXTERMINATE!" when you close a circuit (with the bottle top) and a Christmas card that plays George Michael's "Last Christmas"...
But I decided to go with the police car :D
Taking it to bits was very easy and then all I had to do was solder wires on to the existing switch contact and run these out to the alarm relay on the SmartGauge and program the chosen low Voltage alarm.
The toy still uses the same two 1.5V button cells to make the noise. The SmartGauge does not provide any power to the relay contacts so external power for the alarm or whatever is needed. If the batteries in the alarm go dead, it does not affect the safety of the battery bank as this alarm is just for information.
When the relay contacts close, the police siren only goes off once for a few seconds and then stops. This is a good thing! Saves the batteries in the alarm and prevents bricks being thrown at the thing for sounding too much once the message has gotten through to whoever is within ear-shot of it :D
Sunday, February 26, 2012
CellLog8s "One-Shot" LVD
With little prospect of the firmware being fully fixed, I decided to implement a work around to make the CellLog8s at least work as a "one shot" Low Voltage Disconnect (LVD) for the inverter.
The problem was that without proper hysteresis in the CellLog8s firmware, the alarm output would flip-flop in an unstable way near the alarm set point value. So I had to devise a way to iron out this transition behaviour and make it trigger once only.
I found a little DPDT latching relay in Maplins that does the trick, but I had to rebuild the interface board that I'd made previously. In the video you can see the new circuit.
In this new version, the inverter receives an "Enable" signal from the interface. This just connects to the common pin on the Remote/Off/On select switch on the inverter front panel. The new relay is stable in both positions of its double throw output and has two coils, one to select each output mode. It only needs a single short pulse to cause the state change and then further pulses have no effect (as you have to energise the opposite coil to change the state).
So, you press a button to "Enable" the inverter (or reset it, if it had tripped). This just flips the relay "on".
The 680 Ohm resistors in series are because the relay has 12V coils with a measured DC resistance of about 700 Ohms. They weren't quite equal though and (by luck more than judgement) I happened to pick the coils in such a way that the alarm state coil is the "stronger" one, so that when the alarm state is "true", the "reset" button does not work... Useful that. You can't force the inverter to start up when something is wrong.
The second pole on the relay is just used for the LED indicator.
The output of the CellLog8s alarm port (now set to Normally Open) sits and does nothing until the set point is reached, at which point it will trigger. The alarm port goes to closed state and triggers the "Disable" coil on the relay. The LED goes out and the inverter is forced to shut down. It cannot restart until the alarm condition has cleared and the reset button is pressed on the CellLog8s interface (and of course after you've investigated why it tripped!).
As programmed in the CellLog8s now, either a pack LVD or a cell imbalance alarm can cause it.
Next, all I had to do was hack the inverter to accept the Enable signal...
Here's another video of me "hacking" the inverter to get at the switch on the front panel and wiring in the connection to the new interface. A bit of testing, too.
Now the battery is fully protected from any low Voltage drain from the inverter (the main load).
The advantage the new system has is that the relay consumes no power to hold the inverter in the enabled state. Just a pulse of current from the reset button and then nothing.
In the alarm state, the other coil consumes 20mA for as long as the alarm is triggered. In practice, the load from the inverter is usually such that the pack or cell Voltage sags to the limit and triggers the alarm. Instantly, the load is disconnected and the pack/cell Voltage recovers enough to rise above the alarm set point, which cancels the alarm. Now the relay consumes no power again but is latched in the "Off" state.
In theory, the charge controllers, the SmartGauge, and even the CellLog8s itself could cause the pack to drain down and be damaged. But as I've set the cut-off Voltages quite high (24.0V pack and 3.00V per cell), it would probably take several days with no solar charge (the PV disconnect breaker thrown) to drain the last few Ampere.hours from the pack and damage it.
The problem was that without proper hysteresis in the CellLog8s firmware, the alarm output would flip-flop in an unstable way near the alarm set point value. So I had to devise a way to iron out this transition behaviour and make it trigger once only.
I found a little DPDT latching relay in Maplins that does the trick, but I had to rebuild the interface board that I'd made previously. In the video you can see the new circuit.
In this new version, the inverter receives an "Enable" signal from the interface. This just connects to the common pin on the Remote/Off/On select switch on the inverter front panel. The new relay is stable in both positions of its double throw output and has two coils, one to select each output mode. It only needs a single short pulse to cause the state change and then further pulses have no effect (as you have to energise the opposite coil to change the state).
So, you press a button to "Enable" the inverter (or reset it, if it had tripped). This just flips the relay "on".
The 680 Ohm resistors in series are because the relay has 12V coils with a measured DC resistance of about 700 Ohms. They weren't quite equal though and (by luck more than judgement) I happened to pick the coils in such a way that the alarm state coil is the "stronger" one, so that when the alarm state is "true", the "reset" button does not work... Useful that. You can't force the inverter to start up when something is wrong.
The second pole on the relay is just used for the LED indicator.
The output of the CellLog8s alarm port (now set to Normally Open) sits and does nothing until the set point is reached, at which point it will trigger. The alarm port goes to closed state and triggers the "Disable" coil on the relay. The LED goes out and the inverter is forced to shut down. It cannot restart until the alarm condition has cleared and the reset button is pressed on the CellLog8s interface (and of course after you've investigated why it tripped!).
As programmed in the CellLog8s now, either a pack LVD or a cell imbalance alarm can cause it.
Next, all I had to do was hack the inverter to accept the Enable signal...
Here's another video of me "hacking" the inverter to get at the switch on the front panel and wiring in the connection to the new interface. A bit of testing, too.
The advantage the new system has is that the relay consumes no power to hold the inverter in the enabled state. Just a pulse of current from the reset button and then nothing.
In the alarm state, the other coil consumes 20mA for as long as the alarm is triggered. In practice, the load from the inverter is usually such that the pack or cell Voltage sags to the limit and triggers the alarm. Instantly, the load is disconnected and the pack/cell Voltage recovers enough to rise above the alarm set point, which cancels the alarm. Now the relay consumes no power again but is latched in the "Off" state.
In theory, the charge controllers, the SmartGauge, and even the CellLog8s itself could cause the pack to drain down and be damaged. But as I've set the cut-off Voltages quite high (24.0V pack and 3.00V per cell), it would probably take several days with no solar charge (the PV disconnect breaker thrown) to drain the last few Ampere.hours from the pack and damage it.
Friday, February 24, 2012
More Settings Tinkering
No pictures or video today... Shock, horror!
A bit more tinkering with charging settings, increasing the float Voltage again to 27.00V (3.375Vpc) seems to null out discharging with the long sunny afternoons and water heater running.
I also changed the timers a bit. If there was not much load on the battery for a few days, even charging for 10 minutes per day to the upper Voltage limit might start to cumulatively over charge the cells. So I'm now making use of the absorption extension timer.
If the pack Voltage never drops below 26.60V (3.325Vpc) during the night, the next days absorption timer is set for only 1 minute top charge. This effectively eliminates the possibility of cumulative over charging. If we went away for a long time, I'd shut the whole system down.
If "normal" amounts of charge are taken from the pack, the Voltage drops to under 26.60V and the next days absorption timer assumes an extended absorption timer setting of 20 minutes.
I had noticed that 10 minutes wasn't resulting in a very large fall-off in input power to the battery during the constant Voltage phase, so extending the time seemed appropriate (with the new safeguard of a much shorter default timer).
The small SunSaver 15 Amp charger has now had its absorption timer defaulted to 1 minute for any condition.
With the clear blue days we've been having, I've seen total charge rates as high as 72 Amps, and at the top of charge, the battery pack doesn't need the assistance of the small charger for long before the Tristar charger can hold the constant Voltage.
A bit more tinkering with charging settings, increasing the float Voltage again to 27.00V (3.375Vpc) seems to null out discharging with the long sunny afternoons and water heater running.
I also changed the timers a bit. If there was not much load on the battery for a few days, even charging for 10 minutes per day to the upper Voltage limit might start to cumulatively over charge the cells. So I'm now making use of the absorption extension timer.
If the pack Voltage never drops below 26.60V (3.325Vpc) during the night, the next days absorption timer is set for only 1 minute top charge. This effectively eliminates the possibility of cumulative over charging. If we went away for a long time, I'd shut the whole system down.
If "normal" amounts of charge are taken from the pack, the Voltage drops to under 26.60V and the next days absorption timer assumes an extended absorption timer setting of 20 minutes.
I had noticed that 10 minutes wasn't resulting in a very large fall-off in input power to the battery during the constant Voltage phase, so extending the time seemed appropriate (with the new safeguard of a much shorter default timer).
The small SunSaver 15 Amp charger has now had its absorption timer defaulted to 1 minute for any condition.
With the clear blue days we've been having, I've seen total charge rates as high as 72 Amps, and at the top of charge, the battery pack doesn't need the assistance of the small charger for long before the Tristar charger can hold the constant Voltage.
Wednesday, February 22, 2012
Progress on the CellLog8s Front
Some general tuning and tinkering over the last couple of days.
After watching the battery pack charge and float, I noticed that it was starting to discharge a bit more than I'd like when floating. So I increased the float level by 0.1V to 26.90V and then observed the next charge day. This time, rather than discharging at 3 Amps, it settled into a discharge of around 1 Amp.
Meanwhile, things are moving forward with the CellLog8s problem and development of an interface to my inverter for low Voltage disconnect.
Junsi, on the OEM RC Groups thread, managed to replicate the unstable alarm port output problem in his lab and set about looking for a remedy for it.
Not 24 hours later, I received a PM on the forum and then a new beta firmware code to test! Now that's FAST.
Uploaded the firmware (v2.09) to the Cellog8s, now connected to all the cells in the pack, and played about with the battery until 3am to see how it was now.
Much better, is the answer. But still a ways off being useful without bodging some external electronics to fix the remaining problem...
At least now the alarm triggers reliably when some way above / below the set points. But there's still a lot of instability at the set point. The alarm trigger has no hysteresis in it. With a big battery you get VERY slow changes in Voltage and then the battery can spend a long time transitioning across the set point (and I mean a few minutes spent dropping the pack Voltage by 1-2mV at a 150W load!).
Anticipating that they would fix the software, I built a follower relay module (that just follows the sense of the alarm output of the CellLog8s). The relay itself came from an old broken mains timer switch and was convenient as it had a 24V DC coil.
The instability of the CellLog8s alarm output made the relay chatter noisily near the set point, with the transition instability.
If I used it "as is", it would probably do what Jack Rickard's VDR (voltage dependent relay) did to his test load and A123 battery pack. The load and pack cycled on and off furiously at the switching set point, and then both of them exploded with the stress of a few hundred Amps being pulsed rapidly.
The addition of a programmable variable for alarm set point hysteresis would eliminate this problem. If you have a low Voltage alarm trigger point at 24.00V and hysteresis of 0.5V, then the alarm will trigger ONCE at 23.99V, and then stay triggered in the alarm state until the pack Voltage rises to 24.51V.
With no hysteresis, your alarm triggers multiple times as the Voltage floats around the 23.895 to 23.995 zone, in exactly the same way you see a DVM last digit toggle randomly between two values when it is close to the threshold of the next digit. Fine for a DVM display (even desirable as you can interpret the toggling as meaning the value is very close the the transition point)... VERY BAD for a load controller.
After watching the battery pack charge and float, I noticed that it was starting to discharge a bit more than I'd like when floating. So I increased the float level by 0.1V to 26.90V and then observed the next charge day. This time, rather than discharging at 3 Amps, it settled into a discharge of around 1 Amp.
Meanwhile, things are moving forward with the CellLog8s problem and development of an interface to my inverter for low Voltage disconnect.
Junsi, on the OEM RC Groups thread, managed to replicate the unstable alarm port output problem in his lab and set about looking for a remedy for it.
Not 24 hours later, I received a PM on the forum and then a new beta firmware code to test! Now that's FAST.
Uploaded the firmware (v2.09) to the Cellog8s, now connected to all the cells in the pack, and played about with the battery until 3am to see how it was now.
Much better, is the answer. But still a ways off being useful without bodging some external electronics to fix the remaining problem...
At least now the alarm triggers reliably when some way above / below the set points. But there's still a lot of instability at the set point. The alarm trigger has no hysteresis in it. With a big battery you get VERY slow changes in Voltage and then the battery can spend a long time transitioning across the set point (and I mean a few minutes spent dropping the pack Voltage by 1-2mV at a 150W load!).
Anticipating that they would fix the software, I built a follower relay module (that just follows the sense of the alarm output of the CellLog8s). The relay itself came from an old broken mains timer switch and was convenient as it had a 24V DC coil.
The instability of the CellLog8s alarm output made the relay chatter noisily near the set point, with the transition instability.
If I used it "as is", it would probably do what Jack Rickard's VDR (voltage dependent relay) did to his test load and A123 battery pack. The load and pack cycled on and off furiously at the switching set point, and then both of them exploded with the stress of a few hundred Amps being pulsed rapidly.
The addition of a programmable variable for alarm set point hysteresis would eliminate this problem. If you have a low Voltage alarm trigger point at 24.00V and hysteresis of 0.5V, then the alarm will trigger ONCE at 23.99V, and then stay triggered in the alarm state until the pack Voltage rises to 24.51V.
With no hysteresis, your alarm triggers multiple times as the Voltage floats around the 23.895 to 23.995 zone, in exactly the same way you see a DVM last digit toggle randomly between two values when it is close to the threshold of the next digit. Fine for a DVM display (even desirable as you can interpret the toggling as meaning the value is very close the the transition point)... VERY BAD for a load controller.
Subscribe to:
Posts (Atom)














