Controller for internal combustion engine

10982642 · 2021-04-20

Assignee

Inventors

Cpc classification

International classification

Abstract

Aspects of the disclosure are directed to controller for an internal combustion engine. The controller can, in each combustion cycle that composes a change cycle, calculate an average of control amounts from a first combustion cycle to an nth (1<=n<=N) combustion cycle and calculate an error of the average with respect to an average of a reference normal population. Further, the controller can set both a positive threshold and a negative threshold based on a standard error of the reference normal population in the case where the number of data is n. Subsequently, the controller can change the operation amount to make the error approach the positive threshold or the negative threshold when the error exceeds neither the positive threshold nor the negative threshold at any combustion cycle.

Claims

1. A controller for an internal combustion engine comprising: at least one processor; and at least one memory coupled to the at least one processor, the at least one memory including at least one computer-executable program that upon execution causes the at least one processor to execute; control amount calculation processing of calculating a control amount relating to combustion of the internal combustion engine for each combustion cycle, based on information from a sensor which detects a state of the internal combustion engine; and operation amount change processing of changing an operation amount affecting the control amount for each change cycle, one change cycle consisting of N combustion cycles, where N is greater than or equal to 2; wherein, in the operation amount change processing, the at least one processor operates to: choose a reference normal population of the control amount under a current operating condition of the internal combustion engine from a plurality of reference normal populations set for each operating condition of the internal combustion engine; execute, in each combustion cycle from a first combustion cycle to an Nth combustion cycle that composes the change cycle, average calculation processing of calculating a n-cycle average that is an average of the control amounts from the first combustion cycle to an nth combustion cycle, where n is greater than or equal to 1 and less than or equal to N error calculation processing of calculating an n-cycle error that is an error of the n-cycle average with respect to an average of the reference normal population, and threshold set processing of setting both a positive change determination threshold and a negative change determination threshold with respect to the n-cycle error, based on a standard error of the reference normal population in a case where number of data is n, change the operation amount to make the n-cycle error approach the positive change determination threshold or the negative change determination threshold, when the n-cycle error doesn't exceed the positive change determination threshold at any combustion cycle and doesn't exceed the negative change determination threshold at any combustion cycle, calculate an unbiased variance of the control amounts from the first combustion cycle to the Nth combustion cycle, when the n-cycle error doesn't exceed the positive change determination threshold at any combustion cycle and doesn't exceed the negative change determination threshold at any combustion cycle, and change the operation amount to make the n-cycle error approach the positive change determination threshold or the negative change determination threshold, when the unbiased variance is smaller than a variance of the reference normal population by a predetermined value or more, and further wherein the at least one processor operates to: in the control amount calculation processing, calculate as the control amount a crank angle at which a combustion ratio becomes a predetermined ratio, based on information from a combustion pressure sensor, and in the operation amount change processing, change an opening of an EGR valve of the internal combustion engine to an open side, when the unbiased variance is smaller than the variance of the reference normal population by the predetermined value or more.

2. The controller according to claim 1, wherein the at least one processor operates to, in the operation amount change processing, change the operation amount gradually by stepwise change to make the n-cycle error approach the positive change determination threshold or the negative change determination threshold.

Description

BRIEF DESCRIPTION OF DRAWINGS

(1) FIG. 1 is a block diagram showing a configuration of an engine control system according to the first embodiment of the present disclosure;

(2) FIG. 2 is a block diagram showing processing executed by a controller according to the first embodiment of the present disclosure;

(3) FIG. 3 is a diagram for illustrating a hypothesis test according to the first embodiment of the present disclosure;

(4) FIG. 4 is a diagram showing an example of the result of the hypothesis test according to the first embodiment of the present disclosure;

(5) FIG. 5 is a diagram showing an example of the result of the hypothesis test according to the first embodiment of the present disclosure;

(6) FIG. 6 is a diagram showing an example of the result of the hypothesis test according to the first embodiment of the present disclosure;

(7) FIG. 7 is a diagram showing an example of the result of the hypothesis test according to the first embodiment of the present disclosure;

(8) FIG. 8 is a diagram for illustrating a change cycle at which an operation amount is changed;

(9) FIG. 9 is a flowchart showing a control flow of engine control according to the first embodiment of the present disclosure;

DETAILED DESCRIPTION

