ELECTRIC MOTOR CONTROL SYSTEM

The closed-loop control system adjusts torque limits based on vehicle speed and road load torque to ensure smooth and predictable vehicle stoppage, addressing the challenge of coasting confusion during low-speed conditions.

DE102018104849B4Active Publication Date: 2025-11-27GM GLOBAL TECHNOLOGY OPERATIONS LLC
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
DE102018104849
Authority / Receiving Office
DE · DE
Patent Type
Patents
Current Assignee / Owner
Priority Date
2017-03-15
Filing Date
2018-03-02
Publication Date
2025-11-27
Estimated Expiration
2038-03-02

AI Technical Summary

Technical Problem

Existing electric motor control systems for vehicles struggle to effectively manage torque limits during low-speed conditions, leading to vehicle coasting without perceived stoppage, which can confuse drivers.

Method used

A closed-loop control system that adjusts torque limits based on vehicle speed and road load torque, allowing for precise control to bring the vehicle to a stop during low-speed conditions, using a road load module to determine road load torque and a control loop module to adjust torque limits accordingly.

Benefits of technology

Enhances vehicle control by ensuring smooth and predictable stoppage during low-speed conditions, minimizing driver confusion and optimizing energy management.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000000_0000_ABST
    Figure 00000000_0000_ABST
Patent Text Reader

Abstract

Electric motor control system for a vehicle, comprehensive: a road load module (380) configured to determine a road load moment (384) to maintain a vehicle acceleration (344); a control loop (CL) module (320) configured to determine a CL torque (312) based on a difference between a target vehicle speed (328) and a vehicle speed (324); a motor torque module (304) configured to: generating a limited CL torque (416) by limiting the CL torque (312) to a predetermined torque limit when a quantity of the CL torque (312) is greater than a quantity of the predetermined torque limit; where: if the vehicle speed (324) is within a specified low speed range and a magnitude of the road load moment (384) is less than a magnitude of a specified maximum torque, the specified torque limit is adjusted towards the specified maximum torque; and if the vehicle speed (324) is within the specified low speed range and the magnitude of the road load moment (384) is greater than the magnitude of the specified maximum torque, the specified torque limit is adjusted towards zero; and wherein the engine torque module (304) is further configured to determine an engine torque command (308) based on the limited CL torque (416) and an engine torque request (234) based on an accelerator pedal position; and wherein the electric motor control system further comprises a switching control module (370) configured to control the switching of an inverter based on the motor torque command (308) to regulate a supply voltage to an electric motor (198) of the vehicle.
Need to check novelty before this filing date? Find Prior Art

Description

INTRODUCTION

[0001] The information in this section serves to provide a general overview of the context of the disclosure. The work of the inventors currently named, to the extent described in this section, as well as aspects of the description that were not otherwise considered prior art at the time of filing, are neither expressly nor implicitly considered prior art with respect to the present disclosure.

[0002] The present disclosure relates to internal combustion and electric motors for vehicles, in particular systems and methods for speed control of vehicles.

[0003] Internal combustion engines burn a fuel-air mixture in cylinders to move the pistons and generate torque. The air supply to the engine is regulated by a throttle. More precisely, the throttle controls the throttle range, which increases or decreases the air supply to the engine. As the throttle range increases, so does the air supply to the engine. A fuel control system adjusts the amount of fuel injected to supply the cylinders with a desired fuel-air mixture and / or to achieve a desired output torque. Supplying the cylinders with more fuel and air increases the engine's output torque.

[0004] In addition to, or as an alternative to, an internal combustion engine, some vehicles may include one or more electric motors or motor-generators that generate drive torque. Such vehicles are sometimes referred to as hybrid vehicles or electric vehicles.

[0005] DE 10 2016 120 978 A1 describes an electric motor control system for a vehicle, comprising a vehicle speed module that determines the vehicle speed. A closed-loop control (CL) module determines a CL torque based on the difference between a target vehicle speed and the actual vehicle speed. A motor torque module determines a motor torque based on the CL torque and a motor torque request based on an accelerator pedal position. A switching control module controls the switching of an inverter based on the motor torque to regulate the supply voltage to an electric motor of the vehicle. SUMMARY

[0006] It can be considered a problem to provide an improved closed-loop control system for an electric motor control system of a vehicle. This problem is solved by the electric motor control system with the features of claim 1. Exemplary embodiments are described in the dependent claims and the following description.

[0007] In one embodiment, an electric motor control system for a vehicle is described. A road load module is configured to determine a road load torque to maintain vehicle acceleration. A control loop (CL) module determines a CL torque based on a difference between a target vehicle speed and the vehicle's actual speed.An engine torque module is configured to: generate a limited CL torque by limiting the CL torque to a predetermined torque limit when any magnitude of the CL torque exceeds a magnitude of the predetermined torque limit; at least one of the following: when the vehicle speed is within a predetermined low RPM range and a magnitude of the road load torque is less than a magnitude of a predetermined maximum torque, adjusting the predetermined torque limit towards the predetermined maximum torque; and when the vehicle speed is within the predetermined low RPM range and the magnitude of the road load torque is greater than the magnitude of the predetermined maximum torque, adjusting the predetermined torque limit towards zero; and determining an engine torque command based on the limited CL torque and an engine torque request based on the accelerator pedal position.A switching control module is configured to control the switching of an inverter based on the motor torque command to regulate the supply voltage to an electric motor of the vehicle.

[0008] For other features, the engine torque module is configured as follows: if the vehicle speed is within the specified low speed range and the magnitude of the road load torque is less than the magnitude of the specified maximum torque, the specified torque limit is adjusted towards the specified maximum torque; and if the vehicle speed is within the specified low speed range and the magnitude of the road load torque is greater than the magnitude of the specified maximum torque, the specified torque limit is adjusted towards zero.

[0009] In other respects, the engine torque module is configured to maintain the specified torque limit when the vehicle speed is zero.

[0010] In addition, the engine torque module is configured to adjust the specified torque limit to the specified maximum torque when the vehicle speed is zero.

[0011] For other features, the specified low RPM range is calibrated based on vehicle speeds at which the vehicle movement may not be perceived by a driver.

[0012] For other features, the specified low speed range is 0.1 kilometers per hour to 0.3 kilometers per hour.

[0013] In addition, the engine torque module is configured to adjust the specified torque limit to the specified maximum torque when the vehicle speed is within the specified low speed range and the magnitude of the road load torque is less than the magnitude of the specified maximum torque.

[0014] In addition, the motor torque module is configured to set the motor torque command based on a sum of the motor torque request and the limited CL torque.

[0015] In other features, the motor torque module is configured to limit the motor torque command to a second predefined torque limit.

[0016] For other features, the motor torque module is configured to do one of the following: maintain the specified torque limit when the vehicle speed is zero; and adjust the specified torque limit to the specified maximum torque when the vehicle speed is zero.

[0017] For one feature, a method for controlling an electric motor for a vehicle includes: determining a road load torque to maintain the vehicle's acceleration at zero; determining a closed-loop (CL) torque based on a difference between a target vehicle speed and a vehicle speed; generating a limited CL torque by limiting the CL torque to a predetermined torque limit when a magnitude of the CL torque is greater than a magnitude of the predetermined torque limit; to at least one of: when the vehicle speed is within a predetermined low speed range and a magnitude of the road load torque is less than a magnitude of a predetermined maximum torque, adjusting the predetermined torque limit towards the predetermined maximum torque;and if the vehicle speed is within the predetermined low-speed range and the magnitude of the road load torque is greater than the magnitude of the predetermined maximum torque, adjusting the predetermined torque limit towards zero; determining a motor torque command based on the limited CL torque and a motor torque request based on the accelerator pedal position; and based on the motor torque command, controlling the switching of an inverter and applying power to an electric motor of the vehicle.

[0018] Further features of the method for controlling an electric motor also include: if the vehicle speed is within the specified low speed range and the magnitude of the road load torque is less than the magnitude of the specified maximum torque, adjusting the specified torque limit towards the specified maximum torque; and if the vehicle speed is within the specified low speed range and the magnitude of the road load torque is greater than the magnitude of the specified maximum torque, adjusting the specified torque limit towards zero.

[0019] Other features of the method for controlling an electric motor also include maintaining the specified torque limit when the vehicle speed is zero.

[0020] Further features of the method for controlling an electric motor also include setting the predetermined torque limit to the predetermined maximum torque when the vehicle speed is zero.

[0021] For other features, the specified low RPM range is calibrated based on vehicle speeds at which the vehicle movement may not be perceived by a driver.

[0022] For other features, the specified low speed range is 0.1 kilometers per hour to 0.3 kilometers per hour.

[0023] In addition to other features, the method for controlling an electric motor further includes, if the vehicle speed is within the specified low speed range and the magnitude of the road load torque is less than the magnitude of the specified maximum torque, adjusting the specified torque limit to the specified maximum torque.

[0024] Further features of the method for controlling an electric motor also include setting the motor torque command based on a sum of the motor torque requirement and the limited CL torque.

[0025] In addition to other features, the method for controlling an electric motor also includes limiting the motor torque command to a second predetermined torque limit.

