3
\$\begingroup\$

I'm trying to simulate the following boost converter to see Vout versus Vin:

enter image description here

In LTspice if I run the simulation for the first 250ms I obtain this plot where Vout < Vin:

enter image description here

But if I chose "skip initial operating point solution", I obtain the following plot where Vout > Vin:

enter image description here

These two are completely different. How is "skip initial operating point solution" changing the results?

I thought this option is for speeding up the simulation by skipping initial conditions like setting capacitor voltages and inductor currents to a value(?). But in this case it is also outputting totally different results.

What should be the general approach here when simulating circuits with or without this option? I'm confused in which cases one should use this option and in which cases it should opted out for a realistic estimation. Because two outputs are completely different.

\$\endgroup\$
3
  • 2
    \$\begingroup\$ run the simulation for 1-2seconds and you will see \$\endgroup\$
    – JonRB
    Dec 16 '18 at 16:41
  • \$\begingroup\$ After two seconds they settle to totally different values.One settles to 4.1V the other to 6V. \$\endgroup\$
    – cm64
    Dec 16 '18 at 17:05
  • 1
    \$\begingroup\$ Your converter will not work properly. The 3.3V is a way too low to fully open the IRF510 \$\endgroup\$
    – G36
    Dec 16 '18 at 17:48
2
\$\begingroup\$

That uic considers that the Universe starts with the run button, there is no prior knowledge or history, you are God and you are wielding time, so the solver is calculating everything from scratch, which can take a long time if the settling times need to.

Without it it's what @glen_geek said: it tries to solve the circuit for DC since it considers that the Universe has started long before, there is plenty of knowledge from the history, so the circuit has had time to settle into what are today's values. When it does so, it does it with what it sees in the circuit, not with what it reads from our minds, since it cannot do that. This is up to us to set in the circuit.

In addition, start supplies from zero (or something like that) only adds a minor startup for supplies, so the circuit is solved for initial conditions, but with the difference that it still tries to solve for DC, since it's not uic.


[in reply to the comment]

As I said, the solver cannot read minds, in can only read circuits. In this case, it sees a supply with no series resistance but a parallel cap (useless, internal resistance of voltage source is zero), a FET driven directly by a voltage source, with 3.3V, no resistor, rectifying diodes that are too slow for the switching frequency, a filtering cap with no series resistance, and a load that may as well be open air. For these, the solver found a solution. uic forces a different starting solution, most often the real one, but takes time to settle.

If you probe in different parts, you'll see that uic and normal give different starting points for every voltage and currents. For example, V(out) starts from 4.1V, not zero, as you'd expect. That is because, as I said, without uic, the solver considers that the circuit has been there for ages, in steady-state, no switching, so everything is calculated based on static voltages and currents. And you got ...some initial solution. With uic, everything starts from zero, DC, switching, everything. Which means that the solution will be radically different. So you cannot blame the solver for trying to accomodate your very unrealistic (and quite poorly made) circuit, that is, you shouldn't blame the tool for how what user makes of it.

\$\endgroup\$
2
  • \$\begingroup\$ But these you mention should only affect the transient part correct? But the circuit in question "settles" to totally different values after long time. This is supposed to be a boost converter. If I do "skip initial operating point solution" it really boosts the input voltage but if I don't do that Vout even gets to a lower value in simulation. I tried to simulate for two seconds same results. \$\endgroup\$
    – cm64
    Dec 16 '18 at 17:32
  • \$\begingroup\$ @cm64 I've updated my answer, hopefully more clear. \$\endgroup\$ Dec 17 '18 at 7:56
1
\$\begingroup\$

Allowing a initial condition solves the circuit for DC: inductors are short-circuited, and capacitors are magically charged. Doing so sometimes helps to get near an operating point. In this case, an operating point is only reached after the MOSfet toggles on-off-on.... for many cycles.
Here, the initial condition means the MOSfet is off (its initial gate voltage is zero). C1 gets "charged" to nearly 4.5V, because diode D2 supplies current to R1 and none to C1. The result is an unrealistic initial condition for output voltage. In this simulation, C1 does nothing.

You might consider another start-up condition where C1 starts un-charged at zero volts. SPICE might complain, because diode D2 current and inductor current would be extremely high, with an internal series resistance of zero. You should recognize that this is unrealistic too.

\$\endgroup\$
2
  • \$\begingroup\$ This is supposed to be a boost converter. If I do "skip initial operating point solution" it really boosts the input voltage but if I don't do that Vout even gets to a lower value in simulation. I tried to simulate for two seconds same results. Which one represents the real output? \$\endgroup\$
    – cm64
    Dec 16 '18 at 17:23
  • \$\begingroup\$ It is not boosting much, probably because the MOSfet isn't driven ON with that marginal gate voltage of 3.3V. Try 5V. Or find a MOSfet that gets fully turned on with 3.3V. Until you see it boost as you'd expect, try reducing C1 value so that you don't have to simulate for many seconds until everything settles to a quiescent state. \$\endgroup\$
    – glen_geek
    Dec 16 '18 at 21:31

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.