Engine combustion torque monitoring method

By monitoring the running time of the engine crankshaft flywheel teeth and filtering them, the engine speed and torque difference are calculated, which solves the problem of identifying engine combustion anomalies and realizes accurate monitoring and timely protection of combustion torque.

CN119102877BActive Publication Date: 2025-09-30DONGFENG MOTOR GRP
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411230632.7
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-09-04
Publication Date
2025-09-30
Estimated Expiration
2044-09-04

AI Technical Summary

Technical Problem

Existing technologies have difficulty effectively identifying whether engine combustion is abnormal, especially when the mixture cannot burn due to ignition, too lean or too rich mixture, low compression stroke pressure, etc., and the engine combustion torque cannot be accurately monitored.

Method used

By reading the running time of each tooth of the engine crankshaft flywheel, correcting the running time, determining the evaluation window, performing filtering processing, calculating the engine speed and torque difference, judging whether the engine combustion torque is abnormal, and setting a reasonable threshold to judge whether the combustion torque is normal.

Benefits of technology

It realizes accurate monitoring of the engine combustion torque under specific conditions, can identify abnormalities in time and protect the engine.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119102877B_ABST
    Figure CN119102877B_ABST
Patent Text Reader

Abstract

The present invention discloses a method for monitoring engine combustion torque, which is executed when a preset engine combustion torque monitoring condition is met; the method includes: reading the running time of each tooth of the engine crankshaft flywheel at a set sampling period, and correcting the running time of each tooth; determining an evaluation window for estimating the engine combustion torque; updating the running time of each tooth when a set misfire diagnosis evaluation time update optimization processing activation condition is met; filtering the running time of each tooth; obtaining the engine speed within the running time of each tooth according to the running time of each tooth after filtering; obtaining the initial value of the torque difference of each tooth according to the engine speed within the running time of each tooth; filtering the initial value of the torque difference of each tooth; calculating the total engine torque change within the evaluation window according to the initial value of the torque difference of each tooth after filtering; and judging whether the engine combustion torque is abnormal according to the total engine torque change.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of engine control, and in particular to a method for monitoring engine combustion torque. Background Art

[0002] Engine combustion produces torque, but if the engine burns abnormally, especially if there is no ignition, the mixture is too lean or too rich, the compression stroke pressure is low, or other reasons, the mixture cannot burn. Summary of the Invention

[0003] The present invention aims to provide a method for monitoring engine combustion torque to identify whether the engine combustion is normal.

[0004] To solve the above technical problems, the present invention provides a technical solution: a method for monitoring engine combustion torque, which is executed when a preset engine combustion torque monitoring condition is met; the method comprises:

[0005] Reading the running time of each tooth of the engine crankshaft flywheel disc at a set sampling period, and correcting the running time of each tooth;

[0006] determining an evaluation window for estimating engine combustion torque; the evaluation window including a starting crankshaft angle and a tooth length;

[0007] When the activation conditions for the set misfire diagnosis evaluation time update optimization process are met, the operating time of each tooth is updated;

[0008] Filter the running time of each tooth;

[0009] The engine speed during the running time of each tooth is obtained according to the running time of each tooth after filtering;

[0010] The initial value of the torque difference of each tooth is obtained according to the engine speed during the operation time of each tooth;

[0011] Filter the initial value of the torque difference of each tooth;

[0012] Calculating the total engine torque variation within the evaluation window based on the initial value of the torque difference of each tooth after filtering;

[0013] Determine whether the engine combustion torque is abnormal based on the change in the total engine torque.

[0014] According to the above solution, the engine combustion torque monitoring conditions include:

[0015] 1) Enter the specified fire diagnosis area;

[0016] 2) No fuel cut-off request;

[0017] 3) The gear position has not changed, and the engine combustion torque monitoring method is executed after a certain delay after the gear position changes;

[0018] 4) The clutch is in a fully engaged state, and the engine combustion torque monitoring method is executed after a certain delay after the clutch is engaged;

[0019] 5) The vehicle is traveling on a flat road;

[0020] 6) The engine water temperature is within the preset range;

[0021] 7) The throttle opening fluctuates within a certain range;

[0022] 8) The engine is in running state;

[0023] When the above conditions are met simultaneously for a certain period of time, it is considered that the engine combustion torque monitoring condition is met; if the engine combustion torque monitoring condition is not met when executing the engine combustion torque monitoring method, the engine combustion torque monitoring method is stopped.

[0024] According to the above solution, the engine crankshaft flywheel is provided with a plurality of teeth, and adjacent first missing teeth and second missing teeth, and the running time of the first missing tooth, the second missing tooth, and the first tooth before the first missing tooth is zero;

[0025] The method for correcting the running time of each tooth is:

[0026] The running time of the first missing tooth, the second missing tooth, and the tooth before the first missing tooth are all set as the average running time; the average running time is the average of the running time of the second tooth before the first missing tooth and the running time of the tooth after the second missing tooth.

[0027] According to the above scheme, the method for determining the evaluation window for estimating the engine combustion torque includes:

[0028] By calibration, we can get f1(n,rho), f2(n,rho), and Cnt ToothArrayLen1 、Cnt ToothArrayLen2 , Cnt ToothArrayLen1 、Cnt ToothArrayLen2 are the first initial tooth length and the second initial tooth length respectively;

[0029] When the catalyst is in non-ignition condition or the ignition condition is completed, Cnt ToothArrayLen =Cnt ToothArrayLen1 ; When the catalyst is ignited, let Cnt ToothArrayLen =Cnt ToothArrayLen2 ; among which Cnt ToothArrayLen is the length of the teeth;

[0030] Determine the starting crankshaft angle:

[0031] phi Start =f1(n,rho)+b CatHeat ×f2(n,rho);

[0032] Among them, phi Start is the starting crankshaft angle, b CatHeat Determined based on the activation state of the catalyst light-off control;

[0033] The running time of each tooth is expressed as t after correction ToothTimes [c],c=0,1,2,...,Cnt ToothArrayLen +3, c represents the tooth number.

[0034] According to the above solution, the method for updating the running time of each tooth includes:

[0035] Set the evaluation time update coefficient;

[0036] Set the counter for updating optimization of misfire diagnosis evaluation time and the initial value of evaluation time update coefficient;

[0037] Determine the counter for optimizing the update of the misfire diagnosis evaluation time and the initial value of the evaluation time update coefficient;

[0038] Determine the evaluation time update coefficient;

[0039] Determines the runtime of each tooth after the update.