[0026] In addition to other features, the method for controlling an electric motor also includes one of the following: maintaining the predetermined torque limit when the vehicle speed is zero; and adjusting the predetermined torque limit to the predetermined maximum torque when the vehicle speed is zero.

[0027] Further applications of the present disclosure will become apparent from the detailed description, the claims, and the drawings. The detailed description and the specific examples serve only for illustration and do not limit the scope of the disclosure. BRIEF DESCRIPTION OF THE DRAWINGS

[0028] The present disclosure becomes more understandable with the aid of the detailed description and the accompanying drawings, in which: Fig. 1 is a functional block diagram of an exemplary motor system; Fig. 2 is a functional block diagram of an exemplary engine control system; Fig. 3 is a functional block diagram including an exemplary implementation of a hybrid control module; Fig. 4 is a functional block diagram including an exemplary implementation of a motor torque module; Fig. 5 is a functional block diagram, including an exemplary implementation of a feedforward (FF) module; Fig. Figure 6 is a flowchart illustrating an exemplary procedure for setting a control loop torque to control the electric motor; Fig. 7 is a flowchart with an example procedure for controlling an electric motor; and Fig. Figure 8 is a flowchart with an example procedure for setting a target speed for a vehicle and controlling an electric motor.

[0029] The same reference symbols are used in the drawings for similar and / or identical elements. DETAILED DESCRIPTION

[0030] A vehicle contains one or more electric motors that generate drive torque. For example, an electric motor can be controlled to output positive torque to a transmission shaft (e.g., transmission input shaft) to propel the vehicle when a driver presses an accelerator pedal. The positive torque output can be used alone or in combination with the drive torque of an internal combustion engine to propel the vehicle. The electric motor can also be controlled, under certain circumstances, to output negative drive torque, for example, to hold the vehicle stationary on a slope.

[0031] An electric motor can also be used under certain circumstances to convert mechanical energy into electrical energy. For example, an electric motor can convert mechanical energy into electrical energy when the driver releases the accelerator pedal. Controlling the electric motor to convert mechanical energy into electrical energy can be referred to as regeneration.

[0032] In addition to an accelerator pedal and a brake pedal, a vehicle includes an input device (e.g., a rocker switch, button, toggle switch, etc.) that a driver can operate to request deceleration. The driver can operate the input device, for example, to request that the vehicle slow down to a standstill. Using the input device enables the driver to decelerate the vehicle while minimizing wear on the mechanical brakes.

[0033] A vehicle control module includes a closed-loop control system that controls the vehicle's electric motor(s) to regulate the vehicle speed (and thus deceleration) according to a target vehicle speed profile. According to the present disclosure, at the start of the closed-loop control process, the control module initializes the control loop based on a road load torque. This can better prepare the closed-loop control system to stop or hold the vehicle on an incline and minimize the time the vehicle spends coasting downhill.

[0034] The control module rate limits the torque generated by the closed-loop control system to restrict the extent of torque changes within the closed loop. The control module limits the closed-loop torque to a value between an upper and a lower torque limit. However, under certain circumstances, limiting the closed-loop torque to the upper or lower limit may prevent it from reaching a value sufficient to stop the vehicle. This allows the vehicle to coast at a low speed. The driver may perceive the vehicle as stopped when it is actually coasting at a low speed.

[0035] According to the present disclosure, the control module can increase the upper (positive) torque limit and / or decrease the lower (negative) torque limit when the vehicle speed is within a predetermined low speed range in which the driver cannot perceive the vehicle as rolling. In particular, the control module increases the upper (positive) torque limit and / or decreases the lower (negative) torque limit when the closed-loop control can be used to bring the vehicle to a standstill and counteract the road load torque. This makes it possible to utilize the closed-loop torque to bring the vehicle to a standstill and prevent the vehicle from rolling at low speeds.If the road load torque exceeds the control loop's capacity to counteract it, the control module reduces the upper torque limit and / or increases the lower torque limit. This allows the vehicle to roll at a higher speed, making it more likely that the driver will perceive the vehicle as rolling.

[0036] With reference to Fig. Figure 1 shows a functional block diagram of an exemplary engine system 100. The engine system 100 includes an engine 102 that combusts a fuel-air mixture to generate a drive torque for a vehicle based on driver inputs from a driver input module 104. The engine 102 can be a spark-ignition gasoline internal combustion engine or another suitable engine type. Although the example of a vehicle with an internal combustion engine is presented, the present application also applies to vehicles that are not powered by an internal combustion engine, such as electric vehicles.

[0037] Air is drawn in through an intake manifold 110 via a throttle valve 112. For example only, the throttle valve 112 may include a throttle flap with a rotating vane. An engine control module (ECM) 114 controls a throttle actuator module 116, which in turn controls the opening of the throttle flap 112 to regulate the amount of air drawn into the intake manifold 110.

[0038] Air from the intake manifold 110 is drawn into the cylinders of the engine 102. Although the engine 102 can contain multiple cylinders, only a single representative cylinder 118 is shown here for illustrative purposes. For example, the engine 102 can contain 2, 3, 4, 5, 6, 8, 10, or 12 cylinders. The ECM 114 can instruct a cylinder actuator module 120 to selectively deactivate certain cylinders. Deactivating one or more cylinders can improve fuel efficiency under certain engine operating conditions.

[0039] The engine 102 can operate using a four-stroke cycle or another operating cycle. The four strokes of a four-stroke cycle, described below, are called the intake stroke, compression stroke, combustion stroke, and exhaust stroke. During each revolution of the crankshaft (not shown), two of the four strokes occur within the cylinder 118. Therefore, two revolutions of the crankshaft are required for the cylinder 118 to complete all four strokes.

[0040] During the intake stroke, air is drawn from the intake manifold 110 through an intake valve 122 into the cylinder 118. The ECM 114 controls a fuel actuator module 124, which regulates the fuel injection to achieve a specific target fuel / air ratio. Fuel can be injected into the intake manifold 110 at a central location or at multiple locations, such as near the intake valve 122 of each cylinder. In various implementations (not shown), fuel can be injected directly into the cylinders or into mixing chambers connected to the cylinders. The fuel actuator module 124 can stop the injection of fuel into the deactivated cylinders.

[0041] The injected fuel mixes with air, forming a fuel / air mixture within cylinder 118. During the compression stroke, a piston (not shown) in cylinder 118 compresses the fuel / air mixture. Based on a signal from the ECM 114, a spark control module 126 applies voltage to a spark plug 128 in cylinder 118, which ignites the fuel / air mixture. The timing of the spark can be timed so that the piston is in its highest position, known as top dead center (TDC), at that moment.

[0042] The ignition control module 126 can be controlled by a timing signal that determines how long before or after top dead center (TDC) the spark should be triggered. Because the piston position is directly related to the crankshaft rotation, the function of the ignition control module 126 can be synchronized with the crankshaft angle. Generating the spark can be referred to as ignition. The ignition control module 126 can vary the ignition timing for each ignition event. The ignition control module 126 can retard the ignition timing for the next ignition if the ignition timing has changed between the last and the next ignition. The ignition control module 126 can also lock the ignition for deactivated cylinders.

[0043] During the combustion stroke, the combustion of the fuel / air mixture drives the piston away from top dead center (TDC), thereby driving the crankshaft. The combustion stroke can be defined as the time between the moment the piston reaches TDC and the moment the piston reaches bottom dead center (BDC). During the exhaust stroke, the piston moves away from BDC and expels the combustion byproducts through an exhaust valve 130. The combustion byproducts are expelled from the vehicle via an exhaust system 134.

[0044] The intake valve 122 can be controlled by an intake camshaft 140, while the exhaust valve 130 can be controlled by an exhaust camshaft 142. In various applications, multiple intake camshafts (including the intake camshaft 140) can control multiple intake valves (including the intake valve 122) for cylinder 118 and / or can control the intake valves (including the intake valve 122) of multiple cylinder banks (including cylinder 118). Similarly, multiple exhaust camshafts (including the exhaust camshaft 142) can control multiple exhaust valves for cylinder 118 and / or can control exhaust valves (including the exhaust valve 130) of multiple cylinder banks (including cylinder 118). In various implementations, the inlet valve 122 and / or the exhaust valve 130 can be controlled by devices other than camshafts, such as:by camless valve actuators. The cylinder actuator module 120 can deactivate cylinder 118 by disabling the opening of the inlet valve 122 and / or the exhaust valve 130.

[0045] The time at which the intake valve 122 opens can be varied relative to the piston's TDC by an intake cam adjuster 148. The time at which the exhaust valve 130 opens can be varied relative to the piston's TDC by an exhaust cam adjuster 150. An adjustment actuator module 158 can control the intake cam adjuster 148 and the exhaust cam adjuster 150 based on signals from the ECM 114. If implemented, a variable valve lift (not shown) can also be controlled by the phase actuator module 158.

