Many battery-powered applications use very little power when idle and have short-duration operating periods. Thus, the total energy used is very small. It would be convenient to incorporate solar cells in these devices to charge the batteries. However, the number of cells needed to charge a given battery voltage is close to Vb/0.6, thereby necessitating an array of solar cells, series connected.
The circuit in the figure addresses that issue by employing a self-oscillating boost circuit operating from a single solar cell. As such, it's able to trickle charge the battery continuously.
The solar cell charges C2 until there's sufficient voltage to activate Q2. This will cause the output of U1a to turn on and latch on through the action of U1b. U1a's output also turns on Q3, which begins transferring energy from C2 to L1. The timing circuit R4-C4 determines how long U1a stays on and, therefore, the time that Q3 charges the inductor. This time should be less than one-quarter of the cycle time of the resonant frequency of L1 and C2 so Q3 turns off before the inductor current peaks. After turn off, the inductor current is forced through D3 into bulk capacitor C1. C1 should be larger than C2 to minimize ripple.
Resistor R8 and capacitor C5 form a filter for the charging current to reduce ripple caused by the switching. Zener diode D5 limits the voltage to safe levels if the battery is disconnected. The CMOS nand gate and 1-MV resistors use very little current in standby. Therefore, the circuit provides some charging as long as the solar cell's current is more than the leakage through C2, R7, and Q3.