[0040] According to the above scheme, the activation conditions of the fire diagnosis evaluation time update optimization process include:

[0041] 1) The engine is in running state;

[0042] 2) All cylinders of the engine are in the fuel cut-off state;

[0043] 3) The engine is not directly involved in driving the vehicle;

[0044] 4) The engine does not experience knock or pre-ignition;

[0045] 5) The running time of each cylinder of the engine within the evaluation window is not 0 for several times;

[0046] 6) The engine has no faults;

[0047] The method for setting the counter for updating and optimizing the misfire diagnosis evaluation time and the initial value of the evaluation time update coefficient includes:

[0048] Set the evaluation time update coefficient to r n [p], p=1,2,...,p max , where rn The subscript n represents the cylinder number of the engine, p represents the evaluation area, and p max is the maximum value of the sequence number of the evaluation area, and the evaluation area is determined according to the engine speed;

[0049] Set the misfire diagnosis evaluation time to update the optimized counter Cnt AdaptCounter , Evaluation time update coefficient initial value r raw [n]; r raw [n] where n is the cylinder number of the engine;

[0050] The method for determining the counter for optimizing the update of the misfire diagnosis evaluation time and the initial value of the evaluation time update coefficient includes:

[0051] If any of the following conditions are met:

[0052] 1) The activation conditions for the fire diagnosis evaluation time update optimization process are not met;

[0053] 2) The evaluation area changes;

[0054] Then Cnt AdaptCounter Reset to 1 and r raw [n] Reset to the power-off storage value n r in [p] n [p real ]; where p real Indicates the current actual evaluation area;

[0055] Otherwise, Cnt is set after each sampling period. AdaptCounter Add one and accumulate r at the same time raw [n]:

[0056]

[0057] In the above formula, r raw [n](z) is the initial value of the evaluation time update coefficient obtained in the previous sampling period,

[0058] n max Indicates the maximum number of cylinders in the engine;

[0059] where t RawSegmentAvg [n] The acquisition method is: first collect the running time T of each cylinder of the engine within the evaluation window for several times n [k], k = 1, 2, 3, ..., m, where the subscript n represents the cylinder number of the engine, k represents the collected running time number, and m represents the number of times the running time of a certain cylinder is collected; then the running time of a certain cylinder of the engine is averaged to obtain the average running time of the cylinder, thereby obtaining the average running time of each cylinder of the engine t RawSegmentAvg[n];

[0060] The method for determining the evaluation time update coefficient includes:

[0061] When Cnt AdaptWeightCounter Greater than the preset number Cnt B1 When the evaluation time is updated for the first time, the flag bit b FirstAdaptDone Set to 1; otherwise, flag bit b FirstAdaptDone Set to 0; where Cnt AdaptWeightCounter Cnt in the current evaluation area AdaptCounter Not less than the preset value Cnt A1 The number of times, Cnt AdaptWeightCounter The accumulation method is: Cnt AdaptWeightCounter The default value is 0. AdaptCounter After reset, the accumulation is restarted, Cnt AdaptCounter Not less than the preset value Cnt A1 After that, Cnt AdaptWeightCounter plus one;

[0062] When b FirstAdaptDone is 0, and Cnt AdaptCounter Not less than the preset value Cnt A1 Only when r is updated n [p]; otherwise when b FirstAdaptDone If it is 0, updating r is not allowed. n [p]; b FirstAdaptDone When r is 0, n The update method of [p] is:

[0063] r n [p] = k AdaptWeight ×r raw [n]+(1-k AdaptWeight )×r n [p](z)

[0064] In the above formula, r n [p](z) is the evaluation time update coefficient of the evaluation area p in the previous sampling period, k AdaptWeight is the set weighting coefficient;

[0065] When b FirstAdaptDone is 1, and Cnt AdaptCounter Not less than the preset value Cnt A2 Only when r is updated n [p],Cnt A2 Not less than Cnt A1 Otherwise, when b FirstAdaptDone When it is 1, updating r is not allowed. n [p]; b FirstAdaptDone When r is 1, nThe update method of [p] is:

[0066] r n [p] = k Adapt ×r raw [n]+(1-k Adapt )×r n [p](z);

[0067] In the above formula, k Adapt is the set weighting coefficient, k Adapt No more than k AdaptWeight ;

[0068] The method for determining the updated running time of each tooth includes:

[0069] When b FirstAdaptDone When it is 0, the running time of each tooth will not be updated;

[0070] When b FirstAdaptDone When it is 1, the updated t ToothTimes [c] is t before update ToothTimes [c] Multiply by r n [p]; At the same time, T n [k] multiplied by r n [p] Get the updated running time T of each cylinder of the engine within the evaluation window n_new [k].

[0071] According to the above solution, the method for filtering the running time of each tooth includes:

[0072] Set the initial filter running time for each tooth ToothTimesFilterRaw [c] is:

[0073] t ToothTimesFilterRaw [c] = r1 × t ToothTimes [c]+r2×t ToothTimes [c-1]+r2×t ToothTimes [c-2]

[0074] In the above formula, when c=0 or 1, t ToothTimesFilterRaw [0] = t ToothTimes [0], t ToothTimesFilterRaw [1] = t ToothTimes [0]; r1+r2+r3=1;

