Patent Publication Number: US-2022220908-A1

Title: Internal Combustion Engine Control Unit

Description:
TECHNICAL FIELD 
     The present invention relates to an internal combustion engine control unit, and particularly relates to a technique for controlling an engine by detecting combustion characteristics with a simple configuration robust to disturbance such as noise. 
     BACKGROUND ART 
     In recent years, in vehicles such as automobiles, regulations on fuel consumption (fuel consumption) and exhaust gas harmful components have been strengthened, and such regulations tend to be further strengthened in the future. In particular, regulations on the fuel consumption are matters of great interest due to problems such as fuel price increase, influence on global warming, and energy resource depletion. 
     Under such circumstances, there is known a technique of estimating a state in an engine combustion chamber and controlling an engine based on an estimation result. By appropriately controlling ignition timing, fuel injection timing, and the like according to the current combustion state, the thermal efficiency of the engine can be enhanced. An example of such a combustion state estimation technique is disclosed in, for example, PTL 1. 
     PTL 1 discloses “means for calculating a rotational acceleration of an engine, and means for estimating a combustion state in a combustion chamber based on the rotational acceleration”. Further, PTL 1 discloses that “a calculate rotation position at which rotational acceleration of an engine output shaft becomes an exemplary value, and estimate a combustion state based on the rotation position”. 
     CITATION LIST 
     Patent Literature 
     PTL 1: JP 2017-150393 A 
     SUMMARY OF INVENTION 
     Technical Problem 
     In recent years, a hybrid vehicle that supplies electric power generated by an engine to a motor to drive an axle has been widely used. In a hybrid system, the engine can avoid operation at low load and low rotational speed with low thermal efficiency, and the thermal efficiency of the entire system can be increased. 
     On the other hand, in the hybrid system, an engine is often operated under a constant load condition of a relatively high rotational speed, and a change in the rotational speed within an engine cycle is smaller than that of a general engine vehicle. 
     In addition, in the hybrid system, the system becomes complicated and the number of components increases as compared with the engine vehicle. Therefore, simplification of the system and reduction of cost are problems. 
     In the internal combustion engine control unit disclosed in PTL 1, the state in the engine combustion chamber is estimated based on the rotational acceleration of the engine. Since the rotational acceleration is a differential value of the rotational speed, a SN ratio with respect to the rotational acceleration decreases when the change in the rotational speed is small, and there is a possibility that estimation accuracy of the combustion state deteriorates due to noise or the like. 
     In addition, it is necessary to mount a circuit or software for calculating the rotational acceleration from the rotational speed on a controller, which may make the system complicated or the cost increased. 
     The present invention has been made in view of the above circumstances, and an object of the present invention is to provide a simple and low-cost internal combustion engine control unit capable of robustly estimating a combustion state with respect to a rotation state of an engine. 
     Solution to Problem 
     In order to solve the above problems, an internal combustion engine control unit of the present invention includes: a rotational speed calculation unit that calculates a crank rotational speed of an internal combustion engine; an extreme value timing calculation unit that calculates an extreme value timing of the crank rotational speed calculated by the rotational speed calculation unit; and a combustion state estimation unit that estimates a combustion state based on the extreme value timing of crank speed calculated by the extreme value timing calculation unit. 
     Advantageous Effects of Invention 
     According to the present invention, it is possible to provide an internal combustion engine control unit that controls an engine by detecting combustion characteristics with a simple configuration robust to disturbance such as noise. 
     Problems, configurations, and effects other than those described above will be clarified by the following description of embodiments. 
    
    
     
       BRIEF DESCRIPTION OF DRAWINGS 
         FIG. 1  is an explanatory diagram illustrating an example of a system configuration of a hybrid vehicle according to an embodiment of the present invention. 
         FIG. 2  is an explanatory diagram illustrating an example of a cross section of an engine according to an embodiment of the present invention. 
         FIG. 3  is an explanatory diagram illustrating a principle of rotational speed detection by a crank angle sensor according to an embodiment of the present invention. 
         FIG. 4  is a block view illustrating a configuration example of a controller according to an embodiment of the present invention. 
         FIG. 5  is an explanatory diagram illustrating a processing procedure of a rotational speed calculation unit of the controller according to the embodiment of the present invention. 
         FIG. 6  is an explanatory diagram illustrating a method of obtaining time-series data of a cycle average rotational speed according to an embodiment of the present invention. 
         FIG. 7  is an explanatory diagram illustrating a processing procedure of an extreme value timing calculation unit of the controller according to the embodiment of the present invention. 
         FIG. 8  is an explanatory diagram illustrating a stroke sequence of a three-cylinder four-cycle engine. 
         FIG. 9  is an explanatory diagram illustrating how to determine a cylinder window of the three-cylinder four-cycle engine according to the embodiment of the present invention. 
         FIG. 10  is an explanatory diagram illustrating a definition of a local crank angle according to an embodiment of the present invention. 
         FIG. 11  is an explanatory diagram illustrating a method of calculating a maximum speed timing according to an embodiment of the present invention. 
         FIG. 12  is an explanatory diagram illustrating a method of calculating a minimum speed timing according to an embodiment of the present invention. 
         FIG. 13  is an explanatory diagram illustrating how to obtain a combustion centroid position from the maximum speed timing according to the embodiment of the present invention. 
         FIG. 14  is an explanatory diagram illustrating how to obtain a combustion centroid position from the minimum speed timing according to the embodiment of the present invention. 
         FIG. 15  is an explanatory diagram illustrating a method of obtaining an initial combustion position from the maximum speed timing according to the embodiment of the present invention. 
         FIG. 16  is an explanatory diagram illustrating a method of obtaining an initial combustion position from the minimum speed timing according to the embodiment of the present invention. 
         FIG. 17  is an explanatory diagram illustrating an ignition timing control block according to an embodiment of the present invention. 
         FIG. 18  is a characteristic diagram illustrating a relationship between an initial combustion period and a fluctuation rate of a combustion torque. 
         FIG. 19  is an explanatory diagram illustrating an EGR control block according to an embodiment of the present invention. 
     
    
    
     DESCRIPTION OF EMBODIMENTS 
     Hereinafter, examples of modes for carrying out the present invention (hereinafter, it is described as “embodiment”) will be described with reference to the accompanying drawings. In the present specification and the accompanying drawings, components having substantially the same function or configuration are denoted by the same reference numerals, and redundant description is omitted. 
     1. First Embodiment 
     [System Configuration of Hybrid Vehicle] 
     First, an example of a system configuration of a hybrid vehicle to which the present invention is applied will be described. 
       FIG. 1  is an explanatory diagram illustrating an example of a system configuration of a hybrid vehicle according to an embodiment of the present invention. In the hybrid vehicle illustrated in  FIG. 1 , an engine  1 , an accelerating gear  2 , and an induction generator  3  are connected in series. A shaft output of the engine  1  is accelerated to a rotational speed suitable for the induction generator  3  by the accelerating gear  2  to drive the induction generator  3 . Three-phase AC power generated by the induction generator  3  is converted into DC power by a rectifier  4  and then supplied to an inverter  6  and a battery  5 . The DC power is converted into the three-phase AC power again by the inverter  6  and then supplied to an induction motor  7 . The induction motor  7  drives left and right wheels  9  via a transaxle  8 . 
     A controller  12  is an example of a hybrid vehicle control device that controls each component of a hybrid vehicle  50  and executes various data process. For example, the controller  12  obtains a motor output necessary for driving the vehicle from information such as an accelerator, a brake, a vehicle speed, and a gear position, and controls the inverter  6  to supply a predetermined amount of power to the induction motor  7 . In addition, the controller  12  controls the output of the engine  1 , an accelerating ratio of the accelerating gear  2 , and a field current of the induction generator  3 , and manages the entire power system of the vehicle. An electronic control unit (ECU) is used as the controller  12  as an example. 
     [Engine] 
       FIG. 2  illustrates an example of a cross section of the engine  1 . The engine  1  is an example of a spark ignition 4-cycle gasoline engine, and a combustion chamber is formed by an engine head, a cylinder  13 , a piston  14 , an intake valve  15 , and an exhaust valve  16 . In the engine  1 , a fuel injection valve  18  is provided in the engine head, and the injection nozzle of the fuel injection valve  18  penetrates into the combustion chamber, so that a so-called in-cylinder direct injection type internal combustion engine is configured. An ignition plug  17  is also provided in the engine head. The air for combustion is taken into the combustion chamber through an air cleaner  19 , a throttle valve  20 , and an intake port  21 . The gas after combustion (exhaust gas) discharged from the combustion chamber is discharged to the atmosphere through an exhaust port  24  and a catalytic converter  25 . 
     The amount of air taken into the combustion chamber is measured by an air flow sensor  22  provided on the upstream side of the throttle valve  20 . An air-fuel ratio of the gas (exhaust) discharged from the combustion chamber is detected by an air-fuel ratio sensor  27  provided on the upstream side of the catalytic converter  25 . In addition, a knock sensor  10  is provided in a cylinder block (not illustrated) having a structure in which the cylinder  13  and a crankcase are integrated. The knock sensor  10  outputs a detection signal corresponding to a knock state quantity in the combustion chamber. 
     The exhaust port  24  and the intake port  21  communicate with each other by an EGR pipe  28 , and a so-called exhaust gas recirculation system (EGR) in which a part of the exhaust gas flowing through the exhaust port  24  is returned to the inside of the intake port  21  is configured. The amount of gas flowing through the EGR pipe  28  is adjusted by an EGR valve  29 . 
     Furthermore, a timing rotor  26  (signal rotor) is provided in a shaft portion of a crankshaft. The crank angle sensor  11  disposed on the timing rotor  26  detects a signal of the timing rotor  26  to detect the rotation and the phase of the crankshaft, that is, the engine rotational speed. Detection signals of the knock sensor  10  and the crank angle sensor  11  are taken into the controller  12  and used for state detection and operation control of the engine  1  in the controller  12 . 
     The controller  12  outputs the opening of the throttle valve  20 , the opening of the EGR valve  29 , the fuel injection timing by the fuel injection valve  18 , the ignition timing by the ignition plug  17 , and the like to control the engine  1  to a predetermined operation state. 
     Although only a single cylinder is illustrated in  FIG. 2  to illustrate the configuration of the combustion chamber of the engine  1 , the engine  1  according to the embodiment of the present invention may be a multi-cylinder engine including a plurality of cylinders. 
     [Crank Angle Sensor] 
       FIG. 3  is a diagram illustrating a principle of detecting the engine rotational speed using the crank angle sensor  11  and the timing rotor  26 . On the circumference of the timing rotor  26  attached to a crankshaft  30  of the engine, signal teeth  26   a  are provided at constant angular intervals Δθ. The crank angle sensor  11  detects a time difference Δt between the adjacent signal teeth  26   a  passing through the detector of the crank angle sensor  11 , and obtains an engine rotational speed ω=Δθ/Δt (rad/s). Since the crank angle sensor has such a rotational speed detection principle, the engine rotational speed is detected for each rotation angle Δθ, and the rotational speed is an average speed between the rotation angles Δθ. 
     [Controller] 
       FIG. 4  is a block view illustrating a configuration example of the controller  12 . The controller  12  includes an input/output unit  121 , a control unit  122 , and a storage unit  123  electrically connected to each other via a system bus (not illustrated). 
     The input/output unit  121  includes an input port and an output port (not illustrated), and performs an input and output process on each device and each sensor in the vehicle. For example, the input/output unit  121  reads a signal of the crank angle sensor and transmits the signal to the control unit  122 . The control unit  122  is an arithmetic processing unit, and a central processing unit (CPU) or a micro processing unit (MPU) can be used. In addition, the input/output unit  121  outputs a control signal to each device according to a command of the control unit  122 . 
     The control unit  122  controls a power system of the vehicle. For example, the control unit  122  controls the ignition timing, the throttle opening degree, and the EGR opening degree according to the combustion phase of the engine  1  including the internal combustion engine. 
     The control unit  122  includes a rotational speed calculation unit  122   a , an extreme value timing calculation unit  122   b , a combustion phase calculation unit  122   c , and an engine control unit  122   d.    
     The rotational speed calculation unit  122   a  averages the time-series data of the engine rotational speed and removes harmonic components, and outputs the obtained time-series data of the engine rotational speed to the extreme value timing calculation unit  122   b.    
     The extreme value timing calculation unit  122   b  obtains the crank angle timing at which the rotational speed becomes the maximum value or the minimum value from the time-series data of the engine rotational speed input from the rotational speed calculation unit  122   a , and outputs the result to the combustion phase calculation unit  122   c.    
     The combustion phase calculation unit  122   c  obtains the combustion phase based on the maximum value timing or the minimum value timing of the engine rotational speed obtained by the extreme value timing calculation unit  122   b , and outputs the result to the engine control unit  122   d.    
     The engine control unit  122   d  controls the engine  1  based on the combustion phase obtained by the combustion phase calculation unit  122   c.    
     The storage unit  123  is a volatile memory such as a random access memory (RAM) or a nonvolatile memory such as a read only memory (ROM). A control program executed by the control unit  122  (arithmetic processing device) included in the controller  12  is recorded in the storage unit  123 . The control unit  122  reads the control program from the storage unit  123  and executes the control program, whereby the function of each block of the control unit  122  is realized. Note that the controller  12  may include a non-volatile auxiliary storage device including a semiconductor memory or the like, and the control program may be stored in the auxiliary storage device. 
     The present invention is desirably applied to engine control of a hybrid vehicle of a type in which an engine is dedicated to power generation. However, it is of course also possible to apply to a hybrid vehicle in which the engine is not dedicated to power generation. The present invention can also be applied to a non-hybrid vehicle in which only an engine is used as a driving source of the vehicle. 
     [Rotational Speed Calculation Unit] 
       FIG. 5  illustrates a processing procedure example by the rotational speed calculation unit  122   a . The rotational speed calculation unit  122   a  obtains time-series data of the cycle average engine rotational speed from the engine rotational speed data detected by the crank angle sensor  11  (S 1 ). This is to prevent the estimation result of the combustion state from being adversely affected when the engine rotational speed varies for each cycle. 
     A specific method of obtaining the time-series data of the cycle average engine rotational speed will be described with reference to  FIG. 6 . The rotational speed calculation unit  122   a  takes in the rotational speed data obtained for each constant crank angle Δθ by the crank angle sensor  11  as time-series data for one engine cycle (period for crank angle of 720°). For example, in the case of Δθ=10°, the rotational speed calculation unit  122   a  takes in the time-series data of the rotational speed including a total of 72 points from the crank angle of 10° to 720°. The left diagram of  FIG. 6  illustrates an example of the time-series data of the rotational speed for each cycle captured in this manner. 
     The taking of the rotational speed data for each cycle is repeated a predetermined cycle number N (for example, 100 cycles), and time-series data of the cycle average engine rotational speed is obtained by Equation (1). The engine rotation speed data at each discrete point is averaged at a predetermined cycle number N, so that the time-series data of the engine rotation speed from which the cycle variation is removed is obtained. 
     
       
         
           
             
               
                 
                   [ 
                   
                     Equation 
                     ⁢ 
                     
                         
                     
                     ⁢ 
                     1 
                   
                   ] 
                 
               
               
                 
                     
                 
               
             
             
               
                 
                   
                     
                       
                         ω 
                         ⁢ 
                         
                             
                         
                         ⁢ 
                         
                           ( 
                           θ 
                           ) 
                         
                       
                       _ 
                     
                     = 
                     
                       
                         
                           ∑ 
                           
                             i 
                             = 
                             1 
                           
                           N 
                         
                         ⁢ 
                         
                           
                             ω 
                             ⁡ 
                             
                               ( 
                               θ 
                               ) 
                             
                           
                           i 
                         
                       
                       N 
                     
                   
                   ⁢ 
                   
                     
 
                   
                   ⁢ 
                   
                     ω 
                     ⁢ 
                     
                       : 
                     
                     ⁢ 
                     
                         
                     
                     ⁢ 
                     Rotational 
                     ⁢ 
                     
                         
                     
                     ⁢ 
                     speed 
                   
                   ⁢ 
                   
                     
 
                   
                   ⁢ 
                   
                     θ 
                     ⁢ 
                     
                       : 
                     
                     ⁢ 
                     
                         
                     
                     ⁢ 
                     Crank 
                     ⁢ 
                     
                         
                     
                     ⁢ 
                     angle 
                   
                   ⁢ 
                   
                     
 
                   
                   ⁢ 
                   
                     N 
                     ⁢ 
                     
                       : 
                     
                     ⁢ 
                     
                         
                     
                     ⁢ 
                     Number 
                     ⁢ 
                     
                         
                     
                     ⁢ 
                     of 
                     ⁢ 
                     
                         
                     
                     ⁢ 
                     cycles 
                     ⁢ 
                     
                         
                     
                     ⁢ 
                     to 
                     ⁢ 
                     
                         
                     
                     ⁢ 
                     be 
                     ⁢ 
                     
                         
                     
                     ⁢ 
                     averaged 
                   
                   ⁢ 
                   
                     
 
                   
                   ⁢ 
                   
                     i 
                     ⁢ 
                     
                       : 
                     
                     ⁢ 
                     
                         
                     
                     ⁢ 
                     Cycle 
                   
                 
               
               
                 
                   Equation 
                   ⁢ 
                   
                       
                   
                   ⁢ 
                   1 
                 
               
             
           
         
       
     
     Returning to  FIG. 5 , the processing procedure by the rotational speed calculation unit  122   a  will be continuously described. Next, the rotational speed calculation unit  122   a  obtains the time-series data of the engine rotational speed obtained by removing harmonic components from the time-series data of the cycle average engine rotational speed (S 2 ). 
     This process is performed to remove fluctuation components not related to combustion from the engine rotational speed. Examples of the rotational speed fluctuation component not related to combustion include rotational fluctuation due to mechanical backlash of the accelerating machine  2  provided between the engine  1  and the generator  3 , and electrical noise included in a signal of the crank angle sensor  11 . These are generally short-period fluctuations compared to engine rotational fluctuations generated by combustion torque, and thus can be removed by removing harmonic components from the rotational speed data. By removing the fluctuation component irrelevant to combustion from the rotational speed data, the estimation accuracy can be improved in the estimation of the combustion state based on the engine rotational fluctuation. 
     In order to remove the harmonic components from the rotational speed data, the rotational speed calculation unit  122   a  reconstructs time-series data of the engine rotational speed using Fourier series expansion represented by Equation (2). In the Fourier series expansion, the original function is reconstructed by adding sine functions having different frequencies. In Equation (2), k is the order of the sine function, and the larger k is, the higher the frequency becomes. Therefore, when the time-series data of the engine rotational speed is reconstructed using the Fourier series expansion, if the addition of the sine functions is terminated in an appropriate order, a frequency component higher than the order can be removed from the original data. 
     
       
         
           
             
               
                 
                   
                       
                   
                   ⁢ 
                   
                     [ 
                     
                       Equation 
                       ⁢ 
                       
                           
                       
                       ⁢ 
                       2 
                     
                     ] 
                   
                 
               
               
                 
                     
                 
               
             
             
               
                 
                   
                     = 
                     
                       
                         ω 
                         0 
                       
                       + 
                       
                         
                           ∑ 
                           
                             k 
                             = 
                             1 
                           
                           n 
                         
                         ⁢ 
                         
                           { 
                           
                             
                               
                                 c 
                                 k 
                               
                               ⁢ 
                               
                                   
                               
                               ⁢ 
                               cos 
                               ⁢ 
                               
                                 
                                   
                                     k 
                                     · 
                                     2 
                                   
                                   ⁢ 
                                   
                                     π 
                                     ⁡ 
                                     
                                       ( 
                                       
                                         θ 
                                         - 
                                         
                                           θ 
                                           0 
                                         
                                       
                                       ) 
                                     
                                   
                                 
                                 Θ 
                               
                             
                             + 
                             
                               
                                 s 
                                 
                                   k 
                                   ⁢ 
                                   
                                       
                                   
                                 
                               
                               ⁢ 
                               sin 
                               ⁢ 
                               
                                   
                               
                               ⁢ 
                               
                                 
                                   
                                     k 
                                     · 
                                     2 
                                   
                                   ⁢ 
                                   
                                     π 
                                     ⁡ 
                                     
                                       ( 
                                       
                                         θ 
                                         - 
                                         
                                           θ 
                                           0 
                                         
                                       
                                       ) 
                                     
                                   
                                 
                                 Θ 
                               
                             
                           
                           } 
                         
                       
                     
                   
                   ⁢ 
                   
                     
 
                   
                   ⁢ 
                   
                       
                   
                   ⁢ 
                   
                     
                       c 
                       k 
                     
                     = 
                     
                       
                         2 
                         Θ 
                       
                       ⁢ 
                       
                         
                           ∫ 
                           
                             θ 
                             0 
                           
                           
                             
                               θ 
                               0 
                             
                             + 
                             Θ 
                           
                         
                         ⁢ 
                         
                           
                             
                               ω 
                               ⁢ 
                               
                                   
                               
                               ⁢ 
                               
                                 ( 
                                 θ 
                                 ) 
                               
                             
                             _ 
                           
                           ⁢ 
                           
                               
                           
                           ⁢ 
                           cos 
                           ⁢ 
                           
                             
                               
                                 k 
                                 · 
                                 2 
                               
                               ⁢ 
                               
                                 π 
                                 ⁡ 
                                 
                                   ( 
                                   
                                     θ 
                                     - 
                                     
                                       θ 
                                       0 
                                     
                                   
                                   ) 
                                 
                               
                             
                             Θ 
                           
                           ⁢ 
                           d 
                           ⁢ 
                           
                               
                           
                           ⁢ 
                           θ 
                         
                       
                     
                   
                   ⁢ 
                   
                     
 
                   
                   ⁢ 
                   
                       
                   
                   ⁢ 
                   
                     
                       s 
                       k 
                     
                     = 
                     
                       
                         2 
                         Θ 
                       
                       ⁢ 
                       
                         
                           ∫ 
                           
                             θ 
                             0 
                           
                           
                             
                               θ 
                               0 
                             
                             + 
                             θ 
                           
                         
                         ⁢ 
                         
                           
                             
                               ω 
                               ⁢ 
                               
                                   
                               
                               ⁢ 
                               
                                 ( 
                                 θ 
                                 ) 
                               
                             
                             _ 
                           
                           ⁢ 
                           
                               
                           
                           ⁢ 
                           sin 
                           ⁢ 
                           
                             
                               
                                 k 
                                 · 
                                 2 
                               
                               ⁢ 
                               
                                 π 
                                 ⁡ 
                                 
                                   ( 
                                   
                                     θ 
                                     - 
                                     
                                       θ 
                                       0 
                                     
                                   
                                   ) 
                                 
                               
                             
                             Θ 
                           
                           ⁢ 
                           d 
                           ⁢ 
                           
                               
                           
                           ⁢ 
                           θ 
                         
                       
                     
                   
                   ⁢ 
                   
                     
 
                   
                   ⁢ 
                   
                       
                   
                   ⁢ 
                   
                     
                       
                         ω 
                         ⁢ 
                         
                             
                         
                         ⁢ 
                         
                           ( 
                           θ 
                           ) 
                         
                       
                       _ 
                     
                     ⁢ 
                     
                         
                     
                     ⁢ 
                     
                       : 
                     
                     ⁢ 
                     
                         
                     
                     ⁢ 
                     Original 
                     ⁢ 
                     
                         
                     
                     ⁢ 
                     cycle 
                     ⁢ 
                     
                         
                     
                     ⁢ 
                     average 
                     ⁢ 
                     
                         
                     
                     ⁢ 
                     rotational 
                     ⁢ 
                     
                         
                     
                     ⁢ 
                     speed 
                   
                   ⁢ 
                   
                     
 
                   
                   ⁢ 
                   
                       
                   
                   ⁢ 
                   
                     ⁢ 
                     
                         
                     
                     ⁢ 
                     
                       : 
                     
                     ⁢ 
                     
                         
                     
                     ⁢ 
                     Reconstructed 
                     ⁢ 
                     
                         
                     
                     ⁢ 
                     cycle 
                     ⁢ 
                     
                         
                     
                     ⁢ 
                     average 
                     ⁢ 
                     
                         
                     
                     ⁢ 
                     rotational 
                     ⁢ 
                     
                         
                     
                     ⁢ 
                     speed 
                   
                   ⁢ 
                   
                     
 
                   
                   ⁢ 
                   
                       
                   
                   ⁢ 
                   
                     k 
                     ⁢ 
                     
                       : 
                     
                     ⁢ 
                     
                         
                     
                     ⁢ 
                     Order 
                     ⁢ 
                     
                         
                     
                     ⁢ 
                     of 
                     ⁢ 
                     
                         
                     
                     ⁢ 
                     sine 
                     ⁢ 
                     
                         
                     
                     ⁢ 
                     function 
                   
                   ⁢ 
                   
                     
 
                   
                   ⁢ 
                   
                       
                   
                   ⁢ 
                   
                     θ 
                     ⁢ 
                     
                       : 
                     
                     ⁢ 
                     
                         
                     
                     ⁢ 
                     Crank 
                     ⁢ 
                     
                         
                     
                     ⁢ 
                     angle 
                   
                   ⁢ 
                   
                     
 
                   
                   ⁢ 
                   
                       
                   
                   ⁢ 
                   
                     Θ 
                     ⁢ 
                     
                       : 
                     
                     ⁢ 
                     
                         
                     
                     ⁢ 
                     Cycle 
                     ⁢ 
                     
                         
                     
                     ⁢ 
                     period 
                   
                 
               
               
                 
                   Equation 
                   ⁢ 
                   
                       
                   
                   ⁢ 
                   2 
                 
               
             
           
         
       
     
     In a general 4-cylinder 4-cycle gasoline engine, a truncation order n of a sine function for removing harmonic components not related to combustion from rotational speed data is desirably about 3 to 5. However, it is considered that the appropriate truncation order n changes depending on the configuration of the engine and the operating conditions. For example, when the number of engine cylinders increases, the frequency of the engine rotational fluctuation due to the combustion torque increases, and thus the truncation order is preferably larger in order to appropriately reconstruct the fluctuation component. In addition, even when the engine rotational speed increases, the frequency of the engine rotational fluctuation due to the combustion torque increases, and thus, it is preferable to further increase the truncation order. Therefore, when the truncation order n of the sine function is changed based on the engine rotational speed, the estimation accuracy can be improved over a wide operation range in the estimation of the combustion state based on the engine rotational fluctuation. 
     As described above, the rotational speed calculation unit  122   a  calculates the crank rotational speed by expanding the time-series value of the crank rotational speed obtained from a rotation angle sensor in a finite order Fourier series. In addition, it is desirable to change the truncation order of the Fourier series expansion based on the crank rotational speed. 
     In addition, the extreme value timing calculation unit  122   b  divides the period of the crank rotational speed time-series value in the period for crank angle of 720° by the number of cylinders, and allocates the crank rotational speed time-series value in the period including the compression top dead center of each cylinder as the crank rotational speed time-series value in the cylinder. Further, the extreme value timing calculation unit  122   b  desirably calculates the extreme value timing of the crank rotational speed for each cylinder from the allocated crank rotational speed time-series value assigned to each cylinder. In addition, it is desirable that the extreme value timing calculation unit  122   b  approximates the time-series value of the crank rotational speed using a continuous function from the discrete time-series value of the crank rotational speed, and calculates the extreme value timing of the crank rotational speed using the continuous function. 
     [Extreme Value Timing Calculation Unit] 
     Next, the process of the extreme value timing calculation unit  122   b  in the controller  12  will be described. 
       FIG. 7  illustrates a processing procedure example by the extreme value timing calculation unit  122   b.    
     The extreme value timing calculation unit  122   b  converts the time-series data of the engine rotational speed of the entire engine cycle (crank angle of 0° to 720°) into a local crank angle synchronized with the cycle of each engine cylinder (S 3 ). Next, the crank angle timing at which the engine rotational speed becomes maximum (or minimum) is calculated from the time-series data of the engine rotational speed converted into the local crank angle (S 4 ). 
     A local crank angle conversion process (S 3 ) in the rotational speed calculation unit  122   a  will be described with reference to  FIGS. 8 to 10 . 
       FIG. 8  is an explanatory diagram illustrating each stroke sequence of a three-cylinder four-cycle engine. In a four-cycle engine, four strokes of intake, compression, expansion, and exhaust are sequentially performed. In a three-cylinder engine, the stroke between the cylinders is shifted by a crank angle of 240°. When the ignition of the engine is performed in the order of the second cylinder, the first cylinder, and the third cylinder, the stroke of the first cylinder is delayed by 240° with respect to the second cylinder, and the stroke of the third cylinder is delayed by 240° with respect to the first cylinder. 
     The state of combustion is strongly reflected in the crank rotational speed in the vicinity of the compression top dead center of each cylinder where the in-cylinder pressure becomes maximum. Therefore, in process S 3 , the rotational speed data of the entire cycle (crank angle of 0° to 720°) is divided in a section with a crank angle of 240° around the compression top dead center of each cylinder. Then, each window is assigned as the rotational speed data of the cylinder including the compression top dead center in the window. 
       FIG. 9  illustrates an example in which a window having a width of 240° is set around the compression top dead center of each cylinder for the time-series data of the engine rotational speed. Since the section with the crank angle of 0° to 240° includes the compression top dead center of the third cylinder, this is assigned as the third cylinder window. Similarly, a section with a crank angle of 240° to 480° is assigned as the second cylinder window, and a section with a crank angle of 480° to 720° is assigned as the first cylinder window. 
     When each window is assigned in this manner, the combustion state of the third cylinder is more strongly reflected in the rotational speed data of the third cylinder window than in the rotational speed data of the other cylinder windows. 
     Similarly, the combustion state of the second cylinder is more strongly reflected in the rotational speed data of the second cylinder window than in the rotational speed data of the other cylinder windows, and the combustion state of the first cylinder is more strongly reflected in the rotational speed data of the first cylinder window than in the rotational speed data of the other cylinder windows. Therefore, the combustion state can be estimated for each cylinder by using the rotational speed data of each window. 
     Furthermore, in process S 3 , the rotational speed data of each window is converted into a local crank angle based on the compression top dead center of each cylinder.  FIG. 10  illustrates an example in which the rotational speed data of each window is converted into the local crank angle. In this example, the time-series data of the rotational speed is redefined using the local crank angle of −120° to 120° in which the compression top dead center of each cylinder is set to 0. In the process S 3 , the time-series data of the rotational speed converted into the local crank angle for all the cylinder windows is created, and the data is delivered to the process S 4 . 
     Subsequently, in process S 4 , the timing at which the rotational speed becomes maximum or the timing at which the rotational speed becomes minimum is calculated from the time-series data of the rotational speed converted into the local crank angle. 
       FIG. 11  illustrates a method of calculating the maximum timing of the rotational speed in process S 4 . 
     Since the time-series data of the rotational speed is discrete point data, a deviation occurs between the maximum timing of the rotational speed and the maximum timing of the actual rotational speed (the rotational speed indicated by a dotted line in  FIG. 11 ) in the discrete point data. Therefore, in the process S 4 , the rotational speed is approximated by a polynomial from the discrete point data, and the maximum timing of the rotational speed is obtained from this approximate expression. 
     Therefore, in the process S 4 , first, a data point n at which the rotational speed is maximum is searched from the time-series data of the rotational speed which is discrete point data. Then, the local crank angle θ n−1  at a data point one time before the local crank angle θ n  at n and the rotational speed ω n , n and the local crank angle θ n+1  and the rotational speed ω n+1  at a data point one time after the rotational speed ω n−1 , n are extracted. 
     Furthermore, in the process S 4 , the rotational speed ω is approximated by Equation 3, which is a quadratic function of the local crank angle θ. Here, a, b, and c are constants. In the process S 4 , a, b, and c are obtained by solving simultaneous ternary linear equations obtained by substituting θ n , ω n , θ n−1 , ω n−1 , θ n+1 , and ω n+1  into Equation 3. 
       [Equation 3] 
       ω= aθ   2   +bθ+c   Equation 3
 
     Since the differential value of Equation 3 becomes zero at the point where the rotational speed becomes the extreme value, the local crank angle (maximum speed timing) θ max  at which the rotational speed becomes the maximum is obtained from Equation 4 in process S 4 . θ max  of each cylinder is obtained by a similar procedure and delivered to the combustion phase calculation unit  122   c . 
     
       
         
           
             
               
                 
                   [ 
                   
                     Equation 
                     ⁢ 
                     
                         
                     
                     ⁢ 
                     4 
                   
                   ] 
                 
               
               
                 
                     
                 
               
             
             
               
                 
                   
                     
                       
                         d 
                         ⁢ 
                         
                             
                         
                         ⁢ 
                         ω 
                       
                       
                         d 
                         ⁢ 
                         θ 
                       
                     
                     = 
                     
                       
                         
                           2 
                           ⁢ 
                           a 
                           ⁢ 
                           
                             θ 
                             
                               max 
                               ⁡ 
                               
                                 ( 
                                 min 
                                 ) 
                               
                             
                           
                         
                         + 
                         b 
                       
                       = 
                       0 
                     
                   
                   ⁢ 
                   
                     
 
                   
                   ⁢ 
                   
                     
                       θ 
                       
                         max 
                         ⁢ 
                         
                             
                         
                         ⁢ 
                         
                           ( 
                           min 
                           ) 
                         
                       
                     
                     = 
                     
                       - 
                       
                         b 
                         
                           2 
                           ⁢ 
                           
                               
                           
                           ⁢ 
                           a 
                         
                       
                     
                   
                 
               
               
                 
                   Equation 
                   ⁢ 
                   
                       
                   
                   ⁢ 
                   4 
                 
               
             
           
         
       
     
     In addition, also in the case of obtaining the minimum timing of the rotational speed in the process S 4 , the maximum timing of the rotational speed is obtained by the same method as in the case of obtaining the maximum timing of the rotational speed. 
       FIG. 12  illustrates a method of calculating the minimum timing of the rotational speed in process S 4 . 
     In the process S 4 , first, a data point n at which the rotational speed is minimum is searched from the time-series data of the rotational speed which is discrete point data. Then, the local crank angle θ n−1  at a data point one time before the local crank angle θ n  at n and the rotational speed ω n , n and the local crank angle θ n+1  and the rotational speed ω n+1  at a data point one time after the rotational speed ω n−1 , n are extracted. Then, in the process S 4 , the constants a, b, and c of the quadratic function are obtained from Equation 3 using these values, and the local crank angle (minimum speed timing) θ min  at which the rotational speed is minimized is further obtained from Equation 4. θ min  of each cylinder is obtained by a similar procedure and delivered to the combustion phase calculation unit  122   c.    
     In the above embodiment, the rotational speed ω is approximated by a quadratic function of the local crank angle θ, but the present invention is not limited thereto. For example, the rotational speed ω can be approximated using various continuous functions such as a cubic function and a sine function of the local crank angle θ. 
     [Combustion Phase Calculation Unit] 
     Next, a method of calculating the combustion phase by the combustion phase calculation unit  122   c  in the controller  12  will be described with reference to  FIG. 13 . 
       FIG. 13  is a diagram illustrating a correlation between the maximum timing θ max  of the engine rotational speed and a combustion centroid position MFB  50 . Here, the mass fraction burned (MFB) is a ratio of a mass of a combusted portion to a mass of the entire air-fuel mixture, and the combustion centroid position MFB  50  indicates a crank angle when the combustion mass ratio becomes 50%. There is a strong correlation between the maximum timing θ max  of the engine rotational speed and the combustion centroid position MFB  50 , and the relationship between the maximum timing θ max  and the combustion centroid position MFB is substantially linear as illustrated in  FIG. 13 . The reason for this will be described below. 
     The temporal change of the engine rotational speed is represented by a motion equation of the rotating body represented by Equation 5. Here, T c  represents a combustion torque, and T L  represents a load torque. As is clear from Equation 5, the rotational acceleration dω/dt and the combustion torque T c  are in a proportional relationship, and when the combustion torque changes, the rotational acceleration changes accordingly. For example, when the combustion centroid position is retarded, the generation timing of the combustion torque is retarded, and in synchronization with this, the timing at which the rotational acceleration becomes maximum is delayed. Therefore, a strong correlation appears between the maximum timing of the rotational acceleration and the combustion centroid position. 
     
       
         
           
             
               
                 
                   [ 
                   
                     Equation 
                     ⁢ 
                     
                         
                     
                     ⁢ 
                     5 
                   
                   ] 
                 
               
               
                 □ 
               
             
             
               
                 
                   
                     
                       I 
                       ⁢ 
                       
                           
                       
                       ⁢ 
                       
                         
                           d 
                           ⁢ 
                           
                               
                           
                           ⁢ 
                           ω 
                         
                         
                           d 
                           ⁢ 
                           
                               
                           
                           ⁢ 
                           t 
                         
                       
                     
                     = 
                     
                       
                         T 
                         c 
                       
                       - 
                       
                         T 
                         L 
                       
                     
                   
                   ⁢ 
                   
                     
 
                   
                   ⁢ 
                   
                     ω 
                     ⁢ 
                     
                       : 
                     
                     ⁢ 
                     
                         
                     
                     ⁢ 
                     Rotational 
                     ⁢ 
                     
                         
                     
                     ⁢ 
                     speed 
                   
                   ⁢ 
                   
                     
 
                   
                   ⁢ 
                   
                     
                       T 
                       c 
                     
                     ⁢ 
                     
                       : 
                     
                     ⁢ 
                     
                         
                     
                     ⁢ 
                     Combustion 
                     ⁢ 
                     
                         
                     
                     ⁢ 
                     
                       torqu 
                       ⁢ 
                       e 
                     
                   
                   ⁢ 
                   
                     
 
                   
                   ⁢ 
                   
                     
                       T 
                       L 
                     
                     ⁢ 
                     
                       : 
                     
                     ⁢ 
                     
                         
                     
                     ⁢ 
                     Load 
                     ⁢ 
                     
                         
                     
                     ⁢ 
                     
                       torqu 
                       ⁢ 
                       e 
                     
                   
                   ⁢ 
                   
                     
 
                   
                   ⁢ 
                   
                     I 
                     ⁢ 
                     
                       : 
                     
                     ⁢ 
                     
                         
                     
                     ⁢ 
                     Inertial 
                     ⁢ 
                     
                         
                     
                     ⁢ 
                     moment 
                   
                   ⁢ 
                   
                     
 
                   
                   ⁢ 
                   
                     t 
                     ⁢ 
                     
                       : 
                     
                     ⁢ 
                     
                         
                     
                     ⁢ 
                     Time 
                   
                 
               
               
                 
                   Equation 
                   ⁢ 
                   
                       
                   
                   ⁢ 
                   5 
                 
               
             
           
         
       
     
     On the other hand, when the change in the load torque T L  is small, the temporal change in the combustion torque is substantially sinusoidal. This is because the arm length of the crank that determines the magnitude of the combustion torque changes sinusoidally with the rotation of the crankshaft. When the rotational acceleration is sinusoidal, the rotational speed obtained by integrating the rotational acceleration is also sinusoidal, and a time-change waveform of the rotational acceleration and the time-change waveform of the rotational speed maintain a constant phase difference. Therefore, the phase difference between the maximum timing of the rotational acceleration and the maximum timing of the rotational speed is also constant, and the combustion centroid position has a strong correlation with not only the maximum timing of the rotational acceleration but also the maximum timing of the rotational speed. That is, in the present embodiment, a waveform indicating the crank rotational speed on a vertical axis with respect to the crank angle on a horizontal axis is desirably configured to be sinusoidal. 
     The correlation line between the maximum timing θ max  of the engine rotational speed and the combustion centroid position MFB  50  is obtained in advance by calibration or the like, and is stored in the ROM of the controller  12  in the form of a correlation formula or a reference table. The combustion phase calculation unit  122   c  obtains the current combustion centroid position MFB  50   current  from the maximum timing θ max_current  of the current engine rotational speed delivered from the extreme value timing calculation unit  122   b  by using the correlation line between the maximum timing θ max  of the engine rotational speed and the combustion centroid position MFB  50  shown in  FIG. 13 . The current combustion centroid position MFB  50   current  is obtained for each cylinder in a similar procedure, and these are passed to the engine control unit  122   d  of the controller  12 . 
     Even when the minimum timing θ min  of the engine rotational speed is used, the combustion centroid position can be obtained similarly to the case of the maximum timing θ max  of the engine rotational speed. 
       FIG. 14  is a diagram illustrating a correlation between the minimum timing θ min  of the engine rotational speed and the combustion centroid position MFB  50 . There is a strong correlation between the minimum timing θ min  of the engine rotational speed and the combustion centroid position MFB  50 , and the relationship between the minimum timing θ min  and the combustion centroid position MFB is substantially linear as illustrated in  FIG. 14 . The reason for this will be described below. 
     As described above, when the change in the load torque T L  is small, the temporal change in the engine rotational speed is sinusoidal. Therefore, the maximum timing of the rotational speed and the minimum timing of the rotational speed have a substantially constant phase difference. Therefore, the combustion centroid position has a strong correlation with not only the maximum timing of the rotational speed but also the minimum timing of the rotational speed. 
     The correlation line between the minimum timing θ min  of the engine rotational speed and the combustion centroid position MFB  50  is obtained in advance by calibration or the like, and is stored in the ROM of the controller  12  in the form of a correlation formula or a reference table. The combustion phase calculation unit  122   c  obtains the current combustion centroid position MFB  50   current  from the minimum timing θ min_current  of the current engine rotational speed delivered from the extreme value timing calculation unit  122   b  by using the correlation line between the minimum timing θ min  of the engine rotational speed and the combustion centroid position MFB  50  shown in  FIG. 14 . The current combustion centroid position MFB  50   current  is obtained for each cylinder in a similar procedure, and these are passed to the engine control unit  122   d  of the controller  12 . 
     An initial combustion position MFB  10  (position at mass combustion ratio of 10%) can also be obtained using the maximum timing θ max  of the engine rotational speed. 
       FIG. 15  is a diagram illustrating a correlation between the maximum timing θ max  of the engine rotational speed and the initial combustion position MFB  10 . There is a strong correlation between the maximum timing θ max  of the engine rotational speed and the initial combustion position MFB  10 , and the relationship between the maximum timing θ max  and the combustion centroid position MFB is substantially linear as illustrated in  FIG. 15 . This is because when the initial combustion position changes, the generation timing of the combustion torque changes accordingly. Therefore, if the correlation line between the maximum timing θ max  of the engine rotational speed and the initial combustion position MFB  10  is obtained in advance by calibration or the like, the current initial combustion position MFB  10   current  can be obtained using the correlation line between the maximum timing θ max  of the engine rotational speed and the initial combustion position MFB  10  illustrated in  FIG. 15  from the maximum timing θ max_current  of the current engine rotational speed. The current initial combustion period  Δθig10_current  can also be determined by subtracting the current ignition timing θ ig_current  from the MFB  10   current . 
     The combustion phase calculation unit  122   c  obtains the current combustion centroid position MFB  10   current  and the initial combustion period  Δθig10_current  for each cylinder in a similar procedure, and passes them to the engine control unit  122   d  of the controller  12 . 
     Further, the initial combustion position MFB  10  can be obtained using the minimum timing θ min  of the engine rotational speed. 
       FIG. 16  is a diagram illustrating a correlation between the minimum timing θ min  of the engine rotational speed and the initial combustion position MFB  10 . There is a strong correlation between the minimum timing θ min  of the engine rotational speed and the initial combustion position MFB  10 , and the relationship between the minimum timing θ min  and the combustion centroid position MFB is substantially linear as illustrated in  FIG. 16 . Therefore, if the correlation line between the minimum timing θ min  of the engine rotational speed and the initial combustion position MFB  10  is obtained in advance by calibration or the like, the current initial combustion position MFB  10   current  can be obtained using the correlation line between the minimum timing θ min  of the engine rotational speed and the initial combustion position MFB  10  illustrated in  FIG. 16  from the minimum timing θ min_current  of the current engine rotational speed. The current initial combustion period  Δθig10_current  can also be determined by subtracting the current ignition timing θ ig_current  from the MFB  10   current . 
     The combustion phase calculation unit  122   c  obtains the current combustion centroid position MFB  10   current  and the initial combustion period  Δθig10_current  for each cylinder in a similar procedure, and passes them to the engine control unit  122   d  of the controller  12 . As described above, the internal combustion engine control unit (ECU  12 ) of the present embodiment includes a rotational speed calculation unit  122   a  that calculates a crank rotational speed of an internal combustion engine (engine  1 ); an extreme value timing calculation unit  122   b  that calculates an extreme value timing of the crank rotational speed calculated by the rotational speed calculation unit  122   a ; and a combustion state estimation unit (combustion phase calculation unit  122   c ) that estimates a combustion state based on the extreme value timing of the crank speed calculated by the extreme value timing calculation unit  122   b.    
     [Engine Control Unit] 
     Next, control of the engine by the engine control unit  122   d  will be described. 
     In order to increase the thermal efficiency of the engine, it is necessary to appropriately control the combustion phase. If the combustion phase is too early, work of compressing the gas in the compression stroke increases, so that the loss increases. In addition, when the combustion phase is too slow, the exhaust temperature rises, and the heat loss due to the exhaust increases. Since the combustion phase at which the thermal efficiency is maximized is defined by the combustion centroid position MFB  50 , the thermal efficiency of the engine can be increased by controlling the ignition timing so that the combustion centroid position MFB  50  becomes a defined value. Therefore, the engine control unit  122   d  performs engine control based on the combustion centroid position MFB  50 . 
       FIG. 17  is a control block view of the ignition timing in the controller  12 . In the control of the ignition timing in the controller  12 , the ignition timing is calculated by the engine control unit  122   d  based on the deviation between the current MFB  50   _current  calculated by the combustion phase calculation unit  122   c  and the target MFB  50 , and an ignition signal is sent to the engine  1  at the calculated ignition timing. 
     The engine control unit  122   d  is configured by a PID controller, and adjusts the ignition timing so that the deviation between MFB  50   _current  and the target MFB  50  becomes small. More specifically, when the MFB  50   _current  is retarded from the target MFB  50 , the ignition timing is advanced to advance the combustion phase. Further, when the MFB  50   _current  is advanced more than the target MFB  50 , the ignition timing is delayed in order to delay the combustion phase. 
     The internal combustion engine control unit (ECU  12 ) of the present embodiment includes an engine control unit  122   d  that performs combustion control of the internal combustion engine (engine  1 ) based on the combustion state estimated by the combustion state estimation unit (combustion phase calculation unit  122   c ). It is also desirable that the internal combustion engine (engine  1 ) be configured to drive a generator  3  of a series hybrid system. 
     In addition, the combustion state estimation unit (combustion phase calculation unit  122   c ) of the internal combustion engine control unit (ECU  12 ) estimates the combustion phase at which the combustion mass ratio of the internal combustion engine (engine  1 ) becomes a set value based on the timing at which the crank rotational speed becomes maximum or minimum, and the engine control unit  122   d  performs combustion control of the internal combustion engine (engine  1 ) so that the estimated combustion phase becomes a set phase. The engine control unit  122   d  controls the ignition timing of the internal combustion engine (engine  1 ) so that the estimated combustion phase becomes the set phase. Specifically, the combustion state estimation unit (combustion phase calculation unit  122   c ) calculates a combustion phase (combustion centroid position MFB  50 ) at which the combustion mass ratio is 50% and a combustion phase (initial combustion position MFB  10 ) at which the combustion mass ratio is 10%. Then, the engine control unit  122   d  desirably controls the ignition timing so that the estimated combustion phase (combustion centroid position MFB  50 ) becomes, for example, 8° to 15° after the top dead center. In addition, the engine control unit  122   d  desirably controls the ignition timing so that the estimated combustion phase (initial combustion position MFB  10 ) is, for example, within 15° after ignition. 
     That is, the engine control unit  122   d  controls the EGR valve opening of the internal combustion engine (engine  1 ) so that the estimated combustion phase (initial combustion position MFB  10 ) becomes the set phase (for example, within 15° after ignition). When the estimated combustion phase (initial combustion position MFB  10 ) is delayed from the set phase (for example, within 15° after ignition), the engine control unit  122   d  controls the EGR valve opening of the internal combustion engine (engine  1 ) in a closing direction. 
     When the estimated combustion phase (combustion centroid position MFB  50 , initial combustion position MFB  10 ) is delayed from the set phase, the engine control unit  122   d  controls the ignition timing of the internal combustion engine (engine  1 ) to be advanced. Conversely, when the estimated combustion phase (combustion centroid position MFB  50 , initial combustion position MFB  10 ) is ahead of the set phase, the engine control unit  122   d  controls the ignition timing of the internal combustion engine (engine  1 ) to be retarded. 
     Since the combustion phase calculation unit  122   c  obtains the current combustion centroid position MFB  50   _current  for each cylinder, it is preferable to control the ignition timing based on MFB  50   _current  for each cylinder. In the multi-cylinder engine, the combustion phase may be different between the cylinders due to variations in the intake air amount and the like. However, by controlling the ignition timing for each cylinder based on the MFB  50   _current  of each cylinder, the combustion phase of each cylinder can be optimized, and thermal efficiency and emission performance can be improved. Further, the cylinder average MFB  50   _current  may be obtained from the MFB  50   _current  of each cylinder, and the ignition timing may be controlled based on this. In this case, the ignition timings of all the cylinders are the same, and there is a possibility that thermal efficiency and emission performance are lowered as compared with a case where the ignition timing is controlled for each cylinder, but there is an advantage that the control is simplified. 
     Next, control of another engine by the engine control unit  122   d  will be described. 
     Exhaust gas recirculation (EGR) control in which exhaust gas is mixed with intake air of an engine in order to increase thermal efficiency of the engine is widely performed. When the EGR is introduced, the intake gas amount into the cylinder increases, so that the pumping loss in the partial load can be reduced. In addition, since the combustion temperature is lowered by the inert gas, the cooling loss can be reduced. The EGR is also effective in suppressing knocking at a high load. In general, the effect of the EGR increases as the ratio of the EGR (EGR rate) to the intake gas increases. On the other hand, when the EGR rate increases, combustion becomes unstable, and concerns such as misfire and an increase in emissions increase. 
       FIG. 18  illustrates an example of a relationship between an initial combustion period Δθ ig10  and a cycle fluctuation rate of a combustion torque. The initial combustion period Δθ ig10  indicates the ease of ignition of the air-fuel mixture, and a large Δθ ig10  indicates a low ignition quality of the air-fuel mixture. Therefore, when Δθ ig10  increases, misfire is likely to occur, and the cycle fluctuation of the combustion torque increases. In particular, when Δθ ig10  is larger than a predetermined value, the misfire cycle is rapidly increased, and the increase in torque fluctuation is accelerated. 
     As described above, since the instability of combustion due to EGR is defined by the initial combustion period Δθ ig10 , by controlling the EGR rate so that the initial combustion period Δθ ig10  becomes a prescribed value, it is possible to increase the thermal efficiency of the engine while preventing misfire and deterioration of emissions. Therefore, the engine control unit  122   d  performs engine control based on the initial combustion period Δθ ig10 . 
     The combustion state estimation unit of the control unit  122  estimates an initial combustion period Δθ ig10  of the internal combustion engine (engine  1 ) based on the timing at which the crank rotational speed becomes maximum or minimum, and the engine control unit  122   d  performs combustion control of the internal combustion engine (engine  1 ) such that the estimated initial combustion period Δθ ig10  becomes a set initial combustion period. Specifically, the engine control unit  122   d  controls the EGR valve opening of the internal combustion engine (engine  1 ) in the closing direction when the estimated initial combustion period Δθ ig10  is longer than the set initial combustion period. When the estimated initial combustion period Δθ ig10  is shorter than the set initial combustion period, the engine control unit  122   d  controls the EGR valve opening of the internal combustion engine (engine  1 ) in the closing direction. 
       FIG. 19  is a control block view of EGR in the controller  12 . In the control of the EGR in the controller  12 , the EGR valve opening is calculated by the engine control unit  122   d  based on the deviation between the current initial combustion period Δθ ig10_current  calculated by the combustion phase calculation unit  122   c  and the target Δθ ig10 , and the engine  1  is operated at the calculated EGR valve opening. As the initial combustion period Δθ ig10_current , the largest Δθ ig10_current  is selected from the initial combustion period Δθ ig10_current  of each cylinder, and the EGR control is performed based on this. The reason why the largest Δθ ig10_current  is selected here is that, as described above, combustion stability tends to deteriorate rapidly with respect to an increase in the initial combustion period Δθ ig10 , and improvement of the stability of the cylinder having the largest Δθ ig10_current  is prioritized. The engine control unit  122   d  controls the EGR valve opening of the internal combustion engine (engine  1 ) so that the estimated combustion phase is the initial combustion period of each cylinder and the largest initial combustion period among the initial combustion periods of each cylinder is the set phase. 
     The engine control unit  122   d  is configured by a PID controller, and adjusts the EGR valve opening so that the deviation between Δθ ig10_current  and the target Δθ ig10  becomes small. More specifically, when Δθ ig10_current  is larger than the target Δθ ig10 , the EGR valve opening is reduced in order to reduce the EGR rate. When Δθ ig10_current  is smaller than the target Δθ ig10 , the EGR valve opening is increased to increase the EGR rate. 
     By controlling EGR based on the current initial combustion period Δθ ig10_current  in this manner, the EGR rate can be maximized without impairing combustion stability, and the efficiency of the engine can be increased. 
     In the present invention, the combustion phase is obtained based on the maximum timing of the engine rotational speed. Therefore, since the differential processing for obtaining the engine rotational acceleration is unnecessary as in the conventional technique, there is an advantage that it is hardly affected by disturbance such as noise. In addition, since the differential processing is unnecessary, the configuration of the controller becomes simpler, and there is also an advantage that the number of software creation steps and the circuit cost are reduced. 
     The present invention is not limited to the above-described embodiments, and various other application examples and modifications can be taken without departing from the gist of the present invention described in the claims. 
     For example, in the above-described embodiment, an application case of the present invention to a series hybrid vehicle has been described, but the present invention is not limited thereto. For example, the present invention can be applied to a parallel hybrid vehicle or an engine-dedicated vehicle. 
     In addition, a part or all of each configuration, function, processing unit, and the like of the controller  12  may be realized by hardware, for example, by designing with an integrated circuit. 
     REFERENCE SIGNS LIST 
       1  engine 
       3  induction generator 
       5  battery 
       7  induction motor 
       10  knock sensor 
       11  crank angle sensor 
       12  controller 
       17  ignition plug 
       20  throttle valve 
       26  timing rotor 
       28  EGR pipe 
       29  EGR valve 
       122  control unit 
       121  input/output unit 
       122   a  rotational speed calculation unit 
       122   b  extreme value timing calculation unit 
       122   c  combustion phase calculation unit 
       122   d  engine control unit 
       123  storage unit