Azzera filtri
Azzera filtri

Convert Continous Integrators to Discrete Integrators

5 visualizzazioni (ultimi 30 giorni)
I'm trying to convert the integrators in this simulink model of induction motor from continuous integrators to discrete integrators.
After replacing integrators with discrete-time integrator block I obtained this error, "Derivative of state '1' in block 'XYZ/Integrator' at time 0.018500000000000003 is not finite. The simulation will be stopped. There may be a singularity in the solution. If not, try reducing the step size (either by reducing the fixed step size or by tightening the error tolerances)"
I have to run this model at 1e-3s sample time, the sample time shouldn´t be reduced any further. I tried implementing Trapezoidal Integrators and Euler, but the error does not dissapear.
Motor_Model.png

Risposta accettata

Joel Van Sickel
Joel Van Sickel il 18 Ago 2020
Hello Nishant,
most induction machines and controllers will need a time step significantly faster than 1e-3 to simulate correctly. However, for your case, maybe that is enough. It is important to use the correct solver for this type of simulation. I have provided some general guidance blow, but if you would like more specific help, please feel free to share your model file.
Place low pass filters on the sensors going to your closed loop controller
use ode23tb if using specialized power systems or simulink based models
use ode23t if using simscape
check for algebraic loop warnings
turn your tolerances up OR
switch to a fixed step solver on your powergui/solver configuration block or in your simulink model.
Also, please see the extensive induction motor models and control examples: https://www.mathworks.com/help/physmod/sps/powersys/ref/asynchronousmachine.html
Regards,
Joel

Più risposte (0)

Categorie

Scopri di più su Trimming and Linearization in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by