(10) Hereunder, an embodiment of the present disclosure will be described with reference to the drawings. Note that when the numerals of numbers, quantities, amounts, ranges and the like of respective elements are mentioned in the embodiment shown as follows, the present disclosure is not limited to the mentioned numerals unless specially explicitly described otherwise, or unless the disclosure is explicitly specified by the numerals theoretically. Furthermore, structures and steps that are described in the embodiment shown as follows are not always indispensable to the disclosure unless specially explicitly shown otherwise, or unless the disclosure is explicitly specified by the structures or the steps theoretically.

(11) First Embodiment

(12) FIG. 1 is a block diagram showing a configuration of an engine control system according to the first embodiment of the present disclosure. The control system is used for an engine (internal combustion engine) 2 mounted on an automobile and the like, and comprises at least an engine 2, a plurality of sensors 4 for detecting conditions of the engine 2 and a controller 10 for controlling the engine 2.

(13) The engine 2 is, for example, a spark-ignition internal combustion engine fueled by gasoline. The engine 4 comprises an ignition system that can adjust an ignition timing with the energization period of an ignition coil, and an EGR system that can adjust an introducing amount of EGR gas with the opening of an EGR valve. The plurality of sensors 4 include at least a combustion pressure sensor and a crank angle sensor. The combustion pressure sensor is installed in each cylinder of the engine 2 and outputs a signal corresponding to a combustion pressure in a combustion chamber. The crank angle sensor outputs a signal corresponding to a crank angle of the engine 2. The controller 10 receives the signal of the sensor 4 and calculates a control amount of the engine 2 based on information included in the signal of the sensor 4. The controller 10 includes at least one memory and at least one processor as physical configurations. The at least one memory stores at least one program for engine control, and the at least one processor reads and executes the at least one program from the at least one memory.

(14) FIG. 2 is a block diagram showing part of the processing executed by the controller 10. Processing related to the determination to change the operation amount of the engine 2 is extracted among different kinds of processing executed by the controller 10, and expressed with blocks in FIG. 2. As shown in FIG. 2, the processing executed by the controller 10 includes control amount calculation processing and operation amount change processing. The operation amount change processing includes average calculation processing, error calculation processing and threshold set processing. For the determination to change the operation amount, a hypothesis test and a statistical decision is used as described below. Hereinafter, with reference to FIGS. 3 to 8, the hypothesis test and the statistical decision will be described together with the contents of each processing.

(15) The controller 10 calculates a control amount related to combustion of the engine 2 in the control amount calculation processing. The control amount related to combustion of the engine 2 calculated in the present embodiment is CA50. CA50 means the crank angle at which combustion ratio becomes 50%. The combustion ratio is also referred to as combustion mass ratio, which means the ratio of burnt mass to mass of fuel per combustion supplied to the combustion chamber. The combustion ratio at an arbitrary crank angle can be calculated as the ratio of the heat release at the arbitrary crank angle to the final total heat release. The heat release is the total amount of the heat generated in the combustion chamber from the start of the combustion in one combustion cycle. Therefore, the heat release at an arbitrary crank angle is calculated by integrating the heat release rate calculated for each unit crank angle, with the section from the combustion start angle to the arbitrary crank angle as an integration section. The heat release rate is the amount of heat per unit crank angle generated in the combustion chamber, and can be calculated from the pressure in the combustion chamber measured by the combustion pressure sensor. The controller 10 calculates CA50 for each combustion cycle in the control amount calculation processing.

(16) Since the engine 2 has an individual difference and aged deterioration, CA 50 has dispersion for each combustion cycle even if the operation amount is the same. However, the dispersion includes dispersion that occurs even with a reference engine having the specifications as designed. The dispersion of CA 50 per combustion cycle that occurs in the reference engine is stochastic dispersion according to the normal distribution. Here, data of CA 50 obtained from the reference engine is referred to as “reference normal population”. The reference normal population is created, for example, for each operating condition defined by engine speed and engine load.

(17) The average of CA 50 from the first cycle to the nth cycle obtained in the engine is referred to as “n-cycle average” and is represented by “μ.sub.n”. The processing of calculating the n-cycle average μ.sub.n is the average calculation processing. Further, the average of the reference normal population is denoted by “μ.sub.o”, and the standard deviation of the reference normal population is denoted by “σ.sub.o”. Building a null hypothesis that the n-cycle average μ.sub.n of CA 50 is equal to the average μ.sub.o of the reference normal population, if this null hypothesis is true, data Z calculated by the following equation follows a standard normal distribution according to the number n of data.

(18) Z = .Math. μ n - μ o .Math. σ o / n ~ N ( 0 , 1 )

