|
Regenerative braking |
|
![]() |
 |
| Melbourne B-class tram number 2003 with a familiar destination showing, "St. Kilda Beach" on the number 96 route. |
When you read the braking specifications of today's modern trams (e.g., the Dusseldorf low floor NF6 or Melbourne's B2-class) you'll notice their main means of braking is designated as regenerative or rheostatic. The latter type is familiar to us in MSTS as its incorporated into most of the diesel-electric locos we drive as dynamic braking.
As far as MSTS is concerned, there is no difference between regenerative or rheostatic braking. In reality the difference is the means by which the regenerated electricity from reversing the function of the electric driving motors: the electricity produced by regenerative braking is fed back to the electric power supply whereas rheostatic braking dispenses the electric energy by feeding it through resistor grids where the energy dissipates as heat.
As an example, let's make some changes to Tim Blythman's Melbourne trams. You could just as easily try out these changes on one of the U79 trams.
In WordPad, or your favourite Unicode text editor, open b2003a.eng (you'll find it in folder, AUTram_B2, the default installation folder for the Melbourne trams). Now make the following changes:
- the BrakesEngineControllers parameter is changed from Train to Train, Dynamic (updated 19-Feb-04). Note: if you use the HUD, it will always show Dynamic Brake: Setup, presumably because we set the time before engagement to zero seconds.
- add the code for DynamicBrakes;
- throttle notches are the same as the U79 trams;
- there are six notches for regen braking for quicker braking response (in MSTS) and, after testing, this seems quite adequate and not too hard on the fingers and your keyboard;
- the Brake_Train section is the same as the U79 trams except TrainBrakesControllerReleaseStart is not used (updated 19-Feb-04);
- change the entry from train to dynamic in the Combined_Control line.
Update 19-Feb-04: webTrainSim has just done a run from Meiderich to Kaiserslautener on the U79 route with his tram fitted with regen braking and discovered we need to add Train braking to BrakesEngineControllers so we have a parking brake and an emergency brake. However we want it to release immediately so put a zero in the first Notch line of Brake_Train, as shown below.
Comment ( ** 19-Feb-04 : BMH : Implement regen braking. ** )
Comment ( ** Parameters need more adjusting. ** )
..............
..............
BrakesEngineControllers( "Train, Dynamic" )
DynamicBrakesMinUsableSpeed( 0 )
DynamicBrakesMaximumEffectiveSpeed( 40 )
DynamicBrakesMaximumForce( 80kN )
DynamicBrakesResistorCurrentLimit ( 3000 )
DynamicBrakesCutInSpeed( 2 )
DynamicBrakesMaxAirBrakePressure ( 100 )
DynamicBrakesFadingSpeed( 3 )
DynamicBrakesDelayTimeBeforeEngaging ( 0 )
DynamicBrakesMaximumSpeedForFadeOut ( 1200 )
DynamicBrakesEffectAtMaximumFadeOut( 0 )
DynamicBrakesHigherSpeedCurveExponent( 13.5 )
DynamicBrakesLowerSpeedCurveExponent( 1 )
DynamicBrakesNumberOfControllerNotches( 6 )
EngineControllers (
Throttle ( 0 1 0.2 0
NumNotches ( 6
Notch ( 0.0 0 Dummy )
Notch ( 0.2 0 Dummy )
Notch ( 0.4 0 Dummy )
Notch ( 0.6 0 Dummy )
Notch ( 0.8 0 Dummy )
Notch ( 1.0 0 Dummy )
)
)
Brake_Dynamic ( 0 1 0.2 0
NumNotches ( 6
Notch ( 0 0 Dummy )
Notch ( 0.20 0 Dummy )
Notch ( 0.40 0 Dummy )
Notch ( 0.60 0 Dummy )
Notch ( 0.80 0 Dummy )
Notch ( 1 0 Dummy )
)
)
Brake_Train ( 0 1 0.1 0.6
NumNotches ( 4
Notch( 0 0 TrainBrakesControllerReleaseStart )
Notch( 0.2 1 TrainBrakesControllerEPApplyStart )
Notch( 0.85 0 TrainBrakesControllerEPHoldStart )
Notch( 0.95 0 TrainBrakesControllerEmergencyStart )
)
)
Combined_Control ( 0 1 0.4 0.82 throttle dynamic )
..............
..............
..............
|
Some notes on the above |
|
![]() |
Below is the list of rheostatic (dynamic) braking parameters and explanations of how they work - and don't - in MSTS. Peter Baker was the first to unravel the intricacies of how MSTS simulates dynamic braking in diesel-electric locos and since that time Bob Boudoin has tweaked the dynamic braking section of ENGine files on the basis of Peter's work for a more realistic driving experience. Peter's ideas and explanation can be downloaded from the Train-sim.com library in files dbphys1.zip (174kb, 20-Oct-01) and dbphys11.zip (6kb, 07-Nov-01).
webTrainSim has not seen any MSTS rolling stock where the use of rheostatic braking is the principle braking means such as on trams and modern-day EMUs (e.g., the Pendolino). With a bit more tweaking, some satisfaction should be achieved.
Problems? Too right, the biggest being that MSTS refuses to dynamic brake in reverse. That is, too bad if you have to drive down to Loerick on the U79 route, change ends and return to Dusseldorf Hbf! Secondly, there's no obvious means to bring the air brakes into operation for those last couple of km/hr without manual application. Thirdly, the current set up of the Raildriver control doesn't allow the combined control lever to be used (although it might be possible to fudge by using the Dash 9 throttle positions on the combined control).
 |
| The red line is the braking effort. |
- DynamicBrakesMinUsableSpeed( 0 ): as you'd expect, since regenerative braking is the tram's principle means of braking. For a diesel-electric loco, this speed could be a low as 0.5 mph for one with AC motors (e.g. an SD70MAC) or between 1 to 4 mph for DC-motored diesel-electric locos.
- DynamicBrakesMaximumEffectiveSpeed( 40 ): the highest speed at which regenerative braking is still applying maximum force. The sample graph of the M6-NF C tram above shows the force continues at about 68kN forever. For a diesel-electric, there will be a straight line for the maximum force between, say, 20 mph and 30 mph.
- DynamicBrakesMaximumForce( 80kN ): this value is a little above a real value but may need increasing further for MSTS.
- DynamicBrakesResistorCurrentLimit ( 3000 ): not applicable - only used for display in a cabview which shows amperage (e.g., the Dash 9 has such a display).
- DynamicBrakesCutInSpeed( 2 ): the speed at which regenerative braking will cut back in when the speed drops below DynamicBrakesMinUsableSpeed - shouldn't apply here.
- DynamicBrakesMaxAirBrakePressure ( 100 ): maximum air pressure of the vehicle's air brakes if air is applied. Not that relevant because air is only used in the parking brake system on some trams.
- DynamicBrakesFadingSpeed( 3 ): the lowest speed at which maximum regenerative braking effort is available.
- DynamicBrakesDelayTimeBeforeEngaging ( 0 ): this is possible with the modern electronics used in trams. For a diesel-electric loco, however, up to ten seconds has to be allowed for all the switching gear to change.
- DynamicBrakesMaximumSpeedForFadeOut ( 1200 ): an unrealistic value to get around THE bug in MSTS' simulation of dynamic braking.
- DynamicBrakesEffectAtMaximumFadeOut( 0 ): will leave at this value.
- DynamicBrakesHigherSpeedCurveExponent( 13.5 ): this value is much larger than the default MSTS value Kuju used in the Acela and Dash and used in combination with the unrealistic DynamicBrakesMaximumSpeedForFadeOut parameter.
- DynamicBrakesLowerSpeedCurveExponent( 1 ): the red straight line going from 0 km/hr to about 5 km/hr in the sample graph above. For diesel-electric locos, it's best set at 0.9.
- DynamicBrakesNumberOfControllerNotches( 6 ): set to this value for convenience rather than zero, the latter requiring that our finger would hardly ever be lifted off the A key! If were zero, we'd have an infinite range which is the real thing.