Is the load resistive, CV (battery charging?), or what?
Generic.
If too difficult, then battery charging.
Generic isn't specific enough. Power has to go somewhere, and the assumption is that you have a load which can accept any amount of power. A resistor (with some tolerance) is good, or a battery (a voltage of some tolerance) is even better. What's impossible is, for example, a bench power supply (CV/CC into unknown load -- who knows if the power demanded by the load will be available, or if it even wants that much?), or anything else like that.
You'll probably have to arrange for some contingency where the load isn't actually available. So you can keep running the MPP controller as normal, and shunt the extra power. Maybe by limiting the output voltage, or whatever. Or you can disturb the MPP loop and command it to draw less power or something (so the panels get slightly warmer, but you don't have to dissipate anything in your circuit).
Your described method will not yield a constant input voltage. If that's what you implemented, it's no surprise it didn't work...
Why, if you mean TL494 input sensing?
It did work to some degree, at least the MOSFET version.
That's not what the TL494 did. I was referring to the AVR, especially since your description sounded procedural.
It's not even so much a common misconception, but a mental block, so it seems. Programmers see a situation, interpret it procedurally, then implement a binary algorithm, when what they need is an approximation of a continuous (time and value) control function.
You wrote:
I need a converter that would:
-If input voltage is at or above 16V, pass input to output.
-If input voltage is below 16V, step down output voltage until input goes above 16V.
The analog implementation would use a comparator and switch to short output to input, for the >16V case, and would have to resort to a digital implementation to deliver the "step down" function (presumably, decrementing a register, which is compared to a constantly counting register, to implement the PWM function as MCU hardware usually does).
So already, there are some really serious questions:
- What clock frequency and step size is used here?
- How big is the register -- how many steps does it hold? Should the steps be linear, or would a percentagewise (multiplicative) step be better?
- Does the register *really* only step down? Ever? Or was it meant that the "pass" condition resets the register, thus, the operating point steadily falls until it jerks suddenly to full output again?
- How does this ever reach MPP, or some approximation thereof? It will erratically jump around 16V input, but in such huge steps and so fast that it'll just be a disaster at best, and at worst, nuke itself. (Where's the current limit? Where's the voltage stability? This isn't something you can just throw capacitors at, this is fundamental!)
What it should read is like this:
- For a voltage different from 16V, take the integral of the negative of that voltage difference to generate the operating point variable. (Probably, the variable should also include some fraction of the difference as well, i.e., a PI term.)
- The operating point sets average current, or peak current, or something like that. So, compare the operating point variable to one of these, either the switch current (turn on the switch periodically, then turn it off when the comparator fires), or in another control loop (average current), etc.
- To implement average current, sense the inductor current (not the average switch or input current), and create an inner control loop, and compare that to a PWM ramp or something like that.
This contains no procedural narrative, no all-or-nothing comparison -- until the absolute very end (PWM comparator or R-S latch directly into the gate driver), and is flexible for system bandwidth and operating frequency. It can be implemented entirely digitally (aside from some method to sense the input voltage and switch or inductor current), or analog (error amps and comparators).
The most important thing to take away is, if there's a sudden difference in, say, input voltage, the circuit responds gradually and progressively. The proportional term means it responds nearly immediately (i.e., within a few cycles), and the integral means over time it tracks to zero difference, keeping it stable.
Tim