1

Could someone help me understand what is happening in B1 when stepping between P = 2.9 W and 3.0 W?

Constant Power @ 2.9 W

Constant Power @ 3.0 W

Aaron
  • 7,274
  • 16
  • 30
MemorX86
  • 83
  • 5
  • please show the actual sim output – Aaron May 23 '22 at 18:33
  • For P = 2.9 W: --- Operating Point --- V(v_source): 75 voltage V(v_load): 74.1137 voltage I(B1): 0.0391291 device_current I(R_wire): 0.0391291 device_current I(V1): -0.0391291 device_current – MemorX86 May 23 '22 at 18:38
  • For P = 3.0 W: --- Operating Point --- V(v_source): 75 voltage V(v_load): 0.626573 voltage I(B1): 3.2836 device_current I(R_wire): 3.2836 device_current I(V1): -3.2836 device_current – MemorX86 May 23 '22 at 18:38
  • I meant the graphs – Aaron May 23 '22 at 18:40
  • I switched to transient analysis and got these: https://imgur.com/a/7I8xUyV & https://imgur.com/a/A8geISy – MemorX86 May 23 '22 at 18:46
  • @Aaron OP is showing the result of `.op`, the output is in the form of `.op` labels, what you see there. – a concerned citizen May 23 '22 at 18:48
  • @MemorX86 Just a minor note: `.op` doesn't take any arguments, so `startup` or any time range make no sense in there. It does look strange, I'm looking into it. – a concerned citizen May 23 '22 at 18:49
  • You are right, it does nothing (in this case), just left there from when i switch back and forth between transient and operating point analysis. I think it is just ignored by .op. – MemorX86 May 23 '22 at 18:51
  • 1
    @MemorX86 You can add an `.op` label and a `.tran 1` (`startup` is not needed here). The transient analysis will ignore the `.op`, and when you need only `.op`, simply `Ctrl+RClick` on the `.tran 1` to comment it out. – a concerned citizen May 23 '22 at 18:58

1 Answers1

2

The constant power source is (still) undocumented, but you can read a bit about it here (see the Bn P=f(...) part):

In order to avoid large currents at voltages near zero, the arbitrary power sink/sources foldbacks to resistive behavior when the absolute value of voltage across the device falls below a default value of 1 volt. The foldback point may be modified by specifying a VprXover parameter for the device, e.g. VprXover=50mV.

Judging by the value of that resistor, it was deliberately chosen like that (which could have been a normal one with 22.65 as value, without the R=, which makes it a behavioural resistor; nothing wrong, though). Maybe it was reached through testing. At any rate, if you'll make the load P=p VprXover=x and use .op with:

.step param x 0.1 1 0.1
.step param p list 2.9 3

you'll get a plot with the variation of <some quantity> over that x. If you then plot the voltage across the load you'll see this:

VprXover limit

Because the default value for VprXover is 1, the folding happens right around the 1 V value. If that is what's biting your rear, simply change VprXover to a different value. For P=3 use VprXover=2, for example, and it will work. Adjust accordingly for whatever power you need. Don't forget that it's up to the user to do this, LTspice can't read minds. No SPICE can.

a concerned citizen
  • 21,167
  • 1
  • 20
  • 40