The following description is taken from maximintegrated website (this [link][1] specifically), and after reading and trying to analyze the control technique it still does not make sense to me:

**1** - In the figure it shows a boost converter, and it reads:

> This duty cycle change then moves the output voltage to reduce the error signal to **zero**, thus completing the control loop.

From my point of view if that \$V_{ERROR}\$ is supposed to converge to zero for a steady state output voltage, the duty cycle should be kept steady at 0% since \$V_{RAMP}\$ will always be greater than \$V_{ERROR}\$ and the latter seemingly not subject to variations, which cannot be true since it meant the circuit would stop switching. A comparison I have used to understand it better is when I think of a PI controller, which brings the error to zero but has a memory in its output value, so it only responds to small variations once the steady state value is reached.


[![enter image description here][2]][2]


My question is: **How is this control loop supposed to keep the output voltage steady regardless of for instance, load variations, if the error being reduced to zero would actually stop the switching?**

By the way in the timing diagram they've inverted \$V_{SWITCH}\$ since it should be high when \$V_{ERROR} > V_{RAMP}\$, but it does not matter to the main question since it must've been a little mistake.





**EDIT:**


Following the main discussion, the figure below shows the circuit I have been inspired from to get this control loop done. It comes from this [video][3] in which the designer himself references maximintegrated's [website][1].


[![enter image description here][4]][4]




I tried to replicate the idea using an op-amp, a behavioral voltage supply and a pulse source to generate the triangular wave in LTspice, trying to replicate the idea described in maxim's document and here are the results.


[![enter image description here][5]][5]

[![enter image description here][6]][6]


I have set a value of \$V = 5\,V\$ which is the reference for \$ 50\,V \$ in the output since \$V_{feed} = 0.1\,V_{out}\$.

**Result**: As you can see, my voltage level in the output is \$V_{out} \approx 25\,V\$, which is not what I have set the system for. Also, I tried changing values of the load and the output voltage also changes and that's not what I wanted either.

Finally, I'm probably mistaken in how this controller works and would really like to find out what is wrong.

Thank you in advance


  [1]: https://www.maximintegrated.com/en/design/technical-documents/tutorials/2/2031.html
  [2]: https://i.sstatic.net/uDHjU.png
  [3]: https://www.youtube.com/watch?v=5R_QCurh_iM&t=432s&ab_channel=GreatScott%21
  [4]: https://i.sstatic.net/eBLj1.png
  [5]: https://i.sstatic.net/EVmgb.png
  [6]: https://i.sstatic.net/LcFFD.png