[0075] Determine the final filter run time t for each tooth ToothTimesFilter [c']:

[0076]

[0077] In the above formula, c'=0,1,2,...,CntToothArrayLen +1;

[0078] The method for obtaining the engine speed during the running time of each tooth according to the running time of each tooth after filtering includes:

[0079]

[0080] In the above formula, Indicates the engine speed during the operation time of each tooth, and C1 is the set value.

[0081] According to the above solution, the method for obtaining the initial value of the torque difference of each tooth based on the engine speed during the operation time of each tooth includes:

[0082]

[0083] In the above formula, is the initial value of the torque difference of each tooth, and C2 is the set value;

[0084] The method for filtering the initial value of the torque difference of each tooth includes:

[0085] Determine the initial filtering value of the initial value of the torque difference of each tooth:

[0086]

[0087] In the above formula, when c'=0 or 1, M EstTrqErrFilter [0] = M EstTrqErrRaw [0],

[0088] M EstTrqErrFilter [1]=M EstTrqErrRaw [0];

[0089] Determine the filtered torque difference for each tooth:

[0090]

[0091] In the above formula, c"=0,1,2,...,Cnt ToothArrayLen -1.

[0092] According to the above solution, the method for calculating the total engine torque variation within the evaluation window based on the initial value of the torque difference of each tooth after filtering includes:

[0093] M EstTrqErr Add up the numbers in [c”] to get the total engine torque change M within the evaluation window. TrqDetectDelta .

[0094] According to the above solution, the method for determining whether the engine combustion torque is abnormal based on the change in the total engine torque includes:

[0095] The total engine torque change M TrqDetectDelta Filter to obtain the filtered total engine torque change M TrqSumMeanNew :

[0096] M TrqSumMean =(1-r TrqWeightMean )×M TrqSumMean (z)+r TrqWeightMean ×M TrqDetectDelta

[0097] In the above formula, M TrqSumMean (z) is the filtered total engine torque change in the previous sampling period, r TrqWeightMean is the total torque variation filter coefficient, which is determined by the catalyst light-off activation state;

[0098] Determine the initial value S of the torque characteristic value TrqDetectRaw :

[0099] S TrqDetectRaw =(1-r TrqWeightVar )×S TrqDetectRaw (z)+

[0100] r TrqWeightVar ×(M TrqDetectDelta -M TrqSumMeanNew ) 2

[0101] In the above formula, S TrqDetectRaw (z) is the initial value of the torque characteristic value in the previous sampling period, r TrqWeightVar is the initial filter coefficient of the torque characteristic value; r TrqWeightVar satisfy:

[0102] r TrqWeightVar =(1-k TrqWeightVar )×r TrqWeightVar (z)+

[0103] k TrqWeightVar ×(r TrqWeightGain ×b TrqDetectErr (z)+r TrqWeightInc )

[0104] In the above formula, r TrqWeightVar (z) is the initial filter coefficient of the torque characteristic value in the previous sampling period, k TrqWeightVar is the update coefficient, r TrqWeightInc is the cumulative coefficient, k TrqWeightVar 、r TrqWeightInc All are determined by the catalyst light-off activation state, b TrqDetectErr (z) is b in the previous sampling period TrqDetectErr , b TrqDetectErrIs the engine combustion torque abnormal flag bit, if the engine combustion torque is abnormal, b TrqDetectErr Take 1, otherwise take 0;

[0105] Filter the initial value of the torque characteristic value:

[0106] S TrqDetect =(1-r TrqWeightVarFilt )×S TrqDetect (z)+r TrqWeightVar ×S TrqDetectRaw

[0107] In the above formula, S TrqDetect is the torque characteristic value after filtering, r TrqWeightVarFilt is the filter coefficient of the torque characteristic value after filtering, which is determined by the catalyst light-off activation state;

[0108] Determine the combustion torque abnormality judgment lower limit value M TrqBoundLower :

[0109]

[0110] In the above formula, k BunndLower is the lower limit deviation coefficient, which is determined by the catalyst light-off activation state;

[0111] Determine the torque deviation M ErrEst :

[0112] M ErrEst =M TrqDetectDelta -M TrqBoundLower

[0113] Determine whether the engine combustion torque is normal:

[0114] If M ErrEst <M ErrThresh , it is judged that the engine combustion torque is abnormal, b TrqDetectErr Set to 1, otherwise it is judged that the engine combustion torque is not abnormal, b TrqDetectErr Set to 0; where M ErrThresh The combustion torque deviation limit is determined by the catalyst light-off activation state;

[0115] When the engine combustion torque is abnormal, read which cylinder is in the power stroke under the corresponding evaluation window to determine whether the cylinder has a combustion abnormality.

[0116] The beneficial effects of the present invention are as follows: when the combustion judgment conditions are met, by continuously estimating the operating time of each tooth of the engine, and the operating parameters are continuously updated, and a reasonable window for combustion judgment is selected, by estimating its speed and torque increment, and estimating the torque increment within the entire window, by designing a reasonable threshold setting method, it is possible to check whether the engine combustion torque is normal, and output a flag when the engine combustion torque is abnormal, thereby protecting the engine in time. BRIEF DESCRIPTION OF THE DRAWINGS

[0117] Figure 1 is a flow chart of a method for monitoring engine combustion torque according to a first embodiment of the present invention;

[0118] Figure 2 1 is a process diagram of an engine combustion torque monitoring method according to a first embodiment of the present invention. DETAILED DESCRIPTION

[0119] To make the purpose, technical solutions, and advantages of the embodiments of the present disclosure more clear, the technical solutions of the embodiments of the present disclosure will be clearly and completely described below in conjunction with the accompanying drawings of the embodiments of the present disclosure. Obviously, the described embodiments are part of the embodiments of the present disclosure, not all of the embodiments. Based on the described embodiments of the present disclosure, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present disclosure.

[0120] Example 1:

[0121] This embodiment discloses a method for monitoring engine combustion torque. When a preset engine combustion torque monitoring condition is met, the method is executed. The method includes the following steps:

[0122] S1. Read the running time of each tooth of the engine crankshaft flywheel at a set sampling period, and correct the running time of each tooth.

[0123] In a preferred embodiment of the present invention, the engine combustion torque monitoring conditions include:

[0124] 1) Entering the fire diagnosis area specified in the regulations; the regulations are the relevant provisions of the National Emission Standards for Light-Duty Vehicle Pollutant Emission Limits and Measurement Methods (China Stage VI) (GB18352.6-2016);

[0125] 2) No fuel cut-off request;

[0126] 3) The gear position has not changed, and after the gear position has changed, the engine combustion torque monitoring method is executed after a certain delay (0.1s in this embodiment);

[0127] 4) The clutch is in a fully engaged state, and the engine combustion torque monitoring method is executed after a certain delay (1 second in this embodiment) after the clutch is engaged;

[0128] 5) The vehicle is traveling on a flat road;

[0129] 6) The engine water temperature is within a preset range (greater than -6 degrees Celsius in this embodiment);

[0130] 7) The throttle opening fluctuates within a certain range (in this embodiment, the difference between the maximum and minimum throttle openings within 0.1 s is less than 15%);

[0131] 8) The engine is in running state;

[0132] It should be understood that after the above conditions are met for a certain period of time, the engine torque performance monitoring can be performed. When the above conditions are not met, the vehicle's operating conditions may cause misjudgment of the engine torque performance monitoring.

[0133] If the enabling condition is not met during the diagnosis process, the diagnosis is terminated and the engine torque performance monitoring is performed after the next diagnosis condition is met.

