I’m trying to simulate a soft-start circuit and have trouble getting it to converge. The circuit charges a capacitor via a large resistor and after reaching a certain voltage turns on a P-channel MOSFET to bypass the resistor. Did some other simulations with KiCad and ngspice before, but overall I’m mostly at the newbie level regarding ngspice so I’m probably doing something not quite correctly or not taking something into account that I should.
If I use a built-in PMOS model with only threshold voltage customised and an additional resistor to model RDS(on), it converges (but does not model the actual circuit well). As soon as I start adjusting more parameters (e.g. setting W and L) or replacing it with a vendor provided model (tried both Vishay SI2301CDS and A&O AO3401A models) it aborts with Timestep too small (or runs for a long time and crashes after running out of memory). The node it claims to have trouble with is somewhere around the MOSFET but otherwise not really helpful (sometimes it references S1 nodes, sometimes internal nodes on the MOSFET).
Any idea on how to get this circuit (see below) to converge with a more realistic MOSFET model?
I already tried replacing the voltage-controlled switch with a pulsed voltage source but couldn’t get it to work (most of the time the gate voltage was somehow following the C1 voltage rather than getting pulled up to the supply voltage by R7).
Schematic:
I wanted to attach the full KiCad project as a zip file (it’s just 10KB) but apparently as a new user I’m not allowed to do that.
PS: The MOSFET pin mappings are correct (had some fun with that at first); that’s not the reason it’s not converging.
Welcome to the community. I have not used NGSpice. But from the standpoint of a hardware tested design, I have used an available pulse waveform (from a downstream switcher) to pump up the gate of an Nch MOSFET. This makes a very nice linear soft start, if you ignore the tiny steps which correspond to each bit of gate charge coming from the charge pump.
Thanks! I clicked the bot message away out of reflex because my brain categorised it as one of those annoying AI bots that lots of websites have nowadays.
Didn’t expect that simply reading topics (again) after logging in would raise my level enough for attachments.
Thanks for the reply. Good to know about a design that works. However what I need help with right now is understanding why the simulation for this simple design doesn’t converge and how to fix it. If I switch to simulating another, more complex design it will just break another day and be even harder to understand for me.
JFYI, I originally had a design roughly similar to yours and switched to the current one after reading up on the “Spirito effect” (see also StackOverflow answer for a soft-start circuit where the MOSFET died because of this effect).
I am aware of the FBSOA failure mechanism but did not know
. I think you have a great information reference there. A couple of other points:
I have an ample stash of some MOSFETs (many are obsolete) for my own demo/hobby work. If a couple of those die it would not be a big deal.
My home made (and hand wired) e-load uses MTP3055E MOSFETs. I have been using it occasionally for almost 30 years, with no device failures,
For a more durable design, (or a production design) I would point to the “linear” MOSFETs made by IXYS (now Littelfuse) and also by Infineon. Those are designed for better ruggedness when operating in this sort of application.