(19) When a significance level is denoted by “α” and a critical value for the data Z is denoted by “Z.sub.α/2”, the critical value Z.sub.α/2 can be calculated by the following equation. However, the significance level α is a numerical value determined by adaptation at the time of design.

(20) 1 - α = - Z α / 2 Z α / 2 1 2 π exp ( - Z 2 2 ) dZ

(21) The error μ.sub.n−μ.sub.o of the n-cycle average μ.sub.n with respect to the average μ.sub.o of the reference normal population is referred to as “n-cycle error”. The processing of calculating the n-cycle error is the error calculation processing. If the dispersion of CA 50 in the engine 2 for each combustion cycle is stochastic dispersion in accordance with the normal distribution, the following equation is established for the n-cycle error. In the following equation, σ.sub.o/n.sup.1/2 is a standard error of the reference normal population when there are n number of data. The value obtained by multiplying the standard error σ.sub.o/n.sup.1/2 by the negative critical value Z.sub.α/2 is the negative threshold of the n-cycle error, and the value obtained by multiplying the standard error σ.sub.o/n.sup.1/2 by the positive critical value Z.sub.α/2 is the positive threshold of the n-cycle error. The processing of setting these thresholds is the threshold set processing. If the following equation is not established, it means that the fluctuation of CA 50 includes a fluctuation caused by a factor other than a stochastic one.

(22) - Z α / 2 σ o n μ n - μ o Z α / 2 σ o n

(23) FIG. 3 is a graph showing the above equation. In this graph, the curve drawn in the region where the n-cycle error is positive is a curve showing a series of Z.sub.α/2*σ.sub.o/n.sup.1/2, which is the positive threshold of the above equation, and the curve drawn in the region where the n-cycle error is negative is a curve showing a series of −Z.sub.α/2*σ.sub.o/n.sup.1/2, which is the negative threshold of the above equation. The region of the n-cycle error from the negative threshold to the positive threshold is referred to as “Non Critical Region”, and is denoted by “NCR” in FIG. 3. Also, the region of the n-cycle error outside the negative threshold and the region of the n-cycle error outside the positive threshold are referred to as “Critical Region”, and are denoted by “CR” in FIG. 3. According to the central limit theorem, NCR becomes narrower as the number n of data becomes larger. This means that, when the number n of data is small, a large error is allowed, but an allowable error becomes smaller as the number n of data becomes larger.

(24) FIGS. 4 to 7 are diagrams showing examples of the result of the hypothesis test according to the present embodiment. In each figure, the black circles represent the n-cycle error data calculated for each combustion cycle. FIG. 4 shows an example in which the n-cycle error is within the range from the negative threshold to the positive threshold at all the combustion cycles. This kind of example is referred to as “CASE (A)”.

(25) FIG. 5 shows an example in which the n-cycle error exceeds the positive threshold at some combustion cycles and exceeds the negative threshold at another combustion cycles. This kind of example is referred to as “CASE (B)”.

(26) FIG. 6 shows an example in which the n-cycle error exceeds the positive threshold at some combustion cycles and doesn't exceed the negative threshold at any combustion cycle, and an example in which the n-cycle error exceeds the negative threshold at some combustion cycles and doesn't exceed the positive threshold at any combustion cycle. The former example is referred to as “CASE (C)”, and the latter example is referred to as “CASE (D)”.

(27) FIG. 7 shows an example similar to CASE (A), in which the n-cycle error is within the range from the negative threshold to the positive threshold at all the combustion cycles. However, in this example, the variance of the n-cycle error is small compared to CASE (A), and the margins of the n-cycle error with respect to the positive threshold and the negative thresholds are large. This kind of example is referred to as “CASE (E)”.

(28) In the case of CASE (A), as the fluctuation of CA50 is caused by stochastic dispersion, a statistical decision that it is not necessary to change the operation amount can be made. On the contrary, in the case of CASE (B), CASE (C) and CASE (D), as the fluctuation of CA50 includes a factor other than a stochastic one, a statistical decision that it is better to change the operation amount can be made. The controller 50 changes the operation amount affecting CA50 in accordance with such a statistical decision.

(29) The operation amount affecting CA50 includes at least an ignition timing and an EGR valve opening. When the dispersion of the n-cycle average μ.sub.n with respect to the average μ.sub.o of the reference normal population is large as CASE (B), it is assumed that large combustion fluctuation is happening. Therefore, as a countermeasure for CASE (B), the EGR valve opening is changed to the close side to reduce an EGR rate.