[0046] The engine system 100 can include one or more charging devices, such as a turbocharger. The turbocharger includes a hot-gas turbine 160-1, which is driven by the hot exhaust gases flowing through the exhaust system 134. The turbocharger also includes a cold-air compressor 160-2, which is driven by the turbine 160-1. The compressor 160-2 compresses the air fed into the throttle valve 112. In some implementations, a crankshaft-driven turbocharger (not shown) can compress the air from the throttle valve 112 and deliver the compressed air to the intake manifold 110.

[0047] A boost pressure control valve 162 can bypass the exhaust gases around the turbine 160-1, thereby reducing the boost pressure (the strength of the intake air compression) generated by the turbocharger. A boost pressure actuator module 164 can regulate the turbocharger's boost pressure by controlling the opening of the boost pressure control valve 162. In various implementations, two or more turbochargers can be used, which can be controlled by the boost pressure actuator module 164.

[0048] An air cooler (not shown) can transfer heat from the compressed charge air to a cooling medium, such as engine coolant or air. An air cooler that cools the compressed charge air using engine coolant can be called an intercooler. An air cooler that cools the compressed charge air using air can be called a charge air cooler. The compressed charge air can be heated, for example, by compression and / or by other components of the exhaust system 134. Although shown separately for illustrative purposes, the turbine 160-1 and the compressor 160-2 can be connected and direct the intake air close to hot exhaust gases.

[0049] The engine system 100 can include an exhaust gas recirculation (EGR) valve 170, which selectively recirculates exhaust gas to the intake manifold 110. The EGR valve 170 can be located upstream of the turbine 160-1 of the turbocharger. The EGR valve 170 can be controlled by an EGR actuator module 172 based on signals from the ECM 114.

[0050] The vehicle may include a rocker switch that a driver can operate to decelerate the vehicle, with the aim of minimizing or preventing the use of mechanical / friction brakes. The driver can apply the mechanical brakes by pressing down a brake pedal (not shown). Activating the rocker switch allows the driver to decelerate the vehicle without using the mechanical brakes, thus minimizing wear on the mechanical brakes. Deceleration can be achieved, for example, through regenerative braking and / or the use of one or more electric motors. A rocker switch sensor 174 monitors the rocker switch's activation and generates a signal indicating whether the rocker switch is being activated. While a paddle is given as an example here, a button, switch, knob, or other suitable actuating element can also be used.Regenerative braking can be performed additionally or alternatively under certain circumstances when the bucket is not being operated. Regenerative braking can be used independently or in combination with mechanical braking.

[0051] The position of the crankshaft can be measured using a crankshaft position sensor 180. The crankshaft speed (engine speed) can be determined based on the crankshaft position. The temperature of the engine coolant can be measured using an engine coolant temperature sensor (ECT sensor) 182. The ECT sensor 182 can be located inside the engine 102 or at other locations where the coolant circulates, such as a radiator (not shown).

[0052] The pressure in the intake manifold 110 can be measured using a manifold absolute pressure (MAP) sensor 184. In various configurations, the engine vacuum, which consists of the difference between the ambient air pressure and the pressure in the intake manifold 110, can be measured. The mass flow rate of the air flowing through the intake manifold 110 can be measured using a mass airflow (MAF) sensor 186. In different implementations, the MAF sensor 186 can be positioned in a housing that also contains the throttle valve 112.

[0053] The throttle actuator module 116 can monitor the position of the throttle valve 112 using one or more throttle position sensors (TPS) 190. The temperature of the ambient air supplied to the engine 102 can be measured using an intake air temperature (IAT) sensor 192. The engine system 100 can also include one or more other sensors 193, such as an ambient humidity sensor, one or more knock sensors, a compressor outlet pressure sensor and / or a throttle inlet pressure sensor, a boost pressure control valve position sensor, an EGR position sensor, and / or one or more other suitable sensors. The ECM 114 can use signals from the sensors to make control decisions for the engine system 100.

[0054] The ECM 114 can communicate with a transmission control module 194 to coordinate gear changes in a transmission (not shown). For example, the ECM 114 can reduce engine torque during a gear change. The ECM 114 can also communicate with a hybrid control module 196 to coordinate the use of the internal combustion engine 102 and one or more electric motors (EM) 198. Electric motors can also be referred to as motor-generator units (MGUs). The electric motor 198 can generate torque for the intended direction of travel (also referred to as positive torque) and can generate torque in the opposite direction to the intended direction of travel (also referred to as negative torque). Negative torque can be used, for example, to restrain a vehicle on a slope when the vehicle is in motion or in another forward gear.The electric motor 198 can also be operated as a generator to produce electrical energy, for example for use by electrical vehicle systems and / or for storage in a battery. Various functions of the ECM 114, the transmission control module 194, and the hybrid control module 196 can be integrated into one or more modules in different configurations.

[0055] Any system that influences an engine parameter can be called an engine actuator. For example, the throttle actuator module 116 can adjust the opening of the throttle valve 112 to achieve a target opening range. The ignition actuator module 126 controls the spark plugs so that a target ignition timing is achieved relative to the piston's top dead center. The fuel actuator module 124 controls the injectors so that specific target fuel delivery values ​​are achieved. The adjuster actuator module 158 can control the intake and exhaust cam adjusters 148 and 150 so that target phase adjustment angles are achieved for the intake and exhaust cams, respectively. The EGR actuator module 172 can control the EGR valve 170 so that a target opening cross-section for the EGR is achieved. The boost pressure actuator module 164 controls the boost pressure control valve 162 so that a target opening range for the boost pressure control valve is achieved.The cylinder actuator module 120 controls the cylinder deactivation so that a target number of activated and deactivated cylinders is achieved. The ECM 114 generates the target values ​​for the motor actuators to ensure that the motor 102 generates a target motor output torque.

[0056] With reference to Fig. Figure 2 shows a functional block diagram of an exemplary engine control system. The ECM 114 includes a driver torque module 204, which determines a driver torque request 208 based on driver inputs 212. The driver inputs 212 can include, for example, an accelerator pedal position (APP), a brake pedal position (BPP), and inputs to a speed control system. In various implementations, the speed control input can be provided by an adaptive speed control system that strives to maintain at least a predetermined distance between the vehicle and objects located in the vehicle's path. The driver torque module 204 determines the driver torque request 208 based on one or more lookup tables that correlate the driver inputs with the driver torque requests. The APP and BPP can each be measured by one or more APP sensors and BPP sensors, respectively.

[0057] Driver torque requirement 208 is an axle torque requirement. Axle torques (including axle torque requirements) refer to torque at the wheels. As discussed below, drive torques (including drive torque requirements) differ from axle torques in that drive torques can refer to torque applied to a transmission output shaft.

[0058] An axle torque arbitration module 216 arbitrates between the driver torque request 208 and other axle torque requests 220. The axle torque (torque at the wheels) can be generated from various sources, including the internal combustion engine 102 and / or one or more electric motors, such as the electric motor 198. Examples of other axle torque requests 220 include, but are not limited to, a torque reduction requested by a traction control system when positive wheel slip is detected; a torque increase request to counteract negative wheel slip; brake management requests to reduce the axle torque to ensure that the axle torque does not exceed the braking capacity to stop the vehicle when the vehicle is stopped; and vehicle overspeed torque requests that reduce the axle torque to prevent the vehicle from exceeding a predetermined speed.The axle torque arbitration module 216 outputs one or more axle torque requirements 224 based on the results of the arbitration between the received axle torque requirements 208 and 220.

[0059] A hybrid module 228 can determine how much of the one or more axle torque requirements 224 should be generated by the motor 102 and how much of the one or more axle torque requirements 224 should be generated by the electric motor 198. For simplicity, the example of the electric motor 198 is continued, but multiple electric motors can also be used. The hybrid module 228 outputs one or more V-motor torque requirements 232 to a drive torque arbitrator module 236. The V-motor torque requirement 232 specifies a requested torque output from the motor 102. The hybrid module 228 also outputs a motor torque requirement 234 to the hybrid control module 196. The motor torque requirement 234 indicates a requested output torque (positive or negative) from the electric motor 198.In vehicles where the motor 102 is omitted or not connected to the vehicle's output torque, the axle torque arbitration module 216 can issue an axle torque request and the motor torque request 234 can meet this axle torque request.

[0060] The drive torque arbitration module 236 converts the V-motor torque requirements 232 from an axle torque range (torque at the wheels) into a drive torque range (torque at the crankshaft). The drive torque arbitration module 236 arbitrates between the converted drive torque requirements 240 and other drive torque requirements. Examples of other drive torque requirements 240 include, among others, torque reductions requested to protect against motor overspeed and torque increases requested to prevent wheel lock-up. The drive torque arbitration module 236 can output one or more drive torque requirements 244 as a result of the arbitration.

[0061] An actuator control module 248 controls the actuators 252 of the engine 102 based on the drive torque requirements 244. Based on the drive torque requirements 244, the actuator control module 248 can control the opening of the throttle valve 112, the ignition timing of the spark plugs, the timing and quantity of injected fuel, cylinder activation / deactivation, intake and exhaust valve adjustment, the outputs of one or more charging devices (e.g., turbochargers, superchargers, etc.), the opening of the EGR valve 170, and / or one or more other engine actuators. In various applications, the drive torque requirements 244 can be set or modified before use by the actuator control module 248, e.g., to create a torque reserve.

