I'm documenting the parameters I'm tweaking to optimize the tiny MPPT.
DC inBasically DC in is the number of cells in a string. Ideally the tiny MPPT could be glued to every cell, but that's not possible...
A 2V input is about right for extremely efficient circuits. At the lowest light levels - and at peak power, less that Voc - each cell might produce 0.333 V so 6 cells are needed. (Operating down at 0.33V is not a good solution, since that isn't enough to turn on a MOSFET:
Vt = 1.5V typical, down to about 500mV.)
The max Voc for 6 cells: 6 * 0.52Vocmax = 3.12Voc
For the first build, it might be hard to get everything in 2V parts. I'll do my best on that.
Equivalent ResistanceControlling the power produced by the solar cell is done by varying the "equivalent resistance." V=IR and all that. I'm still working on how best to control this, but here's my current approach:
Place a capacitor on the input wire. Then vary the switching voltage (Vs, below) to charge the inductor to a variable point - controlling how much energy is drawn into it to find the peak power input.
Each time the cycle starts, the inductor is pulling 0 amps. As it pulls current from the capacitor and solar cell, the capacitor voltage falls, while the voltage across the MOSFET rises. The capacitor voltage changes also, which indicates how much current went in or out of it: i(t) = C dv(t)/dt
So at time t1, measure the capacitor voltage = v1
Then at time t2, measure the capacitor voltage = v2
Assume that the solar cell produces a constant Pi during the time from t1 to t2, and that the capacitor voltage changed in a straight line (trapezoid approximation to do the integral). This simplifies the calculation to find the current the solar cell is producing:
iC = (v2-v1)/(C*(t2-t1)) - iL
By choosing t1 when the cycle starts and t2 when the switching voltage (Vs) is reached, the MPPT algorithm can calculate iC. The voltage across the inductor vL(t2) = v2-Vs. The current iL(t1) = 0, so assuming a constant di/dt (simpler to calculate):
L*(iL(t2) - iL(t1)) = v2*(t2-t1)
L*(iL(t2) - 0) = v2*(t2-t1)
iC = (v2-v1)/(C*(t2-t1)) - iL
iC = (v2-v1)/(C*(t2-t1)) - v2*(t2-t1)/L
Knowing the current produced, the power is PA = v2 * iC
Then the inductor is switched to drive the output, and only the capacitor absorbs current from the solar cell. Measure another voltage v3 at t3, when the inductor is fully discharged. (Note that v3 at t3 becomes v1 at t1 for the next cycle.)
iC = (v3-v2)/(C*(t3-t2))
And the power is PB = v3 * iC
With two pieces of data, PA (at t2) and PB (at t3), the MPPT can tell if the voltage across the capacitor needs to be increased or decreased to maximize the power. To increase the voltage across the capacitor, the MPPT can reduce the switching voltage (Vs), which will reduce the power draw of the inductor.
I wonder if there are simpler methods of measuring the current coming out of the solar cell. The capacitor voltage is easily driven up or down by controlling the switching voltage (Vs), though poor light might make the MPPT unreliable due to low voltage on all the components.
MOSFET sizeThe larger the MOSFET, the lower its "on resistance" (transconductance). This is the largest source of loss in the converter. 5% loss overall is considered normal, and 1% is considered amazing. I'm shooting for 1%, since that is about right for what tiny MPPT can "net" for total power production. The "on resistance" R (power loss = V²/R) is balanced by switching losses (power loss = fCV² + some V²/R).
Large MOSFETs are typically sold as "Power MOSFETs" because that's where they are used: power supplies and so forth.
InductanceThe inductance of the "flyback" controls the frequency range of the converter. A reasonable value (50 mH) is a good start. This parameter is easy to tweak at the end to optimize the frequency range so that sound coming out of the converter is above the human hearing range. Lower frequency reduces power loss during switching, so not too high a frequency (power loss = fCV² + some V²/R).
Switching voltage, VsAt the start of the cycle the inductor conducts 0 amps - as it draws more current, the voltage across the MOSFET increases to the "switching voltage," where the MOSFET is turned off and the inductor discharges into the output. The inductor generates a high voltage when discharging, which is the "flyback" voltage boost. In other words, the switching voltage is a measurement of the current through the inductor.
The switching voltage affects a lot of things:
- Switching frequency: the inductor charges (changing voltage) proportional to input current (1mA - 40mA for a typical solar cell). However, each decision to switch occurs when the inductor reaches the switching point, so it affects how long a cycle lasts.
- Input current: the inductor draws 0 current when it starts charging. When the switching voltage is reached, it draws the maximum current, and then the MOSFET switches, sending power to the output.
- Conversion efficiency: while charging, input current flows through the inductor and into the MOSFET. Power loss in the MOSFET is I²R, so lowering the switching voltage is important for low power loss - it controls the I² in the loss formula.
Output "diode"I used a diode in the simulator to start.
I also tested a MOSFET design (where Q1 switches the inductor to GND to charge, and Q2 switches the inductor to the output stage), and discovered that Q1 and Q2 need to be very precisely synchronized to minimize switching losses - and, if Q1 shuts off before Q2 turns on, the inductor will blow them both with high voltage.

I'll try to use the Q1+Q2 design. However, I simulated a diode design that converted 2V to 120V with 0.946% losses - the diode was peaking at 48x the current of the MOSFET (and power loss is I²R), but those peaks were very brief. A diode can be a good choice - protect the circuit with at least a 750V reverse bias voltage rating.