Basically my inspiration is this guy's work. A buck converter that provides MPPT as long as the solar voltage is higher than the battery voltage. But I want to extract power to the battery even at low voltage.
I tried building/testing a small 4-switch single-inductor buck/boost but I blew a couple of capacitors on the output. My understanding is - this was because, while switching one side (buck xor boost), I was unable to supply a 100% duty cycle to the opposite side. The interference of the PWMs on both sides caused some serious current/voltage spikes. So I thought of this:
- Input: Solar panel or rectified wind turbine output.
- V_in, I_in for power throughput tracking, and V_out for battery level checking
- H-bridge with NMOS/PMOS setup so there's never a short and (I think) simplifies driving circuitry. The project Tim Nolan did (see link in first paragraph) uses a 50kHz PWM. I would like to use logic-level MOSFETs, but will I be able to switch them at 50kHz from the Arduino?
- 2-to-1 multiplexer set up so that if one side is receiving a PWM signal, the other side is fully ON and not interfering with the power flow. So just one PWM signal is needed (in this case, Arduino using the
Timer1library). Freeing other pins for SD datalogging, communications, alternator RPM measurement, whatever.
- Output: A (lead acid) battery will be connected to the output, which will pretty much prevent the output voltage from actually changing, but the MOSFET switching should be able to match the impedance (is that the correct terminology?) to the input and extract maximum power.
The benefit (I think) is that this should be scalable to a wide range of DC inputs / battery outputs with suitable sensing resistor / MOSFET / minimal code changes. Using lead acid / deep cycle batteries since those are more tolerant to abuse.
Your inputs are welcome! I guess the question is, is this a feasible design?
EDIT: Just found the CircuitLab thingy. Mocked up a slightly more professional-looking picture.