[0062] The hybrid control module 196 controls the switching of an inverter module 256 based on the torque request 234. The switching of the inverter module 256 controls the power flow from the energy storage device (ESD) 260, consisting of one or more batteries, to the electric motor 198. Thus, the switching of the inverter module 256 controls the torque of the electric motor 198. The inverter module 256 also converts the power generated by the electric motor 198 and supplies the power to the ESD 260, for example, to charge the ESD 260.

[0063] Fig. Figure 3 contains a functional block diagram of an exemplary implementation of the hybrid control unit 196. The hybrid control module 196 includes an engine torque module 304 (see also Fig. 4), which determines a motor torque 308 for the electric motor 198, based on the motor torque requirement 234, a closed-loop (CL) torque 312, and a feedforward (FF) torque 316.

[0064] A CL module 320 determines the CL torque 312. For example, the CL module 320 can determine the CL torque 312 based on the setting of a difference between a vehicle speed 324 and a target vehicle speed 328 towards zero with CL feedback control when a CL state 330 is in an active state. The CL torque 312 can be positive or negative. For example, the CL torque 312 can be negative if the vehicle is rolling (or would roll) forward down a slope while the target vehicle speed 328 is zero. The negative CL torque 312 causes the electric motor 198 to generate negative torque to stop the vehicle and hold it stationary at zero speed despite the slope.

[0065] The CL module 320 can, for example, include a proportional integral (PI) control that determines the CL torque 312 based on the difference between the vehicle speed 324 and the target vehicle speed 328. The CL module 320 generates the CL torque 312, for instance, to adjust the vehicle speed 324 to the target vehicle speed 328. In other words, the CL module 320 generates the CL torque 312 to adjust the difference between the vehicle speed 324 and the target vehicle speed 328 towards zero. While this is an example of a PI control, any other suitable CL control unit can also be used.

[0066] A vehicle speed module 332 determines the vehicle speed 324. For example, the vehicle speed module 332 can determine the vehicle speed 324 based on the motor speed 336 of the electric motor 198. In the case of multiple electric motors, the vehicle speed module 332 can determine the vehicle speed 324 based on or equal to an average of the motor speeds of the electric motors. One or more gear ratios between the rotation of an electric motor and the rotation of one or more wheels can also be taken into account. The motor speeds 336 can, for example, be measured by motor speed (or position) sensors connected to the electric motor 198.Although the example described here is determining the vehicle speed 324 based on the engine speeds 336, the vehicle speed 324 can also be determined in another suitable way, such as based on one or more wheel speeds of the vehicle or based on a speed of a transmission shaft or the drive shaft of the vehicle.

[0067] A vehicle acceleration module 340 determines a vehicle acceleration 344 based on the vehicle speed 324. For example, the vehicle acceleration module 340 can determine the vehicle speed 324 based on a change in the vehicle speed 324 over a specified period of time, like a control loop.

[0068] A target speed module 348 determines a target vehicle speed profile for a future period and, in particular, for a future number of control loops when the CL state 330 transitions to the active state. While the CL state 330 is in the active state, the target speed module 348 selects the next target vehicle speed from the target vehicle speed profile for each control loop and sets the target vehicle speed 328 to the selected vehicle speed.

[0069] The rocker sensor 174 can generate a rocker state 352 to indicate whether the rocker is being actuated. The target speed module 348 can determine how to set the target vehicle speed profile to zero for adjusting the vehicle from the vehicle speed 324 when the bucket state 352 indicates that the bucket is being actuated.

[0070] The target speed module 348 can cause the target vehicle speed profile to set the vehicle speed 324 (e.g. to zero) based on the vehicle speed 324 and the current vehicle acceleration 344 when the CL state 330 enters the active state and / or when the bucket state 352 changes while the CL state 330 is in the active state.

[0071] The target vehicle speed profile can include three phases: a first phase occurring during the first period of the future period, a second phase occurring during the first period of the future period, and a third phase occurring during the third period of the future period. The first period begins when the release conditions are met, the second period begins when the first period ends, and the third period begins when the second period ends, corresponding to the end of the future period. Deceleration can be increased during the first period (i.e., acceleration can decrease), deceleration can remain approximately constant or decrease minimally during the second period, and deceleration can decrease during the third period.

[0072] The target speed module 348 can determine the future period and the percentages of the future period for the first, second, and third periods, respectively, based on the vehicle speed 324 and the vehicle acceleration 344, provided the release conditions are met. The sum of the percentages equals 100 percent, and each percentage is less than or equal to 100 percent.

[0073] For example, the target speed module 348 can determine the future period and the first, second, and third percentages based on the vehicle speed 324 and the vehicle acceleration 344, using one or more functions and / or mappings that assign vehicle speeds and accelerations to future periods and first, second, and third percentages. The target speed module 348 can then set the first period based on a product of the future period and the first percentage. The target speed module 348 can set the second period based on a product of the future duration and the second percentage. The target speed module 348 can set the third period based on a product of the future duration and the third percentage.In various implementations, the target speed module 348 can determine the first, second, and third periods directly on the basis of the vehicle speed 324 and the vehicle acceleration 344 when the release conditions are met.

[0074] The target speed module 348 can also determine first, second, and third deceleration rates for the first, second, and third periods of the future period, based on the vehicle speed 324 and the vehicle acceleration 344, when the release conditions are met. For example, the target speed module 348 can determine the first, second, and third deceleration rates based on the vehicle speed 324 and the vehicle acceleration 344 using one or more functions and / or mappings that assign vehicle speeds and accelerations to first, second, and third deceleration rates. One or more of the first, second, and third deceleration rates can differ from one or more of the other first, second, and third deceleration rates. The first, second, and / or third deceleration rates can each vary within the first, second, or third period, respectively.The deceleration rate at the end of a period can be equal to a predetermined amount of the deceleration rate at the beginning of the next period, or it can be within the same amount, so that no step or large changes in deceleration occur. The target speed module 348 generates the target vehicle speed profile based on achieving the first, second, and third deceleration rates during the first, second, and third periods of the future period. The target vehicle speed profile controls the way the vehicle is brought to a stop so that the vehicle's stopping is perceived by a driver as smooth, satisfactory, and repeatable, and matches the vehicle behavior (e.g., deceleration) before the change of CL state 330 to the active state.

[0075] If the CL state 330 is in a locked or inactive state, the target speed module 348 can reduce the target vehicle speed 328 to the vehicle speed 324 at a predefined ramp rate.

[0076] As mentioned above, when CL state 330 is active, the CL module 320 determines the CL torque 312 to adjust the vehicle speed 324 to the target vehicle speed 328. In other words, the CL module 320 determines the CL torque 312 to reduce the difference between the vehicle speed 324 and the target vehicle speed 328 to zero. When CL state 330 is inactive, the CL module 320 can reset the CL torque 312 to zero. When CL state 330 is locked, the CL module 320 can leave the CL torque 312 unchanged and cannot reset it.

[0077] Road quality affects vehicle speed 324. For example, if a vehicle is traveling downhill at a higher speed in a forward gear, it may travel faster than if it were on a level road under the same engine and torque outputs, given current engine and torque outputs. A road load module 380 determines a road load (torque) 384 on the vehicle based on the current operating conditions. The road load 384 corresponds to an axle torque required to maintain acceleration at zero under the current operating conditions. The road load 384 can include the vehicle's frictional load, aerodynamic drag load, gravitational load, and so on.

[0078] The road load module 380 determines the road load 384 based on the vehicle speed 324 and one or more of the axle moment requirements 224. The road load module 380 can determine the road load 384 using one or more equations and / or lookup tables that relate vehicle speeds and axle moment requirements to road loads. For example, the road load module 380 can determine an expected vehicle speed under the current operating conditions based on one or more of the axle moment requirements 224. Road conditions, vehicle mass (including any items carried by the vehicle), aerodynamic forces, and other forces can cause the vehicle speed 324 to differ from the expected vehicle speed. A difference between the vehicle speed 324 and the expected vehicle speed can correspond to the road load.An example of how to determine road load can be found, for instance, in the generally accepted U.S. Patent Application No. 7,739,016, which is incorporated herein in its entirety. It is generally stated that road load 384 can be positive or negative, depending on whether the transmission is in a forward or reverse gear and whether the vehicle is traveling uphill or downhill in the direction of travel.

[0079] An initialization module 388 stores the driver torque request 208 for each predefined period, such as each control loop. When the CL state 330 changes from inactive to active, the initialization module 388 determines a change (e.g., percentage) based on the difference between a previously stored driver torque request and the driver torque request 208. For example, the previously stored driver torque request can result from a predefined period before or from a predefined number of control loops before an existing control loop. Alternatively, the previously stored driver torque request can be triggered by a specific event, such as when the driver torque request 208 begins to decrease. For example, only the initialization module 388 can set the change based on or equal to: (PrevDTR−DTR)PrevDTR where PrevDTR is the previously stored DTR and DTR is the driver torque request 208.

