1

I am using OrCAD/Cadence PSPICE Lite 16.6. I am trying to do a temperature analysis of a circuit. In particular a resistor.

schematic

simulate this circuit – Schematic created using CircuitLab

Now, the temperature is from -30 to 60 Celcius. I understand that knowing the ppm I can do a .model as shown below -

R9 N1 N2 R1 10K .model Rmod8 TC1 = 1.5E-3

The TC1 - denotes the ppm (1500ppm). Now, the resistor als has a random tolerance of 1%. How do I give that ? Like a range. And at each temp ( from -30 to 60) the random tolerance of 1% exists. How can I implement that in PSPICE code ?

Also, if I dont need to use the TC1 approach(i.e through a .model), how can I do it through a mathematical formula. In other words -

Ta -room temp, Tt - temperature under study(from -30 to 60) TCR - ppm property of resistor Ra - resistance at room temp Rt - resistance at Tt.

Now, the formula for Rt = {Ra*(TCR*(Tt - Ta))/10^6}. I tried implementing this using the .param command as shown below -

.param R1 1000 .param R1t_temp = {R1*(TCR*(Temp - Ta)/1000000)} R8 3 5 R1t_temp .Dc lin Temp 28 60 2

So, I am doing a DC sweep analysis of temp - from 28 to 60. But, there is an error as the R1t_temp value obtained from the .param is not put in the R8 3 5 R1t_temp.

Board-Man
  • 1,929
  • 1
  • 27
  • 75

1 Answers1

2

1) I would not use a circuit like this to evaluate a TC. If both resistors have the same TC, the voltage at Node1 will not change over temperature as you have made a voltage divider. I would replace R1 with a current source, then the voltage on Node1 is directly proportional to the value of R2. I'd plot V(node1) / Isource = R2

You would see variation when only one of the resistors has a TC but then you'd have to calculate that back and... that's too complex for me, I prefer keeping things simple.

2) tolerance is something different, tolerance is statistics. 10% means it can be up to 10 % higher or lower in value. Component spread (the actual name) is simulated with a statistical (Monte Carlo) analysis on top of your "normal" simulation. MC can do 20 simulations and then tell you average and sigma values. See the manual how to make a resistor that has statistical properties.

Bimpelrekkie
  • 80,812
  • 2
  • 94
  • 185
  • Thank you. That brings me to the question - what exactly is TC or temperature coefficient ? And what is its effect in case of resistance value. – Board-Man Feb 18 '16 at 12:40
  • TC is the change in value over temperature. For example a TC of +0.01 / degree C means +1% increase in value for 1 degree temperature rise. -0.01/degr.C would mean a decrease in value. So a 1000 ohm, +0.01/degrC resistor at 20 C would become 1100 ohm at 30 degrees C and 900 ohms at 10 degrees C. But this is how I use it, have a look in the PSPICE manual to know what they are doing, I have not used PSPICE since 1994 ;-) – Bimpelrekkie Feb 18 '16 at 12:45
  • But, the point of placing a value for a resistor which is the result of a mathematical expression ? Is it possible using some other commands or so ? – Board-Man Feb 18 '16 at 13:16
  • Can't you just fill in a formula for the value of the resistor instead of a number ? so instead of your .PARAM statement put the formula in place of the value of the resistor. But usually you get a TC1 and maybe a TC2 for a component and then you can just use the model. TC1 and TC2 being coefficients for a polynomial: R = R0 * (TC1 * Temp + TC2 * Temp^2) – Bimpelrekkie Feb 18 '16 at 13:28