[0134] In a preferred embodiment of the present invention, the engine crankshaft flywheel has 58 teeth plus two missing teeth. The operating time of each tooth of the engine crankshaft flywheel refers to the time required for the engine flywheel to move from the current tooth to the next tooth during operation. The time between the rising edge of the current tooth and the rising edge of the next tooth can be calculated. It should be understood that because there are two missing teeth, the default operating time of each tooth is 0, which will cause the operating time of a total of three teeth (the first tooth before the missing tooth and the second missing tooth) to be 0. However, the tooth operating time is an important parameter and may lead to misjudgment of the engine torque performance monitoring results. Therefore, it is necessary to optimize the operating time of the three teeth by taking the average of the operating time of the tooth before the three teeth (i.e., the second tooth before the missing tooth) and the operating time of the first tooth after the second missing tooth.

[0135] S2. Determine an evaluation window for estimating engine combustion torque; the evaluation window includes a starting crankshaft angle and a tooth length.

[0136] In a preferred embodiment of the present invention, the starting crankshaft angle phi Start The method for determining phi is: Start =f1(n,rho)+b CatHeat ×f2(n,rho), where b CatHeat =1, otherwise 0. Considering the catalyst ignition on the starting crankshaft angle phi StartThe reason is that the engine ignition angle efficiency is too low during the catalyst ignition process, resulting in too little engine combustion torque. It is necessary to increase the evaluation window to assess whether the engine combustion is normal or not. f1(n,rho) and f2(n,rho) are determined by the engine speed and the density of the fresh air entering the cylinder respectively. The specific parameters are calibrated on the engine test bench. First, after the catalyst ignition is completed, f1(n,rho) and Cnt are calibrated. ToothArrayLen1 , and then calibrate f2(n,rho) and Cnt during the catalyst light-off process ToothArrayLen2 The specific calibration method is determined based on the following: the evaluation window and the torque estimation method described below ensure that the difference between normal and abnormal engine combustion torque is most obvious. If it is not obvious, the calibration is appropriately adjusted to see if the difference can be optimized. If not, the calibration is not adjusted and improvement is achieved by optimizing the torque performance monitoring method. In this embodiment, the difference between normal and abnormal engine combustion torque is divided by the average value of the ratio of the normal combustion torque. If the resulting value exceeds 20%, the difference between normal and abnormal engine combustion torque is considered to meet the requirement.

[0137] Starting crankshaft angle phi Start The running time of each tooth from the first tooth to the subsequent continuous tooth length is represented by array t ToothTimes [0,1,2,...,Cnt ToothArrayLen +3], where array t ToothTimes [0,1,2,...,Cnt ToothArrayLen +3] is the running time of the first tooth, and the Cnt ToothArrayLen +3 is the Cnt ToothArrayLen +4 teeth running time. It should be noted here that the specific calculation of the running time of more than 4 teeth beyond the evaluation window is mainly used for the subsequent torque performance monitoring filter algorithm.

[0138] Among them, when the catalyst is not in the ignition state or the ignition state is completed, Cnt ToothArrayLen =Cnt ToothArrayLen1 ; During the catalytic converter ignition condition, Cnt ToothArrayLen =Cnt ToothArrayLen2 .

[0139] S3. When the set activation conditions for the misfire diagnosis evaluation time update optimization process are met, the operating time of each tooth is updated.

[0140] In a preferred embodiment of the present invention, the activation conditions for the optimization process of updating the misfire diagnosis evaluation time (primarily when all cylinders of the engine request fuel cutoff, when the engine is running and the evaluation time is learned and updated during vehicle coasting) are as follows:

[0141] 1) The engine is in running state;

[0142] 2) All cylinders of the engine are in the fuel cut-off state;

[0143] 3) The engine is not directly involved in driving the vehicle, that is, the engine is not connected to the transmission system;

[0144] 4) The engine does not experience knock or pre-ignition;

[0145] 5) The running time of each cylinder of the engine within the evaluation window is not zero for several times, that is, the A+1 running time of each cylinder calculated in the first step is not zero;

[0146] 6) The engine has no faults;

[0147] In a preferred embodiment of the present invention, the update checking period of the activation condition of the misfire diagnosis evaluation time update optimization process is 10 ms.

[0148] If all of the above conditions are met, steps S301 to S305 are performed. Otherwise, the running time of each tooth is not updated, and steps S4 to S9 are performed directly. It should be noted that after entering step S301, the update period (sampling period) is 180 crankshaft rotations. For each cylinder, the sampling period is from 80 crankshaft angles after compression top dead center to 260 crankshaft angles after compression top dead center.

[0149] Steps S301 to S305 specifically include:

[0150] S301. Set the evaluation time update coefficient.

[0151] It should be understood that this step is to store the evaluation time update coefficient in different areas, and the area division depends on the engine speed, that is, the storage address of the update coefficient is different at different engine speeds. n [0,1,2,...], which is saved after the vehicle is powered off, and its initial value is 1. Among them, r1[0,1,2,...] is the evaluation time update coefficient of cylinder 1. In this example, 10 regions are divided according to engine speed. Therefore, the evaluation time update coefficient of cylinder 1 is r1[0,1,2,...,9] in this example, and the same applies to other cylinders. Specifically, in this example, the 10 regions are divided according to engine speed as follows:

[0152]

[0153] Among them, if the engine speed is 750 rpm or less, the evaluation area is 0; if the engine speed is greater than 750 rpm and not less than 1000 rpm, the evaluation area is 1; and so on.

[0154] S302 : Setting a counter for updating and optimizing the misfire diagnosis evaluation time and an initial value of an evaluation time update coefficient.

[0155] In a preferred embodiment of the present invention, the counter for updating and optimizing the misfire diagnosis evaluation time is set to Cnt AdaptCounter , the initial value of the evaluation time update coefficient is set to r raw [0,1,2,3].

[0156] If any of the following conditions are met, Cnt AdaptCounter Reset to 1 and update the evaluation time coefficient to its initial value r raw [0,1,2,3](where r raw [0] is the initial value of the evaluation time update coefficient of the first cylinder, and so on) is reset to the update coefficient r1[0,1,2,...,9] stored at power-off, which is the same as the update coefficient of the current actual evaluation area:

[0157] 1) The activation conditions for the fire diagnosis evaluation time update optimization process are not met;

[0158] 2) The evaluation area changes.

[0159] If the above two conditions are not met, Cnt AdaptCounter Add 1 and accumulate the evaluation time to update the initial value r of the coefficient raw [0,1,2,3], the accumulation method is as follows, taking the first cylinder as an example, the other cylinders are the same:

[0160] where r raw [0](z) is the initial value of the cumulative evaluation time update coefficient obtained in the previous sampling period,

[0161] That is the average running time of all cylinders.

