Drive control device

By using dual detection methods and a structured learning process, the drive control device improves the accuracy of energization valve closing time detection and correction value learning, addressing the limitations of existing technologies in fuel injection control for internal combustion engines.

JP7826959B2Active Publication Date: 2026-03-10TOYOTA JIDOSHA KK
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2023-01-24
Publication Date
2026-03-10

AI Technical Summary

Technical Problem

Existing drive control devices for internal combustion engines face challenges in accurately detecting the energization valve closing time and learning correction values for electromagnetic coil control, particularly at small required injection amounts, leading to insufficient detection and learning of voltage variations.

Method used

The drive control device employs two detection methods with higher accuracy and narrower ranges to detect energization valve closing times, estimates correction values based on these times, and updates them through a learning process that includes initial and subsequent stages, adjusting detection methods and injection amounts to improve accuracy.

Benefits of technology

This approach allows for more precise learning of correction values for electromagnetic coil control, enhancing the accuracy of fuel injection timing and quantity control in internal combustion engines.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007826959000001
    Figure 0007826959000001
  • Figure 0007826959000002
    Figure 0007826959000002
  • Figure 0007826959000003
    Figure 0007826959000003
Patent Text Reader

Abstract

To more appropriately perform learning of a correction value used for energization control of an electromagnetic coil of an in-cylinder injection valve.SOLUTION: A drive control device performs fuel injection control of an in-cylinder injection valve by controlling energization of an electromagnetic coil of the in-cylinder injection valve of an engine. Learning processing is executed when a learning condition of a correction value used for controlling the energization of the electromagnetic coil is established. In the learning processing, the energization control is executed on the basis of a learning injection-quantity, Time from start of the energization to the electromagnetic coil to close of the in-cylinder jetting valve is detected by a first detection method and a second detection method whose detection accuracy is higher than that of the first detection method and whose detection area is narrower than that of the first detection method, as first and second energization closing valve times. First and second estimated injection quantities are estimated on the basis of the first and second energization valve closing times, first and second correction values are set on the basis of the first and second estimation jetting quantities and a jetting quantity for learning, and correction values are updated on the basis of the first and second correction values.SELECTED DRAWING: Figure 9
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present disclosure relates to a drive control device. [Background technology]

[0002] A drive control device that controls fuel injection into an internal combustion engine by driving a direct injection valve has been proposed, which includes a calculation unit, an injection amount change unit, a learning unit, and an injection amount calculation unit (see, for example, Patent Document 1). The calculation unit determines the valve closing timing for stopping fuel injection from the direct injection valve based on the degree of variation in the time change of voltage that occurs when the direct injection valve is driven based on the required injection amount. The injection amount change unit increases or decreases the required injection amount. The learning unit learns the valve closing timing determined by the calculation unit by repeating fuel injection control based on the required injection amount increased or decreased by the injection amount change unit. The injection amount calculation unit calculates the maximum injection amount and minimum injection amount of the required injection amount that allow the valve closing timing to be detected. In this drive control device, the learning unit learns the valve closing timing by the injection amount change unit increasing or decreasing the required injection amount within the range of the maximum injection amount and the minimum injection amount, provided that the intake amount of air taken into the internal combustion engine is greater than a predetermined amount. [Prior art documents] [Patent documents]

[0003] [Patent Document 1] Japanese Patent Application Publication No. 2022048660 Summary of the Invention [Problem to be solved by the invention]

[0004] In a drive control device that controls fuel injection of an engine's in-cylinder injection valve by controlling the energization of the electromagnetic coil of the in-cylinder injection valve, it is considered to detect the time from when the energization of the electromagnetic coil begins to occur until the in-cylinder injection valve closes as an energization valve closing time, and learn a correction value used for controlling the energization of the electromagnetic coil based on the detected energization valve closing time.The inventors confirmed through experiments and analysis that if only the method of Patent Document 1 is used, it is difficult to detect the degree of variation in the time change of voltage within a range of a relatively small required injection amount, and detection of the energization valve closing time and learning of the correction value may be insufficient.

[0005] The drive control device of the present disclosure has a main object to more appropriately learn a correction value used for controlling the energization of the electromagnetic coil of the direct injection valve. [Means for solving the problem]

[0006] The drive control device of the present disclosure employs the following means to achieve the above-mentioned main object.

[0007] The drive control device of the present disclosure includes: 1. A drive control device that controls fuel injection of a direct injection valve of an engine by controlling energization of an electromagnetic coil of the direct injection valve, When a learning condition for a correction value used for controlling energization of the electromagnetic coil is met, a learning process is executed; In the learning process, the energization control is executed based on a learning injection amount, a time from when energization of the electromagnetic coil starts to when the in-cylinder injection valve closes is detected as first and second energization valve closing times using a first detection method and a second detection method having higher detection accuracy and a narrower detection range than the first detection method, first and second estimated injection amounts are estimated based on the first and second energization valve closing times, first and second correction values ​​are set based on the first and second estimated injection amounts and the learning injection amount, and the correction values ​​are updated based on the first and second correction values. The gist of this is as follows.

[0008] In the drive control device of the present disclosure, a learning process is executed when a learning condition for a correction value used to control energization of the electromagnetic coil is met. In this case, the learning process executes energization control based on a learning injection amount, detects the time from the start of energization of the electromagnetic coil to the closing of the direct injection valve as first and second energization valve closing times using a first detection method and a second detection method that has higher detection accuracy and a narrower detection range than the first detection method, estimates first and second estimated injection amounts based on the first and second energization valve closing times, sets first and second correction values ​​based on the first and second estimated injection amounts and the learning injection amount, and updates the correction values ​​based on the first and second correction values. Therefore, since the first and second energization valve closing times are detected using two detection methods and the first and second estimated injection amounts are estimated, the first and second correction values ​​are set, and the correction values ​​are updated based on the detected first and second energization valve closing times, the correction value used to control energization of the electromagnetic coil of the direct injection valve can be more appropriately learned.

[0009] In the drive control device of the present disclosure, a search and learning process may be performed in an initial learning process, and in the search and learning process, the energization control is performed based on the learning injection amount, the first and second energization valve close times are detected by the first and second detection methods, the first and second estimated injection amounts are estimated based on the first and second energization valve close times, and the first and second correction values ​​are set based on the first and second estimated injection amounts and the learning injection amount. The search process may be performed while gradually changing the learning injection amount, and based on the second estimated injection amount estimated in each search process, the learning injection amount to be used in a second or subsequent learning process and a detection method to be used in the second or subsequent learning process may be selected from the first and second detection methods. Furthermore, the correction value may be updated based on a corresponding correction value from the first and second correction values ​​that corresponds to the detection method to be used.

[0010] In a drive control device of the present disclosure in an aspect in which an exploratory learning process is performed in the initial learning process, a pre-learning process is performed before the exploratory learning process in the initial learning process, and in the pre-learning process, the power supply control is performed based on the learning injection amount, the first power supply valve closing time is detected by the first detection method, the first estimated injection amount is estimated based on the first power supply valve closing time, the first correction value is set based on the first estimated injection amount and the learning injection amount, and the correction value is updated based on the first correction value.

[0011] In the drive control device of the present disclosure, which executes the search and learning process during the initial learning process, when the learning condition is met, the learning process may be executed while controlling the fuel supply device so that the fuel pressure supplied from the fuel supply device to the fuel injection valve becomes a learning fuel pressure, and in the learning process, the learning injection amount is corrected based on a fuel pressure difference between the supply fuel pressure and the learning fuel pressure to set a corrected injection amount, and the energization control is executed based on the corrected injection amount, and first and second tentatively estimated injection amounts based on the first and second energization valve closing times are corrected based on the fuel pressure difference to estimate the first and second estimated injection amounts. In this case, the learning process may be prohibited when an absolute value of a supply fuel pressure change rate, which is a change in the supply fuel pressure per unit time, is greater than a predetermined change rate.

[0012] In the drive control device of the present disclosure in an aspect in which a search and learning process is executed in the initial learning process, the learning process may prohibit detection of the first and second energized valve closing times using the first and second detection methods until a predetermined time has elapsed since the learning injection amount was changed.

[0013] In the drive control device of the present disclosure, in an aspect in which an exploratory learning process is executed in an initial learning process, the detection ranges of the first and second detection methods may be set based on whether first and second change amounts, which are change amounts in the first and second estimated injection amounts estimated in two consecutive search processes, respectively, are within first and second predetermined change amount ranges. In this case, for any cylinder of the engine, if the first change amount is outside the first predetermined range or the second change amount is outside the second predetermined range in the exploratory learning process, the exploratory learning process for not only the one cylinder but also the other cylinders may be terminated. In this case, in the search and learning process, an offset value is set based on the first and second correction values ​​set in the search processes within the detection ranges of the first and second detection methods, respectively, and in the search and learning process and the second and subsequent learning processes, if the first detection method is selected as the detection method to be used, the first correction value is converted into an equivalent value corresponding to the second correction value using the offset value, and the correction value is updated based on the equivalent value.

[0014] In a drive control device of the present disclosure in an aspect in which an exploration and learning process is performed in the first learning process, the exploration and learning process may set the learning injection amount to be used in the second or subsequent learning processes based on a detection range of the second detection method that is based on the second estimated injection amount estimated in the exploration process for each cylinder of the engine, and a predetermined reference injection amount.

[0015] In the drive control device of the present disclosure, which is configured to execute an exploratory learning process in the initial learning process, when there is no learning history, the initial learning process is executed, and when there is a learning history, the second or subsequent learning processes are executed, and in the second or subsequent learning processes, if the second detection method is selected as the detection method to be used, the learning history may be reset when it becomes difficult to detect the second energized valve closing time using the second detection method and there is room to increase the learning injection amount.

[0016] In the drive control device of the present disclosure, a learning injection mode, which is the injection mode of the in-cylinder injection valve when the learning process is executed, may be set based on the injection mode of the in-cylinder injection valve before the learning condition is met, so that the first fuel injection from the in-cylinder injection valve becomes a learning injection, which is a fuel injection for the learning process.

[0017] In this case, the drive control device has a drive circuit and a computer, the drive circuit having a boost capacitor and a switch provided between the boost capacitor and the electromagnetic coil, and when the learning injection mode is a mode in which multiple fuel injections including the learning injection are performed, the computer may set the start time of energizing the electromagnetic coil for the multiple fuel injections so that energization of the electromagnetic coil begins for the first fuel injection of the next cylinder in the engine after the elapse of the time required to charge the boost capacitor from the stop of energization of the electromagnetic coil for the last fuel injection of the previous cylinder in the engine.

[0018] In this case, the drive control device may have a drive circuit and a computer, the drive circuit may have a boost capacitor and a switch provided between the boost capacitor and the electromagnetic coil, and the learning condition may include a condition that, when the learning injection mode is a mode in which multiple fuel injections including the learning injection are performed, the boost capacitor can be charged between the time when current is stopped to the electromagnetic coil at the last fuel injection of a previous cylinder in the engine and the time when current is started to be supplied to the electromagnetic coil at the first fuel injection of a next cylinder in the engine.

[0019] Furthermore, in this case, if the learning injection mode is a mode in which multiple fuel injections including the learning injection are performed, the fuel injection amount of any fuel injection other than the learning injection may be set taking into account non-contributing fuel, and the learning condition may include a condition in which the fuel injection amounts of the multiple fuel injections are all equal to or greater than a minimum injection amount.

[0020] In the drive control device of the present disclosure, the learning injection amount may be set without reflecting the results of air-fuel ratio learning.

[0021] In the drive control device of the present disclosure, after the learning process is completed, if the fuel pressure difference obtained by subtracting the target fuel pressure from the fuel pressure supplied from the fuel supply device to the in-cylinder injection valve is equal to or greater than a predetermined difference, a process for reducing the supplied fuel pressure may be executed, and if the fuel pressure difference is less than the predetermined difference, the process for reducing the supply fuel pressure may not be executed. [Brief explanation of the drawings]

[0022] [Figure 1] 1 is a schematic configuration diagram of an engine system 10 equipped with a drive control device of the present embodiment. [Figure 2] FIG. 2 is a schematic diagram of a direct injection valve 27. [Figure 3] FIG. 2 is a partially enlarged view of a direct injection valve 27. [Figure 4] 3 is a schematic diagram of a drive circuit 27a of a direct injection valve 27. FIG. [Figure 5] 10 is an explanatory diagram showing an example of the state of the injection pulse signal Sip, the drive current Ico of the electromagnetic coil 127, the lift amount of the needle 115, and the terminal voltage Vco of the electromagnetic coil 127. FIG. [Figure 6] 10 is an explanatory diagram showing an example of the lift amount of the needle 115 and the movable core 124, the induced electromotive force generated in the electromagnetic coil 127, and the terminal voltage Vco of the electromagnetic coil 127 after the power supply from the drive circuit 27a to the electromagnetic coil 127 is stopped. [Figure 7] FIG. 4 is an explanatory diagram for explaining a first detection method. [Figure 8] FIG. 10 is an explanatory diagram for explaining a second detection method. [Figure 9] 10 is a flowchart illustrating an example of an initial learning process. [Figure 10] 10 is a flowchart illustrating an example of a first-stage learning process. [Figure 11] 10 is an explanatory diagram showing an example of the relationship between the energization time from the drive circuit 27a to the electromagnetic coil 127 and the energization valve closing time. FIG. [Figure 12] 10 is a flowchart illustrating an example of a detection range setting process. [Figure 13] 10 is a flowchart illustrating a part of an example of a search process. [Figure 14] 10 is a flowchart illustrating a part of an example of a search process. [Figure 15] FIG. 10 is an explanatory diagram showing an example of how detection ranges for the first and second detection methods are set. [Figure 16] 10 is a flowchart showing an example of a learning injection amount setting process. [Figure 17] FIG. 10 is an explanatory diagram showing an example of how a learning injection amount Q3st is set. [Figure 18] 10 is a flowchart illustrating a part of an example of an aging learning process. [Figure 19] 10 is a flowchart illustrating a part of an example of an aging learning process. [Figure 20] 10 is a flowchart illustrating an example of an injection mode condition determination process. [Figure 21] FIG. 10 is an explanatory diagram showing an example of the relationship between a current injection mode and a learning injection mode. [Figure 22] 10 is a flowchart illustrating an example of post-learning processing. DETAILED DESCRIPTION OF THE INVENTION

[0023] An embodiment of the present disclosure will be described with reference to the drawings. Fig. 1 is a schematic configuration diagram of an engine system 10 equipped with a drive control device of this embodiment, Fig. 2 is a schematic configuration diagram of an in-cylinder injection valve 27, Fig. 3 is a partially enlarged view of the in-cylinder injection valve 27, and Fig. 4 is a schematic configuration diagram of a drive circuit 27a of the in-cylinder injection valve 27. Fig. 3(A) is a partially enlarged view of the periphery of a moving core 124 of the in-cylinder injection valve 27, and Fig. 3(B) is a partially enlarged view of the tip portion of the in-cylinder injection valve 27. Note that Fig. 3(B) is enlarged approximately twice as large as Fig. 3(A).

[0024] 1, the engine device 10 includes an engine 12 having a port injection valve 26 and an in-cylinder injection valve 27 driven by drive circuits 26a, 27a, a fuel supply device 50, and a microcomputer (hereinafter referred to as "microcomputer") 70. The engine device 10 is mounted, for example, on an engine vehicle that runs using power from the engine 12, or a hybrid vehicle that has a motor in addition to the engine 12. In this embodiment, the drive circuit 27a and the microcomputer 70 correspond to the drive control device.

[0025] The engine 12 is configured as a four-cylinder internal combustion engine that uses fuel such as gasoline or recycled water and outputs power through four strokes: intake, compression, expansion, and exhaust. The engine 12 includes a port injection valve 26 driven by a drive circuit 26a to inject fuel into an intake port, an in-cylinder injection valve 27 driven by a drive circuit 27a to inject fuel into a cylinder, and an ignition plug 30. The in-cylinder injection valve 27 is located approximately at the center of the top of a combustion chamber 29 and injects fuel in a spray form. The ignition plug 30 is located near the in-cylinder injection valve 27 so that it can ignite the fuel injected in a spray form from the in-cylinder injection valve 27. By including the port injection valve 26 and the in-cylinder injection valve 27, the engine 12 can be operated while adjusting the fuel distribution ratio Rd, which is the ratio of the fuel injection amount from the in-cylinder injection valve 27 to the total fuel injection amount. When the blow-through ratio Rd is 0 (when fuel is injected only from the port injection valve 26 out of the port injection valve 26 and the in-cylinder injection valve 27), air purified by the air cleaner 22 is drawn into the intake pipe 23 and passes through the throttle valve 24 and surge tank 25, and fuel is injected from the port injection valve 26 downstream of the surge tank 25 into the intake pipe 23, mixing the air and fuel. This mixture is then drawn into the combustion chamber 29 via the intake valve 28 and combusted explosively by an electric spark from the spark plug 30. The reciprocating motion of the piston 32, which is pushed down in the cylinder bore by the energy from the explosive combustion, is converted into the rotational motion of the crankshaft 14. When the blow-through ratio Rd is 1 (when fuel is injected only from the in-cylinder injection valve 27 out of the port injection valve 26 and the in-cylinder injection valve 27), air is drawn into the combustion chamber 29 in the same way as when the blow-through ratio Rd is 0, and fuel is injected from the in-cylinder injection valve 27 during the intake stroke or the compression stroke, and the fuel is explosively combusted by an electric spark from the spark plug 30, thereby generating rotational motion of the crankshaft 14. When the blow-through ratio Rd is greater than 0 and less than 1 (when fuel is injected from the port injection valve 26 and the in-cylinder injection valve 27), fuel is injected from the port injection valve 26 when air is drawn into the combustion chamber 29, and fuel is also injected from the in-cylinder injection valve 27 during the intake stroke or the compression stroke, and the fuel is explosively combusted by an electric spark from the spark plug 30, thereby generating rotational motion of the crankshaft 14.The blowing ratio Rd is set based on the operating state of the engine 12. The exhaust gas discharged from the combustion chamber 29 into the exhaust pipe 34 via the exhaust valve 33 is then discharged into the outside air via a purification device 35. The purification device 35 has a catalyst (three-way catalyst) 34a that purifies harmful components such as carbon monoxide (CO), hydrocarbons (HC), and nitrogen oxides (NOx).

