simscape current sensor gives arbitrarily large value at t = 0.

I am using current sensor block to measure the line current at input of PFC.
The delay block is used to avoid algebraic loops. However the current senor mesures some arbitarily large value of 10^7A,which is not practical. Could it be due to delay block? if yes, how can I avoid it ?

Answers (1)

Hello @Sambeet,
I understand the use of delay block to break algebraic loops in your model. However, when you insert a delay block, on the first simulation step. it outputs its initial condition (zero by default). If the current sensor’s output is used in a feedback loop this initial zero or improper value can cause the calculations to become non-physical, leading to arbitrarily large value.
I recommend trying the following workarounds to resolve this issue:
  • Set the initial condition of the delay block to a realistic value (e.g., the expected initial current at startup). In Simulink, double-click the delay block and set the initial condition parameter.
  • Try using the Memory block instead of the Delay block: https://www.mathworks.com/help/simulink/slref/memory.html
  • Try to restructure the model to avoid algebraic loops altogether, if possible.
I hope this helps!

Categories

Find more on General Applications in Help Center and File Exchange

Products

Release

R2024b

Asked:

on 10 Jul 2025

Answered:

on 23 Jul 2025

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!