[0162] In the above formula, t RawSegmentAvg [n] The acquisition method is: first collect the running time T of each cylinder of the engine within the evaluation window n [k], k = 1, 2, 3, .., .m, where the subscript n represents the cylinder number of the engine, k represents the collected running time number, and m represents the number of times the running time of a certain cylinder is collected; then the running time of the corresponding same cylinder is averaged over the previous A times (in this example, A is 9) and the total running time within A+1 times (in this example, 10 times) is averaged. Since the number of cylinders in this example is 4, for the sake of ease of description, the following examples are all based on a 4-cylinder engine. The method is the same for engines with other cylinder numbers. Then the running time of a certain cylinder of the engine is averaged over A+1 times to obtain the running time average of the cylinder, and the running time average of each cylinder of the engine is obtained.RawSegmentAvg [n],t RawSegmentAvg [0] is the average time of the first cylinder, and so on.

[0163] It is important to note that the default initial value of the previous A run times is 0. The run time update period (sampling period) is 180 degrees of crankshaft rotation, and each cylinder is from 80 degrees of crankshaft angle after the compression top dead center of each cylinder to 260 degrees after the compression top dead center of its corresponding cylinder.

[0164] Where T n The method for obtaining [k] can refer to the patent CN202010204064.9 "A gasoline engine misfire monitoring method", which proposes to calculate the engine's running time within a certain crankshaft angle range near the compression top dead center of each cylinder and store it in an array. n [0,1,2,3…].

[0165] S303: Determine a counter for updating and optimizing the misfire diagnosis evaluation time and an initial value of an evaluation time update coefficient.

[0166] The evaluation time update coefficient is set to r n [0,1,2,...,9], whichever bit in the evaluation time update coefficient array is stored according to the current evaluation area.

[0167] First, we determine whether the evaluation time for the current evaluation area has completed its first update. If the first update has not yet completed, we use a weighted approach to accumulate the evaluation time. This is designed to prevent the learning parameters from being unstable when the first update is not completed, making the weighted approach more stable and accurate.

[0168] If the misfire diagnosis evaluation time in the current evaluation area is updated, the optimized counter Cnt AdaptCounter Not less than the preset value Cnt A1 (This example takes 5) the number of times Cnt AdaptWeightCounter Greater than the preset number Cnt B1 (3 in this example), the evaluation time is updated for the first time, that is, the flag bit b FirstAdaptDone is 1; otherwise, flag bit b FirstAdaptDone is 0.

[0169] Among them, the number of times Cnt AdaptWeightCounter The update accumulation method is, its default value is 0, in the counter Cnt AdaptCounter After reset, re-accumulate and update the optimized counter Cnt AdaptCounter Not less than the preset value Cnt A1 After that, the counter Cnt AdaptWeightCounter Add 1. That is, each time the counter Cnt AdaptCounter After reset, CntAdaptCounter Update at most once.

[0170] It should be noted that the number Cnt AdaptWeightCounter and flag bit b FirstAdaptDone It will be saved after the vehicle is powered off, and its default value is 0.

[0171] S304: Determine the evaluation time update coefficient.

[0172] In a preferred embodiment of the present invention, the flag bit b FirstAdaptDone When it is 0, the counter Cnt of the optimization of misfire diagnosis evaluation time update is AdaptCounter Not less than the preset value Cnt A1 Only when the evaluation time update coefficient r is updated is it allowed to update n [0,1,2,...,9]. Otherwise, in the flag bit b FirstAdaptDone When it is 0, the evaluation time update coefficient r is not allowed to be updated n [0,1,2,...,9]. In the flag bit b FirstAdaptDone When it is 0, the counter Cnt of the optimization of misfire diagnosis evaluation time update is AdaptCounter Not less than the preset value Cnt A1 When the evaluation time update coefficient r is updated n The update method for [0,1,2,...,9] is: Assume that the current evaluation area is 0. If it is in other evaluation areas, the update method is similar. Update the update coefficient r under the current evaluation area n

[0173] r n [0] = k AdaptWeight ×r raw [n]+(1-k AdaptWeight )×r n [0](z)

[0174] Among them, r raw [n] is the initial value of the evaluation time update coefficient r raw The value of the n+1th cylinder in [0,1,2,3], r n [0](z) is the update coefficient of the evaluation area 0 in the previous sampling period (i.e., the evaluation time update coefficient r n [0,1,2,...,9] when the evaluation area is 0 n [0], the default value for the first time is described above. )k AdaptWeight is the weighting coefficient, which is 0.15 in this example.

[0175] Based on the above rules, it is possible to determine the update coefficient r if the current evaluation area is in other areas n , which forms r n[0,1,2,...,9].

[0176] In a preferred embodiment of the present invention, the flag bit b FirstAdaptDone When it is 1, the counter Cnt of the optimization of misfire diagnosis evaluation time update is AdaptCounter Not less than the preset value Cnt A2 Time (where Cnt A2 Not less than Cnt A1 The main purpose is to make the evaluation time more stable and the update speed can be slower. In this example, 16) is used to allow the evaluation time update coefficient r to be updated. n [0,1,2,...,9]. Otherwise, in the flag bit b FirstAdaptDone When it is 1, the evaluation time update coefficient r is not allowed to be updated n [0,1,2,...,9]. In the flag bit b FirstAdaptDone When it is 1, the counter Cnt of the optimization of misfire diagnosis evaluation time update is AdaptCounter Not less than the preset value Cnt A2 When the evaluation time update coefficient r is updated n The update method for [0,1,2,...,9] is:

[0177] Assume that the current evaluation area is 0. If it is in other evaluation areas, the update method is similar. Update the update coefficient r under the current evaluation area n

[0178] r n [0] = k Adapt ×r raw [n]+(1-k Adapt )×r n [0](z)

[0179] Among them, r raw [n] is the initial value of the evaluation time update coefficient r raw The value of the N+1th cylinder in [0,1,2,3], r n [0](z) is the update coefficient of the evaluation area 0 in the previous sampling period (i.e., the evaluation time update coefficient r n [0,1,2,...,9] when the evaluation area is 0 n [0], the default value for the first time is described above. )k Adapt is the weighting coefficient, k Adapt No more than k AdaptWeight , k Adapt In this example, 0.005 is used.

[0180] Based on the above rules, we can determine the update coefficient r if the current evaluation area is in other areas. n , which forms rn [0,1,2,...,9].

[0181] S305: Determine the updated running time of each tooth.