[0026] Here, the in-cylinder injection valve 27 and its drive circuit 27a will be described. As shown in Figures 2 and 3, the in-cylinder injection valve 27 includes a cylindrical body 111, a seat member 112, a needle 115, a valve-closing spring 120, a fixed core 123, a movable core 124, an electromagnetic coil 127, and a spring 128. The needle 115 is disposed within the body 111 so as to be reciprocatable in the direction of the central axis of the body 111.

[0027] As shown in FIG. 3B, the seat member 112 is fixed to the tip of the body 111 and has a valve seat 113 on which the needle 115 sits. An injection port 114 is formed in the valve seat 113. When the needle 115 is seated on the valve seat 113, the needle 115 closes the injection port 114, blocking communication between the inside and outside of the body 111 via the injection port 114. As shown in FIG. 2, an internal fuel passage 119 through which fuel flows is formed between the inner circumferential surface of the body 111 and the outer circumferential surface of the needle 115. Therefore, when the needle 115 is separated from the valve seat 113, the fuel flowing through the internal fuel passage 119 is discharged to the outside of the body 111 through the injection port 114, i.e., the fuel is injected from the in-cylinder injection valve 27. An expanded diameter portion 116 is provided at the tip of the needle 115. When the needle 115 is seated on the valve seat 113, the tip of the needle 115 is housed within the seat member 112. At this time, the pressure of the fuel in the internal fuel passage 119 (the pressure of the fuel supplied to the in-cylinder injection valve 27) acts on the expanded diameter portion 116 of the needle 115 as a force in a direction that presses the needle 115 against the valve seat 113.

[0028] The valve-closing spring 120, the fixed core 123, the movable core 124, the electromagnetic coil 127, and the spring 128 are housed in the body 111. The valve-closing spring 120 biases the needle 115 in a direction that presses it against the valve seat 113. The fixed core 123 is disposed on the opposite side of the movable core 124 from the seat member 112, and is fixed to the body 111. The movable core 124 is disposed so as to be movable in a direction away from the fixed core 123 and a direction toward the fixed core 123, and is attached so as to be movable relative to the needle 115.

[0029] As shown in FIG. 3A, the movable core 124 is provided with an insertion hole 125, and the needle 115 is inserted through the insertion hole 125. The needle 115 is provided with a flange 117 having an outer diameter larger than that of the insertion hole 125 and a stopper 118 having an outer diameter larger than that of the insertion hole 125, and the flange 117 and the stopper 118 are spaced apart in the axial direction. The flange 117 is provided at the rear end of the needle 115. The stopper 118 is provided at a position between the flange 117 and the needle 115 and at a distance longer than the thickness (axial length) of the portion of the movable core 124 where the insertion hole 125 is provided. Therefore, when the flange 117 abuts against one end face (the upper end face in FIG. 3A) of the portion of the movable core 124 where the insertion hole 125 is provided, the stopper 118 does not abut against the other end face (the lower end face in FIG. 3A) of that portion. In this way, the distance between the flange 117 and the stopper 118 is longer than the thickness of the portion of the movable core 124 where the insertion hole 125 is provided, and the movable core 124 and the needle 115 are thus able to move relative to each other. The electromagnetic coil 127 is disposed radially outward of the movable core 124 and the fixed core 123. The spring 128 biases the movable core 124 toward the fixed core 123. Therefore, when the direct injection valve 27 is closed, the movable core 124 is pressed against the flange 117 of the needle 115 by the biasing force of the spring 128.

[0030] In the initial state (the state in FIGS. 2 and 3), i.e., when the drive circuit 27a starts to energize the electromagnetic coil 127 while the direct injection valve 27 is closed, the movable core 124 is attracted toward the fixed core 123 by electromagnetic force. At this time, the movable core 124 and the needle 115 are in contact with each other, so the movable core 124 and the needle 115 move in a direction approaching the fixed core 123 (valve opening direction) against the biasing force of the valve closing spring 120. As a result, the tip of the needle 115 moves away from the valve seat 113 and the injection port 114 opens; that is, the direct injection valve 27 opens. Fuel is injected from the injection port 114 while the direct injection valve 27 is open.

[0031] Thereafter, when the drive circuit 27a stops energizing the electromagnetic coil 127, the electromagnetic force decreases, and the biasing force of the valve-closing spring 120 moves the movable core 124 and the needle 115 in a direction approaching the seat member 112 (valve-closing direction). When the needle 115 abuts against the valve seat 113, the injection port 114 is closed by the needle 115, and fuel injection from the injection port 114 stops. That is, the direct injection valve 27 closes. Because the movable core 124 is movable relative to the needle 115, even after the needle 115 abuts against the valve seat 113 and stops moving, the movable core 124 continues to move toward the seat member 112 due to inertia against the biasing force of the spring 128. When the movable core 124 abuts against the stopper 118 of the needle 115, which is stopped by abutting against the valve seat 113, it stops moving toward the seat member 112. Thereafter, the movable core 124 is pushed back toward the fixed core 123 by the biasing force of the spring 128, and returns to its initial state.

[0032] Next, we will explain the drive circuit 27a of the direct injection valve 27. As shown in Fig. 4, the drive circuit 27a includes a boost circuit 131, a boost capacitor 132, a diode 133, a switching element 134, a switching element 135, a diode 136, a resistance element 137, a capacitor 138, a diode 139, a resistance element 140, and a switching element 141. In the drive circuit 27a, the boost circuit 131 and the boost capacitor 132 are common to all cylinders, and the rest are provided for each cylinder.

[0033] The boost circuit 131 boosts the power from the battery 80 and outputs it to the boost capacitor 132. The boost capacitor 132 is charged with the power from the boost circuit 131. The diode 133 is provided between the battery 80 and one terminal of the electromagnetic coil 127 of the direct injection valve 27, with the diode 133 connected in a forward direction. The switching element 134 is provided in series with the diode 133 and is turned on and off to connect and disconnect the battery 80 and the electromagnetic coil 127. The switching element 135 is turned on and off to connect and disconnect the boost capacitor 132 and the electromagnetic coil 127. The diode 136 is provided between the ground and one terminal of the electromagnetic coil 127, with the diode 136 connected in a forward direction. The resistor element 137 and the capacitor 138 are each provided in parallel with the diode 136 between one terminal of the electromagnetic coil 127 and the ground. Diode 139 is provided between the other terminal of electromagnetic coil 127 and boost capacitor 132 so that its direction is the forward direction. Resistance element 140 and switching element 141 are provided in series between the other terminal of electromagnetic coil 127 and ground. Switching element 141 connects and disconnects electromagnetic coil 127 from ground by turning on and off.

[0034] As shown in FIG. 1 , the fuel supply device 50 is configured to supply fuel from a fuel tank 51 to the port injection valves 26 and the direct injection valves 27 of the engine 12. The fuel supply device 50 includes a fuel tank 51, a feed pump 52, a low-pressure supply pipe 53, a check valve 54, a high-pressure pump 57, and a high-pressure supply pipe 58. The feed pump 52 is disposed in the fuel tank 51 and supplies fuel from the fuel tank 51 to the low-pressure supply pipe 53. The low-pressure supply pipe 53 is connected to the port injection valves 26. The check valve 54 is provided in the low-pressure supply pipe 53 and allows fuel to flow from the feed pump 52 to the port injection valves 26 while restricting fuel flow in the opposite direction. The high-pressure pump 57 is driven by power from the engine 12 (in this embodiment, rotation of the intake camshaft that opens and closes the intake valves 28) and is configured as a pump that pressurizes fuel in the low-pressure supply pipe 53 and supplies it to the high-pressure supply pipe 58. The high-pressure pump 57 has a solenoid valve 57a connected to its intake port that opens and closes when pressurizing fuel, a check valve 57b connected to its discharge port that restricts backflow of fuel and maintains fuel pressure in a high-pressure supply pipe 58, and a plunger 57c that is actuated (moves up and down in FIG. 1 ) by rotation of the engine 12 (rotation of the intake camshaft). When the solenoid valve 57a is open during operation of the engine 12, the high-pressure pump 57 draws fuel from the low-pressure supply pipe 53, and when the solenoid valve 57a is closed, the high-pressure pump 57 pressurizes the fuel to be supplied to the high-pressure supply pipe 58 by intermittently sending the fuel compressed by the plunger 57c to the high-pressure supply pipe 58 via the check valve 57b. The high-pressure supply pipe 58 is connected to the direct injection valve 27.

[0035] The microcomputer 70 has a CPU, ROM, RAM, flash memory, input / output ports, and communication ports. Signals from various sensors required for controlling the engine 12 and the fuel supply device 50 are input to the microcomputer 70 via the input ports. Examples of signals input to the microcomputer 70 include a crank angle θcr from a crank position sensor 14a that detects the rotational position of the crankshaft 14 of the engine 12, and a coolant temperature Tw from a water temperature sensor 15 that detects the temperature of the coolant for the engine 12. Other examples of signals input to the microcomputer 70 include cam angles θci and θco from a cam position sensor 16 that detects the rotational position of an intake camshaft that opens and closes the intake valve 28 and an exhaust camshaft that opens and closes the exhaust valve 33. Other examples include the throttle opening TH from the throttle position sensor 24a that detects the position of the throttle valve 24, the intake air amount Qa from the air flow meter 23a attached upstream of the throttle valve 24 in the intake pipe 23, and the intake air temperature Ta from the temperature sensor 23t attached upstream of the throttle valve 24 in the intake pipe 23. Other examples include the front air-fuel ratio AF1 from the front air-fuel ratio sensor 37 attached upstream of the purification device 35 in the exhaust pipe 34, and the rear air-fuel ratio AF2 from the rear air-fuel ratio sensor 38 attached downstream of the purification device 35 in the exhaust pipe 34. Other examples include data from the drive circuits 26a, 27a. Other examples include the low-pressure fuel pressure (pressure of fuel supplied to port injection valve 26) PL from fuel pressure sensor 53p attached near port injection valve 26 of low-pressure supply pipe 53 (e.g., low-pressure delivery pipe), and the high-pressure fuel pressure (pressure of fuel supplied to in-cylinder injection valve 27) PH from fuel pressure sensor 58p attached near in-cylinder injection valve 27 of high-pressure supply pipe 58 (e.g., high-pressure delivery pipe).

[0036] Various control signals for controlling the engine 12 and the fuel supply device 50 are output from the microcomputer 70 via an output port. Examples of signals output from the microcomputer 70 include a control signal to the throttle valve 24, a control signal to the drive circuit 26a of the port injection valve 26, a control signal to the drive circuit 27a of the in-cylinder injection valve 27, and a control signal to the spark plug 30. Other examples include a control signal to the feed pump 52 of the fuel supply device 50 and a control signal to the electromagnetic valve 57a of the high-pressure pump 57.

[0037] The microcomputer 70 calculates the rotation speed Ne of the engine 12 based on the crank angle θcr from the crank position sensor 14a. The microcomputer 70 also calculates the load factor KL (the ratio of the volume of air actually taken in during one cycle to the stroke volume per cycle of the engine 12) based on the intake air amount Qa from the air flow meter 23a and the rotation speed Ne of the engine 12.

[0038] In the engine system 10 configured as described above, the microcomputer 70 controls the intake air amount, fuel injection, ignition, and fuel pressure of the fuel supply device 50 of the engine 12 so that the engine 12 is operated based on the required torque Te* of the engine 12. Since intake air amount control and ignition control are not central to the present invention, detailed description thereof will be omitted. In fuel injection control, the microcomputer 70 sets a blow-out ratio Rd based on the engine speed Ne and load factor KL of the engine 12, sets a total target injection amount Qf* for the port injectors 26 and the direct injection valves 27 so that the front air-fuel ratio AF1 becomes the target air-fuel ratio AF* (e.g., the stoichiometric air-fuel ratio), and sets target injection amounts Qp* and Qd* for the port injectors 26 and the direct injection valves 27 based on the set total target injection amount Qf* and the blow-out ratio Rd. When the blow-out ratio Rd is less than 1 (the target injection amount Qp* is a positive value), the microcomputer 70 controls the drive circuit 26a so that fuel is injected from the port injector 26 based on the target injection amount Qp*. Furthermore, when the blow-through ratio Rd is greater than 0 (when the target injection amount Qd* is a positive value), the drive circuit 27a is controlled so that fuel is injected from the direct injection valve 27 in one injection or in multiple injections based on the target injection amount Qd*. In fuel pressure control, the target fuel pressure PH* is set based on the rotation speed Ne, the load factor KL, the number of injections from the direct injection valve 27, etc., and the high-pressure pump 57 is controlled so that the high-pressure fuel pressure PH becomes the target fuel pressure PH*.

[0039] Here, the control of the direct injection valve 27 will be described. The microcomputer 70 sets a target injection amount Qdp* for one fuel injection based on the target injection amount Qd*, the number of injections, etc., and sets a basic injection pulse signal Siptmp based on the set target injection amount Qdp* and the high fuel pressure PH. Next, the microcomputer 70 corrects the set basic injection pulse signal Siptmp using a correction coefficient Kip to set the injection pulse signal Sip, and outputs the set injection pulse signal Sip to the drive circuit 27a. Here, learning of the correction coefficient Kip will be described later. The injection pulse signal Sip can be set by multiplying the value obtained by subtracting the dead time Tws of the direct injection valve 27 (the time from when the drive circuit 27a starts to energize the electromagnetic coil 127 to when the direct injection valve 27 opens) from the on-time Tiptmp of the basic injection pulse signal Siptmp by the correction coefficient Kip, and adding the dead time Tws to the result, as shown in Equation (1). The dead time Tws is set to be longer as the high-pressure fuel pressure PH increases. As described above, in the direct injection valve 27, when the needle 115 is seated on the valve seat 113 of the seat member 112, the tip of the needle 115 is housed within the seat member 112, and the fuel pressure in the internal fuel passage 119 acts on the expanded diameter portion 116 of the needle 115 as a force in a direction pressing the needle 115 against the valve seat 113. The higher the high-pressure fuel pressure PH, the greater this force becomes, making it more difficult for the direct injection valve 27 to open, and the dead time Tws becomes longer. In light of this, the on-time Tiptmp of the basic injection pulse signal Siptmp is also set to be longer as the high-pressure fuel pressure PH increases.

[0040] Tip = (Tiptmp - Tws) Kip + Tws (1)

[0041] The drive circuit 27a controls the energization of the electromagnetic coil 127 based on the injection pulse signal Sip, thereby driving the in-cylinder injection valve 27 to open and inject fuel. The drive circuit 27a controls the energization of the electromagnetic coil 127 while detecting the drive current Ico and terminal voltage Vco of the electromagnetic coil 127 using a current sensor and a voltage sensor. The drive current Ico and terminal voltage Vco of the electromagnetic coil 127 are also sent to the microcomputer 70.

[0042] FIG. 5 is an explanatory diagram showing an example of the injection pulse signal Sip, the drive current Ico of the electromagnetic coil 127, the lift amount of the needle 115, and the terminal voltage Vco of the electromagnetic coil 127. As shown in FIG. 5, when the injection pulse signal Sip turns on (time t11), the drive circuit 27a turns on the switching elements 135 and 141, thereby starting to apply a voltage from the boost capacitor 132 to the electromagnetic coil 127 of the direct injection valve 27. This starts to energize the electromagnetic coil 127 from the drive circuit 27a, and the drive current Ico of the electromagnetic coil 127 begins to increase. Subsequently, when the drive current Ico of the electromagnetic coil 127 reaches a peak current value (time t12), the switching element 135 is turned off, and the application of the voltage from the boost capacitor 132 to the electromagnetic coil 127 is stopped. Note that as the drive current Ico of the electromagnetic coil 127 increases, the needle 115 begins to move in the valve opening direction (upward in FIG. 2), and the lift amount increases. When the needle 115 moves in the valve-opening direction and its tip separates from the seat member 112, opening the injection port 114, fuel injection from the in-cylinder injection valve 27 begins. After switching off the switching element 135, the switching element 134 is switched on and off to apply the voltage of the battery 80 to the electromagnetic coil 127 as a pulse voltage. The pulse voltage is applied so that the drive current Ico of the electromagnetic coil 127 is maintained to a level sufficient for the needle 115 to continue moving in the valve-opening direction. After that, when the injection pulse signal Sip is turned off (time t13), the switching elements 134 and 141 are turned off, thereby stopping the application of voltage from the drive circuit 27a to the electromagnetic coil 127 and deactivating the current. This generates a flyback voltage, causing the terminal voltage Vco of the electromagnetic coil 127 to become a large negative value. The cessation of current flow to the electromagnetic coil 127 reduces the drive current Ico, and the needle 115 begins to move in the valve-closing direction (downward in FIG. 2). When the tip of needle 115 abuts against seat member 112 and closes injection port 114, fuel injection from in-cylinder injection valve 27 stops.