[0080] In various implementations, the initialization module 388 stores the motor torque instruction 308 for each predetermined period, such as each control loop. When the CL state 330 changes from inactive to active, the initialization module 388 determines a change (e.g., percentage) based on the difference between a previously stored motor torque instruction and the motor torque instruction 308. For example, the previously stored motor torque instruction can result from a predetermined period before or from a predetermined number of control loops before an existing control loop. Alternatively, the previously stored motor torque instruction can be executed upon the occurrence of a specific event, such as when the motor torque instruction 308 begins to decrease. For example, only the initialization module 388 can set the change based on or equal to: (PrevMTC−MTC)PrevMTC where PrevMTC is the previously stored engine torque command and MTC is the engine torque command 308.

[0081] When the CL state 330 changes from inactive to active, the initialization module 388 sets an initial CL torque 392 based on the road load 384 and the change. The initialization module 388 can set the initial CL torque 392 using an equation and a lookup table that relates road loads and changes (values) to the initial CL torques. For example, the initialization module 388 can set the initial CL torque 392 based on the road load 384 multiplied by the change.

[0082] When CL state 330 transitions from the inactive to the active state, CL module 320 sets CL torque 312 to the initial CL torque 392. This initializes CL module 320 based on road load 384, enabling CL module 320 to stabilize CL torque 312 more quickly, bring the vehicle to a stop faster, and / or minimize the period during which the vehicle rolls down a slope.

[0083] A CL state module 356 sets CL state 330. For example, if the vehicle speed 324 is less than a predefined speed, the CL state module 356 can set CL state 330 to the active state if the driver torque request 208 is zero or less than a predefined torque. The predefined speed is greater than zero and can be, for example, approximately 5 kilometers per hour or another suitable speed. The predefined speed is greater than (an upper limit of) a predefined low-speed range, which is described below. In some implementations, the engine torque request 234 can be used instead of the drive torque 208.

[0084] Additionally or alternatively, the CL state module 356 can activate CL state 330 when the vehicle rolls forward down a slope while in drive mode 360 ​​in reverse, or when the vehicle rolls backward down a slope while in drive mode 360 ​​in Drive, Low, or another forward gear. Drive mode 360 ​​can be, for example, Park, Forward, Low Range, Neutral, or, in some vehicles, Reverse. Drive state 360 ​​can be preset by a user based on the position of a selector lever for Park, Reverse, Neutral, Forward, or Low Range (PRNDL).The purpose of the transition of CL state 330 to the active state under these circumstances is to stop the vehicle with CL control activated, even if the driver requests torque, either via the accelerator pedal and / or the brake pedal, when the driver's torque request is insufficient to prevent the vehicle from rolling in a direction opposite to the intended movement.

[0085] The CL state module 356 can set CL state 330 to the locked state if the APP and / or the BPP are greater than zero (indicating that the accelerator and / or brake pedal is depressed / actuated) and / or the driver torque request 208 is greater than zero or greater than the preset torque, while the vehicle speed 324 is lower than the preset speed. The CL state module 356 can set CL state 330 to the inactive state if the vehicle speed 324 is outside a preset speed range, driver occupancy is not detected, and / or if one or more other conditions are met.

[0086] A FF module 364 (see also Fig. 5) Determines the FF torque 316 to hold the vehicle stationary on a slope when a driver shifts the drive mode 360 ​​from the drive gear to the low gear while the vehicle speed 324 is zero. Under these circumstances, changing the drive mode 360 ​​without the FF module 364 may allow the vehicle to roll down a slope. The FF module 364 is discussed further below.

[0087] As mentioned above, the motor torque module 304 determines the motor torque 308 based on the motor torque request 234, the CL torque 312, and the FF torque 316. A switching control module 370 controls the function of the switches of the inverter module 256 for controlling the power flow to and from the electric motor 198 based on the motor torque 308.

[0088] Fig. Figure 4 is a functional block diagram of an exemplary implementation of the motor torque module 304. A rate-limiting module 412 generates a rate-limited CL torque 416 by limiting changes in the CL torque 312 from control loop to control loop to a predefined maximum value. Specifically, if the rate-limited CL torque 416 is less than the first CL torque 312, the rate-limiting module 412 increases the rate-limited CL torque 416 towards the CL torque 312 up to a first maximum value per control loop. If the rate-limited CL torque 416 is greater than the CL torque 312, the rate-limiting module 412 decreases the rate-limited CL torque 416 towards the CL torque 312 up to a second maximum value per control loop.The rate limiting module 412 sets the rate-limited CL torque 416 to the CL torque 312 if the difference between the rate-limited CL torque 416 and the CL torque 312 is less than the first and second maximum values. In some implementations, the rate limiting module 412 may not limit the CL torque 312 and may instead set the rate-limited CL torque 416 to match the CL torque 312.

[0089] The rate-limiting changes to the CL torque 312 serve to shape the signal and prevent large changes in the CL torque 312 from occurring between successive control loops. The CL torque 312 and the CL modulus 320 can be considered stabilized when the difference between the rate-limited CL torque 416 and the CL torque 312 is less than the specified maximum value.

[0090] The first and second maximum values ​​are set by a maximum module 420 and represented jointly by 424. Maximum module 420 sets the first and second maximum values ​​424 to their respective first and second predefined values ​​when CL state 330 is active. Maximum module 420 sets the first and second maximum values ​​424 to their respective third and fourth predefined values ​​when CL state 330 is disabled. The first and second predefined values ​​allow for larger changes per control loop than the third and fourth predefined values. In other words, the first predefined value is greater than the third predefined value, and the second predefined value is greater than the fourth predefined value. In some implementations, the first predefined value may be equal to the second predefined value, and the third predefined value may be equal to the fourth predefined value.

[0091] A limiting module 428 limits the rate-limited CL torque 416 to a predetermined upper and lower torque to generate a final CL torque 432. More precisely, the limiting module 428 sets the final CL torque 432 equal to the rate-limited CL torque 416 when the rate-limited CL torque 416 lies between the predetermined upper and lower torque limits. In other words, the limiting module 428 sets the final CL torque 432 equal to the rate-limited CL torque 416 when the rate-limited CL torque 416 is both greater than the predetermined lower torque limit and less than the predetermined upper torque limit. If the rate-limited CL torque 416 is greater than the specified upper torque limit, the limiting module 428 sets the final CL torque 432 to the specified upper torque limit.If the rate-limited CL torque 416 is lower than the specified lower torque limit, the limiting module 428 sets the final CL torque 432 to the specified lower torque limit.

[0092] The specified upper and lower torque limits are defined by a limiting module 436 and are summarized and illustrated in Figure 440. Limiting module 436 generally sets the specified upper and lower torque limits to the respective positive and negative specified torques. In some implementations, the magnitude of the positive specified torque may be equal to the magnitude of the negative specified torque.

[0093] Under certain road load conditions, limiting the rate-limited CL torque 416 to the specified upper or lower torque limit can cause the vehicle to roll downhill at a low (non-zero) speed, which a driver would not perceive as rolling motion. In other words, the hybrid control module 196, with its specified upper and lower torque limits, may not be able to bring the vehicle to a complete stop, and the vehicle may roll at a slow speed that is imperceptible to the driver.

[0094] To prevent the vehicle from rolling at low speeds when CL state 330 is active, the limiting module 436 adjusts (increases or decreases) the predefined upper and lower torque limits so that the vehicle can be brought to a standstill or rolls at a slightly higher speed that is perceptible to the driver. For example, the limiting module 436 determines whether the vehicle speed 324 is within a predefined low speed range whose upper and lower limits are greater than zero. The predefined low speed range is calibrated based on vehicle speeds between which a driver cannot perceive the vehicle as rolling (moving), even though the vehicle is in fact rolling. For example, the predefined low speed range might only be approximately 0.1–0.3 km / h or another suitable low speed range.

[0095] When CL state 330 is active, the limiting module 436 can adjust the preset upper and lower torque limits to the specified values ​​if the vehicle speed 324 is outside the specified low-speed range. The limiting module 436 adjusts the preset upper and / or lower torque limits when the vehicle speed 324 is within the specified low-speed range (i.e., lower than the upper limit and higher than the lower limit) and CL state 330 is active.

[0096] For example, if the transmission is in a forward gear facing downhill, CL state 330 is active, the vehicle speed 324 is within the specified low-speed range, and the magnitude of the road load 384 is less than the magnitude of a specified maximum negative torque, the limiting module 436 can reduce (i.e., make more negative) the specified lower torque limit in the direction of travel (e.g., by a specified amount) or up to the specified maximum negative torque. This allows the hybrid control module 196 to control the electric motor 198 to output a larger negative torque to bring the vehicle to a standstill. The specified maximum negative torque can be calibrated based on a maximum negative value of the final CL torque 432.

[0097] As another example, if the transmission is in reverse and facing upwards, CL state 330 is active, and the magnitude of the road load 384 is less than the magnitude of a predetermined maximum positive torque, the limiting modules 436 can increase (i.e., make more positive) the predetermined upper torque limit in the direction of travel (e.g., by a predetermined amount) or up to the predetermined maximum positive torque. This allows the hybrid control module 196 to control the electric motor 198 to output a larger positive torque to bring the vehicle to a standstill. The predetermined maximum positive torque can be calibrated based on a maximum positive value of the final CL torque 432.

