A method for evaluating time processing in fire diagnosis
By obtaining the average value of the engine cylinder operating time and optimizing the evaluation time by speed division area, the problem of insufficient accuracy in engine misfire diagnosis is solved, and accurate misfire assessment is achieved when the control deviation of the engine cylinder combustion system deviates after aging, thereby improving the reliability and accuracy of diagnosis.
Patent Information
- Application Number
- CN202411231959.6
- 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
The existing technology in engine misfire diagnosis has insufficient diagnostic accuracy, especially when the control deviation is obvious after the engine ages, making it difficult to accurately assess the misfire situation.
By obtaining the operating time of each cylinder of the engine at a certain crankshaft operating angle, calculating the average evaluation time of several consecutive sampling cycles, and updating the evaluation time update coefficient when the fuel is cut off under specific conditions, the evaluation time is optimized by dividing the speed into areas, and finally determining the accurate misfire diagnosis time.
Improved accuracy of engine misfire diagnosis ensures accurate assessment of misfire conditions when the combustion system of an aging engine cylinder deviates from control, thus enhancing the reliability and accuracy of diagnosis.
Smart Images

Figure CN119102906B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of engine control, and in particular to an evaluation time processing method for misfire diagnosis. Background Art
[0002] An engine misfire occurs when the fuel mixture fails to burn during engine operation due to a lack of ignition, an overly lean or rich mixture, low compression stroke pressure, or other reasons. Misfire monitoring is a key diagnostic challenge and key point for OBD systems in compliance with China V and China VI emission regulations for gasoline engines. Summary of the Invention
[0003] The technical problem to be solved by the present invention is to provide an evaluation time processing method for misfire diagnosis in response to the shortcomings of the existing technology. The method updates the evaluation time for misfire diagnosis by taking into account the control deviations that occur in the combustion systems of different cylinders of the engine after aging, thereby improving the accuracy of misfire diagnosis.
[0004] To achieve the above objectives, according to one aspect of the present invention, a method for processing evaluation time for misfire diagnosis is provided, comprising:
[0005] Obtaining the running time of each cylinder of the engine at a certain crankshaft operating angle as the evaluation time, and calculating the average value of the evaluation time of each cylinder of the engine in a plurality of consecutive sampling periods;
[0006] When the evaluation time update optimization activation conditions are met, a fuel cutoff is requested for all cylinders of the engine. At this time, the engine is in operation and the vehicle is in coasting. The evaluation area is divided according to the engine speed, and the evaluation time update coefficient is determined according to the evaluation area.
[0007] Determine the value of the evaluation time update optimization counter and the initial value of the evaluation time update coefficient according to the evaluation time update coefficient and the evaluation time average value;
[0008] Determine the value of the flag bit according to the value of the evaluation time update optimization counter; determine the updated evaluation time update coefficient according to the value of the flag bit, the initial value of the evaluation time update coefficient and the evaluation time update coefficient;
[0009] The final evaluation time is determined according to the value of the flag bit, the updated evaluation time update coefficient and the evaluation time.
[0010] In the above solution, the operating time of each cylinder of the engine in a certain crankshaft operating angle is obtained as the evaluation time, and the method for calculating the average evaluation time of each cylinder of the engine in a number of consecutive sampling periods is as follows:
[0011] The crankshaft operating angle section is the crankshaft angle from 80° after the compression top dead center of each cylinder of the engine to 260° after the compression top dead center of its corresponding cylinder. The operating time of each cylinder of the engine in the crankshaft operating angle section is obtained as the evaluation time. The evaluation time within a number of consecutive sampling periods is T n [0,1,2,3…], where n is the engine cylinder number; the default initial value of the evaluation time is 0;
[0012] The average evaluation time in several consecutive sampling periods is t RawSegmentAvg [0,1,2…], where t RawSegmentAvg [0] is the average time of the evaluation of the first cylinder of the engine.
[0013] In the above solution, the activation conditions for the evaluation time update optimization process include:
[0014] (1) The engine is in running state;
[0015] (2) All cylinders of the engine are in the fuel cut-off state;
[0016] (3) The engine does not directly participate in driving the vehicle;
[0017] (4) The engine does not experience knock or pre-ignition;
[0018] (5) The evaluation time in several consecutive sampling periods is not 0;
[0019] (6) The engine did not malfunction.
[0020] In the above solution, the engine not directly participating in driving the vehicle means that the engine is not connected to the transmission system.
[0021] In the above scheme, the method of dividing the evaluation area according to the engine speed is as follows:
[0022] The engine speed is divided into 10 evaluation areas as follows:
[0023]
[0024] In the above solution, the method for determining the evaluation time update coefficient according to the evaluation area is:
[0025] Each cylinder of the engine has an evaluation time update coefficient corresponding to each of the 10 evaluation areas; the evaluation time update coefficients of the 10 evaluation areas are r n [0,1,2…,9], where n is the engine cylinder number, which can be saved after the vehicle is powered off, and its initial value is 1.
[0026] In the above scheme, the method for determining the value of the evaluation time update optimization counter and the initial value of the evaluation time update coefficient is:
[0027] If the evaluation time update optimization processing activation condition is not met and the evaluation area changes, at least one of the two conditions is met, the evaluation time update optimization counter Cnt is set. AdaptCounter Reset to 1 and update the evaluation time coefficient to the initial value r raw [0,1,2…] Reset to the evaluation time update coefficient r stored at power-down n The specific value of the evaluation time update coefficient of the current evaluation area in [0,1,2…,9]; where r raw [0] is the initial value of the evaluation time update coefficient of the first cylinder of the engine, r raw [1] is the initial value of the evaluation time update coefficient of the second cylinder of the engine, and so on;
[0028] If the evaluation time update optimization processing activation condition is not met and the evaluation area changes, the evaluation time update optimization counter Cnt is set after each sampling period of the evaluation time. AdaptCounter The value of is increased by 1, where the evaluation time updates the optimization counter Cnt AdaptCounter The default initial value is 0, and the initial value of the evaluation time update coefficient r is accumulated. raw [0, 1, 2…] are used as the initial values of the new evaluation time update coefficients. The accumulation method is as follows, taking the first cylinder of the engine as an example, and the other cylinders are similar:
[0029] The initial value of the evaluation time update coefficient of the first cylinder of the engine where r raw [0](z) is the initial value of the evaluation time update coefficient obtained in the previous sampling period, and Avg is the average value of the evaluation time average values of all cylinders.
[0030] In the above solution, the method for determining the value of the flag bit according to the value of the optimization counter updated during the evaluation time is:
[0031] Determine whether the evaluation time of the current evaluation area has completed the first update. If the first update is not completed, the evaluation time is accumulated in a weighted manner. The purpose of this design is that when the first update is not completed, the learning parameters are not stable, and the weighted approach is more stable and accurate. If the evaluation time of the current evaluation area is updated, the optimization counter Cnt AdaptCounter The value is not less than the preset value Cnt A1 The number of times Cnt AdaptWeightCounter Greater than the preset number Cnt B1 When the evaluation time is completed for the first time, the flag bit bFirstAdaptDone The value is 1; otherwise, the flag bit b FirstAdaptDone The value of is 0; wherein, the number of times Cnt AdaptWeightCounter The value of is obtained by updating the cumulative method, and the updating cumulative method is: the number of times Cnt AdaptWeightCounter The default value is 0, and the optimization counter Cnt is updated at the evaluation time. AdaptCounter After reset, the evaluation time is accumulated again and the optimization counter Cnt is updated. AdaptCounter Not less than the preset value Cnt A1 After that, the number of times Cnt AdaptWeightCounter The value of is added by 1, that is, the optimization counter Cnt is updated each time the evaluation time is AdaptCounter After reset, the evaluation time updates the optimization counter Cnt AdaptCounter Update at most once; the number of times Cnt AdaptWeightCounter and the flag bit b FirstAdaptDone The default value is 0, and all values will be saved after the vehicle is powered off.
[0032] In the above scheme, the method for determining the updated evaluation time update coefficient is:
[0033] In the flag bit b FirstAdaptDone The value of is 0, and the evaluation time updates the optimization counter Cnt AdaptCounter The value is 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]; the update coefficient r of the evaluation time n The method for [0,1,2…,9] is:
[0034] Taking the current evaluation area as 0 as an example, the methods for other evaluation areas are similar; update the evaluation time update coefficient r when the current evaluation area is 0 n [0] = k AdaptWeight ×r raw [n]+(1-k AdaptWeight )×r n [0](z); where r raw [n] is the initial value r of the evaluation time update coefficient raw The value of the n+1th cylinder in [0,1,2…]; where r n [0](z) is the specific value of the evaluation time update coefficient when the evaluation area is 0 in the previous sampling period; where k AdaptWeight is the weighted coefficient; similarly, the updated evaluation time update coefficients of other evaluation areas can be obtained, which is the updated evaluation time update coefficient r n [0,1,2…,9];
[0035] In the flag bit b FirstAdaptDone When the value of is 1, and the evaluation time updates the optimization counter Cnt AdaptCounter The value is not less than the preset value Cnt A2 Only when the evaluation time update coefficient r is updated is it allowed to update n [0,1,2…,9], where Cnt A2 Not less than Cnt A1 ; The update of the evaluation time update coefficient r n The method for [0,1,2…,9] is:
[0036] Taking the current evaluation area as 0 as an example, the methods for other evaluation areas are similar; update the evaluation time update coefficient r when the current evaluation area is 0 n [0] = k Adapt ×r raw [n]+(1-k Adapt )×r n [0](z); where r raw [n] is the initial value r of the evaluation time update coefficient raw The value of the n+1th cylinder in [0,1,2…]; where r n [0](z) is the specific value of the evaluation time update coefficient when the evaluation area is 0 in the previous sampling period; where k Adapt is the weighting coefficient, and k Adapt No greater than k AdaptWeight Similarly, the updated evaluation time update coefficients of other evaluation areas can be obtained, which are the updated evaluation time update coefficients r n [0,1,2…,9].
[0037] In the above scheme, the method for determining the final evaluation time is:
[0038] In the flag bit b FirstAdaptDone When the value of is 0, the final evaluation time T n-New is the evaluation time;
[0039] In the flag bit b FirstAdaptDone When the value is 1, the final evaluation time T n-New It is the product of the evaluation time and the specific value of the updated evaluation time update coefficient in the current evaluation area.
[0040] The present invention provides an evaluation time processing method for misfire diagnosis. The method reads the evaluation time of all cylinders during the engine fuel cut-off process, introduces an evaluation method coefficient, and optimizes and updates the final evaluation time used for misfire diagnosis, thereby improving the accuracy of misfire diagnosis. BRIEF DESCRIPTION OF THE DRAWINGS
[0041] Various other advantages and benefits will become apparent to those skilled in the art upon reading the detailed description of the preferred embodiment below. The accompanying drawings are for illustration purposes only and are not to be considered as limiting the present invention. Throughout the drawings, the same reference figures denote the same components. In the drawings:
[0042] Figure 1 4 is a flow chart of a method for processing evaluation time for misfire diagnosis according to an embodiment of the present invention. DETAILED DESCRIPTION
[0043] In order to make the objectives, technical solutions and advantages of the present invention more clearly understood, the present invention is further described in detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely for the purpose of explaining the present invention and are not intended to limit the present invention. In addition, the technical features involved in the various embodiments of the present invention described below may be combined with each other as long as they do not conflict with each other.
[0044] It should be understood that the size of the serial numbers of the steps in the embodiment does not mean the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiment of the present application.
[0045] Example 1
[0046] The present application provides an evaluation time processing method for fire diagnosis, referring to Figure 1 ,include:
[0047] S1, obtaining the running time of each cylinder of the engine in a range of crankshaft operating angles as evaluation time, and calculating the average evaluation time of each cylinder of the engine in a number of consecutive sampling periods.
[0048] Specifically, in this embodiment, the method for obtaining the running time of each cylinder of the engine in a crankshaft operating angle range is as follows: a crankshaft operating angle range is from 80° after the compression top dead center of each cylinder of the engine to 260° after the compression top dead center of its corresponding cylinder, and the running time of each cylinder of the engine in this crankshaft operating angle range is obtained as the evaluation time. Then, the evaluation time within a number of consecutive sampling periods is T n [0, 1, 2, 3…], where n is the cylinder number; the default initial value of the evaluation time is 0; the evaluation time T n The values of [0, 1, 2, 3…] will be continuously updated; n [0] represents the evaluation time of each cylinder of the engine at the current sampling time, T n[1] represents the evaluation time of each cylinder of the engine for the last sampling, and so on. In particular, all subsequent sampling steps are for each cylinder from a crankshaft angle of 80° after compression top dead center to 260° after compression top dead center, that is, a crankshaft rotation of 180°.
[0049] In this embodiment, the number of engine cylinders is 4, and the evaluation time average value t of each cylinder of the engine in 10 consecutive sampling periods is calculated. RawSegmentAvg [0,1,2,3], where t RawSegmentAvg [0] is the average time of evaluation of the first cylinder of the engine, and so on.
[0050] S2: When the evaluation time update optimization activation conditions are met, a fuel cutoff is requested for all cylinders of the engine, an evaluation region is divided according to the engine speed, and an evaluation time update coefficient is determined according to the evaluation region.
[0051] Specifically, in this embodiment, the evaluation time update optimization process activation conditions include:
[0052] (1) The engine is in running state;
[0053] (2) All cylinders of the engine are in the fuel cut-off state;
[0054] (3) The engine is not directly involved in driving the vehicle, that is, the engine is not connected to the transmission system;
[0055] (4) The engine does not experience knock or pre-ignition;
[0056] (5) The evaluation time in 10 consecutive sampling periods is not 0;
[0057] (6) The engine did not malfunction.
[0058] In this embodiment, the update checking period for judging the activation conditions of the evaluation time update optimization process is 10 ms. A fuel cut-off request is made to all cylinders of the engine only when the activation conditions of the evaluation time update optimization process are met.
[0059] Specifically, in this embodiment, the evaluation area is divided according to the engine speed, and the method for determining the evaluation time update coefficient according to the evaluation area is as follows:
[0060] The engine speed is divided into 10 evaluation areas as follows:
[0061]
[0062] Each of the 10 evaluation areas of the engine cylinder corresponds to a specific value of the evaluation time update coefficient. The evaluation time update coefficients of the 10 evaluation areas are r n[0, 1, 2, ..., 9], where n is the engine cylinder number, which is saved after the vehicle is powered off and has an initial value of 1. Specifically, if the engine speed is 750 rpm or less, the current evaluation area is 0. If the engine speed is greater than 750 rpm and not less than 1000 rpm, the current evaluation area is 1, and so on.
[0063] S3, determining the value of the evaluation time update optimization counter and the initial value of the evaluation time update coefficient according to the evaluation time update coefficient and the evaluation time average value.
[0064] Specifically, in this embodiment, if the evaluation time update optimization processing activation condition is not met and the evaluation area changes, at least one of the two conditions is met, the evaluation time update optimization counter Cnt is set to AdaptCounter Reset to 1 and update the evaluation time coefficient to the initial value r raw [0,1,2,3] Reset to the evaluation time update coefficient r stored at power-off n The specific value of the evaluation time update coefficient of the current evaluation area in [0,1,2…,9]; where r raw [0] is the initial value of the evaluation time update coefficient of the first cylinder of the engine, r raw [1] is the initial value of the evaluation time update coefficient for the second cylinder of the engine, and so on.
[0065] If the evaluation time update optimization processing activation condition is not met and the evaluation area changes, the evaluation time update optimization counter Cnt is set after each sampling period of the evaluation time. AdaptCounter The value of is increased by 1, where the evaluation time updates the optimization counter Cnt AdaptCounter The default initial value is 0, and the cumulative evaluation time update coefficient initial value r raw [0, 1, 2, 3] are used as the initial values of the new evaluation time update coefficients. The accumulation method is as follows, taking the first cylinder of the engine as an example, and the other cylinders are similar:
[0066] Initial value of the evaluation time update coefficient of the first cylinder of the engine where r raw [0](z) is the initial value of the evaluation time update coefficient obtained in the previous sampling period, t RawSegmentAvg [0] is the average time value of the first cylinder of the engine, and Avg is the average time value of the average time values of all cylinders, that is,
[0067]
[0068] S4, determining the value of the flag bit according to the value of the evaluation time update optimization counter; determining the updated evaluation time update coefficient according to the value of the flag bit, the initial value of the evaluation time update coefficient and the evaluation time update coefficient.
[0069] Specifically, in this embodiment, if the evaluation time in the current evaluation area is updated, the optimization counter Cnt AdaptCounter The value is not less than the preset value Cnt A1 The number of times Cnt AdaptWeightCounter Greater than the preset number Cnt B1 When the evaluation time is completed for the first time, the flag bit b FirstAdaptDone The value is 1; otherwise, the flag bit b FirstAdaptDone The value of Cnt is 0; in this embodiment, the preset value Cnt A1 The preset number is 5, Cnt B1 is 3.
[0070] Among them, the number of times Cnt AdaptWeightCounter The value is obtained by updating the cumulative method, and the updating cumulative method is: times Cnt AdaptWeightCounter The default value is 0, and the optimization counter Cnt is updated at the evaluation time. AdaptCounter After reset, the counter Cnt is accumulated again and the evaluation time is updated. AdaptCounter Not less than the preset value Cnt A1 After that, the number of times Cnt AdaptWeightCounter The value of is added by 1, that is, the optimization counter Cnt is updated every time the evaluation is performed AdaptCounter After reset, the evaluation time updates the optimization counter Cnt AdaptCounter Update at most once; the number of times is Cnt AdaptWeightCounter and flag bit b FirstAdaptDone The default value is 0, and all values will be saved after the vehicle is powered off.
[0071] In the flag bit b FirstAdaptDone The value is 0, and the evaluation time updates the optimization counter Cnt AdaptCounter The value is 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]; Update evaluation time update coefficient r n The method for [0,1,2…,9] is:
[0072] Taking the current evaluation area as 0 as an example, the methods for other evaluation areas are similar; update the evaluation time update coefficient r when the current evaluation area is 0 n [0] = k AdaptWeight ×r raw [n]+(1-k AdaptWeight )×r n [0](z); where 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]; where rn [0](z) is the specific value of the evaluation time update coefficient when the evaluation area is 0 in the previous sampling period (i.e., the evaluation time update coefficient r n When the evaluation area is 0 in [0,1,2,...,9], r n [0]); where k AdaptWeight is the weighting coefficient, which is 0.15 in this example; similarly, the updated evaluation time update coefficients of other evaluation areas can be obtained, which is the updated evaluation time update coefficient r n [0,1,2…,9].
[0073] In the flag bit b FirstAdaptDone When the value is 1, the evaluation time updates the optimization counter Cnt AdaptCounter The value is not less than the preset value Cnt A2 Only when the evaluation time update coefficient r is updated is it allowed to update n [0,1,2…,9], where Cnt A2 Not less than Cnt A1 In this embodiment, Cnt A2 =16; Update evaluation time update coefficient r n The method for [0,1,2…,9] is:
[0074] Taking the current evaluation area as 0 as an example, the methods for other evaluation areas are similar; update the evaluation time update coefficient r when the current evaluation area is 0 n [0] = k Adapt ×r raw [n]+(1-k Adapt )×r n [0](z); where 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]; where r n [0](z) is the specific value of the evaluation time update coefficient when the evaluation area is 0 in the previous sampling period (i.e., the evaluation time update coefficient r n When the evaluation area is 0 in [0,1,2,...,9], r n [0]); where k Adapt is the weighting coefficient, which is 0.005 in this example, and k Adapt No greater than k AdaptWeight Similarly, the updated evaluation time update coefficients of other evaluation areas can be obtained, which is the updated evaluation time update coefficient r n [0,1,2…,9].
[0075] S5, determining the final evaluation time according to the value of the flag bit, the updated evaluation time update coefficient and the evaluation time.
[0076] Specifically, in this embodiment, the method for determining the final evaluation time is:
[0077] In the flag bit b FirstAdaptDone When the value is 0, the final evaluation time T n-New is the evaluation time T n [0,1,2,3…];
[0078] In the flag bit b FirstAdaptDone When the value is 1, the final evaluation time T n-New is the evaluation time T n [0,1,2,3…] multiplied by the updated evaluation time update coefficient in the current evaluation area.
[0079] The final evaluation time of each cylinder of the engine is obtained and used for misfire evaluation of each cylinder.
[0080] In summary, the present invention provides a method for processing evaluation time for misfire diagnosis. By taking into account the control deviations that occur in the combustion systems of different cylinders of an engine after aging, the evaluation time for misfire diagnosis is updated to improve the accuracy of misfire diagnosis.
[0081] It should be pointed out that, according to the needs of implementation, the various steps described in this application can be split into more steps, or two or more steps or partial operations of the steps can be combined into new steps to achieve the purpose of the present invention.
[0082] It will be easily understood by those skilled in the art that the above description is merely a preferred embodiment of the present invention and is not intended to limit the present invention. Any modifications, equivalent substitutions, and improvements made within the spirit and principles of the present invention should be included in the scope of protection of the present invention.
Claims
1. A method for processing evaluation time for fire diagnosis, characterized in that: include: Obtaining the running time of each cylinder of the engine at a certain crankshaft operating angle as the evaluation time, and calculating the average value of the evaluation time of each cylinder of the engine in a plurality of consecutive sampling periods; When the evaluation time update optimization process activation conditions are met, requesting fuel cutoff for all cylinders of the engine, dividing the evaluation area according to the engine speed, and determining the evaluation time update coefficient according to the evaluation area; Determine the value of the evaluation time update optimization counter and the initial value of the evaluation time update coefficient according to the evaluation time update coefficient and the evaluation time average value; Determine the value of the flag bit according to the value of the optimization counter updated during the evaluation time; Determine an updated evaluation time update coefficient according to the value of the flag bit, the initial value of the evaluation time update coefficient and the evaluation time update coefficient; The final evaluation time is determined according to the value of the flag bit, the updated evaluation time update coefficient and the evaluation time.
2. The evaluation time processing method for misfire diagnosis according to claim 1, characterized in that: The running time of each cylinder of the engine in a certain crankshaft operating angle is obtained as the evaluation time, and the method for calculating the average evaluation time of each cylinder of the engine in several consecutive sampling periods is as follows: The crankshaft operating angle section is the crankshaft angle from 80° after the compression top dead center of each cylinder of the engine to 260° after the compression top dead center of its corresponding cylinder. The operating time of each cylinder of the engine in the crankshaft operating angle section is obtained as the evaluation time. The evaluation time within a number of consecutive sampling periods is T n [0,1,2,3…], where n is the engine cylinder number; the default initial value of the evaluation time is 0; The average evaluation time in several consecutive sampling periods is t RawSegmentAvg [0,1,2…], where t RawSegmentAvg [0] is the average time of the evaluation of the first cylinder of the engine.
3. The evaluation time processing method for fire diagnosis according to claim 2, characterized in that: The method of dividing the evaluation area according to the engine speed is as follows: The engine speed is divided into the following 10 evaluation areas. When the engine speed is 750rpm, 1000rpm, 1500rpm, 2000rpm, 2500rpm, 3000rpm, 3500rpm, 4000rpm, 4500rpm, and 5000rpm, the corresponding evaluation areas are 0, 1, 2, 3, 4, 5, 6, 7, 8, and 9.
4. The evaluation time processing method for fire diagnosis according to claim 3, characterized in that: The method for determining the evaluation time update coefficient according to the evaluation area is: Each cylinder of the engine has an evaluation time update coefficient corresponding to each of the 10 evaluation areas; the evaluation time update coefficients of the 10 evaluation areas are r n [0,1,2…,9], where n is the engine cylinder number, which can be saved after the vehicle is powered off, and its initial value is 1.
5. The evaluation time processing method for misfire diagnosis according to claim 4, characterized in that: The method for determining the value of the evaluation time update optimization counter and the initial value of the evaluation time update coefficient is: If the evaluation time update optimization processing activation condition is not met and the evaluation area changes, at least one of the two conditions is met, the evaluation time update optimization counter Cnt is set. AdaptCounter Reset to 1 and update the evaluation time coefficient to the initial value r raw [0,1,2…] Reset to the evaluation time update coefficient r stored at power-down n The specific value of the evaluation time update coefficient of the current evaluation area in [0,1,2…,9]; where r raw [0] is the initial value of the evaluation time update coefficient of the first cylinder of the engine, r raw [1] is the initial value of the evaluation time update coefficient of the second cylinder of the engine, and so on; If the evaluation time update optimization processing activation condition is not met and the evaluation area changes, the evaluation time update optimization counter Cnt is set after each sampling period of the evaluation time. AdaptCounter The value of is increased by 1, where the evaluation time updates the optimization counter Cnt AdaptCounter The default initial value is 0, and the initial value of the evaluation time update coefficient r is accumulated. raw [0,1,2…] as the new initial value of the evaluation time update coefficient; The accumulation method is as follows: The initial value of the evaluation time update coefficient of the first cylinder of the engine where r raw [0](z) is the initial value of the evaluation time update coefficient obtained in the previous sampling period, Avg is the average value of the evaluation time average values of all cylinders, and the method for the remaining cylinders is the same as that for the first cylinder of the engine.
6. The evaluation time processing method for misfire diagnosis according to claim 5, characterized in that: The method for determining the value of the flag bit according to the value of the optimization counter updated during the evaluation time is as follows: If the evaluation time in the current evaluation area updates the optimization counter Cnt AdaptCounter The value is not less than the preset value Cnt A1 The number of times Cnt AdaptWeightCounter Greater than the preset number Cnt B1 When the evaluation time is completed for the first time, the flag bit b FirstAdaptDone The value of is 1; Otherwise, flag bit b FirstAdaptDone The value of is 0; wherein, the evaluation time updates the optimization counter Cnt AdaptCounter The value is not less than the preset value Cnt A1 The number of times Cnt AdaptWeightCounter The value of is obtained by updating the cumulative method, and the updating cumulative method is: the number of times Cnt AdaptWeightCounter The default value is 0, and the optimization counter Cnt is updated at the evaluation time. AdaptCounter After reset, the evaluation time is accumulated again and the optimization counter Cnt is updated. AdaptCounter Not less than the preset value Cnt A1 After that, the number of times Cnt AdaptWeightCounter The value of is added by 1, that is, the optimization counter Cnt is updated each time the evaluation time is AdaptCounter After reset, the evaluation time updates the optimization counter Cnt AdaptCounter Update at most once; the number of times Cnt AdaptWeightCounter and the flag bit b FirstAdaptDone The default value is 0, and all values will be saved after the vehicle is powered off.
7. The evaluation time processing method for misfire diagnosis according to claim 6, characterized in that: The method for determining the updated evaluation time update coefficient is: In the flag bit b FirstAdaptDone The value of is 0, and the evaluation time updates the optimization counter Cnt AdaptCounter The value is 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]; the update coefficient r of the evaluation time n The method for [0,1,2…,9] is: Taking the current evaluation area as 0 as an example, the methods for other evaluation areas are similar; update the evaluation time update coefficient r when the current evaluation area is 0 n [0] = k AdaptWeight ×r raw [n]+(1-k AdaptWeight )×r n [0](z); where r raw [n] is the initial value r of the evaluation time update coefficient raw The value of the n+1th cylinder in [0,1,2…]; where r n [0](z) is the specific value of the evaluation time update coefficient when the evaluation area is 0 in the previous sampling period; where k AdaptWeight is the weighting coefficient; similarly, the updated evaluation time update coefficients of other evaluation areas can be obtained, that is, the updated evaluation time update coefficient r n [0,1,2…,9]; In the flag bit b FirstAdaptDone When the value of is 1, and the evaluation time updates the optimization counter Cnt AdaptCounter The value is not less than the preset value Cnt A2 Only when the evaluation time update coefficient r is updated is it allowed to update n [0,1,2…,9], where Cnt A2 Not less than Cnt A1 ; The update of the evaluation time update coefficient r n The method for [0,1,2…,9] is: Update the evaluation time update coefficient r of the current evaluation area to 0 n [0] = k Adapt ×r raw [n]+(1-k Adapt )×r n [0](z); where r raw [n] is the initial value r of the evaluation time update coefficient raw The value of the n+1th cylinder in [0,1,2…]; where r n [0](z) is the specific value of the evaluation time update coefficient when the evaluation area is 0 in the previous sampling period; where k Adapt is the weighting coefficient, and k Adapt No more than k AdaptWeight Similarly, the updated evaluation time update coefficients of other evaluation areas can be obtained, which is the updated evaluation time update coefficient r n [0,1,2…,9], and similarly, the updating method of the evaluation time update coefficients of the remaining evaluation areas can be obtained.
8. The evaluation time processing method for misfire diagnosis according to claim 7, characterized in that: The method for determining the final evaluation time is: In the flag bit b FirstAdaptDone When the value of is 0, the final evaluation time T n-New is the evaluation time; In the flag bit b FirstAdaptDone When the value is 1, the final evaluation time T n-New It is the product of the evaluation time and the specific value of the updated evaluation time update coefficient in the current evaluation area.
9. The evaluation time processing method for misfire diagnosis according to claim 1, characterized in that: The evaluation time update optimization process activation conditions include: (1) The engine is in running state; (2) All cylinders of the engine are in the fuel cut-off state; (3) The engine does not directly participate in driving the vehicle; (4) The evaluation time in several consecutive sampling periods is not 0; (5) There is no engine failure.
10. The evaluation time processing method for misfire diagnosis according to claim 9, characterized in that: The engine not directly participating in driving the vehicle means that the engine is not connected to the transmission system.
Citation Information
Patent Citations
Engine misfire diagnosis method and misfire diagnosis device
CN112761789A
Aircraft engine misfire diagnosis method and device, controller and aircraft
CN117109931A