[0182] Specifically, in the flag bit b FirstAdaptDone When t is 0, ToothTimes [0,1,2,...,Cnt ToothArrayLen +3] is the final running time t of each tooth ToothTimes [0,1,2,...,Cnt ToothArrayLen +3]

[0183] In the flag bit b FirstAdaptDone When T is 1, n [0,1,2,3…] multiplied by the update coefficient r n [0,1,2,...,9] The value in the current evaluation area is the final evaluation time T for misfire diagnosis n-New [0,1,2,3…]. Assuming the evaluation area is 0, the final evaluation time for misfire diagnosis is obtained:

[0184] t ToothTimes [0,1,2,...,Cnt ToothArrayLen +3]=t ToothTimes [0,1,2,...,Cnt ToothArrayLen +3]*r n [0,1,2,...,9], used for misfire evaluation of each cylinder.

[0185] S4. Filter the running time of each tooth.

[0186] This step is for the running time t of each tooth ToothTimes [0,1,2,...,Cnt ToothArrayLen +3] to filter and output the filter running time t of each tooth ToothTimesFilter [0,1,2,...,Cnt ToothArrayLen +1].

[0187] It should be understood that this step primarily addresses the issue of flywheel tooth design deviations and crankshaft position sensor accuracy, which can lead to significant glitches in the running time of individual teeth. These glitches need to be removed for engine torque performance monitoring, thereby improving the accuracy of torque performance monitoring. Furthermore, after filtering, only the running times of the two teeth that fall outside the evaluation window after filtering need to be calculated.

[0188] This step specifically includes the following steps:

[0189] S401, set the initial value of the filter time for calculating the running time of each tooth

[0190] t ToothTimesFilterRaw [N] = r1 × t ToothTimes [N]+r2×t ToothTimes [N-1]+r2×t ToothTimes [N-2]

[0191] N is the array t in ToothTimes [0,1,2,...,Cnt ToothArrayLen +3] in the Nth sequence number. In particular, when N = 0 or 1, t ToothTimesFilterRaw [0] = t ToothTimes [0], t ToothTimesFilterRaw [1] = t ToothTimes [0]

[0192] Here, r1, r2, and r3 add up to 1. This determination method, along with the torque estimation method described later, ensures the most obvious difference between normal and abnormal engine combustion torque. If the difference is not obvious, adjust the calibration appropriately to see if it can be improved. If not, do not adjust these calibrations and optimize the torque performance monitoring method to improve the result. In this example, the values ​​are 0.1708, 0.8821, and -0.0529, respectively.

[0193] S402, based on this, determine N = 0, 1, 2, ..., Cnt ToothArrayLen +3 initial filter time, and the final filter running time t ToothTimesFilter [N] = t ToothTimesFilterRaw [N+2], after forming the array, becomes

[0194]

[0195] S5. Obtain the engine speed during the running time of each tooth according to the running time of each tooth after filtering:

[0196]

[0197] S6. Obtaining an initial value of the torque difference of each tooth according to the engine speed during the operation time of each tooth.

[0198] In a preferred embodiment of the present invention, the initial value of the torque difference between each tooth is expressed as

[0199] M EstTrqErrRaw [0,1,2,...,Cnt ToothArrayLen +1]. It should be understood that the engine torque difference refers to the difference in engine torque change from the start of the current tooth operation to the end of the next tooth operation. If it is a negative value, the engine torque is increasing, and if it is a positive value, the engine torque is decreasing.

[0200] This step includes:

[0201]

[0202] In the above formula, C2 is taken as 3000Nm / (rpm) in this example. 2 .

[0203] S7. Filter the initial value of the torque difference of each tooth.

[0204] It should be understood that the purpose of this step is mainly to remove torque signal glitches, thereby improving the accuracy of torque performance monitoring.

[0205] This step includes the following steps:

[0206] S701: Filtering initial value of initial value of torque difference of each tooth

[0207] M EstTrqErrFilter [N] = r1 × M EstTrqErrRaw [N]+r2×M EstTrqErrRaw [N-1]+r2×M EstTrqErrRaw [N-2]

[0208] In particular, when N=0 or 1, M EstTrqErrFilter [0] = M EstTrqErrRaw [0],M EstTrqErrFilter [1]=M EstTrqErrRaw [0].

[0209] S702: Based on this, N=0, 1, 2, ..., Cnt ToothArrayLen +3 is the initial value of the filtered torque difference of each tooth, and the final filtered torque difference M EstTrqErr [N]=M EstTrqErrFilter [N+2], after forming the array, becomes M EstTrqErr [0,1,2,...,Cnt ToothArrayLen -1].

[0210] S8. Calculate the total engine torque variation within the evaluation window based on the initial value of the torque difference of each tooth after filtering.