[0098] In various implementations, the magnitudes of the specified maximum positive and negative torques can be the same. The limiting module 436 can compare a road load torque value 384 with the magnitude of the specified maximum positive torque and / or the magnitude of the specified maximum negative torque.

[0099] If the vehicle speed 324 becomes zero while the limiting module 436 is setting the upper and / or lower torque limits, the limiting module 436 can maintain the upper and lower torque limits to keep the vehicle stationary. A body control module can also actuate one or more of the vehicle's mechanical brakes (e.g., a parking brake). If the vehicle speed 324 becomes zero in various implementations (e.g., continuously for at least a predetermined period), the limiting module 436 can set the upper and lower torque limits to the predetermined maximum positive and negative torques.

[0100] If the transmission is in a forward gear in the downward direction of travel, CL state 330 is active, the vehicle speed 324 is within the specified low-speed range, and the magnitude of the road load 384 is greater than or equal to the magnitude of the specified maximum negative torque, the hybrid control module 196 may not be able to bring the vehicle to a standstill. Therefore, the limiting module 436 can increase the specified lower torque limit by a predetermined amount (i.e., make it less negative). The electric motor 198 then delivers a lower negative torque, thus allowing the vehicle to roll at a speed above the specified low-speed range. Vehicle movements above the specified low-speed range may be perceptible to the driver and may, for example, cause the driver to apply the mechanical brakes or the accelerator pedal.

[0101] As another example, if the transmission is in reverse gear facing upwards, CL state 330 is active, and the magnitude of the road load 384 is greater than or equal to the magnitude of the preset maximum positive torque, the hybrid control module 196 may not be able to bring the vehicle to a standstill. Therefore, the limiting module 436 can reduce the preset upper torque limit by a predetermined amount (i.e., make it less positive). The electric motor 198 then delivers a lower positive torque, allowing the vehicle to roll at a speed above the preset low-speed range. Vehicle movements above the preset low-speed range are perceptible to the driver and cause the driver to apply the mechanical brakes or the accelerator pedal.

[0102] In various implementations, the order of the rate limiting modules 412 and 428 can be reversed. In other words, the limiting can be applied by the limiting module 428, and the rate limiting module 412 can limit the power of the limiting module 428 to generate the final CL torque 432.

[0103] A selection module 450 sets the selected torque 454 to the final CL torque 432 and to zero 458 based on the CL state 330. Specifically, the selection module 450 sets the selected torque 454 to the final CL torque 432 when the CL state 330 is active. The selection module 450 also sets the selected torque 454 to zero 458 when the CL state 330 is active. Furthermore, the selection module 450 sets the selected torque 454 to zero 458 when the CL state 330 is locked.

[0104] A summing module 462 sets an initial motor torque 466 based on or equal to the sum of the selected torque 454, the motor torque request 234, and the FF torque 316. A limiting module 470 limits the initial motor torque command 466 between an upper and a lower torque limit and outputs the result as the motor torque command 308. The upper and lower torque limits can be fixed predefined values, or the limiting module 470 can determine the upper and lower limits based on one or more current operating parameters, such as the state of charge of the ESD 260. In various implementations, the limiting module 470 can also limit changes in the motor torque command 308.

[0105] In various implementations, a further selection module can be implemented that allows the selected torque 454 (or the final CL torque 432, the rate-limited CL torque 416, or the CL torque 312) to be used either (i) as an input for the summing module 462, as in the example of Fig. 4, or (ii) is used as an input for another summing module to complement the output of the limiting module 470. In the example of (ii), the sum of the FE torque 316 and the motor torque request 234 would be limited and rate-limited by the limiting module 470 before the result is summed with the selected torque 454 (or the final CL torque 432, the rate-limited CL torque 416, or the CL torque 312) to generate the motor torque command 308.

[0106] Fig. Figure 5 is a functional block diagram of an exemplary implementation of the FF module 364. A control module 504 selectively generates a trigger signal 508 based on the drive mode 360 ​​and the vehicle speed 324. More precisely, the control module 504 generates the trigger signal 508 when all of the following conditions are met: (i) the drive mode 360 ​​transitions from drive mode to the low gear; (ii) the vehicle speed 324 is zero (and the target vehicle speed 328 is also zero); and (iii) a brake pedal position (BPP) 536 indicates that the driver is not pressing the brake pedal (e.g., BPP=0). The control module 504 does not generate a trigger signal 508 if at least one of conditions (i), (ii), and (iii) is not met. If the drive mode 360 ​​transitions from the driving gear to the low gear while the vehicle speed 324 is zero, the vehicle can move if the vehicle is on a slope.In such circumstances, the CL module 320 would respond by generating the CL torque 312 to reset the vehicle speed 324 to zero, but the vehicle would still roll. The FF module 364 minimizes or prevents vehicle movement under such circumstances.

[0107] When the trigger signal 508 is generated, a FF determination module 528 determines the FF torque 316 to prevent vehicle movement despite the change in drive mode 360 ​​from driving to low gear. The FF determination module 528 determines the FF torque 316 based on the drive mode 360 ​​change from driving to low. The FF torque 316 can be a fixed, predefined value, calibrated to keep the vehicle stopped when drive mode 360 ​​is in low gear.

[0108] Fig. Figure 6 is a flowchart illustrating an exemplary procedure for setting the CL torque 312. As described above, the CL module 320 can set the CL torque 312 to zero based on the reduction of the difference between the vehicle speed 324 and the target vehicle speed 328. The control begins at 604, with the initialization module 388 storing the driver torque request 208. The vehicle speed 324 can be zero or non-zero at 604. The initialization module 388 stores the driver torque request 208 for each control loop. A previously stored driver torque request (from an earlier control loop) is used to determine the change when the CL state 330 transitions from inactive to active.

[0109] At 608, the road load module 380 determines the road load (torque) 384, as described above. At 612, the CL module 320 and the initialization module 388 determine whether the CL state 330 has transitioned from the inactive to the active state. If 612 is true, the control process continues with 616. If 612 is false, the control process continues with 628, which is discussed in more detail below.

[0110] The initialization module 388 determines the change, for example, based on the driver torque request 208 and the previously stored driver torque request. For instance, the previously stored driver torque request can result from a predetermined period before or from a predetermined number of control loops before an existing control loop. Alternatively, the previously stored driver torque request can be triggered by a specific event, such as when the driver torque request 208 begins to decrease. Thus, for example, only the initialization module 388 can set the change based on or equal to: (PrevDTR−DTR)PrevDTR where PrevDTR is the previously stored DTR and DTR is the driver torque request 208.

[0111] Alternatively, the initialization module 388 determines the change based on the previously stored motor torque command and the motor torque command 308. For example, the previously stored motor torque command can result from a predetermined period before or from a predetermined number of control loops before an existing control loop. Alternatively, the previously stored motor torque command can be executed upon the occurrence of a specific event, for example, when the motor torque command 308 begins to decrease. Thus, for example, only the initialization module 388 can set the change based on or equal to: (PrevMTC−MTC)PrevMTC where PrevMTC is the previously stored engine torque command and MTC is the engine torque command 308.

[0112] The initialization module 388 determines the initial CL torque 392 based on the road load 384 and the change at 620. For example, the initialization module 388 can set the initial CL torque 392 to the road load 384 multiplied by the change. At 624, the CL module 320 sets the CL torque 312 to the same as the initial CL torque 392. The motor torque module 304 then determines the motor torque command 308 based on the CL torque 312. The switching control module 370 controls the function of the switches of the inverter module 256 based on the motor torque command 308. The inverter module 256 therefore supplies power to the electric motor 198 based on the motor torque command 308 being reached.

[0113] Referring back to 628, the CL module 320 can determine whether the CL state 330 is in the active state and was previously in the active state (i.e., it has not transitioned from the inactive state to the active state in the current control loop). If 628 is true, the CL module 320 updates the CL torque 312 based on adjusting the vehicle speed 324 to the target vehicle speed 328 at 632. The engine torque module 304 then determines the engine torque command 308 based on the CL torque 312.

[0114] The switching control module 370 controls the function of the switches of the inverter module 256 based on the motor torque command 308. The inverter module 256 therefore supplies power to the electric motor 198 based on the motor torque command 308 being reached. If 628 is false, the control can terminate. As discussed above, if the CL state 330 is in the inactive state, the CL module 320 can reset the CL torque 312. If the CL state 330 is in the locked state, the CL module 320 can leave the CL torque 312 unchanged. The control is represented and treated here as finite; the example corresponds to... Fig. 6, however, a control loop, and a control loop can be started at any specified time duration.

[0115] Fig. Section 7 contains a flowchart with an example procedure for controlling an electric motor. The control begins at 704, where the hybrid module 228 determines the motor torque request 234, the CL module 320 determines the CL torque 312, and the FF module determines the FF torque 316. At 708, the selection module 450 determines whether the CL state 330 is active. If 708 is true, the control continues at 712, and the selected torque 454 is set based on the CL torque 312. If 708 is false, the selection module 450 sets the selected torque 454 to zero at 710, and the control proceeds to 748, which is explained in more detail below.