(30) When the n-cycle average μ.sub.n deviates to the positive side as a whole with respect to the average μ.sub.o of the reference normal population as CASE (C), it is assumed that the ignition timing is excessively retarded. Therefore, as a countermeasure for CASE (C), the ignition timing is changed to the advance side. On the contrary, when the n-cycle average μ.sub.n deviates to the negative side as a whole with respect to the average μ.sub.o of the reference normal population as CASE (D), it is assumed that the ignition timing is excessively advanced. Therefore, as a countermeasure for CASE (D), the ignition timing is changed to the retardation side.

(31) As CASE (E) is included in the case of CASE (A), there is no need to change the operation amount in order to cope with the fluctuation of CA50 caused by a factor other than a stochastic one. However, stochastic dispersion in CASE (E) is small compared to the reference normal population, so a statistical decision that it is better to change the operation amount can be made. If there is room to optimize the control by changing the operation amount, even if the dispersion of CA 50 is increased, it is preferable to change the operation amount as long as the dispersion is kept within an allowable range.

(32) Specifically, when the introduced amount of EGR gas is smaller than a planned amount, combustion fluctuation is decreased, and thereby the dispersion of CA 50 is decreased as in the case of CASE (E). However, from the viewpoint of improving fuel efficiency, even if combustion fluctuation is increased, it is preferable to open the EGR valve to increase the introduction amount of EGR gas. Therefore, in the case of CASE (E), the introduction amount of EGR gas is increased by changing the EGR valve opening to the open side by a predetermined amount.

(33) By the way, it is rare for the engine 2 to keep operating at a constant operating condition, and the operating condition fluctuates frequently. If the operating condition fluctuates, the reference normal population is changed, so the number of data of the n-cycle average μ.sub.n cannot be continuously increased. However, according to the central limit theorem, the statistical decision can be made even from a small number of data. In the present embodiment, as shown in FIG. 8, the combustion cycles for collecting data are limited to a predetermined number N of cycles (N is an integer of 2 or more, for example, 6), and the above-described statistical decision is made every predetermined number N of cycles. In other words, the controller 10, in the operation amount change processing, changes the ignition timing or the EGR valve opening for each change cycle, one change cycle consisting of N combustion cycles.

(34) In summary, the controller 10 executes the operation amount change processing in the following procedure. First, the controller 10 chooses the reference normal population of CA50 under the current operating condition of the engine 2 among a plurality of reference normal populations set for each operating condition of the engine 2. Then, the controller 10 executes the average calculation processing, the error calculation processing, and the threshold set processing in each combustion cycle from the first combustion cycle to the Nth combustion cycle that composes the change cycle.

(35) In the average calculation processing, the controller 10 calculates the n-cycle average μ.sub.n that is the average of CA50 from the first combustion cycle to the nth (1<=n<=N) combustion cycle. In the error calculation processing, the controller 10 calculates the n-cycle error that is the error of the average μ.sub.n with respect to the average μ.sub.o of the reference normal population. Then, in the threshold set processing, the controller 10 sets both the positive threshold Z.sub.α/2*σ.sub.o/n.sup.1/2 and the negative threshold −Z.sub.α/2*σ.sub.o/n.sup.1/2 with respect to the n-cycle error based on the standard error of the reference normal population in the case where the number of data is n. These thresholds are thresholds for determining whether to change the operation amount, and corresponds to the change determination threshold defined in claims.

(36) After the above processing, the controller 10 compares the series of the n-cycle errors from the first combustion cycle to the Nth combustion cycle and the series of the positive thresholds from the first combustion cycle to the Nth combustion cycle. Also, the controller 10 compares the series of the n-cycle errors from the first combustion cycle to the Nth combustion cycle and the series of the negative thresholds from the first combustion cycle to the Nth combustion cycle. Then, the controller 10 determines which of CASE (A), CASE (B), CASE (C), CASE (D) and CASE (E) these comparison results apply to, and chooses the operation amount to be changed between the ignition timing and the EGR valve opening.

(37) The above described processing of the controller 10 is executed as part of engine control by the controller 10. FIG. 9 is a flowchart showing a control flow of the engine control according to the present embodiment. The controller 10 executes calculation processing shown in the flowchart at every combustion cycle. Hereinafter, the control flow of the engine control according to the present embodiment will be described along the flowchart. In the control flow, the number of combustion cycles composing the change cycle is set to K.sub.th.

(38) First, in step S101, the controller 10 calculates parameters required for the hypothesis test. Specifically, the controller 10 calculates the n-cycle error by the average calculation processing and the error calculation processing, and sets the positive and negative thresholds with respect to the n-cycle error by the threshold set processing.

