help me to understand the following error in closed loop speed ctrl of BLDC motor
10 次查看(过去 30 天)
显示 更早的评论
- ['BLDC_speed_loop/Solver Configuration']: Transient initialization at time 0.4, solving for consistent states and modes, failed to converge.
- Nonlinear solver: Linear Algebra error. Failed to solve using iteration matrix.
- Problems possible for transient initialization, as well as stepsize control for transient solve, due to equations (including nonlinear equations) of one or more components: all components involved'BLDC_speed_loop/BLDC'Equation locations are: 'C:\Program Files\MATLAB\R2021a\toolbox\physmod\elec\library\m\+ee\+electromech\+pmsm\+pm_rotor\+bldc\Xabc.sscp' (no line number info) 'C:\Program Files\MATLAB\R2021a\toolbox\physmod\elec\library\m\+ee\+electromech\+pmsm\+pm_rotor\+bldc\Xabc.sscp' (no line number info) 'C:\Program Files\MATLAB\R2021a\toolbox\physmod\elec\library\m\+ee\+electromech\+pmsm\+pm_rotor\+bldc\Xabc.sscp' (no line number info) 'C:\Program Files\MATLAB\R2021a\toolbox\physmod\elec\library\m\+ee\+electromech\+pmsm\+pm_rotor\+bldc\Xabc.sscp' (no line number info)
0 个评论
回答(1 个)
Joel Van Sickel
2021-8-30
Hello,
this type of error is unfortunately not very useful in debugging a model. It basically means that the solver couldn't handle the simscape portion of your model. This could be due to something in the model being unrealistic, or it could be issues with how the solver is set up. It would be helfpul if you shared you model. The most common cause of this is an unrealistic simulaiton. Examples would be accidentally leaving out free wheeling diodes on an inverter, or accidentally shorting some terminals or leaving something open circuit that shouldn't be. On the solver side, you should always start with ode23t for electrical simulations. The first thing you can do is tighten the tolerance to 1e-4 (not sure it will help with this though). Switching to a local solver with fixed step can often bypass issues like this but if you don't figure out what is wrong you will never be able to go back to variable step which is more accurate and should to be used to validate a fixed step size. Since it specifically happens at 0.4, there might be a switch or some change to the network happening specifically at that time which is causing the simscape network to be unsolvable. This might give you some hints as to what part of the model is causing the issue.
Regards,
Joel
2 个评论
INEL Tech Centre
2022-2-11
here is the model for your reference. Sorry for a late reply but could not proceed further on this. ![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/891265/image.png)
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/891265/image.png)
Joel Van Sickel
2022-2-15
It's probably the pure open cicuit on the motor. If you put a smaller resistance so that more current and go through, that could help. Start with something like 100 ohms and keep making it bigger. If it doesn't work with 100 ohms, then I am wrong and it's not the open circuit aspect of the motor. At that point I'd look at if the motor's parameters were realistic, because you can definitely run motors as generators in the simscape tool. Also, you can go to the fourth tab in the motor model, and set the bottom two variables to priority 'none'.
社区
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Simscape Electrical 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!