Resolving 'Model Structurally Singular' Error in Simulink for Voltage and Current PID Control Circuit

2 vues (au cours des 30 derniers jours)
Hello MATLAB Community,
I am working on a Simulink model that implements a PID-based voltage and current control circuit for a "Fast electrochemical impedance spectroscopy of lithium-ion batteries based on the large square wave excitation signal". I have attached both my Simulink model diagram and the corresponding schematic for reference. However, when I run the simulation, I encounter the following error:
"This model is structurally singular. Check the equations."
I have double-checked my model to ensure that all components and connections match the schematic, but the issue persists. Here are the steps I have already tried:
  1. Ensured that there are no algebraic loops.
  2. Verified the proper initialization of the integrators within the PID controllers.
  3. Checked for any redundant or missing connections in the Simulink model.
The schematic involves a nested PID controller setup for current and voltage control, with feedback loops for both voltage and current sensing. I suspect the error might be related to either feedback connections or an incorrect modeling of dependent components.
Could anyone guide me on how to debug this issue or identify what typically causes a "structurally singular" error in such models? Any tips on diagnosing singularity in Simulink models would be greatly appreciated!
Thank you in advance for your help!
Attachments:
  1. Simulink Model Screenshot
  2. Circuit Schematic Diagram

Réponse acceptée

Kautuk Raj
Kautuk Raj le 6 Jan 2025
As a troubleshooting step, I suggest to set the "Index Reduction Method" in the "Solver Configuration Block" to "None". This will bypass the structural singularity check to give more informative diagnostics ( warnings and errors). You can further work with this information (or share it here) to help resolve the issue.
  1 commentaire
Jyothiraditya Reddy
Jyothiraditya Reddy le 7 Jan 2025
Hello Kautuk Raj,
Thank you for your response and for taking the time to help! I appreciate your suggestion to explore the solver configuration and its related options. While I’ve attempted some debugging steps, including setting the "Index Reduction Method" to "None" as you suggested, I am still facing challenges with the initialization and solver convergence.
The main issue appears to be the solver's inability to converge due to residual norm errors, possibly caused by algebraic constraints or stiff system equations. The Solver Profiler highlights potential problems with capacitors, diodes, and operational amplifiers in the circuit, but I’m unsure how to isolate or resolve these issues effectively.
Could you provide further advice or strategies for debugging stiff systems or handling these initialization problems in Simscape models? For example:
Would adjusting initial conditions for specific components (e.g., capacitors, op-amps) be helpful, and if so, how do you recommend setting them appropriately?
Are there specific solver settings or model simplifications that could aid in resolving such convergence problems?
Any insights into checking feedback loops or grounding issues within the circuit?
Thank you again for your time and guidance!
Best regards,
jyothiraditya
showing error as below:
Warning:First solve for initial conditions failed to converge. Trying again with all high priorities relaxed to low.
Warning:Unable to satisfy all initial conditions. The variables involved are listed below.
The following variables' targets could not be honored: 'Capacitor.vc' (Capacitor voltage) 'Capacitor2.vc' (Capacitor voltage) 'Capacitor3.vc' (Capacitor voltage)
Warning:Problems possible for transient initialization, as well as stepsize control for transient solve, due to equations of one or more components: all components involved

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Electrical Block Libraries dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by