Incorrect initialization of synchronous machine when simulating with saturation in "continuous" simulation mode
Ältere Kommentare anzeigen
I am trying to simulate saturation in a synchronous machine in SimPowerSystems. I check the "simulate saturation" box and initialize the machine using "load flow" or "machine initialization". However, when I start the simulation at steady state in "continuous" mode , the machine speed does not stay at 1 p.u. and attains a new steady state speed which is different than 1.
This problem does not arise when I do not simulate saturation. I haven't been able to find a reason for this apparent error but have a hunch that initialization may not be taking the effect of saturation into account. I will really appreciate if anybody could shed some light on this issue.
Thanks Himanshu
1 Kommentar
Bruno de Almeida
am 10 Mär. 2019
Hello, I am facing the same issue. Did you get any way to solve this?
Thanks, Bruno.
Antworten (1)
Joel Van Sickel
am 18 Aug. 2021
0 Stimmen
I believe this was a bug that has been addressed, if anyone experiences is again (when using an up to date version of matlab) please comment here and contact me.
Regards,
Joel
5 Kommentare
Hi, Joel,
I am currently using matlab R2022b and meet the similar problem. In discrete simulation time, with or without checking the "simulate saturation" box in and initialize the machine using "load flow" or "machine initialization" with bus type P&Q generator , the result of field voltage vf stays unchanged. It seems to me that the effect of saturation here is not taken into account. What is your opinion?
Regards
Zhen
Joel Van Sickel
am 12 Jul. 2023
Hello Zhen,
if you are not getting a change to VF regardless of the saturation block being checked, you are experiencing a different issue. The above issue was calculating the correct field voltage without saturation and calculating the incorrect field voltage with saturaiton. It sounds like your model is set up in a way where field voltage is not being updated at all regardless of saturation, or, VF is already at the correct value and does not need to change. Are you able to share your model?
Adrián Solís Bajo
am 20 Feb. 2024
Hi,
Although I am currently using an older MATLAB version (MATLAB R2021a), I have been facing the same problem as Zhen for a while now and I have reached the same conclussion: Once introduced the open-circuit saturation curve and checked the "simulate saturation" box in the Simscape synchronous machine model, when calculating the initial value of the excitation voltage (Vf) and the magnetizing inductances (Lmd and Lmq) of the model, Simulink always considers the air-gap line (defined, as stated in the help page, with the first [ ifd; vt] (pu) point that you introduce in the open-circuit saturation curve); in other words, it always considers that the machine is not saturated when initializing. Therefore, the initial value of Vf (pu) is always the one corresponding to the air-gap line (unsaturated) and the initial value of Lmd and Lmq is always equal to the unsaturated value that you introduce as input data to the model. This conclussion is supported by three facts:
- When using the "machine initialization" tool and stablising a very high load (in order for the magnetizing flux to be very high and thus the machine to be saturated), the calculated initial excitation voltage is always the one that lies on the air-gap line for that load.
- The synchronous machine model allows for the magnetizing inductances (Lmd and Lmq) to be ploted. Thus, when executing a simulation and plotting these inductances, it is clearly seen that during the first time step both inductances have the unsaturated value and, then, in the successive time steps their value reduces until the true steady-state saturated value is reached. Therefore, the saturation is neglected only in the initialization, but taken into account during the rest of the simulation.
- When looking under the mask of the synchronous machine model, there are some unit delays whose initial value is the unsaturated one, instead of the saturated value.
Joel Van Sickel
am 20 Feb. 2024
Hello Adrian, are you able to share models demonstrating what you listed out here?
Adrián Solís Bajo
am 21 Feb. 2024
I will demonstrate it with the following simple system:

Here we have a Synchronous Machine pu Standard model (Simscape -> Electrical -> Specialized Power Systems -> Electrical Machines) connected to a Three-Phase Series RLC Load (Simscape -> Electrical -> Specialized Power Systems -> Passives). The synchronous machine parameters are as follows:




The three-phase load has been parameterized so that is a purely resistive load with a very high impedance value, so the synchronous machine is practically open circuited:


The initial conditions of the synchronous machine model have been computed using the "machine initialization" tool, so that the machine is initialized open circuited (no active and reactive power) to a terminal voltage of 1.1 pu (440 V):

It can be seen that the initial value of all the magnitudes are correctly computed. The excitation voltage (Vf), however, is not correctly initialized. Looking at the previously shown open-circuit saturation curve, for a terminal voltage of 1.1 pu the required excitation current (and in steady-state also the required excitation voltage) should be 1.19 pu. Thus, it seems that the excitation voltage is initialized to the terminal voltage value, neglecting saturation. Actually, in a more general sense, what seems to be happening is that the "machine initialization" tool always initializes the excitation voltage to the magnetizing flux value which, in per unit and with no active and reactive power, is equal to the terminal voltage in per unit.
Even if the correct value of the excitation voltage (Vf=1.19 pu) is introduced in the input and in the initial conditions of the synchronous machine model, when simulating a significant initial transient is observed:

Kategorien
Mehr zu Composite Components finden Sie in Hilfe-Center und File Exchange
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!