[0043] The microcomputer 70 controls the valve opening time of the direct injection valve 27, i.e., the fuel injection time, by adjusting the ON time Tip of the injection pulse signal Sip (the time during which current is supplied from the drive circuit 27a to the electromagnetic coil 127). When the injection pulse signal Sip is sufficiently long, the movable core 124 abuts against the fixed core 123, and the lift amount of the needle 115 is maintained at its maximum while current is supplied from the drive circuit 27a to the electromagnetic coil 127. This type of fuel injection is hereinafter referred to as full lift injection. On the other hand, when the injection pulse signal Sip is short, the movement direction of the needle 115 and the movable core 124 reverses before the movable core 124 abuts against the fixed core 123, i.e., before the lift amount reaches its maximum. This fuel injection ends without the movable core 124 abutting against the fixed core 123. This type of fuel injection is hereinafter referred to as partial lift injection.

[0044] FIG. 6 is an explanatory diagram showing an example of the lift amounts of the needle 115 and the movable core 124, the induced electromotive force generated in the electromagnetic coil 127, and the terminal voltage Vco of the electromagnetic coil 127 after time t13 in FIG. 5, specifically, after the supply of current from the drive circuit 27a to the electromagnetic coil 127 is stopped. In FIG. 6, the lift amount of the movable core 124 is indicated by a dashed line relative to the lift amount of the needle 115. As described in FIG. 5, when the supply of current from the drive circuit 27a to the electromagnetic coil 127 is stopped, the terminal voltage Vco of the electromagnetic coil 127 becomes large on the negative side. As shown in FIG. 6, after the terminal voltage Vco of the electromagnetic coil 127 becomes large on the negative side, it gradually increases toward zero. At this time, the movable core 124 and the needle 115 move in the valve closing direction (downward in FIG. 2) due to the biasing force of the valve-closing spring 120, and the lift amounts of the needle 115 and the movable core 124 decrease. When the movable core 124, which has been attracted to the fixed core 123 by electromagnetic force, moves in the valve-closing direction as power supply from the drive circuit 27a to the electromagnetic coil 127 is stopped, an induced electromotive force is generated in the electromagnetic coil 127 as the movable core 124 moves, preventing the terminal voltage Vco of the electromagnetic coil 127 from increasing toward zero. This induced electromotive force increases as the moving speed of the movable core 124 increases. When the tip of the needle 115 abuts against the seat member 112 (time t21), the needle 115 stops moving. However, as described above, because the movable core 124 is movable relative to the needle 115, the movable core 124 continues to move in the valve-closing direction due to inertia. As a result, the lift amount of the movable core 124 becomes a negative value. When the needle 115 abuts against the seat member 112 and the movable core 124 begins to move in the valve closing direction due to inertia, the flange 117 of the needle 115 moves away from the movable core 124, the biasing force of the valve closing spring 120 no longer acts on the movable core 124, the moving speed of the movable core 124 changes, and the induced electromotive force generated in the electromagnetic coil 127 changes significantly. As a result, an inflection point (time t21) occurs in the terminal voltage Vco of the electromagnetic coil 127.

[0045] In this embodiment, taking these characteristics into consideration, the first detection method and the second detection method are used to detect the time from when the injection pulse signal Sip starts to be turned on until the direct injection valve 27 closes as the energized valve closing times Tec1, Tec2 of the direct injection valve 27, and the correction coefficient Kip is learned based on the detected energized valve closing times Tec1, Tec2 of the direct injection valve 27. As described above, the correction coefficient Kip is used to correct the on-time Tiptmp of the basic injection pulse signal Siptmp to set the on-time Tip of the injection pulse signal Sip (see equation (1)). Because the on-time Tip of the injection pulse signal Sip is substantially the same as the time during which electricity is supplied from the drive circuit 27a to the electromagnetic coil 127, it can also be said that the correction coefficient Kip is used to correct the time during which electricity is supplied from the drive circuit 27a to the electromagnetic coil 127.

[0046] 7 is an explanatory diagram illustrating a first detection method, and FIG. 8 is an explanatory diagram illustrating a second detection method. In the first detection method, the microcomputer 70 turns off the drive pulse signal (time t30) and the terminal voltage Vco of the electromagnetic coil 127 increases negatively. After that, the terminal voltage Vco gradually increases and reaches or exceeds the negative threshold value Vco1 (time t31). Then, the microcomputer 70 starts sequentially calculating smoothed values ​​Vcosm1 and Vcosm2 and the difference ΔVco between the smoothed values ​​Vcosm1 and Vcosm2. Here, the smoothed values ​​Vcosm1 and Vcosm2 are values ​​obtained by smoothing the terminal voltage Vco of the electromagnetic coil 127 using time constants τ1 and τ2 (τ1<τ2), respectively. The timing (time t32) when the difference ΔVco becomes equal to or greater than the threshold value ΔVco1 is regarded as the timing when the terminal voltage Vco of the electromagnetic coil 127 becomes an inflection point, i.e., the timing when the direct injection valve 27 closes, and the energization valve closing time Tec1 of the direct injection valve 27 is detected based on this timing and the timing when the injection pulse signal Sip starts to be turned on (when current starts to be supplied from the drive circuit 27a to the electromagnetic coil 127). Here, the threshold values ​​Vco1 and ΔVco1 and the time constants τ1 and τ2 are determined in advance by experiment, analysis, machine learning, or the like so that the difference ΔVco becomes equal to or greater than the threshold value ΔVco1 at the timing when the direct injection valve 27 closes.

[0047] In the second detection method, when the drive pulse signal is turned off (time t40), the microcomputer 70 starts sequentially calculating the variance value Vd of the terminal voltage Vco of the electromagnetic coil 127. Then, the timing when the variance value Vd becomes minimum (time t41) is regarded as the timing when the terminal voltage Vco of the electromagnetic coil 127 reaches an inflection point, i.e., the timing when the direct injection valve 27 closes, and detects the energized valve closing time Tec2 of the direct injection valve 27 based on this timing and the timing when the injection pulse signal Sip starts to be turned on (when energization from the drive circuit 27a to the electromagnetic coil 127 starts).

[0048] The first detection method detects the energized valve-closing duration Tec1 of the direct injection valve 27 based on the timing (time t32 in FIG. 5) when the difference ΔVco becomes equal to or greater than the threshold value ΔVco1. Therefore, the energized valve-closing duration Tec1 can be detected regardless of the on-time Tip of the injection pulse signal Sip, but a certain degree of detection error may occur due to manufacturing variations and aging of the direct injection valve 27. On the other hand, the second detection method detects the energized valve-closing duration Tec2 of the direct injection valve 27 based on the timing (time t41 in FIG. 6) when the variance value Vd becomes minimal. Therefore, this method is less susceptible to the influence of manufacturing variations and aging of the direct injection valve 27 and allows for accurate detection, but it becomes difficult to detect the energized valve-closing duration Tec2 when the on-time Tip of the injection pulse signal Sip is short. This is because, when the on-time Tip of the injection pulse signal Sip is short, when the movable core 124 and the needle 115 move in the valve closing direction after the supply of current from the drive circuit 27a to the electromagnetic coil 127 is stopped, the moving speed is unlikely to increase, and therefore the induced electromotive force is unlikely to increase, so the moving speed of the movable core 124 does not increase when the tip of the needle 115 abuts against the seat member 112, and an inflection point in the terminal voltage Vco of the electromagnetic coil 127 is unlikely to appear, making it difficult to detect the timing when the variance value Vd becomes minimum. In other words, when the first detection method is compared with the second detection method, it can be said that the second detection method has higher detection accuracy but a narrower detection range than the first detection method.

[0049] Next, the operation of the drive control device provided in the engine device 10, particularly the learning process of the correction coefficient Kip, will be described. As described above, the correction coefficient Kip is used to correct the on-time Tiptmp of the basic injection pulse signal Siptmp to set the on-time Tip of the injection pulse signal Sip (see equation (1)). In this embodiment, when the learning history flag is off, an initial learning process (first learning process) of the correction coefficient Kip is executed, and when the learning history flag is on, an aging learning process (second or subsequent learning process) of the correction coefficient Kip is executed. Here, the learning history flag is turned off (reset) when the engine device 10 is manufactured or when the direct injection valve 27, the drive circuit 27a, or the microcomputer 70 is repaired or replaced, and is then turned on when the initial learning process is completed.

[0050] First, the initial learning process of the correction coefficient Kip will be described. FIG. 9 is a flowchart showing an example of the initial learning process executed by the microcomputer 70. This routine is repeatedly executed when the learning history flag is off. When the initial learning process of FIG. 9 is executed, the microcomputer 70 first determines whether the learning conditions for the initial learning process are met (step S100). Here, the learning conditions for the initial learning process may be, for example, an AND condition in which the coolant temperature Tw is equal to or higher than a threshold value Tw1, the load factor KL is within a predetermined load factor range, and air-fuel ratio learning is completed. If it is determined in step S100 that the learning conditions for the initial learning process are not met, the initial learning process of FIG. 9 is terminated.

[0051] If it is determined in step S100 that the learning conditions for the initial learning process are met, fuel pressure control for the initial learning process is performed (step S102). Here, in the fuel pressure control for the initial learning process, a learning fuel pressure PHini predetermined for the initial learning process is set as the target fuel pressure PH*, and high-pressure pump 57 is controlled so that the high-pressure fuel pressure PH becomes the target fuel pressure PH*.

[0052] Next, as the initial learning process, a first-stage learning process (pre-learning process) is executed (step S104), and then a second-stage learning process (exploratory learning process) is executed (step S106). Then, the learning history flag is turned on (step S116), and the initial learning process in Fig. 9 is terminated. The first-stage learning process and the second-stage learning process will be described below in that order.

[0053] The first-stage learning process will be described. The first-stage learning process is executed in parallel for each cylinder (each in-cylinder injection valve 27) of the engine 12. The first-stage learning process is executed by the first-stage learning process of FIG. 10. In the first-stage learning process of FIG. 10, the microcomputer 70 first counts up the execution counter n1 by a value of 1 to update it (step S210). Here, the execution counter n1 is set to a value of 0 as an initial value when the first-stage learning process of FIG. 10 is started.

[0054] Next, a correction value αQ1st is set based on the high-pressure fuel pressure PH (step S212), and the correction value αQ1st is added to the learning injection amount Q1st used in the first-stage learning process to set a corrected injection amount Q1stad (step S214). Here, the learning injection amount Q1st is a predetermined injection amount within the range of partial lift injection, taking into account manufacturing variations of the direct injection valve 27, etc. The correction value αQ1st can be set, for example, by applying the high-pressure fuel pressure PH to the relationship between the high-pressure fuel pressure PH and the correction value αQ1st to derive the correction value αQ1st. The relationship between the high-pressure fuel pressure PH and the correction value αQ1st is predetermined through experiments, analysis, machine learning, etc. The correction value αQ1st is set to 0 when the high-pressure fuel pressure PH is the learning fuel pressure PHini. When the high-pressure fuel pressure PH is lower than the learning fuel pressure PHini, the correction value αQ1st is set so that its absolute value increases within a negative range as the high-pressure fuel pressure PH decreases. When the high pressure fuel pressure PH is higher than the learning fuel pressure PHini, the correction value αQ1st is set so that its absolute value increases within a positive range as the high pressure fuel pressure PH increases. The processing in steps S212 and S214 converts (converts) the learning injection amount Q1st corresponding to the learning fuel pressure PHini into the corrected injection amount Q1stad corresponding to the high pressure fuel pressure PH, taking into account the fuel pressure difference between the high pressure fuel pressure PH and the learning fuel pressure PHini.

[0055] FIG. 11 is an explanatory diagram showing an example of the relationship between the energization time from the drive circuit 27a to the electromagnetic coil 127 and the time from when the electromagnetic coil 127 starts to be energized until the direct injection valve 27 closes (energized valve closing time). In the diagram, multiple solid lines represent the relationship when the high-pressure fuel pressure PH is fuel pressures PH1 to PH6, and multiple dashed lines represent equal fuel injection amount lines. As shown in the diagram, for the same high-pressure fuel pressure PH (e.g., fuel pressure PH4), as the energization time from the drive circuit 27a to the electromagnetic coil 127 increases, the energized valve closing time gradually increases, reaches a maximum, and then decreases. Note that, although not shown, as the energization time from the drive circuit 27a to the electromagnetic coil 127 increases further, the energized valve closing time decreases and then gradually increases again. When the drive circuit 27a starts to energize the electromagnetic coil 127, the movable core 124 and the needle 115 move in the valve opening direction, opening the direct injection valve 27. When the movable core 124 moves in the valve-opening direction and collides with the fixed core 123, the movable core 124 rebounds in the valve-closing direction (a bounce occurs). If the drive circuit 27a stops energizing the electromagnetic coil 127 when the movable core 124 is rebounding in the valve-closing direction, the direct injection valve 27 closes earlier than if the drive circuit 27a stops energizing the electromagnetic coil 127 when the movable core 124 collides with the fixed core 123. This shortens the energized valve-closing time, and reduces the amount of fuel injected from the direct injection valve 27. For this reason, in partial lift injection, it is preferable to adjust the on-time Tip of the injection pulse signal Sip so that energization to the electromagnetic coil 127 is stopped before the movable core 124 abuts against the fixed core 123. Hereinafter, the fuel injection amount and the energization time to the electromagnetic coil 127 when the energized valve-closing time reaches its maximum are referred to as the inflection point and inflection time, respectively. The energization time region from when the energized valve-closing time reaches its maximum to when it reaches its minimum is referred to as the bounce region.

[0056] As shown in the figure, the higher the high-pressure fuel pressure PH, the longer the energization time for the same fuel injection amount, and the longer the bending time. This is because, as described above, the higher the high-pressure fuel pressure PH, the longer the dead time Tws of the direct injection valve 27. Furthermore, the higher the high-pressure fuel pressure PH, the larger the bending point. This is because the higher the high-pressure fuel pressure PH, the greater the fuel injection amount per unit time while the direct injection valve 27 is open. The relationship between the high-pressure fuel pressure PH and the correction value αQ1st is set taking these factors into consideration.

[0057] Once the corrected injection amount Q1stad is set in step S214, the corrected injection amount Q1stad is used as the target injection amount Qdp* to set the injection pulse signal Sip, and the drive circuit 27a of the direct injection valve 27 is controlled to perform energization control of the electromagnetic coil 127 (step S216). Then, the energization valve closing time Tec1 of the direct injection valve 27 is detected by the first detection method described above (step S218). Here, in the processing of step S216, as described above, the basic injection pulse signal Siptmp is set based on the target injection amount Qdp* and the high-pressure fuel pressure PH, and the set basic injection pulse signal Siptmp is corrected using the correction coefficient Kip to set the injection pulse signal Sip. Note that when the learning history is off, a predetermined initial value is set for the correction coefficient Kip.

[0058] Next, a provisional estimated injection amount Qes1tmp is estimated based on the energized valve closing time Tec1 and the high-pressure fuel pressure PH of the direct injection valve 27 (step S220). Here, the process of estimating the provisional estimated injection amount Qes1tmp can be performed, for example, by applying the energized valve closing time Tec1 and the high-pressure fuel pressure PH to the relationship between the energized valve closing time Tec1, the high-pressure fuel pressure PH, and the provisional estimated injection amount Qes1tmp. The relationship between the energized valve closing time Tec1, the high-pressure fuel pressure PH, and the provisional estimated injection amount Qes1tmp is determined in advance through experimentation, analysis, machine learning, or the like.

[0059] Once the provisional estimated injection quantity Qes1tmp is estimated in this manner, a correction value αQes1 is set based on the high-pressure fuel pressure PH (step S222), and the correction value αQes1 is added to the provisional estimated injection quantity Qes1tmp to estimate the estimated injection quantity Qes1 (step S224). The correction value αQes1 can be set, for example, by applying the high-pressure fuel pressure PH to the relationship between the high-pressure fuel pressure PH and the correction value αQes1 to derive the correction value αQes1. The relationship between the high-pressure fuel pressure PH and the correction value αQes1 is determined in advance through experiments, analysis, machine learning, or the like, based on FIG. 11. The correction value αQes1 is set to 0 when the high-pressure fuel pressure PH is the learning fuel pressure PHini. When the high-pressure fuel pressure PH is lower than the learning fuel pressure PHini, the correction value αQes1 is set so that its absolute value increases within a positive range as the high-pressure fuel pressure PH decreases. When the high-pressure fuel pressure PH is higher than the learning fuel pressure PHini, the correction value αQes1 is set so that its absolute value, within a negative range, increases as the high-pressure fuel pressure PH increases. The processing in steps S222 and S224 converts (converts) the provisional estimated injection amount Qes1tmp corresponding to the high-pressure fuel pressure PH into the estimated injection amount Qes1 corresponding to the learning fuel pressure PHini, taking into account the fuel pressure difference between the high-pressure fuel pressure PH and the learning fuel pressure PHini. This processing allows the estimated injection amount Qes1 to be set to a value corresponding to the learning fuel pressure PHini, even when there is a difference between the high-pressure fuel pressure PH and the learning fuel pressure PHini.

