In order to power my low-power laptop/server from my 12V solar PV Renewable Energy (RE) system shared with my 12V office lighting I need a low-voltage disconnect (LVD) circuit to:
The laptop actually requires 20V @ 3.25A max, and so I need a small and efficient DC-to-DC converter. A car laptop power supply is ideal, and should also filter out nasty spikes, etc.
Note that this is part of a design to automatically switch the laptop back to mains power when there is not enough solar energy to spare.
This design uses a MAX8212 IC designed for battery monitoring, containing a precision voltage reference, and with very low current draw, that needs only two or three resistors to set up.
I use the MAX8212 output to directly drive a high-side p-channel power MOSFET to connect the power to the load (and disconnect when the battery is too low). Since this is either fully-on or fully-off, it dissipates almost no heat.
This also drives an opto-isolator and a LED indicator for visual and computer monitoring of the connect/disconnect state.
I use transient-suppressor diodes and a decent-sized capacitor to help absorb spikes (etc) from other equipment and the wiring runs, and our load should it have any significant inductive component, especially given the fast switching for load connect/disconnect.
This has to be able to handle a load of several Amps peak (the peak laptop power-draw is ~70W which implies ~6A continuous). This has to handle a much higher start-up (inrush) current at turn-on.
This must use absolutely-minimal power when the battery is low, since any significant continued discharge may damage the battery (sulphation). This design draws microamps when it has disconnected the load.
When the load is connected this draws a few milliamps itself.
This uses hysteresis to:
Given how complicated the relationship of State-of-Charge (SOC) of the battery to voltage is, the threshold and hysteresis values are difficult to get right, especially as I want to interact well with the SHS-6 LVD for my lighting. However, it is clear that there is about 1V difference for a given SOC between the battery being charged and being discharged, so the hysteresis probably has more than this, ie over 1V, which is what I now have.
I have added a small 'smoother' to the voltage-divider network for the MAX8212 to reduce oscillation/instability, especially given the huge start-up current of the DC-DC converter load.
While not perfect, the LVD and 20V switchover parts seem to be reliable, and I feel confident to leave them on 24x7. I can monitor remotely when solar power is being supplied to the laptop, which adds to my comfort.
Design revision 3 as a GIF. XCircuit .ps file.
The MAX8212 and the resistor network R2/R3/R4 sense the battery voltage, turning off power to the DC-DC converter when the voltage gets too low, ie when the batteries a getting too discharged, and turning the power back on when the batteries have recovered enough and the batteries are being charged (the higher threshold voltage is higher than can be seen on a resting or discharging 12V lead-acid battery). The R1/C2 circuit attempts to make the sensing circuit less prone to spikes and to oscillation when starting to power a heavy load. The main disadvantage of this tweak is the possibility of triggering something like 'SCR latchup' on the HYST pin; R1 is there to limit peak current flow and mitigate the latchup issue.
D1 and D2 are there to absorb inductive and other spikes at the input and output and should always keep the voltages at IC1 (and T1) within absolute maximum ratings. C1 is also there to help absorb inductive spikes, and to help supply inrush/start-up current to the load. A larger value (or even a small ultracapacitor) might be a useful upgrade. The power MOSFET T1 is hugely overrated for the typical 2A to 6A at 12V it is expected to handle to help survive spikes etc. Because T1 should basically always be hard on or hard off it doesn't seem to need a heatsink and has never been even warm.
IC1's "OUT" is an open-drain pull-down, active when the battery voltage is OK, and so R6 (and R5/LED1/etc) pull it up relatively quickly to disconnect the load when OUT is inactive.
Basically the relay RL1 is arranged to switch laptop power to be from the DC-DC converter when the converter is running, in turn when the LVD has connected the converter to the 12V battery because the battery voltage and thus charge are high enough. The circuitry around the coil is the help avoid the relay switching too rapidly even if the 20V converter output is not stable for whatever reason (eg oscillation in the LVD). LED2 also drops the voltage available to the coil a little so that the coil's guaranteed pull-in at about 70% of its 24V nominal won't happen until the converter's output voltage is reasonably close to 20V, and thus good for the laptop.
Visual indication is provided by LED1 and LED2 of battery state and the DC-DC converter output actually being adequate to drive the laptop. The optoisolators OPT1 and OPT2 (with the transistor outputs connected to digital inputs on the k8055 USB I/O board) provide exactly the same information to the laptop so that it can monitor where its external power is coming from, since 'external' no longer simply means AC mains. Note that the current for the LEDs and optoisolators is almost 'free' in this design since we have to have for T1 gate pull-up and the RL1 coil anyway. (Possibly the series resistor R8 could be a little higher to reduce power wastage.)
All of this was built on a short piece of copper strip-board, with power connections being handled via terminal blocks and 2.1mm and 2.5mm DC power plugs and sockets, and a car cigarette socket from the LVD output for the DC-DC converter to plug into.
As of 2007/09/04 I have constructed a high-SOC detector that feeds into the USB digital inputs that is independent of the LVD circuit. This means that the laptop can tell when the battery voltage (and charge) is high and and the battery is charging, so that (when the laptop is also being powered from the 12V battery) the laptop can use more power to run faster and do important but non-essential work such as disc checking and my AI computations.
.ps XCircuit file.
Note that this effectively an automatic dump load that does computational work rather than running a heating element (the CPU is the heater here!). If you are running something such as a wind turbine which cannot safely simply disconnect when the battery is full (unlike solar PV), then you should still have a normal dump load, but this can help make sightly more sophisticated use of some of the available extra energy if you make sure that the normal dump voltage (typically a little over 14V) is set higher than this monitor/detector comes on at.
The thresholds are set at 13V/13.5V. Much less hysteresis is needed than for the LVD since this does not directly cause an immediate huge battery drain, and response to changes are mediated in software and may take up to several minutes, so damaging/fast oscillation is unlikely.
Need help? Don't know your solar from your loft insulation? Try ExNet's energy advice: free to get you started, then there for the tricky questions later too!
The machine that serves this site is partially powered by off-grid solar and wind renewable energy, and that as of 2008/03 the entire remaining consumption is more than offset by a grid-tie solar PV system.
Please email corrections, comments and suggestions.
Please read our privacy policy.
Copyright © Damon Hart-Davis 2007-2008. [home]