Absence of traction motors saturation
#1
Posted 29 March 2024 - 09:57 PM
Doing test rides with diesel-electric locomotives, have spotted: max speed parameter is likely ignored.
Speed continues to grow exponentially towards 200km/h and maybe higher.
I won't say here about friction and aerodynamic resistance to keep the thread "clear", but electric motors have strictly defined speed, where self-induced counter current in coils becomes equal to current, supplied to motor at given voltage, so further rotation speed's growth is impossible, and excess speed growth on downhill will encounter dynamic brake-like counteraction. Currently, I can't see that.
#2
Posted 30 March 2024 - 01:30 AM
#3
Posted 30 March 2024 - 01:38 AM
#4
Posted 31 March 2024 - 12:08 PM
#6
Posted 01 April 2024 - 02:54 PM
Aldarion, on 30 March 2024 - 01:30 AM, said:
Even the simple behavior of unloading the tractive effort at "MaxVelocity" is now ignored. This is definitely a bug and I confirmed it affects Diesels as well
E.g.
Type ( Diesel ) MaxPower ( 2300kw ) comment( est estimated by comparision with dash9 ) MaxForce ( 298kN ) MaxContinuousForce ( 240kN ) MaxVelocity ( 75mph ) MaxCurrent ( 1800A ) WheelRadius ( 20in )
However loco accelerates to 300kmh+ in recent builds
https://i.ibb.co/BCwXLyP/Open-Rails-2024-04-02-12-49-34.png
In older builds the power & force would unload once MaxVelocity is achieved
https://i.ibb.co/KKFkJz1/Open-Rails-2024-04-02-12-46-49.png
On a positive note, all my old MSTS diesel & electric locomotives are now High Speed Rail capable :)
#7
Posted 09 April 2024 - 12:39 PM
Weter, on 29 March 2024 - 09:57 PM, said:
Doing test rides with diesel-electric locomotives, have spotted: max speed parameter is likely ignored.
Speed continues to grow exponentially towards 200km/h and maybe higher.
I won't say here about friction and aerodynamic resistance to keep the thread "clear", but electric motors have strictly defined speed, where self-induced counter current in coils becomes equal to current, supplied to motor at given voltage, so further rotation speed's growth is impossible, and excess speed growth on downhill will encounter dynamic brake-like counteraction. Currently, I can't see that.
Hello
I looked into the diesel code and found that this is indeed the case that MaxVelocity is no longer being considered for "unloading"
A new parameter was introduced at some point called ORTSUnloadingSpeed.
ORTSUnloadingSpeed ==> is the locomotive speed when the generator reaches its maximum voltage, and due to the speed of the train, the engine starts to ‘unload’. Typically beyond this speed, power output of the locomotive will decrease.
This is implemented such that power declines linearly from the unloading speed to 0 at 2 times the unloading speed.
I made a small change to my own branch to reintroduce unloading based on the MaxVelocity parameter, as I dont intend to update all 250 of my diesel locomotives. Add this just below the existing unloading code
else if (UnloadingSpeedMpS == 0 && AbsTractionSpeedMpS > 0.8f * MaxSpeedMpS && !WheelSlip) // If no unloading speed in ENG file then unload power between 80% to 120% of MaxVelocity { float unloadingspeeddecay = 1.0f - ((2.5f * AbsTractionSpeedMpS / MaxSpeedMpS) - 2.0f); unloadingspeeddecay = MathHelper.Clamp(unloadingspeeddecay, 0.0f, 1.0f); // Clamp decay within bounds maxPowerW *= unloadingspeeddecay; }
#8
Posted 10 April 2024 - 09:13 AM
Thanks for an interesting update!
Quote
Otherwise, ORTSUnloadingSpeed at about half of MaxVelocity should be added into each of */eng-files?
#9
Posted 10 April 2024 - 11:39 AM
If you know the rated rpm of your locomotive traction motor, then the wheel speed at this rpm would be the unloading speed.
For a guesstimate, I think 60-70% of MaxVelocity would work such that the locomotive can still achieve the maximum velocity.
#10
Posted 10 April 2024 - 12:21 PM
I also disagree with the implementation of ORTSUnloadingSpeed, as a linear decrease in power output toward 0 is not what happens in real life. When considering series wound motors given a constant voltage (in this case, the max generator voltage) the power output has a sort of exponential decay as speed increases, never actually reaching 0 power output no matter how fast the motor spins. This means a series wound motor will gladly explode itself when given even fairly low voltages under no-load, and is why series wound motors aren't very popular outside industrial applications.
The real solution here is to make custom tractive effort curves that implement whatever high speed behavior you want using real data, rather than approximations bolted on top of MSTS-era physics.
#11
Posted 10 April 2024 - 08:56 PM
I understand Your words, Phillip, in such way, that the phenomenon, we see, isn't an ORTS bug at all, but an expected result of tractive force curves lack in *.eng-files, right?
Then, let's think about possible addition of some check (in analogy with missing steam parameters case), when ORTS runactivity would read obsolete max velocity parameter and apply some default speed limitation (logging this action for user to be aware)...
There are friction and aerodynamic (latter grows in quadratic progression with speed) resistance, which never allow locomotive with "saturated-state" electric transmission to reach 300km/h
#12
Posted 10 April 2024 - 09:18 PM
pschlik, on 10 April 2024 - 12:21 PM, said:
I also disagree with the implementation of ORTSUnloadingSpeed, as a linear decrease in power output toward 0 is not what happens in real life. When considering series wound motors given a constant voltage (in this case, the max generator voltage) the power output has a sort of exponential decay as speed increases, never actually reaching 0 power output no matter how fast the motor spins. This means a series wound motor will gladly explode itself when given even fairly low voltages under no-load, and is why series wound motors aren't very popular outside industrial applications.
The real solution here is to make custom tractive effort curves that implement whatever high speed behavior you want using real data, rather than approximations bolted on top of MSTS-era physics.
Correct. The decay is exponential. The critical speed or unloading speed can usually be found in locomotive tractive effort charts
https://i.ibb.co/HxdYnVp/978-1-4419-0851-3-20-Part-Fig13-800-HTML.png
I suggested using 60-70% as above as this allows MSTS defined locomotives to achieve what their "MaxVelocity" at which point the power balances out with friction forces, within the current implementation (which I also agree is inadequate)
In the current OR implementation, MSTS defined locomotives are essentially unlimited in their speed capabilities especially when running single or with a light load, because no reference to limiting the power output at MaxVelocity is defined anymore. Ideally we should still have an absolute check on MaxVelocity that cuts the power output (representative of some form of speed control)
Quote
That's a solution that abandons MSTS compatibility though, and impacts a huge collection of MSTS locomotives (the Indian railways content I use is pretty much entirely defined with only MSTS parameters)