Thanks Steve, your input is always appreciated. This where my lack of understanding of the hardware basics kick in! Wouldn't there be a point (at lower speeds) that the LED Vf would get too high to produce any light output (especially with 3xLEDs in series)? How would the switching supply overcome this? I was thinking I would switch out on LED to overcome this.
well, if you are trying to match the output capabilities of the dynamo to one or two different loads (LEDs and battery), then it is important to understand the details of the dynamo and the loads. When I designed a peak power tracker for solar panels, I had to know how the panel's voltage-current characteristics changed over temperature and illumination. With the dynamo, it's important to have similar knowledge. Back in the days of the Bikecurrent mail list, a fellow named Nick Ray gathered data on the SON28 dynamo. He spun the dynamo at different speeds and loaded it with a range of resistances. With this data, you can know what the optimal resistance for the load will need to be in order to get the most power from the dynamo. You'll need to know this if you are going to be able to judge whether your MPPT is working correctly.
Here's a table of data that Nick produced....
As you can see, the dynamo voltage is proportional to the speed, so there are speeds where it can't forward bias three LEDs in series. I've seen this in my daily commute, where I have to climb a hill that limits my speed to 4 mph or so. This will barely forward bias two LEDs.
Switching power supplies are useful because their input resistance varies with the duty cycle. Also, a buck converter effectively has a negative input resistance. For instance, if you use a buck converter to provide a fixed amount of power to a load, the input current decreases as the input voltage increases.
A MPPT could use a buck converter as the load for the dynamo, and adjust the duty cycle in order to change the resistance that loads the dynamo. This would allow the controller to get the maximum amount of power from the dynamo.
This part is possibly the easy part. The harder part, IMHO, is the control loop algorithm. The algorithm will have to deal with the AC power from the dynamo, which makes it harder to make a reading of the voltage, current, or power at a given time. The algorithm has to somehow measure the output power, or at least measure whether the output power goes up or down when changing the load. This might be difficult... depending on how it is done. There is also the issue of battery charging... will you provide power to a separate battery charge controller chip, or will the microcontroller do it? Do you want to charge the battery in parallel with the LED load, or will you charge the battery and have the LEDs powered from the battery?
Lot of things to think about.
When I designed a peak power tracker many years ago, simulations make it easier to figure out whether a circuit would work or not, and to develop a control algorithm. There are problems with simulations too.. such as trying to simulate a switching power supply at the same time as simulating a low frequency device like a dynamo. Stuff happens very fast in the switching power supply, while things happen very slow in the dynamo. Sometimes you have to develop a very simple model of a device in order to make a complex simulation work. A simplified model of a switcher may be needed. Fortunately, Spice offers a variety of building blocks that can be helpful for developing models.
Or... just jump into things and see how far you get??
One thing that I've learned is that basic problems of physics and electronics don't go away just because I don't feel like dealing with them. On my headlight that switches from 2 to 4 LEDs in series, there was a weird tendency to switch back and forth between 2 and 4 LEDs at speeds around 14mph. It turned out that there was a weird oscillation in the dynamo voltage due to the way that the mosfets and LEDs would turn off. Careful observations with an oscilloscope helped define the problem. I was able to build a spice simulation of the circuit, using a suitable model for the dynamo, and was able to duplicate the problem in the simulation. This let me look at the various voltages and currents, which would be essentially impossible in the actual circuit. I found a fix, due to my knowledge of semiconductor behavior and theory. When the fix was implemented in the actual circuit, it worked!
details are in this Flickr album...
https://www.flickr.com/photos/kurtsj00/albums/72157621965148305