[0211] In the preferred embodiment of the present invention, the total engine torque variation is expressed as M TrqDetectDelta This step specifically involves converting M EstTrqErr [0,1,2,...,Cnt ToothArrayLen It should be noted that in this embodiment, the non-negative and negative numbers are added separately and then the two sums are added to obtain the final total torque change M. TrqDetectDelta The purpose of this is to ensure the accuracy of the accumulation algorithm. If integers and negative numbers are added, some data precision will be lost during the code operation, resulting in a loss of precision in the calculation results.

[0212] S9. Determine whether the engine combustion torque is abnormal based on the change in the total engine torque.

[0213] This step includes the following steps:

[0214] S901, total torque change M TrqDetectDelta Filter to obtain the total torque change M after filtering TrqSumMean New :M TrqSumMeanNew =(1-r TrqWeightMean )×M TrqSumMean (z)+r TrqWeightMean ×M TrqDetectDelta

[0215] Among them, M TrqSumMean (z) is the total torque change after filtering in the previous sampling period (especially, its initial default value is 0), and its sampling update period is 180 degrees crankshaft angle, that is, from the starting crankshaft angle phi Start At the beginning, the sampling calculation is performed again after the crankshaft rotates 180 degrees. Among them, the total torque change filter coefficient r TrqWeightMean In this example, the value is 0.05 when the catalyst is activated by light-off, and is 0.1 when the catalyst is not activated by light-off.

[0216] S902, calculating the initial value S of the torque characteristic value used to evaluate whether the combustion torque is abnormal TrqDetectRaw :

[0217] S TrqDetectRaw =(1-r TrqWeightVar )×S TrqDetectRaw (z)+r TrqWeightVar ×(M TrqDetectDelta -M TrqSumMeanNew ) 2

[0218] Among them S TrqDetectRaw (z) is the initial value of the torque characteristic value of the previous sampling period (especially, its first default value is 0), and its sampling update period is defined in the same way as the sampling period described above. TrqWeightVar :

[0219] r TrqWeightVar =(1-k TrqWeightVar )×r TrqWeightVar (z)+

[0220] k TrqWeightVar ×(r TrqWeightGain ×b TrqDetectErr (z)+r TrqWeightInc )

[0221] Among them, r TrqWeightVar(z) is the initial value filter coefficient of the torque characteristic value in the previous sampling period. Its sampling update period is defined in the same way as the sampling period described above. Its initial default value is 0.15. The update coefficient k TrqWeightVar In this example, the gain coefficient is 0.65 when the catalyst is activated and 0.7 when the catalyst is not activated. TrqWeightGain In this example, when the catalyst is activated, it is 0.01, and when the catalyst is not activated, it is 0.012. The cumulative coefficient r TrqWeightInc In this example, the value is 0.17 when the catalyst is activated and 0.1 when the catalyst is not activated. TrqDetectErr (z) is the flag indicating whether the engine combustion torque is abnormal in the previous sampling period. If it is abnormal, it is set to 1; if it is not abnormal, it is set to 0.

[0222] S903, the initial value of the torque characteristic value S TrqDetectRaw Filter and obtain the filtered torque characteristic value S TrqDetect

[0223] S TrqDetect =(1-r TrqWeightVarFilt )×S TrqDetect (z)+r TrqWeightVar ×S TrqDetectRaw

[0224] Among them, S TrqDetect (z) is the total torque change after filtering in the previous sampling period (especially, its initial default value is 0), and its sampling update period is defined in the same way as the sampling period described above. TrqWeightVarFilt In this example, the value is 0.3 when the catalyst is activated by light-off, and 0.15 when the catalyst is not activated by light-off.

[0225] S904: Determine the combustion torque abnormality judgment lower limit value M TrqBoundLower

[0226]

[0227] where k BunndLower is the lower limit deviation coefficient, k BunndLower In this example, the value is 1.8 when the catalyst is activated by light-off, and 2.3 when the catalyst is not activated by light-off.

[0228] S905: Calculate the torque deviation M used to determine whether the engine combustion torque is abnormal. ErrEst

[0229] M ErrEst =M TrqDetectDelta -M TrqBoundLower .

[0230] S906: Determine whether the engine combustion torque is normal

[0231] If it appears, M ErrEst <M ErrThresh , combustion torque deviation limit M ErrThresh In this example, the speed is -0.8 Nm when the catalyst is activated and -1.2 Nm when the catalyst is not activated. TrqDetectErr Set to 1, the engine combustion torque is abnormal;

[0232] Otherwise b TrqDetectErr It is 0, and there is no abnormality in the engine combustion torque.

[0233] S907: Determine which cylinder of the engine has combustion abnormality.

[0234] If b TrqDetectErr If set to 1, it will read which cylinder is in the power stroke under the corresponding evaluation window, indicating that the corresponding cylinder has a combustion abnormality.

[0235] Example 2:

[0236] This embodiment provides a computer device, including a memory, a processor, and a computer program stored in the memory and executable on the processor. When the processor executes the computer program, the steps of the above-mentioned engine combustion torque monitoring method are implemented.

[0237] Example 3:

[0238] This embodiment provides a computer-readable storage medium having a computer program stored thereon. When the computer program is executed by a processor, the steps of the above-mentioned engine combustion torque monitoring method are implemented.

[0239] The above descriptions are merely embodiments of the present invention and are not intended to limit the patent scope of the present invention. Any equivalent structure or equivalent process transformation made using the contents of the present invention description and drawings, or directly or indirectly applied in other related technical fields, are also included in the patent protection scope of the present invention.

Claims

1. A method for monitoring engine combustion torque, characterized in that: When a preset engine combustion torque monitoring condition is met, the method is executed; the method includes: Reading the running time of each tooth of the engine crankshaft flywheel disc at a set sampling period, and correcting the running time of each tooth; determining an evaluation window for estimating engine combustion torque; the evaluation window including a starting crankshaft angle and a tooth length; When the activation conditions for the set misfire diagnosis evaluation time update optimization process are met, the operating time of each tooth is updated; Filter the running time of each tooth; The engine speed during the running time of each tooth is obtained according to the running time of each tooth after filtering; The initial value of the torque difference of each tooth is obtained according to the engine speed during the operation time of each tooth; Filter the initial value of the torque difference of each tooth; Calculating the total engine torque variation within the evaluation window based on the initial value of the torque difference of each tooth after filtering; Judging whether the engine combustion torque is abnormal based on the change in the total engine torque; The engine crankshaft flywheel is provided with a plurality of teeth, and a first missing tooth and a second missing tooth adjacent to each other, and the running time of the first missing tooth, the second missing tooth, and the tooth before the first missing tooth is zero; The method for correcting the running time of each tooth is: The running time of the first missing tooth, the second missing tooth, and the tooth before the first missing tooth are all set as the average running time; the average running time is the average of the running time of the second tooth before the first missing tooth and the running time of the first tooth after the second missing tooth; Among them, the running time of the teeth of the engine crankshaft flywheel is the time between the rising edge of the current tooth and the rising edge of the next tooth; for two missing teeth and the first tooth before the missing tooth, the running time of each tooth is taken as the average of the running time of the tooth before these three teeth and the running time of the first tooth after the second missing tooth.

2. The engine combustion torque monitoring method according to claim 1, characterized in that: The engine combustion torque monitoring conditions include: 1) Enter the designated fire diagnosis area; 2) No fuel cut-off request; 3) The gear position has not changed, and the engine combustion torque monitoring method is executed after a certain delay after the gear position changes; 4) The clutch is in a fully engaged state, and the engine combustion torque monitoring method is executed after a certain delay after the clutch is engaged; 5) The vehicle is traveling on a flat road; 6) The engine water temperature is within the preset range; 7) The throttle opening fluctuates within a certain range; 8) The engine is in running state; When the above conditions are met simultaneously for a certain period of time, it is considered that the engine combustion torque monitoring condition is met; if the engine combustion torque monitoring condition is not met when executing the engine combustion torque monitoring method, the engine combustion torque monitoring method is stopped.

3. The engine combustion torque monitoring method according to claim 1, characterized in that: The method for determining an evaluation window for estimating engine combustion torque includes: Obtained through calibration 、 、 、 ; where n and rho are the engine speed and the density of fresh air entering the cylinder respectively, 、 are the first initial tooth length and the second initial tooth length respectively; When the catalyst is not in the ignition state or the ignition state is completed, ; When the catalyst is ignited, ;in is the length of the teeth; Determine the starting crankshaft angle: ; in, is the starting crankshaft angle, Determined based on the activation state of the catalyst light-off control; The running time of each tooth is expressed as ,c=0,1,2,..., , c represents the tooth number.