[0060] Once the estimated injection amount Qes1 is estimated in this manner, a correction coefficient K1 is set based on the learning injection amount Q1st and the estimated injection amount Qes1 (step S226). The process of setting the correction coefficient K1 can be performed, for example, as follows. First, estimated energization times Tenes1 and Tenes2 from the drive circuit 27a to the electromagnetic coil 127 are estimated based on the learning injection amount Q1st and the estimated injection amount Qes1. The process of estimating the estimated energization times Tenes1 and Tenes2 can be performed, for example, by applying the learning injection amount Q1st and the estimated injection amount Qes1 to the relationship between the fuel injection amount and the energization time, respectively, to derive the estimated energization times Tenes1 and Tenes2. The relationship between the fuel injection amount and the energization time is determined in advance through experimentation, analysis, machine learning, or the like. Next, as shown in equation (2), the correction coefficient K1 is calculated by subtracting the dead time Tws from the estimated current supply time Tenes1 and dividing the result by the value obtained by subtracting the dead time Tws from the estimated current supply time Tenes2. As described above, the dead time Tws is set to be longer as the high-pressure fuel pressure PH increases.

[0061] K1=(Tenes1-Tws) / (Tenes2-Tws) (2)

[0062] Once the correction coefficient K1 is set in this way, the integrated correction coefficient K1sum is updated by adding the set correction coefficient K1 to the previous value of the integrated correction coefficient K1sum (step S228). Here, the integrated correction coefficient K1sum is set to a value of 0 as an initial value when the first-stage learning process of FIG. 10 is started. Next, it is determined whether the execution counter n1 is equal to or greater than a threshold value N1 (step S230). Here, the threshold value N1 is, for example, several tens of values. If it is determined that the execution counter n1 is less than the threshold value N1, the process returns to step S210. In this way, the processes of steps S210 to S230 are repeatedly executed.

[0063] If it is determined in step S230 that the execution counter n1 is equal to or greater than the threshold value N1, the integrated correction coefficient K1sum is divided by the execution counter n1 to calculate an average correction coefficient K1av (step S232), and the calculated average correction coefficient K1av is set to the correction coefficient Kip for the energization time of the direct injection valve 27, thereby updating the correction coefficient Kip (step S234), and the first-stage learning process of Fig. 10 is terminated. Note that in the process of updating the correction coefficient Kip, the new correction coefficient Kip may be set to the sum of the product of the value obtained by subtracting the current correction coefficient Kip from the average correction coefficient K1av and a reflection coefficient that is smaller than 1, and the current correction coefficient Kip. The same applies to the following update process of the correction coefficient Kip.

[0064] Next, the second-stage learning process of step S106 of the initial learning process in Fig. 9 will be described. In the second-stage learning process, a process for setting the detection ranges of the first and second detection methods (step S108), a process for setting the learning injection amount Q3st used in the aging learning process (step S110), a process for setting the offset value Kofs (step S112), and a process for updating the correction coefficient Kip (step S114) are executed in this order. Here, the process for setting the detection ranges of the first and second detection methods, the process for setting the offset value Kofs, and the process for updating the correction coefficient Kip are executed in parallel for each cylinder (each direct injection valve 27) of the engine 12. These processes will be described in order below.

[0065] The process of setting the detection ranges for the first and second detection methods in step S108 will now be described. The process of setting the detection ranges for the first and second detection methods is executed by the detection range setting process of FIG. 12. In the detection range setting process of FIG. 12, the microcomputer 70 counts up the search mode number i by a value of 1 to update it (step S300), and executes the search process for the updated search mode number i (step S302). Here, the search mode number i is set to a value of 0 as an initial value when the detection range setting process of FIG. 12 is started. The search process for the search mode number i is executed by the search process of FIGS. 13 and 14. The description of the detection range setting process of FIG. 12 will be interrupted, and the search process of FIGS. 13 and 14 will now be described.

[0066] 13 and 14, the microcomputer 70 first sets the learning injection amount Q2st[i] to be used in search mode number i (step S400). Here, when search mode number i is 1, a predetermined allowable lower limit Qmin0 of partial lift injection is set as the learning injection amount Q2st[i]. When search mode number i is a value Ni, a predetermined allowable upper limit Qmax0 of partial lift injection is set as the learning injection amount Q2st[i]. When search mode number i is 2 to (Ni-1), the learning injection amount Q2st[i] is set so as to gradually increase between the allowable lower limit Qmin0 and the allowable upper limit Qmax0 as the search mode number i increases. The allowable upper limit Qmax0 is set within a range smaller than the bending point (the fuel injection amount when the energized valve closing time is maximized) described above.

[0067] Next, the execution counter n2 is counted up by 1 to be updated (step S410). Then, a correction value αQ2st is set based on the high-pressure fuel pressure PH (step S412), and the correction value αQ2st is added to the learning injection amount Q2st[i] to set the corrected injection amount Q2stad[i] (step S414). Here, the execution counter n2 is set to a value of 0 as an initial value when the search process of FIGS. 13 and 14 starts. The process of step S412 can be performed in the same manner as the process of step S212. The processes of steps S412 and S414, like the processes of steps S212 and S214, are processes for converting (converting) the learning injection amount Q2st[i] corresponding to the learning fuel pressure PHini into the corrected injection amount Q2stad[i] corresponding to the high-pressure fuel pressure PH, taking into account the fuel pressure difference between the high-pressure fuel pressure PH and the learning fuel pressure PHini.

[0068] Once the corrected injection amount Q2stad[i] is set in this manner, the corrected injection amount Q2stad[i] is used as the target injection amount Qdp* to set the injection pulse signal Sip, and the drive circuit 27a of the direct injection valve 27 is controlled to perform energization control of the electromagnetic coil 127 (step S416). Then, the energization valve closing times Tec1 and Tec2 of the direct injection valve 27 are detected using the first and second detection methods described above (step S418). The processing of step S416 is performed in the same manner as the processing of step S216.

[0069] Next, a tentative estimated injection quantity Qes21tmp is estimated based on the energized valve closing time Tec1 of the direct injection valve 27 and the high-pressure fuel pressure PH (step S420), a correction value αQes21 is set based on the high-pressure fuel pressure PH (step S422), the estimated injection quantity Qes21 is estimated by adding the correction value αQes21 to the tentative estimated injection quantity Qes21tmp (step S424), and the estimated injection quantity Qes21sum is updated by adding the estimated injection quantity Qes21 to the previous value of the integrated estimated injection quantity Qes21sum (step S426). Then, a correction coefficient K21 is set based on the learning injection quantity Q2st[i] and the estimated injection quantity Qes21 (step S428), and the integrated correction coefficient K21sum is updated by adding the set correction coefficient K21 to the previous value of the integrated correction coefficient K21sum (step S430).

[0070] The processing of steps S420, S422, and S428 can be performed in the same manner as the processing of steps S220, S222, and S226. The processing of steps S422 and S424 converts (converts) the temporary estimated injection amount Qes21tmp corresponding to the high-pressure fuel pressure PH into the estimated injection amount Qes21 corresponding to the learning fuel pressure PHini, taking into account the fuel pressure difference between the high-pressure fuel pressure PH and the learning fuel pressure PHini. This processing allows the estimated injection amount Qes21 to be set to a value corresponding to the learning fuel pressure PHini, even when there is a difference between the high-pressure fuel pressure PH and the learning fuel pressure PHini. The integrated estimated injection amount Qes21sum and the integrated correction coefficient K21sum are set to a value of 0 as initial values ​​when the search processing of FIGS. 13 and 14 is started.

[0071] Next, it is determined whether the detected energized valve closing time Tec2 of the in-cylinder injection valve 27 is valid (step S440). This determination process can be performed, for example, by determining whether the energized valve closing time Tec2 is a valid value and is within an allowable range. Here, the allowable range of the energized valve closing time Tec2 can be set, for example, to a range based on the corrected injection amount Q2stad[i].

[0072] If it is determined in step S440 that the energized valve-closing time Tec2 of the direct injection valve 27 is valid, the validity counter n22 is counted up by 1 to be updated (step S442), and a provisional estimated injection amount Qes22tmp is estimated based on the energized valve-closing time Tec2 of the direct injection valve 27 and the high-pressure fuel pressure PH (step S444). Next, a correction value αQes22 is set based on the high-pressure fuel pressure PH (step S446), the correction value αQes22 is added to the provisional estimated injection amount Qes22tmp to estimate the estimated injection amount Qes22 (step S448), and the estimated injection amount Qes22sum is updated by adding the estimated injection amount Qes22 to the previous value of the accumulated estimated injection amount Qes22sum (step S450). Then, the correction coefficient K22 is set based on the learning injection amount Q2st[i] and the estimated injection amount Qes22 (step S452), and the cumulative correction coefficient K22sum is updated by adding the set correction coefficient K22 to the previous value of the cumulative correction coefficient K22sum (step S454). If it is determined in step S440 that the energized valve closing time Tec2 of the direct injection valve 27 is invalid, the processes of steps S442 to S454 are not executed.

[0073] Here, the valid counter n22, the integrated estimated injection amount Qes22sum, and the integrated correction coefficient K22sum are set to a value of 0 as an initial value when the search process of FIGS. 13 and 14 is started. The processes of steps S444, S446, and S452 can be performed similarly to the processes of steps S220, S222, and S226. The processes of steps S446 and S448 are processes for converting (converting) the temporary estimated injection amount Qes22tmp corresponding to the high-pressure fuel pressure PH into the estimated injection amount Qes22 corresponding to the learning fuel pressure PHini, taking into account the fuel pressure difference between the high-pressure fuel pressure PH and the learning fuel pressure PHini. By such processes, even when there is a difference between the high-pressure fuel pressure PH and the learning fuel pressure PHin, the estimated injection amount Qes22 can be set to a value corresponding to the learning fuel pressure PHini.

[0074] Next, it is determined whether the execution counter n2 is equal to or greater than the threshold value N2 (step S460). Here, the threshold value N2 is, for example, approximately 5 to 15. If it is determined that the execution counter n2 is less than the threshold value N2, the process returns to step S410. In this manner, the processes of steps S410 to S460 are repeatedly executed. If it is determined in step S460 that the execution counter n2 is equal to or greater than the threshold value N2, the integrated estimated injection amount Qes21sum is divided by the valid counter n21 to calculate the average estimated injection amount Qes21av[i] in learning of the search mode number i (step S472), and the integrated correction coefficient K21sum is divided by the valid counter n21 to calculate the average correction coefficient K21av[i] in learning of the search mode number i (step S474).

[0075] Next, it is determined whether the valid counter n22 is equal to or greater than the threshold value N22 (step S480). Here, as the threshold value N22, for example, a value that is approximately 60% to 80% of the threshold value N2 is used. If it is determined in step S480 that the valid counter n22 is equal to or greater than the threshold value N22, the integrated estimated injection amount Qes22sum is divided by the valid counter n22 to calculate the average estimated injection amount Qes22av[i] in learning of the search mode number i (step S482), and the integrated correction coefficient K22sum is divided by the valid counter n22 to calculate the average correction coefficient K22av[i] in learning of the search mode number i (step S474), and the search process of FIGS. 13 and 14 is terminated. If it is determined in step S480 that the valid counter n22 is less than the threshold value N22, the search process of FIGS. 13 and 14 is terminated without executing the processes of steps S482 and S484. In this case, invalid values ​​are set to the average estimated injection amount Qes22av[i] and the average correction coefficient K22av[i] in learning of the search mode number i.

[0076] The search process for search mode number i in step S302 of the detection range setting process in Figure 12 has been described using the search processes in Figures 13 and 14. Returning to the description of the detection range setting process in Figure 12, after executing the search process for search mode number i in step S302, it is determined whether or not the setting condition for the detection lower limit Qmin1, which is the lower limit of the detection range of the first detection method, is met (step S304). Here, the setting condition for the detection lower limit Qmin1 is an AND condition, which is a condition that the detection lower limit Qmin1 is not set, a condition that the search mode number i is equal to or greater than 2, and a condition that the change amount dQes1[i] obtained by subtracting the average estimated injection amount Qes21av[i-1] of the search mode number (i-1) from the average estimated injection amount Qes21av[i] of the search mode number i is equal to or greater than 0 and equal to or less than a threshold value dQth1[i]. The threshold value dQth1[i] is determined as a value obtained by subtracting the learning injection amount Q2st[i-1] of the search mode number (i-1) from the learning injection amount Q2st[i] of the search mode number i, and adding a margin β to the value dQ2st[i]. Note that the threshold value dQth1[i] may be a constant value.

[0077] If it is determined in step S304 that the setting condition for the detection lower limit Qmin1 is met, the average estimated injection quantity Qes21av[i-1] for the search mode number (i-1) is set to the detection lower limit Qmin1 (step S306). Note that the detection lower limit Qmin1 may be set to a value obtained by adding a margin γd1 to the average estimated injection quantity Qes21av[i-1] for the search mode number (i-1). In this case, the margin γd1 may be determined in advance through experimentation, analysis, machine learning, or the like, taking into account variations in the average estimated injection quantities Qes21av[i] and Qes21av[i-1]. If it is determined in step S304 that the setting condition for the detection lower limit Qmin1 is not met, the processing of step S306 is not executed.

[0078] Next, it is determined whether the setting condition for the detection lower limit Qmin2, which is the lower limit of the detection range of the second detection method, is satisfied (step S308). The setting condition for the detection lower limit Qmin2 is an AND condition: the detection lower limit Qmin2 is not set; the search mode number i is equal to or greater than 2; the average estimated injection amounts Qes22av[i] and Qes22av[i-1] for the search mode number i (i-1) are both valid values; and the change amount dQes2[i] obtained by subtracting the average estimated injection amount Qes22av[i-1] from the average estimated injection amount Qes22av[i] is equal to or greater than 0 and equal to or less than a threshold value dQth2[i]. The threshold value dQth2[i] is determined in the same way as the threshold value dQth1[i]. The threshold value dQth2[i] may be the same as or different from the threshold value dQth1.

[0079] If it is determined in step S308 that the setting conditions for the detection lower limit Qmin2 are met, the average estimated injection quantity Qes22av[i-1] for the search mode number (i-1) is set to the detection lower limit Qmin2 (step S310). Note that the detection lower limit Qmin2 may be set to a value obtained by adding a margin γd2 to the average estimated injection quantity Qes22av[i-1] for the search mode number (i-1). In this case, the margin γd2 may be determined in advance through experimentation, analysis, machine learning, or the like, taking into account variations in the average estimated injection quantities Qes22av[i] and Qes22av[i-1]. If it is determined in step S308 that the setting conditions for the detection lower limit Qmin2 are not met, the processing of step S310 is not executed.

[0080] Then, it is determined whether the first or second termination condition of the first-stage learning process is satisfied (steps S312, S314). Here, the first termination condition is an OR condition of the condition that the change amount dQes1[i] is less than 0 or greater than the threshold value dQth1[i], and the condition that the change amount dQes2[i] is less than 0 or greater than the threshold value dQth2[i]. The second termination condition is an OR condition of the condition that the search mode number i is the final value Ni, the condition that the average estimated injection amount Qes21av[i] is greater than the above-mentioned allowable upper limit Qmax0, and the condition that the average estimated injection amount Qes22av[i] is greater than the above-mentioned allowable upper limit Qmax0. If it is determined that neither the first nor the second termination condition is satisfied, the process returns to step S300.

[0081] If it is determined in step S312 that the first termination condition is met, the average estimated injection amounts Qes21av[i-1], Qes22av[i-1] for the search mode number (i-1) are set to detection upper limits Qmax1, Qmax2, which are the upper limits of the detection ranges of the first and second detection methods (step S316), the all-cylinder termination flag is turned on (step S318), and the detection range setting process of FIG. 12 is terminated. Note that the detection upper limits Qmax1, Qmax2 may be set to values ​​obtained by subtracting margins γu1, γu2 from the average estimated injection amounts Qes21av[i-1], Qes22av[i-1] for the search mode number (i-1). In this case, the margins γu1, γu2 may be determined in advance by experiment, analysis, machine learning, or the like, taking into account variations in the average estimated injection amounts Qes21av[i], Qes21av[i-1], Qes22av[i], Qes22av[i-1].

[0082] When the all-cylinders-end flag is set in this way, the detection range setting process is terminated not only for the cylinder in question but also for all cylinders (other cylinders for which the detection range setting process has not yet been completed). When the first termination condition is met, the energization time from the drive circuit 27a to the electromagnetic coil 127 for the cylinder in question may be in the bounce region. Continuing the detection range setting process (search process) for the other cylinders may result in a disturbance in the air-fuel ratio. In this case, by terminating the detection range setting process for all cylinders, the disturbance in the air-fuel ratio can be suppressed. In this case, for cylinders for which the detection upper limits Qmax1 and Qmax2 have not yet been set, it is possible to set the detection upper limits Qmax1 and Qmax2 to values ​​obtained by applying a lower limit guard to the average estimated injection amounts Qes21av[i] and Qes1av[i] calculated immediately before the all-cylinders-end flag was set. The lower limit guard is performed for the following reasons. Although some cylinders are assumed to be in the bounce region, there may be cylinders for which the average estimated injection amounts Qes21av[i] and Qes1av[i] are relatively small due to the influence of the correction coefficient Kip learned in the first-stage learning process, etc. By implementing a lower limit guard, it is possible to prevent the detection upper limits Qmax1 and Qmax2 for those cylinders from becoming too small.

[0083] If it is determined in step S314 that the second termination condition is met, then, similar to the process in step S316, the average estimated injection amounts Qes21av[i-1] and Qes22av[i-1] for the search mode number (i-1) are set to the detection upper limits Qmax1 and Qmax2 (step S320), and the detection range setting process in Figure 12 is terminated. In this case, the all-cylinder termination flag is not turned on, that is, the detection range setting process is not terminated for cylinders for which the detection range setting process has not yet been completed. This ensures more opportunities to perform the detection range setting process (search process) for each cylinder.