[0116] At 712, the maximum module 420 sets the first and second maximum values ​​to the first and second predefined values. At 716, the rate-limiting module 412 generates the rate-limited CL torque 416 by limiting the rate of change in the CL torque 312. Specifically, if the rate-limited CL torque 416 is less than the first CL torque 312, the rate-limiting module 412 increases the rate-limited CL torque 416 towards the CL torque 312 up to a first maximum value. If the difference between the rate-limited CL torque 416 and the CL torque 312 is less than the first maximum value, the rate-limiting module 412 sets the rate-limited CL torque 416 to the CL torque 312. Conversely, if the rate-limited CL torque 416 is greater than the CL torque 312, the rate-limiting module 412 reduces the rate-limited CL torque 416 towards the CL torque 312 up to the second maximum amount.If the difference between the rate-limited CL torque 416 and the CL torque 312 is less than the second maximum amount, the rate-limiting module 412 sets the rate-limited CL torque 416 to the CL torque 312.

[0117] At 720, the limiting module 436 determines whether the vehicle speed 324 is within the specified low speed range in which the vehicle's movement cannot be perceived by the driver. If 720 is true, the control continues with 728. If 720 is false, the limiting module 436 determines whether the vehicle speed 324 is less than the lower speed limit of the specified low speed range at 724. For example, the limiting module 436 can determine whether the vehicle speed 324 is continuously zero for at least one specified period at 724. If 724 is false, the control can end. If 724 is true, the limiting module 436 can set the specified upper and lower torque limits to the specified maximum positive and negative torques, respectively, at 732 and continue with 740. This can help keep the vehicle stationary.In various implementations, if 728 is true, the limiting module 436 can instead retain the specified upper and lower torque limits of the limiting module 428, and control can continue with 740.

[0118] At 728 (when the vehicle speed 324 is within the specified low-speed range), the limiting module 436 determines whether the road load 384 is within the specified maximum torque limits of the limiting module 428. For example, if the transmission is in a forward gear and is descending an incline (as indicated by the negative road load 384), the limiting module 436 can determine whether the road load 384 is lower (i.e., more negative than) the specified maximum negative torque at 728. Alternatively, the limiting module 436 can determine whether the magnitude of the road load 384 is greater than the magnitude of the specified maximum negative torque. If the transmission is in a reverse gear and is descending an incline (as indicated by the positive road load 384), the limiting module 436 can determine whether the road load 384 is greater (i.e.,more positive than) the specified maximum positive torque at 728.

[0119] If 728 is true, the limiting module 436 adjusts at least one of the predefined upper and lower torque limits so that the CL torque can be used to stop the vehicle at 732, and control continues at 740. For example, the limiting module 436 can increase the predefined upper torque limit towards (e.g., by a predefined amount) or to the predefined maximum positive torque. The limiting module 436 can additionally or alternatively decrease the predefined lower torque limit towards (e.g., by a predefined amount) or to the predefined maximum negative torque. This allows the hybrid control module 196 to control the electric motor 198 to output a larger positive or negative torque to bring the vehicle to a standstill on the incline.

[0120] If 728 is incorrect, the limiting module 436 adjusts at least one of the predefined upper and lower torque limits so that the CL torque can be used to allow the vehicle to roll faster at 736, and the control continues at 740. For example, the limiting module 436 can reduce the predefined upper torque limit (e.g., by a predefined amount) to zero. The limiting module 436 can additionally or alternatively increase the predefined lower torque limit (e.g., by a predefined amount) to zero. This limits the ability of the CL torque 312 to influence the engine torque command 308. As a result, the hybrid control module 196 controls the electric motor 198 to output less torque (positive or negative) so that the vehicle can roll at a higher speed that is more readily perceived by the driver.If the vehicle continues to roll at a low speed (within the specified low RPM range), the limiting module 436 can, in a next iteration of 736, further adjust at least one of the specified upper and lower torque limits to allow the vehicle to roll faster.

[0121] At 740, the limiting module 428 limits the rate-limited CL torque 416 to a value between the preset upper and lower torque limits to generate the final CL torque 432. If the rate-limited CL torque 416 is greater than the preset upper torque limit, the limiting module 428 sets the final CL torque 432 to the preset upper torque limit. If the rate-limited CL torque 416 is lower than the preset lower torque limit, the limiting module 428 sets the final CL torque 432 to the preset lower torque limit.

[0122] At 744, based on the CL state 330 in the active state, the selection module 450 sets the selected torque 454 to the final CL torque 432. At 748, the summing module 462 determines the first motor torque command 466 based on the motor torque request 234, the selected torque 454, and the FF torque 316. For example, the summing module 462 can set the first motor torque command 466 based on or equal to a sum of the motor torque request 234, the selected torque 454, and the FF torque 316.

[0123] The limiting module 428 limits the first motor torque command 466 between the upper and lower torque limits at 752 to generate the motor torque command 308. Specifically, if the first motor torque command 466 is between the upper and lower torque limits, the limiting module 470 sets the motor torque command 308 to be equal to or based on the first motor torque command 466. If the first motor torque 466 is greater than the upper torque limit, the limiting module 470 sets the motor torque command 308 to the upper torque limit. If the first motor torque command 466 is less than the upper torque limit, the limiting module 470 sets the motor torque command 308 to the lower torque limit.

[0124] The switching control module 370 controls the function of the switches of the inverter module 256 at 756 based on the motor torque command 308. The inverter module 256 therefore supplies the electric motor 198 with power based on the fulfillment of the motor torque command 308. The control is represented and discussed here as finite, the example according to Fig. However, 7 corresponds to a control loop, and a control loop can be started for any given time period.

[0125] Fig.Figure 8 shows a flowchart with an example procedure for setting a target speed for a vehicle and controlling an electric motor. The control process begins at step 804, with the target speed module 348 determining whether one or more enable conditions are met. For example, the target speed module 348 can determine whether the accelerator and brake pedals are not depressed and the vehicle speed 324 is less than a preset speed. The preset speed is greater than zero and can, for example, be less than 16.1 km / h. If 804 is true, the control process continues to step 808. If 804 is false, the control process can return to step 804.

[0126] At 808, the target speed module 348 determines whether the rocker switch status 352 indicates that the driver has actuated the rocker switch. If 808 is false, the target speed module 348 generates the target speed profile to modify the vehicle's target speed 328 with a second predetermined speed over the future period at 812. The control then returns to 804. The second predetermined speed is greater than zero and can be less than a predetermined speed. The target speed module 348 can determine the target speed profile based on the vehicle speed 324 and the vehicle acceleration 344, as previously discussed. The target speed module 348 can further determine the target speed profile based on the drive mode 360.For example, the target speed module 348 can generate the target speed profile to change the target speed of the vehicle 328 over a shorter period of time when the drive mode 360 ​​is set to slow, relative to the drive mode 360 ​​during driving operation.

[0127] The CL module 320 generates the CL torque 312 to reduce the difference between the target speed of the vehicle 328 and the vehicle speed 324 to zero. The switching control module 370 therefore controls the operation of the inverter module 256 and thus the torque output of the electric motor 198 based on the difference between the target speed of the vehicle 328 and the vehicle speed 324 approaching zero. If condition 808 is true, the control continues with step 816.

[0128] The target speed module 348 generates the target speed profile to reduce the change in the target speed of the vehicle 328 to zero over the predetermined period at 816. The target speed module 348 can determine the target speed profile based on the vehicle speed 324 and the vehicle acceleration 344, as previously discussed. The target speed module 348 can further determine the target speed profile based on the drive mode 360. For example, the target speed module 348 can generate the target speed profile to change the target speed of the vehicle 328 over a shorter period when the drive mode 360 ​​is set to slow, relative to the drive mode 360 ​​during driving.

[0129] At 820, the target speed module 348 determines whether the vehicle speed 324 has reached zero (as a result of the driver operating the rocker switch). If 820 is false, the target speed module 348 determines whether the rocker switch status 352 indicates that the driver released the rocker switch at 824. If 824 is false, the control can return to 820. If 824 is true, the control can return to 812, and the target speed module 348 generates the target speed profile to change the target speed of the vehicle 328 to the specified speed.

[0130] If 820 is true, the control system proceeds to 828. At 828, the target speed module 348 can determine whether the rocker switch status 352 indicates that the driver has released the rocker switch. The driver can release the rocker switch, and the hybrid control module 196 will at least attempt to keep the vehicle stationary, even on gradients other than zero. For example, keeping the vehicle stationary can be achieved using the FF module 364 and the FF torque 316, as described above. The target speed module 348 also maintains the target speed of the vehicle 328 from zero. As such, whether 828 is true or false, the hybrid control module 196 controls the power supply to the electric motor 198 to keep the vehicle stationary at 832 until one or more disabling conditions are met. These disabling conditions could be, for example, the application of the brake and / or accelerator pedal. The controller can return to 804.