4. The engine combustion torque monitoring method according to claim 3, characterized in that: The method for updating the running time of each tooth includes: Set the evaluation time update coefficient; Set the counter for updating optimization of misfire diagnosis evaluation time and the initial value of evaluation time update coefficient; Determine the counter for optimizing the update of the misfire diagnosis evaluation time and the initial value of the evaluation time update coefficient; Determine the evaluation time update coefficient; Determines the runtime of each tooth after the update.

5. The engine combustion torque monitoring method according to claim 4, characterized in that: The activation conditions for the fire diagnosis evaluation time update optimization process include: 1) The engine is in running state; 2) All cylinders of the engine are in the fuel cut-off state; 3) The engine is not directly involved in driving the vehicle; 4) The engine does not experience knock or pre-ignition; 5) The running time of each cylinder of the engine within the evaluation window is not 0 for several times; 6) The engine has no faults; The method for setting the counter for updating and optimizing the misfire diagnosis evaluation time and the initial value of the evaluation time update coefficient includes: Set the evaluation time update coefficient to ,p=1,2,..., ,in The subscript n represents the cylinder number of the engine, and p represents the evaluation area. is the maximum value of the sequence number of the evaluation area, and the evaluation area is determined according to the engine speed; Set the counter for misfire diagnosis evaluation time update optimization , initial value of evaluation time update coefficient ; Where n is the cylinder number of the engine; The method for determining the counter for optimizing the update of the misfire diagnosis evaluation time and the initial value of the evaluation time update coefficient includes: If any of the following conditions are met: 1) The activation conditions for the fire diagnosis evaluation time update optimization process are not met; 2) Changes in the evaluation area; Then Reset to 1 and Reset to power-off storage in ;in Indicates the current actual evaluation area; Otherwise, after each sampling period Add one and accumulate at the same time : In the above formula, is the initial value of the evaluation time update coefficient obtained in the previous sampling period, , Indicates the maximum number of cylinders in the engine; in The acquisition method is: first collect the running time of each cylinder of the engine within the evaluation window several times , k=1,2,3,..,.m, where subscript n represents the cylinder number of the engine, k represents the collected running time number, and m represents the number of times the running time of a certain cylinder is collected; then the running time of a certain cylinder of the engine is averaged to obtain the average running time of the cylinder, thereby obtaining the average running time of each cylinder of the engine ; The method for determining the evaluation time update coefficient includes: when Greater than the preset number of times When the evaluation time is updated for the first time, the flag is Set to 1; otherwise, the flag Set to 0; For the current evaluation area Not less than the preset value The number of times, The accumulation method is: The default value is 0. After reset, the accumulation is restarted. Not less than the preset value back, plus one; when is 0, and Not less than the preset value Updates are allowed only when Otherwise, when If it is 0, update is not allowed. ; When it is 0, The update method is: In the above formula, is the evaluation time update coefficient of the evaluation area p in the previous sampling period, is the set weighting coefficient; when is 1, and Not less than the preset value Updates are allowed only when , Not less than Otherwise, when When set to 1, updates are not allowed. ; When 1, The update method is: ; In the above formula, is the set weighting coefficient, No more than ; The method for determining the updated running time of each tooth includes: when When it is 0, the running time of each tooth is not updated; when When it is 1, the updated Before the update Multiply At the same time, Multiply Get the updated running time of each cylinder of the engine within the evaluation window .

6. The engine combustion torque monitoring method according to claim 5, characterized in that: The method for filtering the running time of each tooth includes: Set the initial filter running time for each tooth for: In the above formula, when c=0 or 1, it satisfies , ; ; Determine the final filter run time for each tooth : ; In the above formula, ; The method for obtaining the engine speed during the running time of each tooth according to the running time of each tooth after filtering includes: In the above formula, Indicates the engine speed during the running time of each tooth, and C1 is the set value.

7. The engine combustion torque monitoring method according to claim 6, characterized in that: The method for obtaining the initial value of the torque difference of each tooth according to the engine speed during the operation time of each tooth includes: In the above formula, is the initial value of the torque difference of each tooth, and C2 is the set value; The method for filtering the initial value of the torque difference of each tooth includes: Determine the initial filtering value of the initial value of the torque difference of each tooth: In the above formula, when =0 or 1, satisfy , ; Determine the filtered torque difference for each tooth: In the above formula, .

8. The engine combustion torque monitoring method according to claim 7, characterized in that: The method for calculating the total engine torque variation within the evaluation window based on the initial value of the torque difference of each tooth after filtering includes: Will Add up the numbers in the equation to get the total engine torque change within the evaluation window. .

9. The engine combustion torque monitoring method according to claim 8, characterized in that: The method for determining whether the engine combustion torque is abnormal based on the change in the total engine torque includes: Change in total engine torque Filter to obtain the filtered total engine torque change : In the above formula, is the filtered total engine torque change in the previous sampling period, is the total torque variation filter coefficient, which is determined by the catalyst light-off activation state; Determine the initial value of the torque characteristic value : In the above formula, is the initial value of the torque characteristic value of the previous sampling period, is the initial filter coefficient of the torque characteristic value; satisfy: In the above formula, is the initial filter coefficient of the torque characteristic value in the previous sampling period, is the update coefficient, is the cumulative coefficient, 、 All are determined by the catalyst light-off activation state. The last sampling period , It is the flag of whether the engine combustion torque is abnormal. If the engine combustion torque is abnormal, Take 1, otherwise take 0; Filter the initial value of the torque characteristic value: In the above formula, is the torque characteristic value after filtering, is the filter coefficient of the torque characteristic value after filtering, which is determined by the catalyst light-off activation state; Determine the lower limit value for determining combustion torque abnormality : In the above formula, is the lower limit deviation coefficient, which is determined by the catalyst light-off activation state; Determining torque deviation : Determine whether the engine combustion torque is normal: like , it is judged that the engine combustion torque is abnormal. Set to 1, otherwise it is judged that the engine combustion torque is not abnormal. Set to 0; where The combustion torque deviation limit is determined by the catalyst light-off activation state; When the engine combustion torque is abnormal, read which cylinder is in the power stroke under the corresponding evaluation window to determine whether the cylinder has a combustion abnormality.