[0084] FIG. 15 is an explanatory diagram showing an example of how the detection ranges of the first and second detection methods are set. In the example of FIG. 15, when the search mode number i is 3, the setting condition for the detection lower limit Qmin1 is met, and the average estimated injection quantity Qes21av[2] is set to the detection lower limit Qmin1. When the search mode number i is 4, the setting condition for the detection lower limit Qmin2 is met, and the average estimated injection quantity Qes22av[3] is set to the detection lower limit Qmin1. When the search mode number i is 7, the first termination condition is met, and the average estimated injection quantities Qes21av[6] and Qes22av[6] are set to the detection upper limits Qmax1 and Qmax2. Note that FIG. 15 also illustrates the average correction coefficients K21av and K22av of the detection ranges of the first and second detection methods.

[0085] Next, the process of setting the learning injection amount Q3st for aging learning in step S110 of the initial learning process in FIG. 9 will be described. The process of setting the learning injection amount Q3st for aging learning is executed by the learning injection amount setting process in FIG. 16. In the learning injection amount setting process in FIG. 16, the microcomputer 70 first sets the reference upper and lower limits Qmaxref and Qminref as initial values ​​for the common upper and lower limits Qmaxc and Qminc, which are the upper and lower limits of the common range (step S500). Here, the common range is a range that is set by the process from step S510 onwards so as to include the detection ranges of the second detection method for as many cylinders as possible out of the cylinders #1 to #4 of the engine 12. The reference upper and lower limits Qmaxref and Qminref are determined in advance by experimentation, analysis, machine learning, or the like. For example, the reference upper limit Qmaxref is the above-mentioned allowable upper limit Qmax0, and the reference lower limit Qminref is the above-mentioned allowable lower limit Qmin0.

[0086] Next, a target cylinder k is set from among cylinders #1 to #4 (step S510), and it is determined whether the detection range (range from the lower detection limit Qmin2[k] to the upper detection limit Qmax2[k]) of the second detection method for the target cylinder k includes the reference injection amount Qref (step S512). Here, the reference injection amount Qref is determined in advance through experimentation, analysis, machine learning, or the like. If it is determined in step S512 that the detection range of the second detection method for the target cylinder k includes the reference injection amount Qref, the common upper and lower limits Qmaxc and Qminc of the common range are updated (step S514). In this update process, the smaller of the current value of the common upper limit Qmaxc of the common range and the upper detection limit Qmax2[k] of the detection range of the second detection method for the target cylinder k is set as the new common upper limit Qmaxc of the common range. Furthermore, the larger of the current value of the common lower limit Qminc of the common range and the detection lower limit Qmin2[k] of the detection range of the second detection method for the target cylinder k is set as the new common lower limit Qminc of the common range. If it is determined in step S512 that the detection range of the second detection method for the target cylinder k does not include the reference injection amount Qref, the process of step S514 is not executed.

[0087] Next, it is determined whether all cylinders have been set as target cylinder k in step S510 (step S516), and if it is determined that some cylinders have not yet been set as target cylinder k in step S510, the process returns to step S510. In this manner, the processes of steps S510 to S516 are repeatedly executed. If it is determined in step S516 that all cylinders have been set as target cylinder k in step S510, a target cylinder k is set from each of cylinders #1 to #4 (step S520), and it is determined whether the detection upper limit Qmax2[k] of the detection range of the second detection method for target cylinder k is equal to or greater than the common lower limit Qminc of the common range (step S522).

[0088] If it is determined in step S522 that the upper detection limit Qmax2[k] of the detection range of the second detection method for the target cylinder k is equal to or greater than the common lower limit Qminc of the common range, the common upper limit Qmaxc of the common range is updated (step S524). This update process can be performed in the same manner as the process in step S514. If it is determined in step S522 that the upper detection limit Qmax2[k] of the detection range of the second detection method for the target cylinder k is less than the common lower limit Qminc of the common range, the process in step S524 is not executed. If the upper detection limit Qmax2[k] is less than the common lower limit Qminc, it is assumed that the detection range of the second detection method for the target cylinder k is too low.

[0089] Next, it is determined whether all cylinders have been set as target cylinder k in step S520 (step S526), ​​and if it is determined that some cylinders have not yet been set as target cylinder k in step S520, the process returns to step S520. In this manner, the processes of steps S520 to S526 are repeatedly executed. If it is determined in step S526 that all cylinders have been set as target cylinder k in step S520, a target cylinder k is set from each of cylinders #1 to #4 (step S530), and it is determined whether the detection lower limit Qmin2[k] of the detection range of the second detection method for target cylinder k is equal to or less than the common upper limit Qmaxc of the common range (step S532).

[0090] If it is determined in step S532 that the detection lower limit Qmin2[k] of the detection range of the second detection method for the target cylinder k is equal to or less than the common upper limit Qmaxc of the common range, the common lower limit Qminc of the common range is updated (step S534). This update process can be performed similarly to the process in step S514. If it is determined in step S532 that the detection lower limit Qmin2[k] of the detection range of the second detection method for the target cylinder k exceeds the common upper limit Qmaxc of the common range, the process in step S524 is not executed, and the first detection method flag is turned on (step S536). Basically, in the aging learning process, the energized valve closing duration Tec2 is detected using the more accurate second detection method. However, for cylinders for which the first detection method flag is on, the energized valve closing duration Tec1 is detected using the first detection method in the aging learning process. If the detection lower limit Qmin2[k] exceeds the common upper limit Qmaxc, it is assumed that the detection range of the second detection method for the target cylinder k is too high. Therefore, for that cylinder, the energized valve closing time Tec1 is detected by the first detection method in the aging learning process.

[0091] Next, it is determined whether all cylinders have been set as target cylinder k in step S530 (step S538). If it is determined that some cylinders have not yet been set as target cylinder k in step S520, the process returns to step S530. In this manner, the processes of steps S530 to S538 are repeatedly executed. By the processes of steps S510 to S538, the common range is set so that the detection ranges of the second detection method of as many cylinders as possible are included in the common range. Furthermore, for cylinders whose detection ranges of the second detection method are included in the common range or below the common range, the second detection method is selected in the aging learning process, and for cylinders whose detection ranges of the second detection method are above the common range, the first detection method is selected in the aging learning process. This allows the second detection method to be selected in the aging learning process for as many cylinders as possible.

[0092] If it is determined in step S538 that all cylinders have been set as the target cylinder k in step S520, a learning injection amount Q3st (the same for each cylinder) used in the aging learning process is set within the common range (the range from the common lower limit Qminc to the common upper limit Qmaxc) (step S540), and the learning injection amount setting process of FIG. 16 is terminated. The process of step S540 can be performed, for example, as follows. When the reference injection amount Qref is within the common range (the range from the common lower limit Qminc to the common upper limit Qmaxc), the reference injection amount Qref is set to the learning injection amount Q3st. When the reference injection amount Qref is above the common range (exceeding the common upper limit Qmaxc), the common upper limit Qmaxc is set to the learning injection amount Q3st. When the reference injection amount Qref is below the common range (less than the common lower limit Qminc), the common lower limit Qminc is set to the learning injection amount Q3st. By setting the learning injection amount Q3st to the reference injection amount Qref or an injection amount close to it, rather than the median value of the common range, it is possible to prevent the learning injection amount Q3st from fluctuating greatly.

[0093] Fig. 17 is an explanatory diagram showing an example of how the learning injection amount Q3st is set. In the explanation of Fig. 17, the processing of steps S510 to S516 of the learning injection amount setting processing of Fig. 16 will be referred to as first-stage processing, the processing of steps S520 to S526 will be referred to as second-stage processing, and the processing of steps S530 to S538 will be referred to as third-stage processing.

[0094] 17(A), for all of cylinders #1 to #4, the detection range of the second detection method includes the reference injection amount Qref, so the common upper and lower limits Qmaxc and Qminc are updated in the first stage processing. In this case, since the reference injection amount Qref is included in the common range (the range from the common lower limit Qminc to the common upper limit Qmaxc), the reference injection amount Qref is set to the learning injection amount Q3st.

[0095] In the example of Figure 17(B), for cylinders #1 to #3, the detection range of the second detection method includes the reference injection amount Qref, so the common upper and lower limits Qmaxc and Qminc are updated in the first stage processing. For cylinder #4, the detection range of the second detection method does not include the reference injection amount Qref, but the detection upper limit Qmax2[4] is equal to or greater than the common lower limit Qminc after the final update in the first stage processing, so the common upper limit Qmaxc is updated in the second stage processing. In this case, because the reference injection amount Qref exceeds the common upper limit Qmaxc, the common upper limit Qmaxc is set to the learning injection amount Q3st.

[0096] In the example of FIG. 17(C), for cylinders #1 and #2, the detection range of the second detection method includes the reference injection amount Qref, so the common upper and lower limits Qmaxc and Qminc are updated in the first stage processing. For cylinders #3 and #4, the detection range of the second detection method does not include the reference injection amount Qref, but the detection upper limits Qmax2[3] and Qmax2[4] are equal to or greater than the common lower limit Qminc after the last update in the first stage processing, so the common upper limit Qmaxc is updated in the second stage processing. For cylinder #3, the detection lower limit Qmin2[3] exceeds the common upper limit Qmaxc after the last update in the second stage processing, so the first detection flag is turned on. In this case, because the reference injection amount Qref exceeds the common upper limit Qmaxc, the common upper limit Qmaxc is set to the learning injection amount Q3st.

[0097] In the example of FIG. 17(D), for cylinders #1 and #2, the detection range of the second detection method includes the reference injection amount Qref, so the common upper and lower limits Qmaxc and Qminc are updated in the first stage processing. For cylinder #3, the detection range of the second detection method does not include the reference injection amount Qref, but the detection upper limit Qmax2[3] is equal to or greater than the common lower limit Qminc after the last update in the first stage processing, so the common upper limit Qmaxc is updated in the second stage processing. For cylinder #4, the detection range of the second detection method does not include the reference injection amount Qref and the detection upper limit Qmax2[4] is less than the common lower limit Qminc after the last update in the first stage processing, so the common upper limit Qmaxc is not updated in the second stage processing. For cylinders #3 and #4, the detection lower limits Qmin2[3] and Qmin2[4] are equal to or less than the common upper limit Qmaxc, so the common lower limit Qminc is updated in the third stage processing. In this case, since the reference injection amount Qref is less than the common lower limit Qminc, the common lower limit Qminc is set to the learning injection amount Q3st.

[0098] Next, the process of setting the offset value Kofs in step S112 of the initial learning process in FIG. 9 will be described. Here, the offset value Kofs is used to convert (convert) the correction coefficient based on the first detection method in the initial learning process (second-round learning) and the aging learning process into a correction coefficient based on the second detection method. The process of setting the offset value Kofs can be performed, for example, as follows (see FIG. 15). First, a representative correction coefficient K21dt for the first detection method is calculated, and a representative correction coefficient K22dt for the second detection method is calculated. The representative correction coefficient K21dt for the first detection method can be calculated, for example, as the average value of the average correction coefficients K21av[i] corresponding to the average estimated injection amounts Qes21av[i] of learning for each search mode number i within the detection range of the first detection method (the range from the detection lower limit Qmin1 to the detection upper limit max1). Note that the process may target only a portion of the detection range of the first detection method, for example, only the common range (the range from the common lower limit Qminc to the common upper limit Qmaxc). The representative correction coefficient K22dt of the second detection method can be calculated as the average value of the average correction coefficients K22av[i] corresponding to the average estimated injection amounts Qes22av[i] of learning for each search mode number i within the detection range of the second detection method (the range from the lower detection limit Qmin2 to the upper detection limit max2). Note that a portion of the detection range of the second detection method, for example, only a common range, may be targeted. Next, the value obtained by subtracting the representative correction coefficient K21dt of the first detection method from the representative correction coefficient K22dt of the second detection method is set as the offset value Kofs.

[0099] Next, the update process of the correction coefficient Kip in step S114 of the initial learning process in Fig. 9 will be described. The update process of the correction coefficient Kip can be performed, for example, as follows. Below, the update process for a cylinder for which the aging learning process is performed using the second detection method (a cylinder for which the first detection method flag is off) will be described first, followed by the update process for a cylinder for which the aging learning process is performed using the first detection method (a cylinder for which the first detection method flag is on).

[0100] In the update process for a cylinder for which the aging learning process is performed using the second detection method, first, the two average estimated injection amounts Qes22av that are first and second closest to the learning injection amount Q3st are selected from the average estimated injection amounts Qes22av[i] obtained by the second detection method for learning for each search mode number i. Next, an interpolation process is performed using two average correction coefficients K22av corresponding to the two selected average estimated injection amounts Qes22av to calculate an interpolated correction coefficient K22in corresponding to the learning injection amount Q3st. Then, the interpolated correction coefficient K22in is set as the correction coefficient Kip.

[0101] When the learning injection amount Q3st exceeds the upper detection limit Qmax2 of the detection range of the second detection method, the average correction coefficient K22av corresponding to the upper detection limit Qmax2 (the average estimated injection amount Qes22av set thereto) is set as the correction coefficient Kip. When the learning injection amount Q3st is less than the lower detection limit Qmin2 of the detection range of the second detection method, the average correction coefficient K22av corresponding to the lower detection limit Qmin2 (the average estimated injection amount Qes22av set thereto) is set as the correction coefficient Kip.

[0102] In the update process for a cylinder for which the aging learning process is performed using the first detection method, first, the two average estimated injection amounts Qes21av that are first and second closest to the learning injection amount Q3st are selected from the average estimated injection amounts Qes21av[i] obtained by the first detection method of learning for each search mode number i. Next, an interpolation process is performed using two average correction coefficients K21av corresponding to the two selected average estimated injection amounts Qes21av to calculate an interpolated correction coefficient K21in corresponding to the learning injection amount Q3st. Then, an offset value Kofs is added to the interpolated correction coefficient K21in to calculate a converted correction coefficient K21ofs, and the calculated converted correction coefficient K21ofs is set as the correction coefficient Kip. When the interpolated correction coefficient K21in is set as the correction coefficient Kip, for cylinders that perform the aging learning process using the first detection method, the correction coefficient Kip has a value based on the first detection method, and for cylinders that perform the aging learning process using the second detection method, the correction coefficient Kip has a value based on the second detection method. On the other hand, by converting the interpolated correction coefficient K21in into the converted correction coefficient K21ofs and then setting it as the correction coefficient Kip, the correction coefficient Kip can be set to a value based on the second detection method for cylinders that perform the aging learning process using either the first or second detection method.

[0103] When the learning injection amount Q3st exceeds the upper detection limit Qmax1 of the detection range of the first detection method, the average correction coefficient K21av corresponding to the upper detection limit Qmax1 (the average estimated injection amount Qes21av set thereto) is set as the correction coefficient Kip. When the learning injection amount Q3st is less than the lower detection limit Qmin1 of the detection range of the first detection method, the average correction coefficient K21av corresponding to the lower detection limit Qmin1 (the average estimated injection amount Qes21av set thereto) is set as the correction coefficient Kip.

[0104] So far, the initial learning process for the correction coefficient Kip has been described. Next, the aging learning process for the correction coefficient Kip will be described. Figures 18 and 19 are flowcharts showing an example of the aging learning process executed by the microcomputer 70. This routine is repeatedly executed when the education history flag is on and the aging learning process has not been executed for the current trip.

[0105] 18 and 19, the microcomputer 70 first determines whether the learning conditions for the aging learning process are met (step S600). The learning conditions for the aging learning process may be the same as those for the initial learning process. If it is determined that the learning conditions for the aging learning process are not met, the microcomputer 70 ends this routine.

[0106] If it is determined in step S600 that the learning conditions for the aging learning process are met, fuel pressure control for the aging learning process is performed (step S602). In the fuel pressure control for the aging learning process, a learning fuel pressure PHag predetermined for the aging learning process is set as the target fuel pressure PH*, and the high-pressure pump 57 is controlled so that the high-pressure fuel pressure PH becomes the target fuel pressure PH*. The learning fuel pressure PHag may be the same as or different from the learning fuel pressure PHini. The following processing from step S610 onwards is executed in parallel for each cylinder (each direct injection valve 27) of the engine 12.

[0107] The execution counter n3 is counted up by one (step S610), a correction value αQ3st is set based on the high-pressure fuel pressure PH (step S612), and the correction value αQ3st is added to the learning injection amount Q3st to set the corrected injection amount Q3stad[i] (step S614). The execution counter n3 is initially set to 0 when the aging learning process shown in FIGS. 18 and 19 is started. The process of setting the correction value αQ3st can be performed, for example, by applying the high-pressure fuel pressure PH to the relationship between the high-pressure fuel pressure PH and the correction value αQ3st to derive the correction value αQ3st. The relationship between the high-pressure fuel pressure PH and the correction value αQ3st is determined in advance through experimentation, analysis, machine learning, or the like. The correction value αQ3st is set to 0 when the high-pressure fuel pressure PH is the learning fuel pressure PHag. When the high-pressure fuel pressure PH is lower than the learning fuel pressure PHag, the correction value αQ3st is set so that its absolute value, within a negative range, increases as the high-pressure fuel pressure PH decreases. When the high-pressure fuel pressure PH is higher than the learning fuel pressure PHag, the correction value αQ3st is set so that its absolute value, within a positive range, increases as the high-pressure fuel pressure PH increases. The value set in the initial learning process of FIG. 9 (the learning injection amount setting process of FIG. 16) is used as the learning injection amount Q3st. Similar to the process of step S214, the processes of steps S612 and S614 convert (convert) the learning injection amount Q3s corresponding to the learning fuel pressure PHag into the corrected injection amount Q3stad corresponding to the high-pressure fuel pressure PH, taking into account the fuel pressure difference between the high-pressure fuel pressure PH and the learning fuel pressure PHag.

