Simulation of BLDC Motor - error with derivative of omega
4 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Marcel Thevagt
am 9 Mai 2025
Beantwortet: Yifeng Tang
am 9 Mai 2025
I have implemented the mathematical model of a BLDC motor with trapezoidal Back-EMF. With the parameters in the setup script, the system in the Kommutation_Mini model runs and shows somewhat reasonable behavior. There is also the commutation pattern etc. implemented.
However, when I add the derivative of omega to the total torque equation at the end of the BLDC_Motor.ssc file (line: 110), an error occurs. Of course, I would like to model the inertia of the rotor with this term. Here is the relevant line in the corresponding file:
T - T_m == B_m * w_m ; % J_m * w_m.der +
I attached all the necessary files, but the inertia term is commented out. So, in order to reproduce this error, just add the term to the torque calculation. Why does this error appear?
Error message:
Error:An error occurred during simulation and the simulation was terminated
Caused by:
['BLDC_Motor_Kommutation_Mini/Sensor/Solver Configuration']: When trying to advance one time step, nonlinear solver failed to converge, residual norm too large.
0 Kommentare
Akzeptierte Antwort
Yifeng Tang
am 9 Mai 2025
Hi Marcel,
I'm NOT an expert in BLDC motor but I'm in general interested in Simscape language and customization. Could it be a sign error here? I mean the equation may need to be
T - T_m == - B_m * w_m - J_m * w_m.der;
I didn't examine the code in great detail, but I tested with this equation, and the model runs with no problem and reach steady-state ~1260 rpm. If I change J_m to a larger value, I noticed a longer rise time (reasonable). The value of viscous damping doesn't seem to change anything significantly, presumably because of the controller.
I suspect previously the B_m*w_m was also creating some "free" energy, but it's canceled out by the external damping you had. The inertia then adds a lot free energy when you included that term.
My best guess. Please verify.
0 Kommentare
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Choose and Parameterize Blocks finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!