Contenuto principale

Powertrain and Cabin Thermal Control

R2026b

Manage electric vehicle thermal environment

Since R2026a

    Description

    The Powertrain and Cabin Thermal Control block manages the thermal system of an electric vehicle by controlling the temperatures for the cabin and the powertrain. You can select between automatic (default - recommended) or manual mode for cabin control, and set temperature targets for the battery and motor.

    Ports

    Input

    expand all

    Cell temperatures, specified as a vector, in K.

    Data Types: double

    Ambient temperature, specified as a scalar, in K.

    Data Types: double

    Coolant temperature at the battery exit, specified as a scalar, in K.

    Data Types: double

    Condenser pressure, specified as a scalar, in MPa.

    Data Types: double

    Motor temperature, specified as a scalar, in K.

    Data Types: double

    Battery temperature, specified as a scalar, in K.

    Data Types: double

    Electric motor coolant temperature out, specified as a scalar, in K.

    Data Types: double

    Evaporator pressure, specified as a scalar, in MPa.

    Data Types: double

    Cabin temperature, specified as a scalar, in K.

    Data Types: double

    Cabin vent temperature, specified as a scalar, in K.

    Data Types: double

    Cabin relative humidity, specified as a scalar in the range [0,1], unitless.

    Data Types: double

    Cabin condenser pressure, specified as a scalar, in MPa.

    Data Types: double

    Vehicle speed, specified as a scalar, in m/s.

    Data Types: double

    Evaporator vent temperature specified as a scalar, in K.

    Data Types: double

    Output

    expand all

    Valve command, returned as a scalar in the range [0,1], unitless.

    Data Types: double

    Pump command, returned as a scalar in the range [0,1], unitless.

    Data Types: double

    Compressor command, returned as a scalar in the range [0,1], unitless.

    Data Types: double

    Fan command, returned as a scalar in the range [0,1], unitless.

    Data Types: double

    Battery heater command, returned as a scalar in the range [0,1], unitless.

    Data Types: double

    Motor pump command, returned as a scalar in the range [0,1], unitless.

    Data Types: double

    Battery pump command, returned as a scalar in the range [0,1], unitless.

    Data Types: double

    Series parallel command, returned as a 0 when the coolant loops are operating in parallel and a 1 when the coolant loops are operating in series.

    Data Types: double

    Radiator bypass command, returned as 0 or 1.

    When RadByPCmd is 0, coolant is directed to the radiator. When RadByPCmd is 1, the radiator is bypassed and coolant is directed to the heat exchanger.

    Data Types: double

    Positive temperature coefficient heater command, returned as a scalar in the range [0,1], unitless.

    Data Types: double

    Cabin air recirculation command, returned as a scalar in the range [0,1], unitless.

    Data Types: double

    Cabin fan command, returned as a scalar in the range [0,1], unitless.

    Data Types: double

    AC expansion valve command, returned as a scalar in the range [0,1], unitless. This command controls the evaporator expansion valve diameter, when AcCmd is 0 the valve is closed.

    Data Types: double

    Expansion valve command in heat pump mode, returned as a scalar in the range [0,1], unitless. This command controls the expansion valve while working in heat pump mode, when HpXCmd is 1 the valve is fully open, allowing for the cooling operation (AC mode).

    Data Types: double

    Chiller expansion valve command, returned as a scalar in the range [0,1], unitless. This command controls the chiller expansion valve, when ChlrXCmd is 0 the valve is closed.

    Data Types: double

    Refrigerant bypass command, returned as 0 or 1. When the AC and chiller are on, RfrgByPCmd is 0 and refrigerant is directed to the chiller and expansion valve. When RfrgByPCmd is 1, the chiller and evaporator are bypassed, directing refrigerant to the heat exchanger.

    Data Types: double

    Cabin cold/hot air blend command, returned as a scalar in the range [0,1], unitless. In AC mode, the warmer recirculated air in the cabin is blended with the cooler air from the vent to reach the target temperature.

    Data Types: double

    Parameters

    expand all

    To edit block parameters interactively, use the Property Inspector. From the Simulink® Toolstrip, on the Simulation tab, in the Prepare gallery, select Property Inspector.

    Set the cabin control mode as Automatic or Manual.

    Programmatic Use

    To set the block parameter value programmatically, use the set_param function.

    To get the block parameter value programmatically, use the get_param function.

    Parameter: AutoState
    Values: 'Automatic' (default) | 'Manual'
    Data Types: Character Vector

    Cabin target temperature, specified as a scalar, in K.

    Dependencies

    To create this parameter, set Cabin control mode to Automatic.

    Programmatic Use

    To set the block parameter value programmatically, use the set_param function.

    To get the block parameter value programmatically, use the get_param function.

    Parameter: CabTrgT
    Values: CtrlThrCabTrgTemp (default) | scalar

    Temperature is set by adjusting the cold/hot air blend in the range [-10, 10] with a step size of 2.

    Dependencies

    To create this parameter, set Cabin control mode to Manual.

    Programmatic Use

    To set the block parameter value programmatically, use the set_param function.

    To get the block parameter value programmatically, use the get_param function.

    Parameter: Blend
    Values: 0 (default) | scalar

    Internal recirculated air to external air proportional setting, specified as an integer in the range [0, 10] with a step size of 5.

    Dependencies

    To create this parameter, set Cabin control mode to Manual.

    Programmatic Use

    To set the block parameter value programmatically, use the set_param function.

    To get the block parameter value programmatically, use the get_param function.

    Parameter: Recirculation
    Values: 0 (default) | integer in the range [0, 10]

    Cabin fan speed, specified as an integer in the range [0, 10], with a step size of 2.

    Dependencies

    To create this parameter, set Cabin control mode to Manual.

    Programmatic Use

    To set the block parameter value programmatically, use the set_param function.

    To get the block parameter value programmatically, use the get_param function.

    Parameter: CabFan
    Values: 0 (default) | integer in the range [0, 10]

    Battery target temperature, specified as a scalar, in K.

    Programmatic Use

    To set the block parameter value programmatically, use the set_param function.

    To get the block parameter value programmatically, use the get_param function.

    Parameter: BattTrgTemp
    Values: CtrlThrBattTrgTemp (default) | scalar

    Motor target temperature, specified as a scalar, in K.

    Programmatic Use

    To set the block parameter value programmatically, use the set_param function.

    To get the block parameter value programmatically, use the get_param function.

    Parameter: EMTrgTemp
    Values: CtrlThrEMTrgTemp (default) | scalar

    Version History

    Introduced in R2026a