This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

LM2903B-Q1: Duty Cycle discussion

Part Number: LM2903B-Q1

At this time, I would like to analyze the performance of the LM2903B-Q1.

I did some manual calculations and simulations (with SIMetrix) to make sure the simulation result.

To make the context, I try to simulate the comparator with V input range from 1 [V] to 32 [V] and this graph show the duty cycle (%) in every 1 [V] differences.

However, the results are quite different. I get linear correlation from manual calculation but for simulation is a linear type but with step value.
  for example:

V input Manual Calculation duty cycle Simulation duty cycle
11 [V] 39.18% 44%
12 [V] 40.93% 44%
13 [V] 42.69% 44%
14 [V] 44.44% 44%
15 [V] 46.19% 44%
16 [V] 47.95% 50%
17 [V] 49.70% 50%
18 [V] 51.45% 56%
19 [V] 53.20% 56%
20 [V] 54.96% 56%
21 [V] 56.71% 56%

Although the results have the same behavior (same gradient) I want to know the cause, do you familiar what the factors affect the simulation results? Why the simulation result is step value instead of linear?

green line: simulation result

orange line: manual calculation

Thank you in advance

  • Hello Febriyanti,

    Remember that the simulation is taking in many more effects than your manual calculations. You are running simple manual calculations, and the simulator is taking in the effects of all the components.

    And when simulating, remember that the simulator engine is making approximations and guesses up to a simulation tolerance limit. When it gets "close enough", it moves on to the next point.

    Accuracy also depends on the number of points and minimum time steps.

    The simulation results are a tradeoff between set accuracy and speed. You can try changing the simulator accuracy (current and voltage) in the analysis parameters, but expect very slow simulations and/or many more convergence errors.

    The model is a idealized macro-model - and there is nothing "random" purposely put into the model that would purposely cause the steps.