[0108] Once the corrected injection amount Q3stad is set in this manner, it is determined whether the first detection method flag is on or off (step S616). If the first detection method flag is on, the corrected injection amount Q3stad is used as the target injection amount Qdp* to set the injection pulse signal Sip, which controls the drive circuit 27a of the direct injection valve 27, thereby controlling the energization of the electromagnetic coil 127 (step S618). Then, the energization valve closing time Tec1 of the direct injection valve 27 is detected using the first detection method (step S620).

[0109] Once the energized valve closing time Tec1 of the direct injection valve 27 is detected in this manner, the provisional estimated injection amount Qes31tmp is estimated based on the energized valve closing time Tec1 of the direct injection valve 27 and the high-pressure fuel pressure PH (step S622), a correction value αQes31 is set based on the high-pressure fuel pressure PH (step S624), and the estimated injection amount Qes31 is estimated by adding the correction value αQes31 to the provisional estimated injection amount Qes31tmp (step S626). Then, a correction coefficient K21 is set based on the learning injection amount Q3st and the estimated injection amount Qes31 (step S628), and the cumulative correction coefficient K31sum is updated by adding the set correction coefficient K31 to the previous value of the cumulative correction coefficient K31sum (step S630).

[0110] Here, the processing of steps S622 and S628 can be performed in the same manner as the processing of steps S220 and S226. The processing of setting the correction value αQes31 in step S624 can be performed, for example, by applying the high-pressure fuel pressure PH to the relationship between the high-pressure fuel pressure PH and the correction value αQes31 to derive the correction value αQes31. The relationship between the high-pressure fuel pressure PH and the correction value αQes31 is determined in advance through experimentation, analysis, machine learning, or the like. The correction value αQes31 is set to 0 when the high-pressure fuel pressure PH is the learning fuel pressure PHag. When the high-pressure fuel pressure PH is lower than the learning fuel pressure PHag, the correction value αQes31 is set so that its absolute value increases within a positive range as the high-pressure fuel pressure PH decreases. When the high-pressure fuel pressure PH is higher than the learning fuel pressure PHag, the correction value αQes31 is set so that its absolute value increases within a negative range as the high-pressure fuel pressure PH increases. The processing in steps S624 and S626 converts (converts) the temporary estimated injection amount Qes31tmp corresponding to the high-pressure fuel pressure PH into the estimated injection amount Qes31 corresponding to the learning fuel pressure PHag, taking into account the fuel pressure difference between the high-pressure fuel pressure PH and the learning fuel pressure PHag. The integrated correction coefficient K31sum is set to an initial value of 0 when the aging learning processing of FIGS. 18 and 19 is started.

[0111] Next, it is determined whether the execution counter n3 is equal to or greater than a threshold value N3 (step S632). Here, the threshold value N3 is, for example, several tens of times. If it is determined that the execution counter n3 is less than the threshold value N3, the process returns to step S610. In this manner, the processes of steps S610 to S632 are repeatedly executed. If it is determined in step S632 that the execution counter n3 is equal to or greater than the threshold value N3, the integrated correction coefficient K31sum is divided by the execution counter n3 to calculate an average correction coefficient K31av in the aging learning process (step S634). Next, the offset value Kofs is added to the average correction coefficient K31av in the aging learning process to calculate a converted correction coefficient K31ofs (step S636), and the calculated converted correction coefficient K31ofs is set to the correction coefficient Kip to update the correction coefficient Kip (step S638), and the aging learning process of FIGS. 18 and 19 ends.

[0112] If it is determined in step S616 that the first detection flag is off, the corrected injection amount Q3stad is used as the target injection amount Qdp* to set the injection pulse signal Sip, and the drive circuit 27a of the direct injection valve 27 is controlled to control the energization of the electromagnetic coil 127 (step S640). Then, the energization valve closing time Tec2 of the direct injection valve 27 is detected by the first detection method (step S642).

[0113] When the energized valve-closing time Tec2 of the in-cylinder injection valve 27 is detected in this manner, it is determined whether the energized valve-closing time Tec2 of the in-cylinder injection valve 27 is valid (step S644). This determination process can be performed similarly to the process of step S440. If it is determined in step S644 that the energized valve-closing time Tec2 of the in-cylinder injection valve 27 is valid, the validity counter n32 is counted up by a value of 1 (step S646), and a provisional estimated injection amount Qes32tmp is estimated based on the energized valve-closing time Tec2 of the in-cylinder injection valve 27 and the high-pressure fuel pressure PH (step S648). Next, a correction value αQes32 is set based on the high-pressure fuel pressure PH (step S650), and the correction value αQes32 is added to the provisional estimated injection amount Qes32tmp to estimate the estimated injection amount Qes22 (step S652). Then, the correction coefficient K32 is set based on the learning injection amount Q3st and the estimated injection amount Qes32 (step S654), and the cumulative correction coefficient K22sum is updated by adding the set correction coefficient K22 to the previous value of the cumulative correction coefficient K22sum (step S656).

[0114] Here, the valid counter n32 and the cumulative correction coefficient K22sum are set to a value of 0 as an initial value when the aging learning process of Figures 18 and 19 is started. The processes of steps S648 and S654 can be performed similarly to the processes of steps S220 and S226. The process of step S650 can be performed similarly to the process of step S624. The processes of steps S650 and S652 are processes for converting (translating) the temporary estimated injection amount Qes22tmp corresponding to the high-pressure fuel pressure PH into the estimated injection amount Qes22 corresponding to the learning fuel pressure PHag, taking into account the fuel pressure difference between the high-pressure fuel pressure PH and the learning fuel pressure PHag.

[0115] Next, it is determined whether the execution counter n3 is equal to or greater than the threshold value N3 (step S658). If it is determined that the execution counter n3 is less than the threshold value N3, the process returns to step S610. In this manner, the processes of steps S610 to S632 are repeatedly executed. If it is determined in step S632 that the execution counter n3 is equal to or greater than the threshold value N3, the integrated correction coefficient K32sum is divided by the valid counter n32 to calculate an average correction coefficient K32av in the aging learning process (step S660). Next, the correction coefficient Kip is updated by setting the average correction coefficient K32av to the correction coefficient Kip (step S662), and the aging learning process of FIGS. 18 and 19 is terminated.

[0116] If it is determined in step S644 that the energized valve closing time Tec2 of the direct injection valve 27 is invalid, the invalid counter n33 is counted up by a value of 1 and updated (step S664), and it is determined whether the updated invalid counter n33 is equal to or greater than the threshold value N33 (step S660). Here, the threshold value N33 is set to about 20% to 40% of the threshold value N3. If it is determined that the invalid counter n33 is less than the threshold value N33, the processing from step S658 onwards is executed.

[0117] If it is determined in step S660 that the invalid counter n33 is equal to the threshold value N33, it is then determined whether there is room to increase the learning injection amount Q3st (step S668). This determination can be made, for example, by determining whether the difference between the reference upper limit Qmaxref and the learning injection amount Q3st is equal to or greater than a predetermined threshold. If it is determined in step S668 that there is no room to increase the learning injection amount Q3st, the first detection method flag is turned on (step S670), the execution counter n3 is reset to 0 (step S672), and the process returns to step S610. As a result, it is determined in step S616 that the first detection method flag is on, and the energized valve-closed time Tec1 is detected using the first detection method.

[0118] If it is determined in step S668 that there is room to increase the learning injection amount Q3st, the learning history flag is turned off (step S674), and the aging learning process of Figures 18 and 19 is terminated. In this case, the aging learning process is terminated for all cylinders, and the initial learning process of Figure 9 is executed. This makes it possible to reset the learning injection amount Q3st to an increased amount.

[0119] In the engine system 10 of the present embodiment described above, the microcomputer 70 executes the search process in the second-stage learning process (search and learning process) of the initial learning process while changing the search mode number i, i.e., the learning injection amount Q2st[i]. In the search process, the microcomputer 70 controls the energization of the electromagnetic coil 127 based on the learning injection amount Q2st[i], detects the energization valve closing times Tec1 and Tec2 using the first and second detection methods, and sets the estimated injection amounts Qes21[i] and Qes22[i] and the correction coefficients K21[i] and K22[i] based on the energization valve closing times Tec1 and Tec2. This series of processes is executed a predetermined number of times to calculate the average estimated injection amounts Qes21av[i] and Qes22av[i] and the average correction coefficients K21av[i] and K22av[i]. Then, based on the detection range of the second detection method based on the average estimated injection amount Qes22av[i] estimated in each search process, the learning injection amount Q3st used in the aging learning process is set, and the detection method to be used in the aging learning process is selected from the first and second detection methods. Furthermore, the correction coefficient Kip is updated based on the corresponding correction value corresponding to the detection method to be used, either the average correction coefficient K21av[i] or K22av[i]. This process allows for more appropriate updating (learning) of the correction coefficient Kip than when only the second detection method is used. For example, for cylinders that use the second detection method in the aging learning process, the energized valve closing time Tec2 can be accurately detected based on the detection range of the second detection method based on the average estimated injection amount Qes22av[i], and the correction coefficient Kip can be accurately learned. Furthermore, for cylinders that do not use the second detection method in the aging learning process, the energized valve closing time Tec1 can be detected using the first detection method, thereby ensuring opportunities to learn the correction coefficient Kip.

[0120] In this embodiment, in the initial learning process, the microcomputer 70 executes a first-stage learning process (pre-learning process) to update the correction coefficient Kip, and then executes a second-stage learning process (searching and learning process). This makes it possible to suppress variations in the air-fuel ratio between the cylinders of the engine 12 when the search process of the second-stage learning process is executed, compared to when the second-stage learning process is executed without executing the first-stage learning process.

[0121] In this embodiment, during the initial learning process and the aging learning process, the microcomputer 70 converts (converts) a learning injection amount (e.g., learning injection amount Q2st[i]) corresponding to the learning fuel pressures PHini and PHag into a corrected injection amount (e.g., corrected injection amount Q2stad[i]) corresponding to the high-pressure fuel pressure PH, and converts (converts) a provisional estimated injection amount (e.g., provisional estimated injection amount Qes21tmp) corresponding to the high-pressure fuel pressure PH into an estimated injection amount (e.g., estimated injection amount Qes21) corresponding to the learning fuel pressures PHini and PHag. This allows the estimated injection amount (e.g., estimated injection amount Qes21) to be set to a value corresponding to the learning fuel pressures PHini and PHag, even when there is a discrepancy between the learning fuel pressures PHini and PHag and the high-pressure fuel pressure PH.

[0122] In this embodiment, when the detection lower limit Qmin1 for the first detection method is not set during the process of setting the detection ranges for the first and second detection methods in the second-stage learning process of the initial learning process, if the change amount dQes1[i] obtained by subtracting the average estimated injection amount Qes21av[i-1] from the average estimated injection amount Qes21av[i] is equal to or greater than 0 and equal to or less than the threshold value dQth1, the microcomputer 70 sets the average estimated injection amount Qes21av[i-1] to the detection lower limit Qmin1. Furthermore, if the change amount dQes1[i] is subsequently less than 0 or greater than the threshold value dQth1, the microcomputer 70 sets the average estimated injection amount Qes21av[i-1] to the detection upper limit Qmax1 for the first detection method. The detection lower limit Qmin2 and the detection upper limit Qmax2 for the second detection method are similarly set. This allows the detection ranges for the first and second detection methods to be set more appropriately. Furthermore, if the OR condition of the change amount dQes1[i] being less than 0 or greater than the threshold value dQth1[i], and the change amount dQes2[i] being less than 0 or greater than the threshold value dQth2[i] is met, the process of setting the detection ranges of the first and second detection methods is terminated not only for this cylinder but also for other cylinders, thereby suppressing disturbances in the air-fuel ratio.

[0123] In this embodiment, the microcomputer 70 sets the offset value Kofs after completing the detection range setting process in the second-stage learning process of the initial learning process. Then, for cylinders for which the aging learning process is performed using the second detection method, the microcomputer 70 updates the correction coefficient Kip based on the interpolated correction coefficient K22in, which is based on the two average correction coefficients K22av. For cylinders for which the aging learning process is performed using the first detection method, the microcomputer 70 adds the offset value Kofs to the interpolated correction coefficient K21in, which is based on the two average correction coefficients K21av, to calculate the converted correction coefficient K21ofs, and updates the correction coefficient Kip based on the calculated converted correction coefficient K21ofs. This allows the correction coefficient Kip to be set to a value based on the second detection method for cylinders for which the aging learning process is performed using either the first or second detection method.

[0124] In this embodiment, in the second-stage learning process of the initial learning process, after completing the detection range setting process, the microcomputer 70 sets a common range based on the detection ranges of the second detection method for each cylinder of the engine 12 so that the detection ranges of the second detection method for as many cylinders as possible are included in the common range. Furthermore, for cylinders whose detection ranges of the second detection method are included in the common range or below the common range, the microcomputer 70 selects the second detection method in the aging learning process, and for cylinders whose detection ranges of the second detection method are above the common range, the microcomputer 70 selects the first detection method in the aging learning process. This allows the second detection method (a detection method with higher detection accuracy than the first detection method) to be selected in the aging learning process for as many cylinders as possible.

[0125] In this embodiment, when the common range is set after the detection range setting process of the second-stage learning process is completed during the initial learning process, the microcomputer 70 sets the learning injection amount Q3st to the reference injection amount Qref or an injection amount close to it, rather than the median value of the common range. This makes it possible to prevent large variations in the learning injection amount Q3st for each engine 12.

[0126] In this embodiment, when the number of invalid occurrences of the power supply valve closing duration Tec2 in the second detection method is large for a cylinder in the aging learning process, and there is no room for increasing the learning injection amount Q3st, the microcomputer 70 switches from the second detection method to the first detection method. This allows the aging learning process to continue. Furthermore, when there is room for increasing the learning injection amount Q3st for a cylinder in the second detection method, and there is no room for increasing the learning injection amount Q3st, the microcomputer 70 terminates the aging learning process and executes the initial learning process for all cylinders. This allows the learning injection amount Q3st to be reset to an increased amount.

[0127] In the above-described embodiment, in the initial learning process, instead of performing the first-stage learning process to update the correction coefficient Kip and then performing the second-stage learning process, the second-stage learning process may be performed without performing the first-stage learning process.

[0128] In the above-described embodiment, when the search mode number i is changed in the second-stage learning process to change the learning injection amount Q2st[i], detection of the energized valve closing times Tec1 and Tec2 of the direct injection valve 27 using the first and second detection methods may be prohibited until a predetermined time has elapsed since the learning injection amount Q2st[i] was changed. In this case, it is possible to hold the execution counter n2 and the valid counter n22 without counting up during the period when detection of the energized valve closing times Tec1 and Tec2 is prohibited in the search process of Figures 13 and 14. Generally, a time lag occurs between setting the learning injection amount Q2st[i] and detecting the first and second energized valve closing times Tec1 and Tec2 using the first and second detection methods. For this reason, if detection processing for the energized valve closing times Tec1, Tec2 is started immediately after changing the search mode number i and changing the learning injection amount Q2st[i], there is a possibility that the energized valve closing times Tec1, Tec2 based on the learning injection amount Q2st[i] of the changed search mode number i will become inappropriate values. In contrast, when the search mode number i is changed in the second-stage learning processing and the learning injection amount Q2st[i] is changed, detection processing for the energized valve closing times Tec1, Tec2 is prohibited until a predetermined time has elapsed since the learning injection amount Q2st[i] was changed, thereby preventing the energized valve closing times Tec1, Tec2 based on the learning injection amount Q2st[i] of the changed search mode number i from becoming inappropriate values.

[0129] In the above-described embodiment, after setting the detection lower limits Qmin1, Qmn2 in the detection range setting process of Figure 12, if the OR condition of the first termination condition, that is, the condition that the change amount dQes1[i] is greater than the threshold value dQth1[i] and the condition that the change amount dQes2[i] is greater than the threshold value dQth2[i], is met, the all cylinder termination flag does not need to be turned on, i.e., the detection range setting process for the other cylinders does not need to be terminated.

[0130] In the above-described embodiment, when selecting the detection method to be used in the aging learning process in the learning injection amount setting process of Figure 16, the first detection method may be selected instead of the second detection method for cylinders whose detection range of the second detection method is lower than the common range.

[0131] In the above-described embodiment, when setting the learning injection amount Q3st used in the aging learning process in the learning injection amount setting process of Figure 16, instead of setting the reference injection amount Qref or an injection amount close to it as the learning injection amount Q3st, the median of a common range or the like may be set as the learning injection amount Q3st.

[0132] 18 and 19, when the invalid counter n33 of the second detection method for any cylinder for the powered valve closing time Tec2 reaches or exceeds the threshold N33, the second detection method may be switched to the first detection method regardless of whether there is room to increase the learning injection amount Q3st. Alternatively, the aging learning process may be terminated and the initial learning process may be executed for all cylinders regardless of whether there is room to increase the learning injection amount Q3st.

