I am attempting to model a 3V3 regulator supply that will be powering things like microcontrollers and optocouplers. I have successfully modeled the regulator, now I am attempting to model the loads that it will experience to find what the maximum load will be.
Currently I am simply stepping the load to see how it responds to various "constant" loads and where it begins to drop out (see below).
Existing Setup
The issue is, in practice, this circuit is only going to be experiencing short but repeating pulses of loading, in the order of micro/milliseconds each time. So I was wondering whether there was a way of essentially pulsing the resistor value as you would a voltage source, as well as having it step through different resistor values.
I have done a quick search on the web to no avail so hoped you guys might be able to be of assistance.
One thing I am considering if this is not possible, is having a switch (transistor) controlled by a pulsed voltage source that will in-turn pulse the load seen by the regulator. But curiosity has led me to this question before opting for the aforementioned method.

  • \$\begingroup\$ Could you replace R8 with a current source and control pulse that way ? \$\endgroup\$ – efox29 Apr 5 '17 at 10:28
  • \$\begingroup\$ I normally use the SW and a voltage source to control said SW to insert another resistor at a given time. \$\endgroup\$ – winny Apr 5 '17 at 10:34
  • 1
    \$\begingroup\$ The current source is definitely the way to go here. And I would add that those two caps in parallel look quite funny, unless op set different ESR for them. If you need ESR, place a resistor in series so you don't forget it's there :) \$\endgroup\$ – Vladimir Cravero Apr 5 '17 at 12:13

I recently had some pretty extensive requirements along these lines and ended up discovering four fundamental methods. For your application I think method 3 is going to be the winner, but let me outline them so you can evaluate:

Method 1: .step

As in your question, simple but no time domain control.

Method 2: Switch Model

As in winny's answer. The presence of the switch model in the current path complicates things.

Method 3: Variable Parameters

Set your resistor's resistance to an expression involving V(netname), and then drive that net with a variable voltage of your choice.

enter image description here

Very simple to include in circuit and very powerful to control because you can use any voltage source circuit. For example, in your case you can drive setpoint with a pulse voltage source and a PWL voltage source to get step and pulse behaviours.

Method 4: Behavioural Sources

Similar to Method 3, but use a behavioural source (bi or bv) instead of a passive component.

enter image description here

Adds the extra feature of controlling a source rather than a sink.


This is one of the simplest solutions to doing a trainsient on the load. You can still use the .STEP command "in the background" to vary some other parameter.


  • \$\begingroup\$ R1 and R2 can be skipped by setting the appropriate values in Ron and Roff, in the .model card. This way you eliminate one node and two elements in the circuit matrix. \$\endgroup\$ – a concerned citizen Jan 17 '18 at 8:23
  • \$\begingroup\$ @aconcernedcitizen Yes indeed. I just don't like it. I even place ESR of capacitors as separate resistors to give me a visual aid, but people are different. \$\endgroup\$ – winny Jan 17 '18 at 9:53

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.