A step-up or boost converter circuit converts a low voltage into a higher value output voltage. The circuit consists of an inductor, a capacitor, a diode and a switch (transistor) that are turned on and off by a pulse width modulated (PWM) signal. One switch cycle has a period T made up of an on-time t1 and an off-time T – t1. During the PWM signal on-time the switch is closed (lower diagram Figure 1). The input voltage Ue is connected across the inductor L1 and providing the supply Ue has low enough impedance will produce a linearly rising current IL through the coil, storing increasing energy in the magnetic field. When the switch opens, the coil’s collapsing magnetic field induces a reverse voltage across the coil. This induced voltage is added to the supply voltage in the circuit, and provides a forward current flow through the diode where the energy is stored in the capacitor. It can be said that the energy in the coil’s magnetic field—which is stored largely in the ferrite core—is transferred through the diode to the capacitor during the switch-off stage. Those of you who want to explore the subject a little deeper can go to this introduction .
The circuit Figure 2 2 shows how the step-up converter circuit with L1, D1, C8 and MOSFET T1 is configured. An Atmel ATmega8-16PU microcontroller together with the appropriate firmware produces the PWM signals to switch MOSFET T1. The PWM signal is produced from pin PB1 with a frequency of 66 kHz, using the internal fast-PWM mode. The output voltage is controlled by the mark/space ratio of the PWM switching waveform, and the microcontroller must be able to sense the output voltage level in order to control the waveform. This voltage feedback takes place over the voltage divider network formed by R6, R7 and P2. The preset is necessary because the data sheet indicates that the reference voltage level may be between 2.3 and 2.9 V and P2 allows some degree of calibration of the circuit. If the resistor values do not allow enough adjustment or if the value of R7 (43 kΩ) is difficult to source, adjustments in the firmware can be made to compensate. To set up the circuit you can use a known accurate DVM to measure the output voltage and tweak the preset until the displayed value corresponds to the value on the DVM. The microcontroller’s built-in A/D converter gives a resolution of 10 bits. The firmware calculates the voltage using a voltage divider network consisting of 47 kΩ (R7+P2) and 2.7 kΩ (R6). This set up gives a measuring resolution of 46 mV (((49.7 kΩ/2.7 kΩ)×2.56 V)/1023). The voltage reading shown on the 2×16 character LCD can be seen to change in steps of 0.04 V or 0.05 V. Step-up converters using this topology do not have any built-in current limiting. To reduce the possibility of overload a shunt resistor R5 is included in the ground output pin, and the voltage drop is measured by a second A/D input of the controller. The firmware now regulates the mark/ space ratio of the converter switching waveform to reduce output current before the converter enters into a discontinuous mode.
The networks formed by C10, C11/R8 suppress any RF noise on the analog A/D inputs. The LCD is used to display operational parameters (via menu selection) such as the output voltage and current. The circuit is provided with three push buttons: S1 resets the microcontroller while S2 and S3 provide increment/decrement control of the output voltage. With both buttons pressed at the same time, the software will enter current limit mode as shown on the display. In this mode, S2 and S3 can now be used to increase and decrease the current limit setting. A short time after the last pushbutton activity the display reverts to voltage display. LED D3 indicates that an input voltage is present if it goes out fuse F1 may have blown indicating that the circuit is possibly drawing excessive current or that the external power supply has developed a fault. D2 indicates that the current limiter is active.
Putting it all together
The reset button S1 is fitted directly to the board because it should only be necessary to access it occasionally. Push buttons S2 and S3 are connected by flying leads to the pads on the PCB: Up, GND and Down. The buttons can be either two PCB mounted push buttons fitted to a small square of perf board or the larger panel mounted type fitted directly on the front face of the enclosure. The two LEDs should, of course also be mounted where they can be seen. Preset P1 provides contrast adjustment of the LCD module. Jumper JP2 enables the LCD backlight and can be replaced by a switch if required. A small finned heat sink is used to keep the MOSFETs cool. A heat sink with a thermal resistance of 21 K/W is sufficient for output current up to 1 A. A standard radial-leaded or TO220 outline version of diode D1 can be used. Check the corresponding data sheet to ensure the correct polarity of the TO220 outline. The electrolytic C7 and particularly C8 used in the switching circuit require some attention. At a switching frequency of 66 KHz, it is important to use the low-loss type capacitors specified in the parts list. Standard electrolytic capacitors are unsuitable for this application. For testing the unit in the lab we fitted the LCD display board with a pin header strip and plugged it directly into a box header strip fitted to the edge of the PCB. This proved ideal for testing purposes but when the unit is fitted into a project box or some other form of the enclosure it may, for example, be more practical to mount the display on the underside of the PCB. Fit a small square of insulating material between the display and the PCB to avoid any possible short circuits. (I normally fit a thin sheet of Pertinax or Paxoline between the boards).
A standard ISP connector is fitted at K5 to enable microcontroller programming. The controller needs to be powered up via the 7805 voltage regulator IC2 during the programming process. The supply voltage on pin 2 of K5 is used by the programming adapter (the AVRISP mkII for example) to determine the microcontroller’s supply voltage (3.3 V or 5 V). During the programming phase, the controller’s outputs are undefined so a jumper (JP1) is included in the connection to the MOSFET’s gate. This should be removed during programming to ensure that the MOSFET remains off. Otherwise, the MOSFET can switch on via PB1 and short-circuit the supply voltage causing the fuse to blow. R3 pulls the gate to ground when JP1 is removed ensuring it remains off. Be careful to remember to remove this jumper before programming! R2 reduces switching point instability produced by the high gate capacitance of T1. The MOSFET gate capacitance introduces a delay whenever the MOSFET switches on or off. This gives rise to increased power dissipation in T1 because the source-drain is not switching immediately between off and on but passing through a resistive stage where power is dissipated in the device. A higher switching current would be able to remove the gate charge faster and result in a faster MOSFET switching time with less heat dissipation. A standard ATmega output can only supply around 30 mA drive current and is, therefore, a relatively weak current source. The maximum output voltage level is limited by the voltage rating of D1 and T1. These two components would, therefore, be some of the first candidates to consider replacing to improve the circuit specification. The circuit as it stands is only really intended to show how a basic step-up converter can be built and act as a stimulus for further improvement.
Work in progress; the firmware:
The source code as it stands is written in BASCOM-AVR, and as usual it is available for free from the Elektor website . As it stands it implements a very basic charge pump regulator and there is certainly plenty of room for improvement. These improvements include some critical points like the implementation of a true lead-acid battery charger with several charge phases. The input current is approximately 3.5 times higher than the output current, hence the slowblow fuse with a value of 5 A at the input. The prototype was tested on two different lead acid batteries. A curious behavior was noted during testing; with a current setting of 0.2 C for example (which is relatively high for a Lead-Gel battery) the battery voltage quickly dropped after the maximum voltage setting had been reached and the charger switched off. In practice, using this software it is necessary to observe the charging process and know when to terminate the charge cycle.
The software as it stands does not provide a slick user interface offering a selection of sophisticated battery charging methods. The aim of this project is more to demonstrate how such a charger could be made and due to the open nature of the design and software, gives an opportunity for interested readers to hack as required and implement their own improvements. A suggestion: The complete recharge cycle of a lead-acid (Gel) type battery should consist of two to four phases . A (not fully) flat battery can be charged in the ‘bulk-phase’ using a constant current (0.1 to 0.2 C is reasonable), until a terminal voltage of 2.4 V per cell is achieved (This is as far as we go in the firmware in its present form. The battery will have approximately 80 % of a full charge at this point). Now the voltage is limited to the final terminal voltage, while the charge current is measured until it sinks to below one-tenth of its maximum value. This second, so-called ‘absorption-phase’ almost completely charges the battery to around 98%, and the final ‘float-phase’ requires the terminal voltage to be reduced to 2.23 V per cell. The battery can now remain connected to the charger in this phase without the cell starting to gas.
You may be wondering what happened to the fourth phase; well this is only necessary when the battery is deeply discharged (below 1.75 V per cell). In this state, the battery is nursed back to health using a small trickle charge until the cell reaches its lower voltage threshold. If you have been working on software improvements to this design or have started, but reached an impasse, why not visit our project page  and share your experiences!