75
75
75
inside detail of the brake chamber pressure subsystem model, which also uses a user
defined M file. The following MATLAB file shows the adjusted M file Pdot.m, which contains
the pressure rate equations with the corresponding calculations for volume V and time
volume rate, V.
The single integrator shown above contains a "limit" symbol, indicating that a limit
has been imposed on the integrator output, which in this case is chamber pressure. A lower
limit of zero has been assigned to the integrator output so that pressure can never be
negative. This limit is only a protection, because normal simulation never produces negative
chamber pressure. The following is MATLAB (valve.m) as a calculator for the Pdot.m
function:
Mechanical subsystem drawing for pneumatic air brake showing interior detail of
mechanical subsystem block. This block diagram has many features similar to the
mechanical subsystem for a solenoid actuator. Both mechanical subsystems involve FC
contact forces due to the preload spring force pushing against the massposition. FC is
determined by subtracting the differential pressure force from the spring preload and sending
the result to the saturation block with a lower limit of zero and an upper limit of +∞.
Therefore, the contact force can never be negative (it cannot "pull" a mass) and can only be
a positive value that balances the difference between the preload force and the pressure
force. In the simulink diagram equation for a pneumatic air brake system, it also shows that
the contact force exists only when the piston is seated, or x = 0, and therefore the Switch
block is used to switch the contact force to zero when x > 0. The position of the piston x is
fed back to input port 2 in the switching block and is used as a "decision signal" to switch
between positive contact force and zero value. The switching block has the following logic: if
x > 0, then it passes the "up" signal (F_c = 0); otherwise, it passes a "down" signal, which is
the positive difference between the preload force and the differential pressure.
The second dotted box in the mechanical subsystem drawing for a pneumatic air
brake, shows the logic for enforcing a hard-stop limit for piston/push-rod stroke, or x ≤
xmaximum. Note that the push rod displacement x cannot exceed xmaximum = 0.04 m (4
cm) due to full engagement of the S-cam and drum brakes. The hard-stop limit is enforced
by setting the upper limit in the speed integrator block to 0.04. Meanwhile setting an upper
limit on the output of the integrator will limit the speed strokesx, it will not give accurate
velocity information (which should be zero when stroke x has reached a constant, maximum
value). Therefore, the "saturation port" of the speed integrator is activated to provide a binary
output signal indicating whether the integrator's output has reached its limit: if the binary
signal is zero, the integral has not reached its limit; if the signal is unity, an upper bound is
applied to the integral. When the integral has reached its limit (i.e., x = xmaximal and binary
signal = 1), set the speed signal path variable x to zero by sending the binary port saturation
signal (0 or 1) to the Logical Operators block of the Logic and bit operations library. The
Boolean operation NOT is selected so that the output is 0
(FALSE) when the input is 1 (TRUE), and vice versa. In other words, The Boolean operation
NOT takes a binary input signal (0 or 1) and produces the opposite binary output signal (1 or
0). This binary output signal is multiplied by the speed signal ẋ to produce velocity
information to be used in the simulation. To summarize, the hard-stop logic shown in Figure
above passes the output of the acceleration (velocity) integrator unchanged if x < xmax, but
sets the velocity signal to zero if the stroke x has reached the hard-stop upper limit.