Motor torque control method and device, storage medium and electronic equipment
By acquiring the motor rotation parameters and correcting the motor output torque based on the corrected torque, the vibration problem caused by gear backlash in electric vehicles is solved, thereby extending gear life and improving the driving experience.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- BYD CO LTD
- Filing Date
- 2022-08-30
- Publication Date
- 2026-08-04
AI Technical Summary
In electric vehicles, the presence of gear backlash can cause gear grinding during gear shifting, resulting in vehicle vibration or jerking and affecting the driving experience.
By acquiring the motor rotation parameters, it is determined whether the motor has experienced the first and second rotation states within the first preset time period. If so, the current working state of the motor is determined to be the torque state to be corrected, and the output torque of the motor is corrected according to the corrected torque.
It effectively avoids gear knocking noises, extends gear life, and improves the driving experience.
Smart Images

Figure CN117656859B_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to the field of vehicle technology, and more specifically, to a method, apparatus, storage medium, and electronic device for controlling motor torque. Background Technology
[0002] Electric vehicles are those powered by an onboard power source, using an electric motor to drive the wheels. During operation, the motor needs to output torque to propel the vehicle. This torque transmission is achieved through gears. In design and installation, a certain amount of clearance is maintained between gears to prevent them from locking up during thermal expansion. However, this clearance can cause gear grinding during acceleration after gear shifts, resulting in severe vehicle vibration or jerkiness, significantly reducing the driving experience. Summary of the Invention
[0003] The purpose of this disclosure is to provide a motor torque control method, device, storage medium, and electronic device to solve the technical problems existing in the related art.
[0004] To achieve the above objectives, the first aspect of this disclosure provides a motor torque control method, the method comprising:
[0005] Obtain motor rotation parameters, which characterize the rotation amplitude of the motor;
[0006] Based on the motor rotation parameters, it is determined whether the motor rotation state has experienced a first rotation state and a second rotation state within a first preset time period. The first rotation state is used to characterize the rotation state where the motor rotation parameters are greater than or equal to a first preset threshold, and the second rotation state is used to characterize the rotation state where the motor rotation parameters are less than or equal to a second preset threshold.
[0007] If the motor has experienced both the first rotation state and the second rotation state within the first preset time period, then the current operating state of the motor is determined to be the torque state to be corrected.
[0008] When the current operating state of the motor is the torque state to be corrected, the corrected torque of the motor is determined;
[0009] The output torque of the motor is corrected based on the corrected torque.
[0010] Optionally, determining whether the motor's rotation state has experienced the first rotation state and the second rotation state within a first preset time period based on the motor rotation parameters includes:
[0011] The rotation state of the motor is determined based on the motor rotation parameters;
[0012] When the motor enters the first rotation state, the first timer is reset to zero and then the timing begins.
[0013] When the duration of the first timer is less than the first preset duration, the rotation state of the motor is determined according to the motor rotation parameters;
[0014] If the motor's rotation state enters the second rotation state, then it is determined that the motor's rotation state has entered both the first rotation state and the second rotation state within the first preset time period.
[0015] And / or,
[0016] The step of determining whether the motor's rotation state has experienced the first rotation state and the second rotation state within a first preset time period based on the motor rotation parameters includes:
[0017] The rotation state of the motor is determined based on the motor rotation parameters;
[0018] When the motor enters the second rotation state, the second timer is reset to zero and then starts timing.
[0019] When the duration of the second timer is less than the first preset duration, the rotation state of the motor is determined according to the motor rotation parameters;
[0020] If the motor's rotation state is in the first rotation state, then it is determined that the motor's rotation state has experienced both the first rotation state and the second rotation state within a first preset time period.
[0021] Optionally, determining whether the motor's rotation state has experienced the first rotation state and the second rotation state within a first preset time period based on the motor rotation parameters further includes:
[0022] When the motor reaches the first rotation state, the first timer is reset to zero and then starts timing, and the first rotation state flag is updated to be activated.
[0023] When the duration of the first timer is less than the first preset duration, the first rotation state flag is kept active.
[0024] When the duration of the first timer is greater than or equal to the first preset duration, the first rotation status flag is updated to inactive;
[0025] When the motor enters the second rotation state, the second timer is reset to zero and then starts timing, and the second rotation state flag is updated to be active.
[0026] When the duration of the second timer is less than the first preset duration, the second rotation state flag is kept active.
[0027] When the duration of the second timer is greater than or equal to the first preset duration, the second rotation status flag is updated to inactive;
[0028] When both the first rotation state flag and the second rotation state flag are activated, it is determined that the motor has experienced both the first rotation state and the second rotation state within the first preset time period.
[0029] Optionally, when the current operating state of the motor is the torque state to be corrected, determining the corrected torque of the motor includes:
[0030] If the current operating state of the motor is determined to be the torque state to be corrected, then the current level of correction of the motor is determined based on the motor rotation parameters within the first preset time period and multiple preset thresholds.
[0031] Based on the preset correspondence between the level to be corrected and the correction torque, the correction torque of the motor corresponding to the current level to be corrected is determined.
[0032] Optionally, the method further includes:
[0033] Based on the preset correspondence between the correction level and the effective duration, the effective duration corresponding to the current correction level of the motor is determined, and the effective duration is set as the second preset duration.
[0034] The step of correcting the output torque of the motor according to the corrected torque includes:
[0035] Based on the corrected torque, the output torque of the motor is corrected within the second preset time period.
[0036] Optionally, correcting the output torque of the motor according to the corrected torque includes:
[0037] Based on the corrected torque, the output torque of the motor is corrected within a second preset time period.
[0038] Optionally, the step of determining the current operating state of the motor as the torque state to be corrected if the motor's rotation state has experienced both the first rotation state and the second rotation state within the first preset time period includes:
[0039] If the motor has experienced both the first rotation state and the second rotation state within the first preset time period, the third timer is reset to zero and then starts timing, and the torque state flag to be corrected is updated to be activated.
[0040] When the duration of the third timer is less than the second preset duration, the flag bit of the torque status to be corrected will remain activated;
[0041] When the duration of the third timer is greater than or equal to the second preset duration, the torque status flag to be corrected is updated to inactive;
[0042] When the flag bit for the torque to be corrected is activated, the current operating state of the motor is determined to be the torque to be corrected state.
[0043] The step of correcting the output torque of the motor according to the corrected torque includes:
[0044] When the duration of the third timer is less than the second preset duration, the output torque of the motor is corrected according to the correction torque.
[0045] Optionally, the motor rotation parameters include at least one of the following: motor rotation speed, change in motor rotation position between two adjacent cycles, change in motor rotation speed between two adjacent cycles, and change in motor rotation acceleration between two adjacent cycles.
[0046] Optionally, the first preset threshold and the second preset threshold are positive and negative values with equal absolute values, respectively.
[0047] A second aspect of this disclosure provides a motor torque control device, the device comprising:
[0048] The first acquisition module is used to acquire motor rotation parameters, wherein the motor rotation parameters characterize the rotation amplitude of the motor;
[0049] The first determining module is used to determine, based on the motor rotation parameters, whether the first rotation state and the second rotation state have occurred within a first preset time period. The first rotation state is used to characterize the rotation state where the motor rotation parameters are greater than or equal to a first preset threshold, and the second rotation state is used to characterize the rotation state where the motor rotation parameters are less than or equal to a second preset threshold.
[0050] The second determining module is used to determine the current working state of the motor as the torque state to be corrected if the motor's rotation state has experienced both the first rotation state and the second rotation state within the first preset time period.
[0051] The third determining module is used to determine the corrected torque of the motor when the current operating state of the motor is the torque to be corrected state;
[0052] The correction module is used to correct the output torque of the motor according to the correction torque.
[0053] A third aspect of this disclosure provides a non-transitory computer-readable storage medium having a computer program stored thereon that, when executed by a processor, implements the steps of the method described in the first aspect of this disclosure.
[0054] A fourth aspect of this disclosure provides an electronic device, comprising:
[0055] A memory on which computer programs are stored;
[0056] A processor for executing the computer program in the memory to implement the steps of the method described in the first aspect of this disclosure.
[0057] By employing the above technical solution, when determining whether the motor has experienced a first rotation state and a second rotation state within a first preset time period based on the motor rotation parameters, the current operating state of the motor is determined to be the torque state to be corrected. The corrected torque of the motor is then further determined, and the output torque of the motor is corrected based on this corrected torque. In this way, the output torque of the motor can be corrected according to its actual rotation, effectively avoiding gear knocking noises without affecting driver safety, thereby extending the service life of the gears and improving the driving experience.
[0058] Other features and advantages of this disclosure will be described in detail in the following detailed description section. Attached Figure Description
[0059] The accompanying drawings are provided to further illustrate the present disclosure and form part of the specification. They are used together with the following detailed description to explain the present disclosure, but do not constitute a limitation thereof. In the drawings:
[0060] Figure 1 This is a flowchart illustrating a motor torque control method according to an exemplary embodiment.
[0061] Figure 2 This is an example shown according to an exemplary embodiment. Figure 1 Flowchart of step S102.
[0062] Figure 3 This is a flowchart illustrating, according to an exemplary embodiment, a method for determining whether the rotation state of a motor is a first rotation state.
[0063] Figure 4This is a flowchart illustrating, according to an exemplary embodiment, a process for determining whether the rotation state of a motor is a second rotation state.
[0064] Figure 5 This is a flowchart illustrating a method for determining the current operating state of a motor, according to an exemplary embodiment.
[0065] Figure 6 This is a schematic diagram illustrating, according to an exemplary embodiment, how to correct the output torque of a motor based on the change in the motor's rotational position between two adjacent cycles.
[0066] Figure 7 This is a block diagram illustrating a motor torque control device according to an exemplary embodiment.
[0067] Figure 8 This is a block diagram illustrating an electronic device according to an exemplary embodiment. Detailed Implementation
[0068] The specific embodiments of this disclosure will be described in detail below with reference to the accompanying drawings. It should be understood that the specific embodiments described herein are for illustration and explanation only and are not intended to limit this disclosure.
[0069] It should be noted that all actions involving the acquisition of signals, information, or data in this disclosure are carried out in compliance with the relevant data protection laws and policies of the country where the location is situated, and with authorization from the owner of the relevant device.
[0070] As described in the background section, due to the gaps between gears, torque transmission via gears is necessary when the motor's rotation direction changes, such as when switching between D and R gears. For a single gear gap, the driving wheel will switch from the side in contact with the driven wheel to the other side. At this point, the relative position of the gears changes most significantly. If the motor torque is directly applied according to the user's needs, a loud gear knocking sound may occur. Alternatively, when the vehicle is traveling on a bumpy road in a fixed gear, the vibrations caused by the road bumps will be transmitted to the wheel ends and then to the transmission gears, resulting in gear knocking. Furthermore, gear knocking may occur when the vehicle is in series generator operation or other conditions that may cause resonance, leading to severe vehicle vibration or jerking.
[0071] In related technologies, vehicle vibration is typically avoided in the following ways: For vehicle vibration caused by changes in the direction of motor rotation, a small torque is maintained for a period of time when the torque unloading is close to 0. Then, the torque is increased in the direction of the target torque, held constant for a period of time, and then the torque is increased according to driving needs. For example, during the process of switching the motor torque from negative to positive, a small torque (e.g., -T1) is maintained for a period of time when the torque unloading is close to 0. Then, a small torque (e.g., increased by T1) is increased in the direction of positive torque, held constant for a period of time, and then the torque is increased according to needs. When the vehicle is driving in a fixed gear or when the vehicle is in resonance, a gear torque T2 is distributed in the vehicle's driving direction when the torque unloading is close to 0, i.e., the output torque of the gear T2, to reduce abnormal noises under smooth driving conditions. However, if the output torque T2 is small, knocking noises may still exist between the gears, affecting the service life of the gears. If the output torque T2 is large, it may conflict with the torque required by the driver's driving needs and cause power waste, resulting in a poor driving experience.
[0072] In view of this, the present disclosure provides a motor torque control method, device, storage medium and electronic device. When the current working state of the motor is determined to be a torque state to be corrected based on the motor rotation parameters, the output torque of the motor is corrected. This effectively avoids gear knocking noise without affecting the driver's safe driving, thereby extending the service life of the gears and improving the driving experience.
[0073] Figure 1 This is a flowchart illustrating a motor torque control method according to an exemplary embodiment. Figure 1 As shown, the method may include the following steps.
[0074] In step S101, the motor rotation parameters are obtained, which characterize the rotation amplitude of the motor.
[0075] The motor rotation parameters can be parameters related to the rotation amplitude of the motor. In this disclosure, the motor rotation parameters can include at least one of the following: motor rotation speed, change in motor rotation position between two adjacent cycles, change in motor rotation speed between two adjacent cycles, and change in motor rotation acceleration between two adjacent cycles.
[0076] In step S102, based on the motor rotation parameters, it is determined whether the motor rotation state has experienced a first rotation state and a second rotation state within a first preset time period.
[0077] The first rotation state characterizes a rotation state where the motor rotation parameters are greater than or equal to a first preset threshold, and the second rotation state characterizes a rotation state where the motor rotation parameters are less than or equal to a second preset threshold. Accordingly, the first and second preset thresholds can be at least one of the following: a preset threshold for motor rotation speed, a preset threshold for the change in motor rotation position between two adjacent cycles, a preset threshold for the change in motor rotation speed between two adjacent cycles, and a preset threshold for the change in motor rotation acceleration between two adjacent cycles.
[0078] It should be understood that when the motor rotates significantly in different directions, it can easily cause knocking noises between the motor gears. For example, a first rotation state can characterize a motor rotation state in a first rotation direction (e.g., the positive direction) where the motor rotation parameters are greater than or equal to a first preset threshold, and a second rotation state can characterize a motor rotation state in a second rotation direction (e.g., the reverse direction) where the motor rotation parameters are less than or equal to a second preset threshold. Here, the first preset threshold and the second preset threshold are positive and negative values with equal absolute values, respectively.
[0079] In step S103, if the motor has experienced a first rotation state and a second rotation state within a first preset time period, then the current working state of the motor is determined to be the torque state to be corrected.
[0080] If the motor's rotation state has experienced both a first rotation state and a second rotation state within the first preset time period, it indicates that the motor's rotation has changed significantly within the first preset time period, which may easily lead to knocking noises between the motor gears. Therefore, the current operating state of the motor is determined as the torque state to be corrected.
[0081] In step S104, if it is determined that the current operating state of the motor is the torque to be corrected state, then the corrected torque of the motor is determined.
[0082] In step S105, the output torque of the motor is corrected according to the corrected torque.
[0083] By employing the above technical solution, after determining whether the motor has experienced a first rotation state and a second rotation state within a first preset time period based on the motor rotation parameters, the current operating state of the motor is determined as the torque state to be corrected. The corrected torque of the motor is then further determined, and the output torque of the motor is corrected based on this corrected torque. In this way, the output torque of the motor can be corrected according to its actual rotation, effectively avoiding gear knocking noises without affecting driver safety, thereby extending the service life of the gears and improving the driving experience.
[0084] To facilitate a better understanding of the motor torque control method provided in this disclosure by those skilled in the art, a complete embodiment is described below to illustrate the specific implementation of the method.
[0085] Figure 2 This is an example shown according to an exemplary embodiment. Figure 1 The flowchart for step S102. (See attached flowchart.) Figure 2 As shown, Figure 1 Step S102 may specifically include the following steps.
[0086] In step S1021, the rotation state of the motor is determined based on the motor rotation parameters.
[0087] In this disclosure, the rotation state of the motor can be determined based on whether the motor rotation parameters meet a first preset condition. When the motor rotation parameters meet the first preset condition, the motor rotation state is determined to be the first rotation state. The first preset condition can be a preset condition corresponding to the motor's positive direction rotation.
[0088] For example, the first preset condition is that the motor rotation parameter is greater than or equal to a first preset threshold for this information. For instance, if the motor rotation parameter includes the motor rotation speed, then the first preset condition includes that the motor rotation speed is greater than or equal to a preset threshold for motor rotation speed. For instance, if the motor rotation parameter includes the change in motor rotation position between two adjacent cycles, then the first preset condition includes that the change in motor rotation position between two adjacent cycles is greater than or equal to a preset threshold for the change in motor rotation position between two adjacent cycles. As another example, if the motor rotation parameter includes the change in motor rotation speed between two adjacent cycles, then the first preset condition includes that the change in motor rotation speed between two adjacent cycles is greater than or equal to a preset threshold for the change in motor rotation speed between two adjacent cycles. Yet another example, if the motor rotation parameter includes the change in motor rotation acceleration between two adjacent cycles, then the first preset condition includes that the change in motor rotation acceleration between two adjacent cycles is greater than or equal to a preset threshold for the change in motor rotation acceleration between two adjacent cycles.
[0089] In step S1022, when the motor reaches the first rotation state, the first timer is reset to zero and then the timing begins.
[0090] In this disclosure, a first timer is used to record the duration of the motor's rotation in the first rotation state. When the motor enters the first rotation state, the first timer is reset to zero and then begins timing.
[0091] In step S1023, when the duration of the first timer is less than the first preset duration, the rotation state of the motor is determined according to the motor rotation parameters.
[0092] The motor rotation is monitored until the duration of the first timer is less than the first preset duration, in order to determine whether the motor will enter a second rotation state within the first preset duration.
[0093] In this disclosure, the rotation state of the motor can be determined based on whether the motor rotation parameters meet a second preset condition, and the motor rotation state is determined to be the second rotation state when the motor rotation parameters meet the second preset condition. The second preset condition can be a preset condition corresponding to the motor rotating in the opposite direction.
[0094] For example, the second preset condition is that the motor rotation parameters are less than or equal to a second preset threshold. For instance, the motor rotation parameters include the motor rotation speed; correspondingly, the second preset condition includes that the motor rotation speed is less than or equal to a preset threshold for motor rotation speed. For instance, the motor rotation parameters include the change in motor rotation position between two adjacent cycles; correspondingly, the second preset condition includes that the change in motor rotation position between two adjacent cycles is less than or equal to a preset threshold for the change in motor rotation position between two adjacent cycles. As another example, the motor rotation parameters include the change in motor rotation speed between two adjacent cycles; correspondingly, the second preset condition includes that the change in motor rotation speed between two adjacent cycles is less than or equal to a preset threshold for the change in motor rotation speed between two adjacent cycles. Yet another example, the motor rotation parameters include the change in motor rotation acceleration between two adjacent cycles; correspondingly, the second preset condition includes that the change in motor rotation acceleration between two adjacent cycles is less than or equal to a preset threshold for the change in motor rotation acceleration between two adjacent cycles.
[0095] In step S1024, if the motor's rotation state enters a second rotation state, it is determined that the motor's rotation state has entered both the first and second rotation states within the first preset time period.
[0096] It should be understood that, in Figure 2 The diagram illustrates a scenario where the motor's rotation is first checked to determine if it has entered a first rotation state, and then a second rotation state. In practical applications, it is also possible to first check if the motor has entered a second rotation state, and then check if it has entered the first rotation state.
[0097] For example, determining whether the motor has experienced a first rotation state and a second rotation state within a first preset time period based on the motor rotation parameters may further include:
[0098] Determine the motor's rotation state based on its rotation parameters;
[0099] When the motor enters the second rotation state, the second timer is reset to zero and then starts counting.
[0100] When the duration of the second timer is less than the first preset duration, the rotation state of the motor is determined based on the motor rotation parameters;
[0101] If the motor's rotation state is in the first rotation state, then it is determined that the motor's rotation state has been in both the first and second rotation states within the first preset time period.
[0102] It should be understood that the specific implementation method of first determining whether the motor's rotation state has entered a second rotation state, and then determining whether the motor's rotation state has entered a first rotation state, is similar to... Figure 2 The methods shown are similar, and this disclosure will not elaborate further.
[0103] In some embodiments, a flag bit can also be used to record the rotation state of the motor. For example, determining whether the motor has experienced a first rotation state and a second rotation state within a first preset time period, based on motor rotation parameters, may further include:
[0104] When the motor reaches the first rotation state, the first timer is reset to zero and then starts timing, and the first rotation state flag is updated to be active.
[0105] When the duration of the first timer is less than the first preset duration, the first rotation state flag will be kept active.
[0106] When the duration of the first timer is greater than or equal to the first preset duration, the first rotation status flag is updated to inactive;
[0107] When the motor enters a second rotation state, the second timer is reset to zero and then starts counting, and the second rotation state flag is updated to be active.
[0108] When the duration of the second timer is less than the first preset duration, the second rotation state flag will remain activated.
[0109] When the duration of the second timer is greater than or equal to the first preset duration, the second rotation status flag is updated to inactive;
[0110] When both the first rotation state flag and the second rotation state flag are activated, it is determined that the motor has experienced both the first rotation state and the second rotation state within the first preset time period.
[0111] In this disclosure, an activated first rotation status flag indicates that a motor rotation parameter has been greater than or equal to a first preset threshold within a first preset time period; an inactive first rotation status flag indicates that a motor rotation parameter has not been greater than or equal to the first preset threshold within the first preset time period. An activated second rotation status flag indicates that a motor rotation parameter has been less than or equal to a second preset threshold within the first preset time period; an inactive second rotation status flag indicates that a motor rotation parameter has not been less than or equal to the second preset threshold within the first preset time period.
[0112] For example, Figure 3 This is a flowchart illustrating, according to an exemplary embodiment, a method for determining whether the rotation state of a motor is a first rotation state. For example... Figure 3 As shown, firstly, motor rotation parameters are acquired. These parameters may include at least one of the following: motor rotation speed, change in motor rotation position between two adjacent cycles, change in motor rotation speed between two adjacent cycles, and change in motor rotation acceleration between two adjacent cycles. Next, it is determined whether the motor rotation parameters are greater than or equal to a first preset threshold. For example, if the motor rotation parameters include motor rotation speed, it is determined whether the motor rotation speed is greater than or equal to a preset threshold. Similarly, if the motor rotation parameters include change in motor rotation position between two adjacent cycles, it is determined whether the change in motor rotation position between two adjacent cycles is greater than or equal to a preset threshold. Likewise, if the motor rotation parameters include change in motor rotation speed between two adjacent cycles, it is determined whether the change in motor rotation speed between two adjacent cycles is greater than or equal to a preset threshold. Finally, if the motor rotation parameters include change in motor rotation acceleration between two adjacent cycles, it is determined whether the change in motor rotation acceleration between two adjacent cycles is greater than or equal to a preset threshold. If the value is greater than or equal to the first timer, the first timer is reset to zero and begins timing; that is, t1 = 0 and timing begins. Simultaneously, the first rotation status flag is updated to active; that is, flg_p = 1, where flg_p = 1 indicates the first rotation status flag is active. Furthermore, if the motor rotation parameters are less than a first preset threshold, it is determined whether flg_p was 1 in the previous cycle. If flg_p = 1 and the timing duration t1 of the first timer is less than the first preset duration Δt1, the first rotation status flag remains active; that is, flg_p = 1 in the current cycle. Afterward, if the timing duration t1 of the first timer is greater than or equal to Δt1, the first rotation status flag is updated to inactive; that is, flg_p = 0 in the current cycle. In addition, if the rotation status flag flg_p of the motor in the previous cycle is not 1, then the first rotation status flag of the motor in the current cycle will be updated to inactive, that is, the first rotation status flag flg_p will be set to 0.
[0113] Similarly, Figure 4 This is a flowchart illustrating, according to an exemplary embodiment, the determination of whether the rotation state of a motor is a second rotation state. For example... Figure 4As shown, firstly, motor rotation parameters are acquired. These parameters may include at least one of the following: motor rotation speed, change in motor rotation position between two adjacent cycles, change in motor rotation speed between two adjacent cycles, and change in motor rotation acceleration between two adjacent cycles. Next, it is determined whether the motor rotation parameters are less than or equal to a second preset threshold. For example, if the motor rotation parameters include motor rotation speed, it is determined whether the motor rotation speed is less than or equal to a preset threshold for motor rotation speed. Similarly, if the motor rotation parameters include change in motor rotation position between two adjacent cycles, it is determined whether the change in motor rotation position between two adjacent cycles is less than or equal to a preset threshold for change in motor rotation position between two adjacent cycles. Likewise, if the motor rotation parameters include change in motor rotation speed between two adjacent cycles, it is determined whether the change in motor rotation speed between two adjacent cycles is less than or equal to a preset threshold for change in motor rotation speed between two adjacent cycles. Finally, if the motor rotation parameters include change in motor rotation acceleration between two adjacent cycles, it is determined whether the change in motor rotation acceleration between two adjacent cycles is less than or equal to a preset threshold for change in motor rotation acceleration between two adjacent cycles. If the value is less than or equal to the second preset threshold, the second timer is reset and begins timing; that is, t2 = 0, and timing begins. Simultaneously, the second rotation status flag is updated to active; that is, flg_n = 1. Here, flg_n = 1 indicates that the second rotation status flag is active. Furthermore, if the motor rotation parameter is greater than the second preset threshold, it is determined whether the rotation status flag flg_n of the previous motor cycle is 1. If flg_n = 1 and the timing duration t2 of the second timer is less than Δt1, the second rotation status flag is maintained as active; that is, the rotation status flag flg_n of the current motor cycle is set to 1. Afterwards, if the timing duration t2 of the second timer is greater than or equal to the first preset duration Δt1, the first rotation status flag is updated to inactive; that is, the rotation status flg_n of the current motor cycle is set to 0. Furthermore, if the rotation status flag flg_n of the previous motor cycle is not 1, the first rotation status flag for the current motor cycle is updated to inactive; that is, flg_n = 0.
[0114] Furthermore, during vehicle operation, the time for motor torque commutation and external vibrations to cause gear transmission vibration is finite. Therefore, in this disclosure, the effective duration for correcting the motor's output torque is limited. In one embodiment, Figure 1 Step S105 involves correcting the motor's output torque based on the corrected torque, including: correcting the motor's output torque within a second preset time period based on the corrected torque. The second preset time period is the effective time for correcting the motor's output torque.
[0115] In another embodiment, a third timer is used to record the duration of the motor's operating state as a torque-to-be-corrected state, and a second preset duration is the effective duration for correcting the motor's output torque. Accordingly, Figure 1 In step S103, if the motor's rotation state has experienced both a first rotation state and a second rotation state within the first preset time period, then the current operating state of the motor is determined to be the torque state to be corrected, which may include:
[0116] If the motor has experienced both a first rotation state and a second rotation state within the first preset time period, the third timer is reset to zero and then starts timing, and the torque status flag to be corrected is updated to be active.
[0117] When the duration of the third timer is less than the second preset duration, the flag bit for the torque status to be corrected will remain active.
[0118] When the duration of the third timer is greater than or equal to the second preset duration, the torque status flag to be corrected will be updated to inactive.
[0119] When the flag for the torque to be corrected is activated, the current operating state of the motor is determined to be the torque to be corrected state.
[0120] First, it should be understood that when the torque status flag is updated to inactive, the motor's current operating state is one where no correction is required. Second, it should be understood that, in order to ensure that torque correction of the motor can be performed, the second preset duration is typically much longer than the first preset duration in this disclosure.
[0121] Figure 5 This is a flowchart illustrating how to determine the current operating state of a motor according to an exemplary embodiment. For example... Figure 5 As shown, firstly, it is determined whether the motor's rotation state has experienced both the first and second rotation states within the first preset time period, i.e., whether flg_p and flg_n are both 1. If both are 1, the third timer is reset and timing begins, and the flag bit for the torque state to be corrected is updated to be active. That is, timing begins after t3 = 0, and flg_cmg = 1. If flg_p and flg_n are not both 1, i.e., at least one is 0, the flag bit for the torque state to be corrected at the previous moment is obtained, i.e., it is determined whether flg_cmg at the previous moment is 1. If flg_cmg at the previous moment is 1 and the timing duration t3 of the third timer is less than Δt3, the flag bit for the torque state to be corrected is kept active, i.e., flg_cmg = 1. In addition, as Figure 5As shown, when the timing duration t3 of the second timer is greater than or equal to Δt3, the flag bit for the torque to be corrected is updated to inactive, i.e., flg_cmg = 0. When flg_cmg is 1, the current operating state of the motor is determined to be the torque to be corrected state. When flg_cmg is 0, the current operating state of the motor is determined to be the state that no correction is required.
[0122] Accordingly, in this embodiment, Figure 1 The specific implementation method for correcting the motor output torque according to the correction torque in step S105 is as follows: when the timing duration of the third timer is less than the second preset duration, the motor output torque is corrected according to the correction torque.
[0123] Furthermore, in practical applications, different vehicle driving conditions result in different degrees of correction required from the motor, and consequently, different correction torques. Therefore, in one embodiment, Figure 1 In step S104, when the current working state of the motor is the torque to be corrected state, the specific implementation of determining the corrected torque of the motor can be as follows: if it is determined that the current working state of the motor is the torque to be corrected state, then the current level to be corrected of the motor is determined according to the motor rotation parameters within the first preset time period and multiple preset thresholds, and the corrected torque of the motor corresponding to the current level to be corrected is determined according to the preset correspondence between the level to be corrected and the corrected torque.
[0124] In this embodiment, multiple preset thresholds can be pre-set to correspond to the motor's correction level. For example, threshold a corresponds to the first correction level, threshold b corresponds to the second correction level, threshold c corresponds to the third correction level, and so on. Thus, by determining the relationship between the motor rotation parameters within a first preset time period and the multiple preset thresholds, the current correction level of the motor is determined. For example, if the maximum absolute value of the motor rotation parameters within the first preset time period is greater than a and less than b, the current correction level of the motor is determined to be the first level; if the maximum absolute value of the motor rotation parameters within the first preset time period is greater than b and less than c, the current correction level of the motor is determined to be the second level. Similarly, a relationship between the correction level and the correction torque is pre-set; for example, the correction torque corresponding to the first level is T2_1, and the correction torque corresponding to the second level is T2_2. In this way, when the current working state of the motor is determined to be the torque to be corrected state, the motor's correction level can be further determined based on the motor rotation parameters within the first preset time period and multiple preset thresholds. Based on the correspondence between the correction level and the correction torque, the correction torque of the motor corresponding to the current correction level can be determined. That is, the output torque of the motor can be adjusted according to different actual conditions, thereby more effectively avoiding gear knocking noise.
[0125] Furthermore, the effective duration for correcting the motor's output torque can be set according to the actual operating conditions of the vehicle. For example, the higher the correction level, the longer the effective duration. In a possible implementation, the relationship between the correction level and the effective duration can be preset. For instance, the effective duration corresponding to the first level is Δt3_1, and the effective duration corresponding to the second level is Δt3_2. Thus, the effective duration for correcting the motor's output torque can be determined based on the preset correspondence between the correction level and the effective duration, and this effective duration can be set as the second preset duration. Table 1 shows one such correspondence between the correction level, the corrected torque, and the effective duration.
[0126] Table 1
[0127] Corrected torque T2_1 T2_2 Valid duration △t3_1 △t3_2
[0128] It should be understood that in practical applications, more levels to be corrected can be set as needed, and this disclosure does not make specific limitations on this.
[0129] Accordingly, Figure 1 The specific implementation method of step S105, which corrects the output torque of the motor according to the corrected torque, is as follows: the output torque of the motor is corrected within a second preset time period according to the corrected torque.
[0130] Figure 6 This is a schematic diagram illustrating, according to an exemplary embodiment, how to correct the output torque of a motor based on the change in motor rotation position between two adjacent cycles. For example... Figure 6 As shown, at the first time T1, the change in the rotational position of the motor in the two adjacent cycles is greater than or equal to the threshold a. At the second time T2, the change in the rotational position of the motor in the two adjacent cycles is less than or equal to the threshold -a. Furthermore, the absolute value of the change in the rotational position of the motor in the two adjacent cycles between the second time T2 and the first time T1 is less than the threshold b. Also, the duration between the second time T2 and the first time T1 is less than the first preset duration △t1. Therefore, at the second time T2, flg_cmg = 1, and the duration of flg_cmg = 1 is △t3_1. That is, the effective duration of the correction is △t3_1. At time T3, the change in the rotational position of the motor in the two adjacent cycles is less than or equal to the threshold -a. At time T4, the change in the rotational position of the motor in the two adjacent cycles is greater than or equal to the threshold a. Between time T4 and time T3, the absolute value of the change in the rotational position of the motor is greater than the threshold b. The duration of time T4 and time T3 is less than the first preset duration Δt1. Therefore, at time T3, flg_cmg = 1, and the duration of flg_cmg = 1 is Δt3_2. That is, the effective duration of the correction is Δt3_2.
[0131] In this disclosure, a correction torque can be superimposed on the motor's output torque to achieve the purpose of correcting the motor's output torque. For example, if the motor's allocated output torque T2 is greater than 0, the corrected output torque is T2 + correction torque. If the motor's allocated output torque T2 is less than 0, the corrected output torque is T2 - correction torque. Determining the relationship between the motor's allocated output torque T2 and 0 is a well-established technique in the art, and this disclosure does not specifically limit its application.
[0132] By adopting the above technical solution, the correction torque and the effective duration for correcting the output torque of the motor are determined based on the real-time rotation parameters of the motor. This allows the corrected output torque to effectively eliminate gear knocking, optimize the noise, vibration and acoustic roughness of the vehicle, and extend the service life of the gears.
[0133] Based on the same inventive concept, this disclosure also provides a motor torque control device. Figure 7 This is a block diagram illustrating a motor torque control device according to an exemplary embodiment. Figure 7 As shown, the motor torque control device 700 may include:
[0134] The first acquisition module 701 is used to acquire motor rotation parameters, wherein the motor rotation parameters characterize the rotation amplitude of the motor;
[0135] The first determining module 702 is used to determine, based on the motor rotation parameters, whether the first rotation state and the second rotation state have occurred within a first preset time period. The first rotation state is used to characterize the rotation state where the motor rotation parameters are greater than or equal to a first preset threshold, and the second rotation state is used to characterize the rotation state where the motor rotation parameters are less than or equal to a second preset threshold.
[0136] The second determining module 703 is used to determine the current working state of the motor as the torque state to be corrected if the motor's rotation state has experienced both the first rotation state and the second rotation state within the first preset time period.
[0137] The third determining module 704 is used to determine the corrected torque of the motor when the current operating state of the motor is the torque to be corrected state;
[0138] The correction module 705 is used to correct the output torque of the motor according to the correction torque.
[0139] Optionally, the first determining module 702 includes:
[0140] The first determining submodule is used to determine the rotation state of the motor based on the motor rotation parameters;
[0141] The first control submodule is used to control the first timer to be cleared and start timing when the motor's rotation state is the first rotation state.
[0142] The second determining submodule is used to determine the rotation state of the motor based on the motor rotation parameters when the timing duration of the first timer is less than the first preset duration.
[0143] The third determining submodule is used to determine that the motor has experienced both the first rotation state and the second rotation state within the first preset time period if the rotation state of the motor is in the second rotation state.
[0144] And / or, the first determining module 702 includes:
[0145] The fourth determining submodule is used to determine the rotation state of the motor based on the motor rotation parameters;
[0146] The second control submodule is used to control the second timer to be cleared and start timing when the motor's rotation state enters the second rotation state;
[0147] The fifth determining submodule is used to determine the rotation state of the motor based on the motor rotation parameters when the timing duration of the second timer is less than the first preset duration.
[0148] The sixth determining submodule is used to determine that if the rotation state of the motor is in the first rotation state, the rotation state of the motor has been in both the first rotation state and the second rotation state within a first preset time period.
[0149] Optionally, the first determining module 702 further includes:
[0150] The third control submodule is used to control the first timer to be cleared and start timing when the rotation state of the motor is the first rotation state, and to update the first rotation state flag to be activated.
[0151] The first maintenance submodule is used to maintain the first rotation state flag as activated when the timing duration of the first timer is less than the first preset duration.
[0152] The first update submodule is used to update the first rotation status flag to inactive when the timing duration of the first timer is greater than or equal to the first preset duration.
[0153] The second update submodule is used to control the second timer to be cleared and start timing when the rotation state of the motor reaches the second rotation state, and to update the second rotation state flag to be activated.
[0154] The second maintenance submodule is used to maintain the second rotation state flag as activated when the timing duration of the second timer is less than the first preset duration.
[0155] The third update submodule is used to update the second rotation status flag to inactive when the timing duration of the second timer is greater than or equal to the first preset duration.
[0156] The seventh determination submodule is used to determine that, when both the first rotation state flag and the second rotation state flag are activated, the rotation state of the motor has experienced both the first rotation state and the second rotation state within the first preset time period.
[0157] Optionally, the third determining module 704 includes:
[0158] The eighth determining submodule is used to determine the current level of correction of the motor based on the motor rotation parameters within the first preset time period and multiple preset thresholds if the current working state of the motor is determined to be the torque state to be corrected.
[0159] The ninth determining submodule is used to determine the correction torque of the motor corresponding to the current correction level based on the preset correspondence between the correction level and the correction torque.
[0160] Optionally, the device further includes:
[0161] The fourth determining module is used to determine the effective duration corresponding to the current correction level of the motor according to the preset correspondence between the correction level and the effective duration, and to determine the effective duration as the second preset duration;
[0162] The correction module 705 is used to: correct the output torque of the motor within the second preset time period according to the correction torque.
[0163] Optionally, the correction module 705 is used to: correct the output torque of the motor within a second preset time period according to the correction torque.
[0164] Optionally, the second determining module 703 includes:
[0165] The fourth control submodule is used to control the third timer to be cleared and start timing if the first rotation state and the second rotation state of the motor have occurred within the first preset time period, and to update the torque state flag to be corrected to be activated.
[0166] The third maintenance submodule is used to maintain the torque status flag to be corrected as activated when the timing duration of the third timer is less than the second preset duration.
[0167] The fourth update submodule is used to update the torque status flag to be inactive when the timing duration of the third timer is greater than or equal to the second preset duration.
[0168] The tenth determination submodule is used to determine the current operating state of the motor as the torque to be corrected state when the torque to be corrected state flag bit is activated.
[0169] The correction module 705 is used to: correct the output torque of the motor according to the correction torque when the timing duration of the third timer is less than the second preset duration.
[0170] Optionally, the motor rotation parameters include at least one of the following: motor rotation speed, change in motor rotation position between two adjacent cycles, change in motor rotation speed between two adjacent cycles, and change in motor rotation acceleration between two adjacent cycles.
[0171] Optionally, the first preset threshold and the second preset threshold are positive and negative values with equal absolute values, respectively.
[0172] Regarding the apparatus in the above embodiments, the specific manner in which each module performs its operation has been described in detail in the embodiments related to the method, and will not be elaborated upon here.
[0173] Figure 8 This is a block diagram illustrating an electronic device according to an exemplary embodiment. Figure 8 As shown, the electronic device 800 may include a processor 801 and a memory 802. The electronic device 800 may also include one or more of a multimedia component 803, an input / output (I / O) interface 804, and a communication component 805.
[0174] The processor 801 controls the overall operation of the electronic device 800 to complete all or part of the steps in the aforementioned motor torque control method. The memory 802 stores various types of data to support the operation of the electronic device 800. This data may include, for example, instructions for any application or method operating on the electronic device 800, and application-related data such as contact data, sent and received messages, pictures, audio, video, etc. The memory 802 can be implemented by any type of volatile or non-volatile storage device or a combination thereof, such as Static Random Access Memory (SRAM), Electrically Erasable Programmable Read-Only Memory (EEPROM), Erasable Programmable Read-Only Memory (EPROM), Programmable Read-Only Memory (PROM), Read-Only Memory (ROM), magnetic storage, flash memory, magnetic disk, or optical disk. Multimedia component 803 may include a screen and an audio component. The screen may be, for example, a touchscreen, and the audio component is used to output and / or input audio signals. For example, the audio component may include a microphone for receiving external audio signals. The received audio signals may be further stored in memory 802 or transmitted via communication component 805. The audio component also includes at least one speaker for outputting audio signals. I / O interface 804 provides an interface between processor 801 and other interface modules, such as a keyboard, mouse, buttons, etc. These buttons may be virtual or physical buttons. Communication component 805 is used for wired or wireless communication between the electronic device 800 and other devices. Wireless communication, such as Wi-Fi, Bluetooth, Near Field Communication (NFC), 2G, 3G, 4G, NB-IoT, eMTC, or other 5G technologies, or combinations thereof, is not limited here. Therefore, the corresponding communication component 805 may include: a Wi-Fi module, a Bluetooth module, an NFC module, etc.
[0175] In an exemplary embodiment, the electronic device 800 may be implemented by one or more application-specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field-programmable gate arrays (FPGAs), controllers, microcontrollers, microprocessors, or other electronic components to perform the motor torque control method described above.
[0176] In another exemplary embodiment, a computer-readable storage medium including program instructions is also provided, which, when executed by a processor, implement the steps of the motor torque control method described above. For example, the computer-readable storage medium may be the memory 802 including program instructions described above, which may be executed by the processor 801 of the electronic device 800 to complete the motor torque control method described above.
[0177] In another exemplary embodiment, a computer program product is also provided, the computer program product comprising a computer program executable by a programmable device, the computer program having a code portion for performing the above-described motor torque control method when executed by the programmable device.
[0178] The preferred embodiments of this disclosure have been described in detail above with reference to the accompanying drawings. However, this disclosure is not limited to the specific details of the above embodiments. Within the scope of the technical concept of this disclosure, various simple modifications can be made to the technical solutions of this disclosure, and these simple modifications all fall within the protection scope of this disclosure.
[0179] It should also be noted that the various specific technical features described in the above embodiments can be combined in any suitable manner without contradiction. To avoid unnecessary repetition, this disclosure will not describe the various possible combinations separately.
[0180] Furthermore, various different embodiments of this disclosure can be combined in any way, as long as they do not violate the spirit of this disclosure, they should also be regarded as the content disclosed in this disclosure.
Claims
1. A method for controlling motor torque, characterized in that, The method includes: Obtain motor rotation parameters, which characterize the rotation amplitude of the motor; Based on the motor rotation parameters, it is determined whether the motor rotation state has experienced a first rotation state and a second rotation state within a first preset time period. The first rotation state is used to characterize the rotation state where the motor rotation parameters are greater than or equal to a first preset threshold, and the second rotation state is used to characterize the rotation state where the motor rotation parameters are less than or equal to a second preset threshold. Wherein, the first preset threshold and the second preset threshold are positive and negative values with equal absolute values, respectively. If the motor has experienced both the first rotation state and the second rotation state within the first preset time period, then the current operating state of the motor is determined to be the torque state to be corrected. When the current operating state of the motor is the torque state to be corrected, the corrected torque of the motor is determined; The output torque of the motor is corrected based on the corrected torque.
2. The method according to claim 1, characterized in that, The step of determining whether the motor's rotation state has experienced the first rotation state and the second rotation state within a first preset time period based on the motor rotation parameters includes: The rotation state of the motor is determined based on the motor rotation parameters; When the motor enters the first rotation state, the first timer is reset to zero and then the timing begins. When the duration of the first timer is less than the first preset duration, the rotation state of the motor is determined according to the motor rotation parameters; If the motor's rotation state enters the second rotation state, then it is determined that the motor's rotation state has entered both the first rotation state and the second rotation state within the first preset time period. And / or, The step of determining whether the motor's rotation state has experienced the first rotation state and the second rotation state within a first preset time period based on the motor rotation parameters includes: The rotation state of the motor is determined based on the motor rotation parameters; When the motor enters the second rotation state, the second timer is reset to zero and then starts timing. When the duration of the second timer is less than the first preset duration, the rotation state of the motor is determined according to the motor rotation parameters; If the motor's rotation state is in the first rotation state, then it is determined that the motor's rotation state has experienced both the first rotation state and the second rotation state within a first preset time period.
3. The method according to claim 2, characterized in that, The step of determining whether the motor's rotation state has experienced the first rotation state and the second rotation state within a first preset time period based on the motor rotation parameters further includes: When the motor reaches the first rotation state, the first timer is reset to zero and then starts timing, and the first rotation state flag is updated to be activated. When the duration of the first timer is less than the first preset duration, the first rotation state flag is kept active. When the duration of the first timer is greater than or equal to the first preset duration, the first rotation status flag is updated to inactive; When the motor enters the second rotation state, the second timer is reset to zero and then starts timing, and the second rotation state flag is updated to be active. When the duration of the second timer is less than the first preset duration, the second rotation state flag is kept active. When the duration of the second timer is greater than or equal to the first preset duration, the second rotation status flag is updated to inactive; When both the first rotation state flag and the second rotation state flag are activated, it is determined that the motor has experienced both the first rotation state and the second rotation state within the first preset time period.
4. The method according to any one of claims 1-3, characterized in that, Determining the corrected torque of the motor when the current operating state of the motor is the torque state to be corrected includes: If the current operating state of the motor is determined to be the torque state to be corrected, then the current level of correction of the motor is determined based on the motor rotation parameters within the first preset time period and multiple preset thresholds. Based on the preset correspondence between the level to be corrected and the correction torque, the correction torque of the motor corresponding to the current level to be corrected is determined.
5. The method according to claim 4, characterized in that, The method further includes: Based on the preset correspondence between the correction level and the effective duration, the effective duration corresponding to the current correction level of the motor is determined, and the effective duration is set as the second preset duration. The step of correcting the output torque of the motor according to the corrected torque includes: Based on the corrected torque, the output torque of the motor is corrected within the second preset time period.
6. The method according to claim 1, characterized in that, The step of correcting the output torque of the motor according to the corrected torque includes: Based on the corrected torque, the output torque of the motor is corrected within a second preset time period.
7. The method according to claim 5 or 6, characterized in that, If the motor's rotation state has experienced both the first rotation state and the second rotation state within the first preset time period, then determining the motor's current operating state as a torque state to be corrected includes: If the motor has experienced both the first rotation state and the second rotation state within the first preset time period, the third timer is reset to zero and then starts timing, and the torque state flag to be corrected is updated to be activated. When the duration of the third timer is less than the second preset duration, the flag bit of the torque status to be corrected will remain activated; When the duration of the third timer is greater than or equal to the second preset duration, the torque status flag to be corrected is updated to inactive; When the flag bit for the torque to be corrected is activated, the current operating state of the motor is determined to be the torque to be corrected state. The step of correcting the output torque of the motor according to the corrected torque includes: When the duration of the third timer is less than the second preset duration, the output torque of the motor is corrected according to the correction torque.
8. The method according to claim 1, characterized in that, The motor rotation parameters include at least one of the following: motor rotation speed, change in motor rotation position between two adjacent cycles, change in motor rotation speed between two adjacent cycles, and change in motor rotation acceleration between two adjacent cycles.
9. A motor torque control device, characterized in that, The device includes: The first acquisition module is used to acquire motor rotation parameters, wherein the motor rotation parameters characterize the rotation amplitude of the motor; The first determining module is used to determine, based on the motor rotation parameters, whether the motor rotation state has experienced a first rotation state and a second rotation state within a first preset time period. The first rotation state is used to characterize a rotation state in which the motor rotation parameters are greater than or equal to a first preset threshold, and the second rotation state is used to characterize a rotation state in which the motor rotation parameters are less than or equal to a second preset threshold. The first preset threshold and the second preset threshold are positive and negative values with equal absolute values, respectively. The second determining module is used to determine the current working state of the motor as the torque state to be corrected if the motor's rotation state has experienced both the first rotation state and the second rotation state within the first preset time period. The third determining module is used to determine the corrected torque of the motor when the current operating state of the motor is the torque to be corrected state; The correction module is used to correct the output torque of the motor according to the correction torque.
10. A non-transitory computer-readable storage medium having a computer program stored thereon, characterized in that, When executed by a processor, the program implements the steps of the method described in any one of claims 1-8.
11. An electronic device, characterized in that, include: A memory on which computer programs are stored; A processor for executing the computer program in the memory to implement the steps of the method according to any one of claims 1-8.