[0133] In the above-described embodiment, one of the learning conditions for the initial learning process of FIG. 9 and the aging learning process of FIG. 18 may be a condition that the absolute value of the high-pressure fuel pressure change rate dPH, which is the change per unit time of the high-pressure fuel pressure PH, is equal to or less than a threshold value dPH1. Furthermore, if the absolute value of the high-pressure fuel pressure change rate dPH becomes greater than the threshold value dPH1 during execution of the initial learning process or the aging learning process, the initial learning process or the aging learning process may be temporarily interrupted or stopped. This is because a large high-pressure fuel pressure change rate dPH reduces the accuracy of the process of converting (converting) the learning injection amount corresponding to the learning fuel pressures PHini and PHag into the corrected injection amount corresponding to the high-pressure fuel pressure PH (e.g., converting the learning injection amount Q2st[i] into the corrected injection amount Q2stad[i]) and the process of converting (converting) the provisional estimated injection amount corresponding to the high-pressure fuel pressure PH into the estimated injection amount corresponding to the learning fuel pressures PHini and PHag (e.g., converting the provisional estimated injection amount Qes21tmp into the estimated injection amount Qes21).

[0134] In the above-described embodiment, an injection mode condition may be used as one of the learning conditions in the initial learning process of FIG. 9 or the aging learning process of FIG. 18. Here, the injection mode condition is a condition that can satisfy the required torque Te* while performing the initial learning process or the aging learning process by adjusting the injection mode of the direct injection valve 27 (at least one of the blow-through ratio Rd, the number of injections, and the amount of fuel injected when fuel is injected in multiple increments). Furthermore, if the injection mode condition is no longer satisfied during the execution of the initial learning process or the aging learning process, the initial learning process or the aging learning process may be temporarily interrupted or stopped. When the injection mode condition is used as one of the learning conditions in the initial learning process or the aging learning process, whether the injection mode condition is satisfied may be determined by the injection mode condition determination process of FIG. 20.

[0135] When the injection mode condition determination process of FIG. 20 is executed, the microcomputer 70 sets a learning injection mode based on the current injection mode (step S700). FIG. 21 is an explanatory diagram showing an example of the relationship between the current injection mode and the learning injection mode. FIG. 21 illustrates cases 1 to 7. In the diagram, in cases 1 to 7, "(PL)" and "(FL)" in "in-cylinder" in the current injection mode refer to partial lift injection and full lift injection, respectively, when fuel is injected from the in-cylinder injection valve 27. When "in-cylinder" in the current injection mode does not refer to "(PL)" or "(FL)," this means that either partial lift injection or full lift injection is possible. In the following explanation of the injection mode condition determination process of FIG. 20, cases 1 to 7 will be used as examples. Note that the current injection mode may be an injection mode other than cases 1 to 7, such as a mode in which one partial lift injection is performed from the in-cylinder injection valve 27 or a mode in which three fuel injections are performed from the in-cylinder injection valve 27.

[0136] In Case 1, the current injection mode is a mode in which fuel injection amount Q1 is used as the target injection amount Qp* and one fuel injection is performed from port injection valve 26. In this case, the learning injection mode is a mode in which fuel injection amount (Q1-Qst) is used as the target injection amount Qp* and one fuel injection is performed from port injection valve 26 and fuel injection amount Qst is used as the target injection amount Qdp* and one fuel injection is performed from direct injection valve 27.

[0137] In Case 2, the current injection mode is a mode in which one fuel injection is performed from port injector 26 with fuel injection amount Q1 as target injection amount Qp*, and one fuel injection is performed from direct injection valve 27 with fuel injection amount Q2(PL) as target injection amount Qdp*. In this case, the learning injection mode is a mode in which one fuel injection is performed from port injector 26 with fuel injection amount (Q1+(Q2-Qst)) as target injection amount Qp*, and one fuel injection is performed from direct injection valve 27 with fuel injection amount Qst as target injection amount Qdp*.

[0138] In Case 3, the current injection mode is a mode in which fuel injection amount Q1 is used as the target injection amount Qp* and fuel injection is performed once from port injector 26, and fuel injection amounts Q2(PL) and Q3 are used as the target injection amounts Qdp* for each fuel injection, and fuel injection is performed twice from direct injection valve 27. In this case, the learning injection mode is a mode in which fuel injection amount (Q1+(Q2-Qst)) is used as the target injection amount Qp* and fuel injection amounts Qst and Q3 are used as the target injection amounts Qdp* for each fuel injection, and fuel injection is performed twice from direct injection valve 27.

[0139] In Case 4, the current injection mode is a mode in which one fuel injection is performed from port injector 26 with fuel injection amount Q1 as the target injection amount Qp*, and two fuel injections are performed from direct injection valve 27 with fuel injection amounts Q2(FL) and Q3 as the target injection amounts Qdp* for each fuel injection. In this case, the learning injection mode is a mode in which one fuel injection is performed from port injector 26 with fuel injection amount Q1 as the target injection amount, and three fuel injections are performed from direct injection valve 27 with fuel injection amounts Qst, (Q2-Qst), and Q3 as the target injection amounts Qdp* for each fuel injection. The interval between the fuel injection from direct injection valve 27 with fuel injection amount Qst as the target injection amount and the fuel injection with target injection amount (Q2-Qst) as the target injection amount is set to the shortest interval Tiv.

[0140] In Case 5, the current injection mode is a mode in which fuel injection amount Q1 is used as the target injection amount Qp* and fuel injection amount Q2(PL), Q3, and Q4 are used as the target injection amounts Qdp* for each fuel injection ...

[0141] In Case 6, the current injection mode is a mode in which fuel injection amount Q1(FL) is used as the target injection amount Qdp* and one fuel injection is performed from direct injection valve 27. In this case, the learning injection mode is a mode in which fuel injection amounts Qst, (Q1-Qst) are used as the target injection amounts Qdp* for each fuel injection and two fuel injections are performed from direct injection valve 27. Note that the interval between the fuel injection from direct injection valve 27 with fuel injection amount Qst as the target injection amount and the fuel injection with target injection amount (Q1-Qst) as the target injection amount is set to the shortest interval Tiv.

[0142] In Case 7, the current injection mode is a mode in which fuel injection amounts Q1(FL) and Q2(FL) are used as the target injection amount Qdp* for each fuel injection, and fuel injection is performed two times from direct injection valve 27. In this case, the learning injection mode is a mode in which fuel injection amounts Qst, (Q1-Qst), and Q2(FL) are used as the target injection amount Qdp* for each fuel injection, and fuel injection is performed three times from direct injection valve 27. Note that the interval between the fuel injection from direct injection valve 27 with fuel injection amount Qst as the target injection amount and the fuel injection with target injection amount (Q1-Qst) as the target injection amount is set to the shortest interval Tiv.

[0143] The fuel injection amount (target injection amount Qp* or target injection amount Qdp*) of each fuel injection in the current injection mode is set so that it corresponds to the above-mentioned target injection amount Qf* and is equal to or greater than the minimum injection amount (Qp0 or Qd0) that can be injected from the port injection valve 26 or the direct injection valve 27. For example, in case 4, the fuel injection amount of each fuel injection is set so that the fuel injection amount Q1 is equal to or greater than the minimum injection amount Qp0 of the port injection valve 26 and the fuel injection amounts Q2(FL) and Q3 are both equal to or greater than the minimum injection amount Qd0 of the direct injection valve 27 in the current injection mode. When the target injection amount is less than the minimum injection amount, the minimum injection amount is injected, resulting in a rich air-fuel ratio. To prevent this, the fuel injection amount of each fuel injection is set so that it is equal to or greater than the minimum injection amount.

[0144] Once the learning injection mode is set in this manner, it is determined whether the set learning injection mode is a mode in which fuel is injected once from in-cylinder injection valve 27 or a mode in which fuel is injected multiple times (step S702). Here, examples of the learning injection mode in which fuel is injected once from in-cylinder injection valve 27 include the above-mentioned cases 1 and 2. Examples of the mode in which fuel is injected multiple times from in-cylinder injection valve 27 include the above-mentioned cases 3 to 7.

[0145] When it is determined in step S702 that the learning injection mode is a mode in which fuel is injected multiple times from the direct injection valve 27, it is determined whether or not the minimum injection amount condition is satisfied (step S704). As described above, the fuel injection amount of each fuel injection in the current injection mode is set so that it corresponds to the target injection amount Qf* and that the fuel injection amount of each fuel injection is equal to or greater than the minimum injection amount (Qp0 or Qd0) that can be injected from the port injection valve 26 or the direct injection valve 27. Similarly, the minimum injection amount condition is a condition in which the target injection amount of each fuel injection in the learning injection mode is equal to or greater than the minimum injection amount (Qp0 or Qd0) that can be injected from the port injection valve 26 or the direct injection valve 27. The determination process in step S704 can be performed, for example, in case 4, by determining whether the fuel injection amounts Q1, Qst, (Q2-Qst), and Q3 are all equal to or greater than the minimum injection amounts. Since the fuel injection amounts Q1 and Q3 are the same as the current injection mode, they are naturally equal to or greater than the minimum injection amounts Qp0 and Qd0, respectively, and since the fuel injection amount Qst is for learning purposes, it is naturally set within a range equal to or greater than the minimum injection amount Qd0. Therefore, it is sufficient to determine whether the fuel injection amount (Q2-Qst) is equal to or greater than the minimum injection amount Qd0.

[0146] If it is determined in step S704 that the minimum injection amount condition is satisfied, it is then determined whether or not the interval condition is satisfied (step S706). The interval condition is a condition under which, assuming that multiple fuel injections from direct injection valve 27 are performed at the shortest interval Tiv in the learning injection mode, boost capacitor 132 can be sufficiently charged (e.g., can be completely charged) between the timing at which current supply from drive circuit 27a to electromagnetic coil 127 is stopped during the last fuel injection from direct injection valve 27 of the previous cylinder and the timing at which current supply from drive circuit 27a to electromagnetic coil 127 is started during the first fuel injection from direct injection valve 27 of the next cylinder. The determination process of step S706 can be performed by determining whether the total time Tsum, which is the estimated time Ten[1] to Ten[M] for energizing the electromagnetic coil 127 from the drive circuit 27a for each of the 1st to Mth (M≧2) fuel injections from the direct injection valve 27, the shortest interval Tiv for (M−1) injections, and the required charging time Tch required to sufficiently charge the boost capacitor 132 of the drive circuit 27a, is equal to or less than the 180-degree required time T180 required for the crankshaft 14 to rotate 180 degrees (=720 degrees / number of cylinders). Here, the 180-degree required time T180 is calculated based on the rotation speed Ne of the engine 12.

[0147] If it is determined in step S704 that the minimum injection amount condition is satisfied and it is also determined in step S706d that the interval condition is satisfied, it is determined that the injection mode condition is satisfied (step S708), and the injection mode condition determination process in Figure 20 is terminated.

[0148] Then, when the learning conditions are met and the initial learning process or the aging learning process is performed, the drive circuits 26a, 27a of the port injection valve 26 and the in-cylinder injection valve 27 are controlled in the learning injection mode as described in cases 1 to 7, and the timing at which current starts to flow from the drive circuit 27a to the electromagnetic coil 127 for each fuel injection is adjusted.

[0149] By setting the learning injection mode to an injection mode (e.g., the distribution ratio Rd, the number of injections, the injection timing, etc.) that is as close as possible to the current injection mode, it is possible to prevent the combustion state of engine 12 from differing significantly between when the initial learning process or the aging learning process is being performed and when it is not being performed. Also, as described in Cases 1 to 7, in the learning injection mode, the first fuel injection from direct injection valve 27 is used as the learning fuel injection. If the second, third, etc. fuel injection from direct injection valve 27 is used as the learning fuel injection, the interval between this and the immediately preceding fuel injection from direct injection valve 27 is relatively short. Therefore, there is a possibility that the energized valve closing times Tec1 and Tec2 of direct injection valve 27 when the learning fuel injection is performed will vary to some extent due to changes in magnetism of electromagnetic coil 127, changes in high-pressure fuel pressure PH, changes in the voltage of boost capacitor 132, etc., based on the immediately preceding fuel injection. In response to this, by using the first fuel injection from the direct injection valve 27 as a fuel injection for learning, it is possible to suppress variations in the energized valve closing times Tec1 and Tec2.

[0150] The adjustment process for the timing at which current begins to be supplied from drive circuit 27a to electromagnetic coil 127 for each fuel injection can be performed so as to satisfy, for example, the following first, second, and third adjustment conditions. The first adjustment condition is a condition in which current begins to be supplied from drive circuit 27a to electromagnetic coil 127 for the first fuel injection from direct injection valve 27 of the next cylinder after required charging time Tch has elapsed since current was stopped from supplying current from drive circuit 27a to electromagnetic coil 127 for the last fuel injection from direct injection valve 27 of the previous cylinder. The second adjustment condition is a condition in which the interval between two consecutive fuel injections from direct injection valve 27 of the next cylinder is equal to or longer than the shortest interval Tiv. The third adjustment condition is a condition that the time from when current starts to be supplied from drive circuit 27a to electromagnetic coil 127 for the last fuel injection from direct injection valve 27 of the previous cylinder to when current starts to be supplied from drive circuit 27a to electromagnetic coil 127 for the last fuel injection from direct injection valve 27 of the next cylinder is equal to or less than the 180-degree required time T180. This adjustment process makes it possible to adjust the timing at which current starts to be supplied from drive circuit 27a to electromagnetic coil 127 for each fuel injection while ensuring the required charging time Tch and the interval between two consecutive fuel injections.

[0151] If it is determined in step S704 that the minimum injection amount condition is not satisfied, or if it is determined in step S706 that the interval condition is not satisfied, it is determined that the injection mode condition is not satisfied (step S710), and the injection mode condition determination process in Figure 20 is terminated.

[0152] 20, it is preferable to set the fuel injection amount Qst (fuel injection amount for learning) for the first fuel injection from the direct injection valve 27 without reflecting the learning results of the air-fuel ratio learning, and to set the fuel injection amount for fuel injection from the other port injection valves 26 or direct injection valves 27 while reflecting the learning results of the air-fuel ratio learning. This makes it possible to suppress variations in the fuel injection amount for learning due to the learning results of the air-fuel ratio learning, and to suppress disturbances in the air-fuel ratio.

[0153] 20, it is preferable to use a value that does not depend on the target injection amount Qf*, such as the above-mentioned corrected injection amount Q1stad, for the fuel injection amount Qst (fuel injection amount for learning) of the first fuel injection from the direct injection valve 27, rather than a ratio to the total target injection amount Qf* of the port injection valve 26 and the direct injection valve 27. Note that for the fuel injection amounts of fuel injection from other port injection valves 26 or direct injection valves 27, a value that does not depend on the target injection amount Qf* may be used, or a ratio to the target injection amount Qf* may be used.

[0154] In the injection mode condition determination process of FIG. 20 , non-contributing fuel Qun (fuel that does not contribute to combustion) may be taken into consideration when setting the fuel injection amount for either the current injection mode or the learning injection mode. The non-contributing fuel Qun is set as a correction value for increasing the fuel injection amount when it is assumed, based on the coolant temperature Tw or the like, that adhesion to the wall surfaces of the intake port or combustion chamber 29 is greater than evaporation from the wall surfaces. The non-contributing fuel Qun is set as a correction value for increasing the fuel injection amount when it is assumed that evaporation from the wall surfaces is greater than adhesion to the wall surfaces. In the case of the current injection mode, in any of Cases 1 to 7, the non-contributing fuel Qun may be taken into consideration when setting the fuel injection amount Q1 for the first fuel injection, for example. When fuel is injected from the port injector 26 in the learning injection mode, the non-contributing fuel Qun may be taken into consideration when setting the fuel injection amount for the port injector 26 (the fuel injection amount (Q1-Qst) in Case 1). When fuel is injected only from the in-cylinder injection valve 27 in the learning injection mode, for example, the non-contributing fuel Qun may be taken into consideration when setting the fuel injection amount for the second fuel injection from the in-cylinder injection valve 27 (in Cases 6 and 7, the fuel injection amount (Q1-Qst)). When fuel is injected only from the in-cylinder injection valve 27 in the learning injection mode, by taking the non-contributing fuel Qun into consideration in the second fuel injection from the in-cylinder injection valve 27, rather than in the first fuel injection from the in-cylinder injection valve 27 (the fuel injection for learning), it is possible to prevent the fuel injection amount Qst for the learning fuel injection from varying due to the influence of the non-contributing fuel Qun. In this case, in step S702, it is sufficient to determine whether the minimum injection amount condition is met using the fuel injection amount set in consideration of the non-contributing fuel Qun.

[0155] In the above-described embodiment, when the initial learning process or the aging learning process is completed, the microcomputer 70 may execute the post-learning process shown in Fig. 22. In this post-learning process, the microcomputer 70 first calculates the fuel pressure difference ΔPH by subtracting the target fuel pressure PH* after the initial learning process or the aging learning process is completed from the high fuel pressure PH (step S800). Here, the target fuel pressure PH* after the initial learning process or the aging learning process is completed is set based on the distribution ratio Rd, the engine speed Ne, the load factor KL, etc.

[0156] Next, it is determined whether the injection mode after the initial learning process or the aging learning process is a high fuel pressure injection mode (step S802), and it is also determined whether the fuel pressure difference ΔPH is less than a threshold value ΔPHth (step S804). Here, the high fuel pressure injection mode is an injection mode that is preferably performed by setting the high fuel pressure PH to a relatively high level, and can be, for example, an injection mode in which fuel is injected multiple times from the direct injection valve 27 (see the current injection modes in cases 3 to 5 and 7 in FIG. 21). The threshold value ΔPHth is a threshold value used to determine whether the fuel pressure difference ΔPH is relatively small.