[0131] The preceding description is purely illustrative and is in no way intended to limit the present disclosure, its embodiments, or uses. The comprehensive teachings of the disclosure can be implemented in numerous ways. Thus, although the present disclosure includes certain examples, the actual scope of the disclosure is in no way limited by this, and further modifications will become apparent from studying the drawings, the description, and the following claims. It should be noted that one or more steps within a process may be carried out in a different order (or simultaneously) without altering the principles of the present disclosure.Furthermore, although each of the embodiments above is described as having certain features, one or more of these functions described in relation to each embodiment of the disclosure may be implemented and / or combined in any of the other embodiments, even if this combination is not explicitly described.

[0132] In other words, the described embodiments are not mutually exclusive, and permutations of one or more embodiments against each other remain within the scope of protection of this disclosure.

[0133] Spatial and functional relationships between elements (e.g., between modules, circuit elements, semiconductor layers, etc.) are described using various terms, including "connected," "latched," "coupled," "adjacent," "next to," "on top of," "above," "below," and "arranged." Unless expressly described as "direct," a relationship can be direct if a relationship between a first and second element is described in the above disclosure when no other intervening elements exist between the first and second elements; however, it can also be indirect if one or more intervening elements (either spatial or functional) exist between the first and second elements.As used herein, the phrase “at least one of A, B and C” should be understood to mean a logic (A OR B OR C), using a non-exclusive logical OR, and should not be understood to mean “at least one of A, at least one of B and at least one of C”.

[0134] In the figures, the arrow directions, as shown, through the arrowhead generally indicate the flow of information (such as data or commands) relevant to the context of the representation. For example, if Element A and Element B exchange a variety of information, but the information transferred from Element A to Element B is relevant to the representation, the arrow may point from Element A to Element B. These unidirectional arrows do not imply that no other information is transferred from Element B to Element A. Furthermore, Element B may send requests or acknowledgments of information to Element A in connection with the information sent from Element A to Element B.

[0135] In this application, including the following definitions, the term "module" or "controller" may be replaced by the term "circuit" where appropriate. The term "module" may refer to, be part of, or include: an application-specific integrated circuit (ASIC); a digital, analog, or mixed analog / digital discrete circuit; a digital, analog, or mixed analog / digital integrated circuit; a combinational logic circuit; a field-programmable gate array (FPGA); a processor circuit (shared, dedicated, or group) that executes code; a memory circuit (shared, dedicated, or group) that stores code executed by the processor circuit; other suitable hardware components that provide the described functionality; or a combination of some or all of the above, such as in a system-on-a-chip.

[0136] The module may include one or more interface circuits. In some examples, the interface circuits may include wired or wireless interfaces connected to a local area network (LAN), the internet, a wide area network (WAN), or combinations thereof. The functionality of the modules mentioned in this disclosure may be distributed across multiple modules connected via interface circuits. For example, multiple modules may enable load balancing. In another example, functions of a client module may be inherited by a server module (e.g., a remote server or cloud).

[0137] The term "code," as used above, can include software, firmware, and / or microcode, and can refer to programs, routines, functions, classes, data structures, and / or objects. The term "common processor circuit" refers to a single processor circuit that executes discovered or complete code from multiple modules. The term "clustered processor circuit" refers to a processor circuit that, in combination with additional processor circuits, executes discovered or complete code from potentially multiple modules. References to multiple processor circuits include multiple processor circuits on discrete matrices, multiple processor circuits on a single disk, multiple cores on a single processor circuit, multiple threads of a single processor circuit, or a combination thereof.The term "shared memory circuit" refers to a single memory circuit that stores retrieved or complete code from multiple modules. The term "grouped memory circuit" refers to a memory circuit that, in combination with additional memory, stores retrieved or complete code from potentially multiple modules.

[0138] The term memory circuit is subordinate to the term computer-readable medium. The term "computer-readable medium," as used here, does not refer to volatile electrical or electromagnetic signals propagating in a medium (e.g., in the case of a carrier wave); the expression "computer-readable medium" is therefore to be understood as concrete and non-volatile. Non-restrictive examples of a concrete, non-volatile computer-readable medium are non-volatile memory circuits (e.g., flash memory circuits, erasable programmable ROM circuits, or mask ROM circuits), volatile memory circuits (e.g., static or dynamic RAM circuits), magnetic storage media (e.g., analog or digital magnetic tapes or a hard disk drive), and optical storage media (e.g., CD, DVD, or Blu-ray).

[0139] The devices and methods described in this application can be implemented partially or completely using a dedicated computer configured to execute identified computer program functions. The functional blocks, flowchart components, and elements described above serve as software specifications that can be translated into computer programs by appropriately trained technicians or programmers.

[0140] Computer programs contain processor-executable instructions stored on at least one non-volatile, tangible, machine-readable medium. Computer programs may also contain or be based on stored data. Computer programs may include a basic input / output system (BIOS) that interacts with the hardware of the specific computer, device drivers that interact with identified devices of the specific computer, one or more operating systems, user applications, background services, background applications, and so on.

[0141] The computer programs can include: (i) descriptive text that is parsed, such as HTML (hypertext markup language), XML (extensible markup language), or JSON (JavaScript Object Notation); (ii) assembly code; (iii) object code created from source code by a compiler; (iv) source code for execution by an interpreter; (v) source code for compilation and execution by a just-in-time compiler, etc. By way of example only, source code can use the syntax of languages ​​such as C, C++, C#, Objective-C, Swift, Haskell, Go, SQL, R, Lisp, Java®, Fortran, Perl, Pascal, Curl, OCaml, Javascript®, HTML5 (Hypertext Markup Language 5th Revision), Ada, ASP (Active Server Pages), PHP (PHP: Hypertext Preprocessor), Scala, Eiffel, Smalltalk, Erlang, Ruby, Flash®, Visual Basic®, Lua, MATLAB, SIMULINK and Python®.

[0142] None of the elements mentioned in the claims shall be construed as a means for a function (so-called “means plus function”) under 35 USC §112(f), unless an element is expressly described using the term “means for” or if the terms “process for” or “step for” are used in a process claim.

Claims

[1] Electric motor control system for a vehicle, comprising: a road load module (380) configured to determine a road load moment (384) to maintain a vehicle acceleration (344); a control loop (CL) module (320) configured to determine a CL torque (312) based on a difference between a target vehicle speed (328) and a vehicle speed (324); a motor torque module (304) configured to: generating a limited CL torque (416) by limiting the CL torque (312) to a predetermined torque limit when a quantity of the CL torque (312) is greater than a quantity of the predetermined torque limit; where: if the vehicle speed (324) is within a specified low speed range and a magnitude of the road load moment (384) is less than a magnitude of a specified maximum torque, the specified torque limit is adjusted towards the specified maximum torque; and if the vehicle speed (324) is within the specified low speed range and the magnitude of the road load moment (384) is greater than the magnitude of the specified maximum torque, the specified torque limit is adjusted towards zero; and wherein the engine torque module (304) is further configured to determine an engine torque command (308) based on the limited CL torque (416) and an engine torque request (234) based on an accelerator pedal position; and wherein the electric motor control system further comprises a switching control module (370) configured to control the switching of an inverter based on the motor torque command (308) to regulate a supply voltage to an electric motor (198) of the vehicle. [2] Electric motor control system according to claim 1, wherein the motor torque module (304) is configured as follows: if the vehicle speed (324) is within the specified low speed range and the magnitude of the road load moment (384) is less than the magnitude of the specified maximum torque, adjusting the specified torque limit towards the maximum torque; and if the vehicle speed (324) is within the specified low speed range and the magnitude of the road load moment (384) is greater than the magnitude of the specified maximum torque, adjusting the specified torque limit towards zero. [3] Electric motor control system according to claim 2, wherein the motor torque module (304) is configured to maintain the predetermined torque limit when the vehicle speed (324) is zero. [4] Electric motor control system according to claim 2, wherein the motor torque module (304) is configured to adjust the predetermined torque limit to the predetermined maximum torque when the vehicle speed (324) is zero. [5] Electric motor control system according to claim 1, wherein the predetermined low speed range is calibrated based on vehicle speeds (324) at which the vehicle movement may not be perceived by a driver. [6] Electric motor control system according to claim 1, wherein the predetermined low speed range is 0.1 kilometers per hour to 0.3 kilometers per hour. [7] Electric motor control system according to claim 1, wherein the motor torque module (304) is configured to adjust the specified torque limit to the specified maximum torque when the vehicle speed (324) is within the specified low speed range and the magnitude of the road load torque (384) is less than the magnitude of the specified maximum torque. [8] Electric motor control system according to claim 1, wherein the motor torque module (304) is configured to set the motor torque command (308) based on a sum of the motor torque request (234) and the limited CL torque (416). [9] Electric motor control system according to claim 1, wherein the motor torque module (304) is configured to limit the motor torque command (308) to a second predetermined torque limit. [10] Electric motor control system according to claim 1, wherein the motor torque module (304) is configured to one of the following: Maintaining the specified torque limit when the vehicle speed (324) is zero; and setting the specified torque limit to the specified maximum torque when the vehicle speed (324) is zero.

Citation Information

Patent Citations

  • Electric motor control method for vehicle speed control

    DE102016120978A1