(39) In step S102, the controller 10 determines whether or not the n-cycle error is within CR, based on a comparison between the n-cycle error and the positive threshold and a comparison between the n-cycle error and the negative threshold. As shown in FIG. 3, CR exists on both the positive side and the negative side with respect to NCR. When the n-cycle error is within any one of CR on the positive side and CR on the negative side, the control flow proceeds to step S103. In step S103, the controller 10 stores the sign of CR containing the n-cycle error. If the n-cycle error is outside CR, the processing in step S103 is skipped.

(40) In step S104, the controller 10 increments a counter value k for counting the number of combustion cycles by 1. In step S105, the controller 10 determines whether or not the counter value k reaches the number K.sub.th of combustion cycles composing the change cycle. When the counter value k does not reach the number K.sub.th of combustion cycles, all processing in the remaining steps is skipped.

(41) When the counter value k reaches the number K.sub.th of combustion cycles, the controller 10 executes a determination in step S106. In step S106, the controller 10 determines whether or not the sign of CR is stored. If the sign of CR is not stored, this means that all the n-cycle errors from the first cycle to the K.sub.thth cycle are within NCR. This corresponds to CASE (A) shown in FIG. 4 or CASE (E) shown in FIG. 7.

(42) If the result of the determination in step S106 is negative, the control flow proceeds to step S112. In step S112, the controller 10 calculates the unbiased variance U.sub.Kth.sup.2 of CA50 based on the average μ.sub.th of CA50 from the first combustion cycle to the K.sub.thth combustion cycle. However, the variance σ.sub.Kth.sup.2 may be calculated instead of the unbiased variance U.sub.Kth.sup.2.

(43) Next, in step S113, the controller 10 compares the unbiased variance U.sub.Kth.sup.2 calculated in step S112 with the variance σ.sub.o.sup.2 of the reference normal population, and determines whether or not the actual unbiased variance U.sub.Kth.sup.2 of CA50 becomes smaller than the variance σ.sub.o.sup.2 of the reference normal population by a predetermined value CA50th or more. The predetermined value CA50th is a numeral larger than zero, and can be set arbitrarily. If the result of the determination in step S113 is negative, this corresponds to CASE (A) shown in FIG. 4. In this case, the control flow skips step S114 to proceed to step S115.

(44) If the result of the determination in step S113 is positive, this corresponds to CASE (E) shown in FIG. 7. In this case, the control flow proceeds to step S114. In step S114, the controller 10 changes the EGR valve opening to the open side so that the unbiased variance U.sub.Kth.sup.2 approaches the variance σ.sub.o.sup.2 of the reference normal population. Specifically, the memory of the controller 10 stores a map that relates an EGR valve opening to an operating condition of the engine 2 and a request for the engine 2. In step S114, the value of the EGR valve opening stored in the map is changed according to the difference between the unbiased variance U.sub.Kth.sup.2 and the variance σ.sub.o.sup.2. Note that the EGR valve opening may be gradually changed by stepwise change every change cycle, or may be changed all at once in one change cycle by an amount corresponding to the difference between the unbiased variance U.sub.Kth.sup.2 and the variance σ.sub.o.sup.2.

(45) If the result of the determination in step S106 is positive, the controller 10 executes a determination in step S107. In step S107, the controller 10 determines whether or not the stored sign of CR includes both the positive sign and the negative sign. If both the positive sign and the negative sign are included, this corresponds to CASE (B) shown in FIG. 5. In this case, the control flow proceeds to step S108. In step S108, the controller 10 decreases the EGR valve opening by a predetermined amount.

(46) According to this control flow, if the n-cycle error exceeds each of the negative threshold and the positive threshold even once, the EGR valve opening is decreased by the predetermined amount. However, the EGR valve opening may be decreased with a condition that the n-cycle error exceeds the positive threshold at a plurality of combustion cycles, and the n-cycle error exceeds the negative threshold at a plurality of combustion cycles. Further, the decreasing amount of the EGR valve opening is fixed in this control flow, but the decreasing amount may be increased according to the number of times the n-cycle error exceeds the threshold.

(47) When the stored sign of CR includes any one of the positive sign and the negative sign, the controller 10 executes a determination in step S109. In step S109, the controller 10 determines whether or not the stored sign of CR is the positive sign only. If the stored sign of CR is the positive sign only, this corresponds to CASE (C) shown in FIG. 6. In this case, the control flow proceeds to step S110. In step S110, the controller 10 advances the ignition timing by a predetermined amount.

