4569846498

01.05.2017 Views

Modelling and assembly of the full vehicle 353 For the most common brake rotor material, cast iron, the specific heat versus temperature characteristic can be approximated in the working range (0–730°C) by the expression: c 320 0.15T 1.164 10 9 T 4 (6.15) Note that in the above expression, temperature T is in centigrade (Celsius) and not Kelvin. The brake torque and temperature models may be used easily within a multibody system model using a combination of design variables (declared in MSC.ADAMS using the ‘variable create’ command) and run-time variables (declared in MSC.ADAMS using ‘data_element create’ variable) as shown in Table 6.1 where we are using for the first time here an input format that corresponds to a command language used in MSC.ADAMS. Note the need for an explicit iteration since the temperature depends on the heat capacity and the heat capacity depends on the temperature. When modelling such behaviour in a spreadsheet, it is sufficient to refer to the temperature of the preceding time step. Although this is possible within many multibody system packages, it can be awkward to implement and can also lead to models with some degree of numerical delicacy. Note also that it is common practice within brake manufacturers to separate the brake energizing event from the brake cooling event for initial design calculations, leading to a systematic overestimation of the temperature during fade/recovery testing. This conservative approach is unsurprising given the consequences of brake system underdesign. The example given is a relatively simple one, with convection characteristics that are independent of vehicle velocity and no variation of brake friction with brake temperature. Although in practice these simplifications render the results slightly inaccurate, they are useful when used for comparative purposes – for example, if the brake temperature model is used with an ESP algorithm it can rank control strategies in terms of the energy added to individual brake rotors. Similar modelling is of course possible for other frictional systems within Joules 2.0E005 1.5E005 1.0E005 50000.0 brake_rotor_heat_in.Q brake_rotor_heat_out.Q degrees Celsius 120.0 100.0 80.0 60.0 40.0 rotor_temperature_estimate_2 metres/second 0.0 0.0 0.5 1.0 1.5 2.0 2.5 3.0 Analysis: Last_Run Time (sec) 2003-08-25 16:02:49 30.0 25.0 vehicle_velocity.Q 20.0 15.0 10.0 5.0 0.0 0.0 0.5 1.0 1.5 2.0 2.5 3.0 Analysis: Last_Run Time (sec) 2003-08-25 16:02:49 Joules/kilogram/K 20.0 0.0 0.5 1.0 1.5 2.0 2.5 3.0 Analysis: Last_Run Time (sec) 2003-08-25 16:02:49 340.0 335.0 330.0 325.0 rotor_heat_capacity_estimate_2.Q 320.0 0.0 0.5 1.0 1.5 2.0 2.5 3.0 Analysis: Last_Run Time (sec) 2003-08-25 16:02:49 Fig. 6.29 Output from the brake temperature model shown in Table 6.1 during a 60 mph–0 stop

354 Multibody Systems Approach to Vehicle Dynamics Table 6.1 A brake rotor temperature model based on brake torque !–––––––––––––––––––– Function definitions ––––––––––––––––––––! ! part create equation differential_equation & differential_equation_name .model_1.brake_heating_integral & adams_id 2 & comments “Brake Heat Input Integral” & initial_condition 0.0 & function “VARVAL(Brake_Torque)*VARVAL(vehicle_velocity)/0.3” & implicit off & static_hold off data_element create variable & adams_id 102 & variable_name brake_rotor_heat_in & function “DIF(2)” ! data_element create variable & variable_name “rotor_temperature_kelvin_estimate_1” & function “T_env VARVAL(brake_rotor_heat_in)/(rotor_mass*350)” ! data_element create variable & variable_name “rotor_temperature_estimate_1” & function “VARVAL(rotor_temperature_kelvin_estimate_1)273” ! data_element create variable & variable_name “rotor_heat_capacity_estimate_2” & function “320 0.15*VARVAL(rotor_temperature_estimate_1)”, & “ 1.164E-9*VARVAL(rotor_temperature_estimate_1)**4” ! part create equation differential_equation & differential_equation_name .model_1.brake_cooling_integral & adams_id 3 & comments “Brake Heat Rejection Integral” & initial_condition 0.0 & function “hAc*(VARVAL(rotor_temperature_kelvin_estimate_1)T_env)” & implicit off & static_hold off data_element create variable & adams_id 103 & variable_name brake_rotor_heat_out & function “DIF(3)” ! data_element create variable & variable_name “rotor_temperature_kelvin_estimate_2” & function “T_env ”, & “(VARVAL(brake_rotor_heat_in) VARVAL(brake_rotor_heat_out))/”, & “(rotor_mass*VARVAL(rotor_heat_capacity_estimate_2) 0.001)” ! data_element create variable & variable_name “rotor_temperature_estimate_2” & function “VARVAL(rotor_temperature_kelvin_estimate_2)273”

354 Multibody Systems Approach to Vehicle Dynamics<br />

Table 6.1<br />

A brake rotor temperature model based on brake torque<br />

!–––––––––––––––––––– Function definitions ––––––––––––––––––––!<br />

!<br />

part create equation differential_equation &<br />

differential_equation_name .model_1.brake_heating_integral &<br />

adams_id 2 &<br />

comments “Brake Heat Input Integral” &<br />

initial_condition 0.0 &<br />

function “VARVAL(Brake_Torque)*VARVAL(vehicle_velocity)/0.3” &<br />

implicit off &<br />

static_hold off<br />

data_element create variable &<br />

adams_id 102 &<br />

variable_name brake_rotor_heat_in &<br />

function “DIF(2)”<br />

!<br />

data_element create variable &<br />

variable_name “rotor_temperature_kelvin_estimate_1” &<br />

function “T_env VARVAL(brake_rotor_heat_in)/(rotor_mass*350)”<br />

!<br />

data_element create variable &<br />

variable_name “rotor_temperature_estimate_1” &<br />

function “VARVAL(rotor_temperature_kelvin_estimate_1)273”<br />

!<br />

data_element create variable &<br />

variable_name “rotor_heat_capacity_estimate_2” &<br />

function “320 0.15*VARVAL(rotor_temperature_estimate_1)”, &<br />

“ 1.164E-9*VARVAL(rotor_temperature_estimate_1)**4”<br />

!<br />

part create equation differential_equation &<br />

differential_equation_name .model_1.brake_cooling_integral &<br />

adams_id 3 &<br />

comments “Brake Heat Rejection Integral” &<br />

initial_condition 0.0 &<br />

function “hAc*(VARVAL(rotor_temperature_kelvin_estimate_1)T_env)” &<br />

implicit off &<br />

static_hold off<br />

data_element create variable &<br />

adams_id 103 &<br />

variable_name brake_rotor_heat_out &<br />

function “DIF(3)”<br />

!<br />

data_element create variable &<br />

variable_name “rotor_temperature_kelvin_estimate_2” &<br />

function “T_env ”, &<br />

“(VARVAL(brake_rotor_heat_in) VARVAL(brake_rotor_heat_out))/”, &<br />

“(rotor_mass*VARVAL(rotor_heat_capacity_estimate_2) 0.001)”<br />

!<br />

data_element create variable &<br />

variable_name “rotor_temperature_estimate_2” &<br />

function “VARVAL(rotor_temperature_kelvin_estimate_2)273”

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!