[0157] If step S802 determines that the injection mode is not the high fuel pressure injection mode and step S804 determines that the fuel pressure difference ΔPH is equal to or greater than the threshold value ΔPHth, the pressure reduction request flag is set to ON (step S806), and the post-learning process in FIG. 22 ends. When the pressure reduction request flag is set to ON, pressure reduction processing is performed until the fuel pressure difference ΔPH becomes equal to or less than a threshold value ΔPHth2 that is smaller than the threshold value ΔPHth. Examples of pressure reduction processing include setting the injection ratio Rd to 1 (i.e., fuel is injected only from the direct injection valve 27 out of the port injection valves 26 and the direct injection valves 27). This allows the high fuel pressure PH to be quickly reduced to near the target fuel pressure PH*.

[0158] If step S802 determines that the injection mode is the high fuel pressure injection mode, or if step S802 determines that the injection mode is not the high fuel pressure injection mode and step S804 determines that the fuel pressure difference ΔPH is less than the threshold value ΔPHth, the post-learning process in Fig. 22 is terminated without turning on the pressure reduction request flag. This makes it possible to avoid performing unnecessary processing to quickly reduce the high fuel pressure PH.

[0159] In the above-described embodiment, the engine 12 may be provided with only the in-cylinder injection valve 27 instead of the port injection valve 26 and the in-cylinder injection valve 27.

[0160] In the above-described embodiment, instead of using the four-cylinder engine 12, a six-cylinder or eight-cylinder engine may be used.

[0161] The correspondence between the main elements of the embodiment and the main elements of the invention described in the "Means for Solving the Problem" section will be explained below. In the embodiment, the engine 12 corresponds to the "engine," the direct injection valve 27 corresponds to the "direct injection valve," and the drive circuit 27a and the microcomputer 70 correspond to the "drive control device."

[0162] The correspondence between the main elements of the embodiments and the main elements of the invention described in the "Means for Solving the Problem" section does not limit the elements of the invention described in the "Means for Solving the Problem" section, since the embodiments are examples for specifically explaining the mode for implementing the invention described in the "Means for Solving the Problem" section. In other words, the interpretation of the invention described in the "Means for Solving the Problem" section should be based on the description in that section, and the embodiments are merely specific examples of the invention described in the "Means for Solving the Problem" section.

[0163] The above describes embodiments for implementing the present disclosure, but the present disclosure is not limited to these embodiments and can, of course, be implemented in various forms within the scope that does not deviate from the gist of the present disclosure. [Industrial Applicability]

[0164] The present disclosure is applicable to the drive control device manufacturing industry and the like. [Explanation of symbols]

[0165] 10 engine device, 12 engine, 14 crankshaft, 14a crank position sensor, 15 water temperature sensor, 16 cam position sensor, 22 air cleaner, 23 intake pipe, 23a air flow meter, 23t temperature sensor, 24 throttle valve, 24a throttle position sensor, 25 surge tank, 26 port injection valve, 26a drive circuit, 27 in-cylinder injection valve, 27a drive circuit, 28 intake valve, 29 combustion chamber, 30 spark plug, 32 piston, 33 exhaust valve, 34 exhaust pipe, 35 purification device, 37 front air-fuel ratio sensor, 38 rear air-fuel ratio sensor, 50 fuel supply device, 51 fuel tank, 52 feed pump, 53 low-pressure supply pipe, 53p fuel pressure sensor, 54 check valve, 57 high-pressure pump, 57a solenoid valve, 57b Check valve, 57c plunger, 58 high-pressure supply pipe, 58p fuel pressure sensor, 70 microcomputer, 80 battery, 111 body, 112 seat member, 113 valve seat, 114 injection port, 115 needle, 116 enlarged diameter portion, 117 flange portion, 118 stopper, 119 internal fuel passage, 120 valve-closing spring, 123 fixed core, 124 movable core, 125 insertion hole, 127 electromagnetic coil, 128 spring, 131 boost circuit, 132 boost capacitor, 133 diode, 134 switching element, 135 switching element, 136 diode, 137 resistor element, 138 capacitor, 139 diode, 140 resistor element, 141 switching element.

Claims

1. 1. A drive control device that controls fuel injection of a direct injection valve of an engine by controlling energization of an electromagnetic coil of the direct injection valve, When a learning condition for a correction value used for controlling energization of the electromagnetic coil is met, a learning process is executed; In the learning process, the energization control is executed based on a learning injection amount, a time from when energization of the electromagnetic coil starts to when the in-cylinder injection valve closes is detected as first and second energization valve closing times using a first detection method and a second detection method having higher detection accuracy and a narrower detection range than the first detection method, first and second estimated injection amounts are estimated based on the first and second energization valve closing times, first and second correction values ​​are set based on the first and second estimated injection amounts and the learning injection amount, and the correction values ​​are updated based on the first and second correction values, In the first learning process, a search and learning process is executed; In the exploratory learning process, executing the energization control based on the learning injection amount, detecting the first and second energization valve closing times by the first and second detection methods, estimating the first and second estimated injection amounts based on the first and second energization valve closing times, and setting the first and second correction values ​​based on the first and second estimated injection amounts and the learning injection amount, while changing the learning injection amount in a stepwise manner; setting the learning injection amount to be used in the second and subsequent learning processes and selecting a detection method to be used in the second and subsequent learning processes from the first and second detection methods based on the second estimated injection amount estimated in each of the search processes; and updating the correction value based on a corresponding correction value from the first and second correction values ​​that corresponds to the detection method to be used; When the learning condition is satisfied, the learning process is executed while controlling the fuel supply device so that the fuel pressure supplied from the fuel supply device to the direct injection valve becomes a learning fuel pressure; In the learning process, the learning injection amount is corrected based on a fuel pressure difference between the supply fuel pressure and the learning fuel pressure to set a corrected injection amount, and the energization control is performed based on the corrected injection amount, and first and second tentatively estimated injection amounts based on the first and second energization valve closing times are corrected based on the fuel pressure difference to estimate the first and second estimated injection amounts. Drive control device.

2. 2. The drive control device according to claim 1, When an absolute value of a supply fuel pressure change rate, which is the amount of change in the supply fuel pressure per unit time, is greater than a predetermined change rate, the learning process is prohibited. Drive control device.

3. 1. A drive control device that controls fuel injection of a direct injection valve of an engine by controlling energization of an electromagnetic coil of the direct injection valve, When a learning condition for a correction value used for controlling energization of the electromagnetic coil is met, a learning process is executed; In the learning process, the energization control is executed based on a learning injection amount, a time from when energization of the electromagnetic coil starts to when the in-cylinder injection valve closes is detected as first and second energization valve closing times using a first detection method and a second detection method having higher detection accuracy and a narrower detection range than the first detection method, first and second estimated injection amounts are estimated based on the first and second energization valve closing times, first and second correction values ​​are set based on the first and second estimated injection amounts and the learning injection amount, and the correction values ​​are updated based on the first and second correction values, In the first learning process, a search and learning process is executed; In the exploratory learning process, executing the energization control based on the learning injection amount, detecting the first and second energization valve closing times by the first and second detection methods, estimating the first and second estimated injection amounts based on the first and second energization valve closing times, and setting the first and second correction values ​​based on the first and second estimated injection amounts and the learning injection amount, while changing the learning injection amount in a stepwise manner; setting the learning injection amount to be used in the second and subsequent learning processes and selecting a detection method to be used in the second and subsequent learning processes from the first and second detection methods based on the second estimated injection amount estimated in each of the search processes; and updating the correction value based on a corresponding correction value from the first and second correction values ​​that corresponds to the detection method to be used; In the learning process, detection of the first and second energized valve closing times by the first and second detection methods is prohibited until a predetermined time has elapsed since the learning injection amount was changed. Drive control device.

4. 1. A drive control device that controls fuel injection of a direct injection valve of an engine by controlling energization of an electromagnetic coil of the direct injection valve, When a learning condition for a correction value used for controlling energization of the electromagnetic coil is met, a learning process is executed; In the learning process, the energization control is executed based on a learning injection amount, a time from when energization of the electromagnetic coil starts to when the in-cylinder injection valve closes is detected as first and second energization valve closing times using a first detection method and a second detection method having higher detection accuracy and a narrower detection range than the first detection method, first and second estimated injection amounts are estimated based on the first and second energization valve closing times, first and second correction values ​​are set based on the first and second estimated injection amounts and the learning injection amount, and the correction values ​​are updated based on the first and second correction values, In the first learning process, a search and learning process is executed; In the exploratory learning process, executing the energization control based on the learning injection amount, detecting the first and second energization valve closing times by the first and second detection methods, estimating the first and second estimated injection amounts based on the first and second energization valve closing times, and setting the first and second correction values ​​based on the first and second estimated injection amounts and the learning injection amount, while changing the learning injection amount in a stepwise manner; setting the learning injection amount to be used in the second and subsequent learning processes and selecting a detection method to be used in the second and subsequent learning processes from the first and second detection methods based on the second estimated injection amount estimated in each of the search processes; and updating the correction value based on a corresponding correction value from the first and second correction values ​​that corresponds to the detection method to be used; In the search and learning process, detection ranges of the first and second detection methods are set based on whether or not first and second change amounts, which are change amounts of the first and second estimated injection amounts estimated in two successive search processes, respectively, are within first and second predetermined change amount ranges. Drive control device.

5. 5. The drive control device according to claim 4, When the first change amount is outside the first predetermined change amount range or the second change amount is outside the second predetermined change amount range in the search and learning process for any cylinder of the engine, not only the search and learning process for the cylinder but also the search and learning process for the other cylinders are terminated. Drive control device.

6. 5. The drive control device according to claim 4, In the search and learning process, an offset value is set based on the first and second correction values ​​set in the search processes within the detection ranges of the first and second detection methods, respectively; In the search and learning process and the second and subsequent learning processes, when the first detection method is selected as the detection method to be used, the first correction value is converted into an equivalent value corresponding to the second correction value using the offset value, and the correction value is updated based on the equivalent value. Drive control device.

7. 1. A drive control device that controls fuel injection of a direct injection valve of an engine by controlling energization of an electromagnetic coil of the direct injection valve, When a learning condition for a correction value used for controlling energization of the electromagnetic coil is met, a learning process is executed; In the learning process, the energization control is executed based on a learning injection amount, a time from when energization of the electromagnetic coil starts to when the in-cylinder injection valve closes is detected as first and second energization valve closing times using a first detection method and a second detection method having higher detection accuracy and a narrower detection range than the first detection method, first and second estimated injection amounts are estimated based on the first and second energization valve closing times, first and second correction values ​​are set based on the first and second estimated injection amounts and the learning injection amount, and the correction values ​​are updated based on the first and second correction values, In the first learning process, a search and learning process is executed; In the exploratory learning process, executing the energization control based on the learning injection amount, detecting the first and second energization valve closing times by the first and second detection methods, estimating the first and second estimated injection amounts based on the first and second energization valve closing times, and setting the first and second correction values ​​based on the first and second estimated injection amounts and the learning injection amount, while changing the learning injection amount in a stepwise manner; setting the learning injection amount to be used in the second and subsequent learning processes and selecting a detection method to be used in the second and subsequent learning processes from the first and second detection methods based on the second estimated injection amount estimated in each of the search processes; and updating the correction value based on a corresponding correction value from the first and second correction values ​​that corresponds to the detection method to be used; In the search and learning process, the learning injection amount to be used in a second or subsequent learning process is set based on a detection range of the second detection method based on the second estimated injection amount estimated in the search process for each cylinder of the engine and a predetermined reference injection amount. Drive control device.

8. 1. A drive control device that controls fuel injection of a direct injection valve of an engine by controlling energization of an electromagnetic coil of the direct injection valve, When a learning condition for a correction value used for controlling energization of the electromagnetic coil is met, a learning process is executed; In the learning process, the energization control is executed based on a learning injection amount, a time from when energization of the electromagnetic coil starts to when the in-cylinder injection valve closes is detected as first and second energization valve closing times using a first detection method and a second detection method having higher detection accuracy and a narrower detection range than the first detection method, first and second estimated injection amounts are estimated based on the first and second energization valve closing times, first and second correction values ​​are set based on the first and second estimated injection amounts and the learning injection amount, and the correction values ​​are updated based on the first and second correction values, In the first learning process, a search and learning process is executed; In the exploratory learning process, executing the energization control based on the learning injection amount, detecting the first and second energization valve closing times by the first and second detection methods, estimating the first and second estimated injection amounts based on the first and second energization valve closing times, and setting the first and second correction values ​​based on the first and second estimated injection amounts and the learning injection amount, while changing the learning injection amount in a stepwise manner; setting the learning injection amount to be used in the second and subsequent learning processes and selecting a detection method to be used in the second and subsequent learning processes from the first and second detection methods based on the second estimated injection amount estimated in each of the search processes; and updating the correction value based on a corresponding correction value from the first and second correction values ​​that corresponds to the detection method to be used; When there is no learning history, the first learning process is executed, and when there is a learning history, the second or subsequent learning processes are executed; In the second or subsequent learning process, when the second detection method is selected as the detection method to be used, if it becomes difficult to detect the second energized valve closing time by the second detection method and there is room to increase the learning injection amount, the learning history is reset. Drive control device.

9. 1. A drive control device that controls fuel injection of a direct injection valve of an engine by controlling energization of an electromagnetic coil of the direct injection valve, When a learning condition for a correction value used for controlling energization of the electromagnetic coil is met, a learning process is executed; In the learning process, the energization control is executed based on a learning injection amount, a time from when energization of the electromagnetic coil starts to when the in-cylinder injection valve closes is detected as first and second energization valve closing times using a first detection method and a second detection method having higher detection accuracy and a narrower detection range than the first detection method, first and second estimated injection amounts are estimated based on the first and second energization valve closing times, first and second correction values ​​are set based on the first and second estimated injection amounts and the learning injection amount, and the correction values ​​are updated based on the first and second correction values, a learning injection mode, which is the injection mode of the in-cylinder injection valve when the learning process is executed, is set based on the injection mode of the in-cylinder injection valve before the learning condition is satisfied, so that a first fuel injection from the in-cylinder injection valve becomes a learning injection, which is the fuel injection for the learning process. Drive control device.

10. The drive control device according to claim 9, the drive control device includes a drive circuit and a computer; the drive circuit includes a boost capacitor and a switch provided between the boost capacitor and the electromagnetic coil; The computer is configured to perform a plurality of fuel injections including the learning injection in the learning injection mode. In the case where the fuel injection control is performed, the timing at which energization of the electromagnetic coil is started during the plurality of fuel injections is set so that energization of the electromagnetic coil during the first fuel injection of the next cylinder of the engine starts after a time required for charging the boost capacitor has elapsed since energization of the electromagnetic coil during the last fuel injection of the previous cylinder of the engine was stopped. Drive control device.

11. The drive control device according to claim 9, the drive control device includes a drive circuit and a computer; the drive circuit includes a boost capacitor and a switch provided between the boost capacitor and the electromagnetic coil; the learning condition includes a condition that, when the learning injection mode is a mode in which a plurality of fuel injections including the learning injection are performed, the boost capacitor can be charged during a period from when current supply to the electromagnetic coil is stopped in the last fuel injection of a previous cylinder in the engine to when current supply to the electromagnetic coil is started in the first fuel injection of a next cylinder in the engine. Drive control device.

12. The drive control device according to claim 9, When the learning injection mode is a mode in which fuel injections are performed a plurality of times including the learning injection, a fuel injection amount of any fuel injection other than the learning injection is set taking into consideration non-contributing fuel, the learning condition includes a condition that the fuel injection amount of each of the plurality of fuel injections is equal to or greater than a minimum injection amount. Drive control device.

13. 1. A drive control device that controls fuel injection of a direct injection valve of an engine by controlling energization of an electromagnetic coil of the direct injection valve, When a learning condition for a correction value used for controlling energization of the electromagnetic coil is met, a learning process is executed; In the learning process, the energization control is executed based on a learning injection amount, a time from when energization of the electromagnetic coil starts to when the in-cylinder injection valve closes is detected as first and second energization valve closing times using a first detection method and a second detection method having higher detection accuracy and a narrower detection range than the first detection method, first and second estimated injection amounts are estimated based on the first and second energization valve closing times, first and second correction values ​​are set based on the first and second estimated injection amounts and the learning injection amount, and the correction values ​​are updated based on the first and second correction values, the learning injection amount is set without reflecting the learning result of the air-fuel ratio learning. Drive control device.

14. 1. A drive control device that controls fuel injection of a direct injection valve of an engine by controlling energization of an electromagnetic coil of the direct injection valve, When a learning condition for a correction value used for controlling energization of the electromagnetic coil is met, a learning process is executed; In the learning process, the energization control is executed based on a learning injection amount, a time from when energization of the electromagnetic coil starts to when the in-cylinder injection valve closes is detected as first and second energization valve closing times using a first detection method and a second detection method having higher detection accuracy and a narrower detection range than the first detection method, first and second estimated injection amounts are estimated based on the first and second energization valve closing times, first and second correction values ​​are set based on the first and second estimated injection amounts and the learning injection amount, and the correction values ​​are updated based on the first and second correction values, after completion of the learning process, when a fuel pressure difference obtained by subtracting a target fuel pressure from a fuel supply pressure from the fuel supply device to the in-cylinder injection valve is equal to or greater than a predetermined difference, a process for reducing the supply fuel pressure is executed, and when the fuel pressure difference is less than the predetermined difference, the process for reducing the supply fuel pressure is not executed. Drive control device.

Citation Information

Patent Citations

  • Fuel injection control device

    JP2017201159A

  • Injection control device

    JP2022048660A