(48) According to this control flow, if the n-cycle error exceeds the positive threshold even once, the ignition timing is advanced by the predetermined amount. However, the ignition timing may be advanced with a condition that the n-cycle error exceeds the positive threshold at a plurality of combustion cycles. Further, the advancing amount of the ignition timing is fixed in this control flow, but the advancing amount may be increased according to the number of times the n-cycle error exceeds the positive threshold.

(49) If the result of the determination in step S109 is negative, that is, the stored sign of CR is the negative sign only, this corresponds to CASE (D) shown in FIG. 6. In this case, the control flow proceeds to step S111. In step S111, the controller 10 retards the ignition timing by a predetermined amount.

(50) According to this control flow, if the n-cycle error exceeds the negative threshold even once, the ignition timing is retarded by the predetermined amount. However, the ignition timing may be retarded with a condition that the n-cycle error exceeds the negative threshold at a plurality of combustion cycles. Further, the retarding amount of the ignition timing is fixed in this control flow, but the retarding amount may be increased according to the number of times the n-cycle error exceeds the negative threshold.

(51) After the processing in step S108, S110, S111 or S114, the control flow proceeds to step S115. In step S115, the controller 10 resets the counter value k to zero and clears the memory of the sign of CR. Further, the controller 10 chooses the reference normal population matching the current operating condition of the engine 2 from the plurality of reference normal populations set for each operating condition of engine 2, and updates the average and standard deviation of the reference normal population.

(52) Other Embodiments

(53) CA 50 is an example of the control amount related to combustion. The crank angle at which combustion ratio becomes a predetermined ratio other than 50 percent may be used as the control amount.

(54) As another embodiment of the control amount calculation processing, the controller 10 may calculate the crank angle at which combustion pressure is maximized, that is, LPP as the control amount, based on information from a combustion pressure sensor. LPP is one of the control amounts related to combustion. In one example of the operation amount change processing when using LPP as the control amount, when the n-cycle error doesn't exceed the positive change determination threshold at any combustion cycle, and doesn't exceed the negative change determination threshold at any combustion cycle, the controller 10 changes the EGR valve opening to the open side. Specifically, when the unbiased variance of LPP from the first combustion cycle to the Nth combustion cycle is smaller than the variance of the reference normal population by a predetermined value or more, the controller 10 changes the EGR valve opening to the open side.

(55) As yet another embodiment of the control amount calculation processing, the controller 10 may calculate the crank angle at which knocking starts or the crank angle at which knocking becomes the maximum as the control amount, based on information from a knock sensor. Both the knocking start crank angle and the knocking maximum crank angle are ones of the control amounts related to combustion. In one example of the operation amount change processing when using the knocking start crank angle or the knocking maximum crank angle as the control amount, when the n-cycle error doesn't exceed the positive change determination threshold at any combustion cycle, and doesn't exceed the negative change determination threshold at any combustion cycle, the controller 10 changes the EGR valve opening to the open side. Specifically, when the unbiased variance of the knocking start crank angles or the knocking maximum crank angles from the first combustion cycle to the Nth combustion cycle is smaller than the variance of the reference normal population by a predetermined value or more, the controller 10 changes the EGR valve opening to the open side.

(56) As yet another embodiment of the control amount calculation processing, the controller 10 may calculate a knock strength or its logarithm value as the control amount, based on information from a knock sensor. The knocking strength is the maximum amplitude of knocking. The knock strength and its logarithm value are ones of the control amounts related to combustion. In the operation amount change processing when using a physical quantity representing the knock intensity or its logarithmic value as the control amount, when the n-cycle error doesn't exceed the positive change determination threshold at any combustion cycle, and doesn't exceed the negative change determination threshold at any combustion cycle, the controller 10 changes the cooling water temperature of the engine 2 to the high temperature side (for example, from 80° C. to 90° C.). Specifically, when the unbiased variance of the knock intensities or its logarithmic values from the first combustion cycle to the Nth combustion cycle is smaller than the variance of the reference normal population by a predetermined value or more, the controller 10 changes the coolant temperature of the engine 2 to the high temperature side. This processing is especially effective when the coolant temperature is lowered to suppress knocking.

(57) The present disclosure is also applicable to a controller for a compression self-ignition engine. In this case, CA 50 or LPP can be used as the control amount. As the operation amount, a fuel injection timing, an EGR valve opening and the like can be used.