Control device for internal combustion engine

JPWO2024232002A5Active Publication Date: 2025-06-23MITSUBISHI ELECTRIC MOBILITY CORP
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
JP2025519218
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2025-04-04
Publication Date
2025-06-23
Estimated Expiration
2043-05-09

AI Technical Summary

Technical Problem

Existing internal combustion engine control devices face challenges in accurately estimating external load torque due to fluctuations in crank angular velocity caused by manufacturing errors in the teeth of detected components, leading to decreased calculation accuracy.

Method used

A control device with multiple detected parts on a rotating and non-rotating member, utilizing a specific crank angle sensor and gas pressure sensor to calculate shaft torque and angular velocities, and an external load torque estimator that smooths out fluctuations by averaging detected and ideal angular velocities.

Benefits of technology

The control device accurately estimates external load torque by smoothing out angular velocity fluctuations, enhancing the precision of torque calculations and improving engine control.

✦ Generated by Eureka AI based on patent content.
Patent Text Reader

Abstract

Provided is a control device for an internal combustion engine, wherein the control device can estimate an external load torque with high accuracy even when a crank angular velocity or the like fluctuates due to variations or the like in the teeth of a to-be-detected part. A control device (50) for an internal combustion engine estimates a first shaft torque estimated value (Tcrke1) by using a physical model equation of a crank mechanism, calculates a first ideal section angular velocity (αid1 ) in a first ideal state, in which it is assumed that there are no fluctuations in the crank angle of the to-be-detected part and no external load torque, on the basis of the first shaft torque estimated value (Tcrke1) and the moment (Icrk) of inertia, and estimates an external load torque (Tload) on the basis of the difference between an average value (ωsd_ave) of a detection section angular velocity and an average value (ωid1_ave) of a first ideal section angular velocity.
Need to check novelty before this filing date? Find Prior Art

Description

Control device for internal combustion engine

[0001] The present application relates to a control device for an internal combustion engine.

[0002] With regard to the above-described control device, the technologies described in the following Patent Documents 1 and 2 are already known, for example. The technology in Patent Document 1 is configured to calculate a crank angular velocity and a crank angular acceleration based on an output signal from a crank angle sensor, calculate a gas pressure torque generated by combustion based on the crank angular velocity and the crank angular acceleration, and calculate the amount of work due to the gas pressure torque.

[0003] JP 2009-275618 A JP 2013-87724 A

[0004] The crank angle acceleration includes an acceleration component due to an external load torque applied to the crankshaft from outside the internal combustion engine. Therefore, unless the external load torque is determined and the gas pressure torque is calculated based on the crank angular velocity and crank angular acceleration, the calculation accuracy decreases. Therefore, it is possible to estimate the external load torque based on the crank angular velocity, etc. However, if the crank angular velocity, etc., fluctuates due to manufacturing errors of the teeth of the detection target detected by the crank angle sensor, the estimation accuracy of the external load torque deteriorates.

[0005] Therefore, an object of the present application is to provide a control device for an internal combustion engine that can accurately estimate external load torque even if the crank angular velocity or the like fluctuates due to variations in the teeth of the detection target portion or the like.

[0006] The control device for an internal combustion engine according to the present application is a control device for an internal combustion engine that controls an internal combustion engine including a plurality of detection targets provided at a plurality of predetermined crank angles on a rotating member that rotates integrally with a crankshaft, a specific crank angle sensor fixed to a non-rotating member that detects the detection targets, and a gas pressure sensor that detects gas pressure in an intake pipe, and includes an angle information detection unit that detects a crank angle and detects a detection time at which the crank angle is detected based on an output signal of the specific crank angle sensor, calculates an angle interval corresponding to an angle interval between the detection angles based on the detected detection angles that are the detected crank angles, and calculates a time interval corresponding to the angle interval based on the detection time, an angle information correction unit that corrects the angle interval or the time interval in each angle interval with a correction value provided corresponding to each of the angle intervals, and an intake pipe gas pressure detection unit that detects the gas pressure in the intake pipe based on the output signal of the gas pressure sensor, a first axial torque estimating unit that estimates a first axial torque estimate corresponding to each of the angle intervals, the axial torque of the crankshaft due to the gas pressure in the cylinder and the reciprocating motion of the piston, using a physical model equation of the crank mechanism based on the detected value of the gas pressure in the intake pipe and the detected angle; a first ideal angular velocity calculating unit that calculates a first ideal section angular velocity that is an angular velocity corresponding to each of the angle intervals in a first ideal state in which it is assumed that there is no fluctuation in the multiple crank angles in which the multiple detection targets are arranged and there is no external load torque, based on the estimated value of the first axial torque for each of the angle intervals and a moment of inertia of the crankshaft system; a detection section angular velocity calculating unit that calculates a detection section angular velocity that is an angular velocity corresponding to each of the angle intervals, based on the time interval and the angle interval after correction processing using the correction value; an averaging section setting unit that sets an averaging processing angle interval within a range of one rotation angle interval in which the crankshaft makes one rotation; and an ideal average value calculating unit that calculates an average value of the first ideal section angular velocities in the averaging processing angle interval. a detection average value calculation unit that calculates an average value of the detection section angular velocity in the averaging processing angular section;and an external load torque estimation unit that estimates the external load torque, which is the torque applied to the crankshaft from outside the internal combustion engine, based on the difference between the average value of the detected section angular velocity and the average value of the first ideal section angular velocity.

[0007] According to the internal combustion engine control device of the present application, an estimated value of a first shaft torque due to the gas pressure in the cylinder and the reciprocating motion of the piston is estimated using a physical model equation of the crank mechanism based on the detected value of gas pressure in the intake pipe and the detected angle. A first ideal section angular velocity in a first ideal state, assuming no angular variation among the multiple detection targets and no external load torque, is calculated based on the estimated value of the first shaft torque and the moment of inertia of the crankshaft system. Meanwhile, a detection section angular velocity, which reflects the effects of the angular variation among the multiple detection targets and the external load torque, is calculated based on the output signal of a specific crank angle sensor. Therefore, a difference occurs between the first ideal section angular velocity and the detection section angular velocity due to the external load torque. However, the detection section angular velocity fluctuates due to the angular variation among the multiple detection targets and setting errors of the correction value, etc. Therefore, the instantaneous difference between the first ideal section angular velocity and the detection section angular velocity is significantly affected by the fluctuations in the detection section angular velocity, making it difficult to accurately estimate the external load torque. Since the difference between the average value of the detection section angular velocity and the average value of the first ideal section angular velocity in the averaging processing angle section is used, the influence of fluctuations in the detection section angular velocity can be smoothed, and the external load torque can be estimated with high accuracy.

[0008] 1 is a schematic configuration diagram of an internal combustion engine and a control device according to a first embodiment. FIG. 1 is a schematic configuration diagram of an internal combustion engine and a control device according to a first embodiment. FIG. 2 is a block diagram of a control device according to a first embodiment. FIG. 3 is a hardware configuration diagram of a control device according to a first embodiment. FIG. 4 is a time chart for explaining angle information detection processing according to a first embodiment. FIG. 5 is a diagram for explaining correction values ​​stored in a storage device according to a first embodiment. FIG. 6 is a time chart for explaining calculation processing of crank acceleration and angular acceleration according to a first embodiment. FIG. 7 is a diagram for explaining processing by a first ideal angular velocity calculation unit according to a first embodiment. FIG. 8 is a diagram for explaining an estimation principle of an external load torque according to a first embodiment. FIG. 9 is a diagram for explaining an estimation principle of an external load torque according to a first embodiment. FIG. 10 is a diagram for explaining estimation of an external load torque according to a first embodiment. FIG. 11 is a diagram for explaining fluctuations in crank angular velocity when correction processing according to a first embodiment is not performed. FIG. 12 is a diagram for explaining fluctuations in crank angular velocity when correction processing according to a first embodiment is not performed. FIG. 13 is a diagram for explaining processing by a second ideal angular velocity calculation unit according to a first embodiment. FIG. 10 is a diagram for explaining the behavior of the crank angular velocity when the correction process according to the first embodiment is not performed. FIG. 11 is a diagram for explaining the behavior of the crank angular velocity when the correction process according to the first embodiment is performed. FIG. 12 is a diagram for explaining fluctuations in the crank angular velocity when the correction process according to the first embodiment is performed. FIG. 13 is a diagram for explaining the processing of a first ideal angular velocity calculation unit according to the second embodiment. FIG. 14 is a diagram for explaining the processing of a second ideal angular velocity calculation unit according to the second embodiment. FIG. 15 is a diagram for explaining the processing of a correction value change unit according to the third embodiment.

[0009] 1. First Embodiment A control device 50 for an internal combustion engine 1 according to a first embodiment (hereinafter simply referred to as the control device 50) will be described with reference to the drawings. Figures 1 and 2 are schematic configuration diagrams of the internal combustion engine 1 and the control device 50 according to this embodiment, and Figure 3 is a block diagram of the control device 50 according to this embodiment. The internal combustion engine 1 and the control device 50 are mounted on a vehicle, and the internal combustion engine 1 serves as a driving force source for the vehicle (wheels).

[0010] 1-1. Configuration of Internal Combustion Engine 1 First, the configuration of the internal combustion engine 1 will be described. As shown in FIG. 1, the internal combustion engine 1 has cylinders 7 that burn a mixture of air and fuel. The internal combustion engine 1 has an intake passage 23 that supplies air to the cylinders 7, and an exhaust passage 17 that discharges exhaust gas burned in the cylinders 7. The internal combustion engine 1 is a gasoline engine. The internal combustion engine 1 has a throttle valve 4 that opens and closes the intake passage 23. The throttle valve 4 is an electronically controlled throttle valve that is driven to open and close by an electric motor controlled by a control device 50. The throttle valve 4 is provided with a throttle opening sensor 19 that outputs an electric signal corresponding to the opening of the throttle valve 4.

[0011] An air flow sensor 3 is provided in the intake passage 23 upstream of the throttle valve 4, and outputs an electrical signal corresponding to the amount of intake air taken into the intake passage 23. The internal combustion engine 1 is equipped with an exhaust gas recirculation device 20. The exhaust gas recirculation device 20 has an EGR flow path 21 that recirculates exhaust gas from the exhaust passage 17 to the intake manifold 12, and an EGR valve 22 that opens and closes the EGR flow path 21. The intake manifold 12 is the portion of the intake passage 23 downstream of the throttle valve 4. The EGR valve 22 is an electronically controlled EGR valve that is driven to open and close by an electric motor controlled by the control device 50. The exhaust passage 17 is equipped with an air-fuel ratio sensor 18 that outputs an electrical signal corresponding to the air-fuel ratio of the exhaust gas in the exhaust passage 17.

[0012] The intake manifold 12 is provided with a gas pressure sensor 8 that outputs an electric signal corresponding to the pressure inside the intake manifold 12. An injector 13 that injects fuel is provided downstream of the intake manifold 12. Note that the injector 13 may be provided so as to inject fuel directly into the cylinders 7. The internal combustion engine 1 is provided with an atmospheric pressure sensor 33 that outputs an electric signal corresponding to the atmospheric pressure.

[0013] A spark plug that ignites the air-fuel mixture and an ignition coil 16 that supplies ignition energy to the spark plug are provided at the top of each cylinder 7. Also provided at the top of each cylinder 7 are an intake valve 14 that adjusts the amount of intake air drawn into the cylinder 7 from an intake passage 23, and an exhaust valve 15 that adjusts the amount of exhaust gas discharged from the cylinder to an exhaust passage 17. The intake valve 14 is provided with an intake variable valve timing mechanism that varies the valve opening and closing timing. The exhaust valve 15 is provided with an exhaust variable valve timing mechanism that varies the valve opening and closing timing. The variable valve timing mechanisms 14, 15 each have an electric actuator.

[0014] As shown in FIG. 2 , the internal combustion engine 1 has a plurality of cylinders 7 (three in this example). Each cylinder 7 has a piston 5 inside. The piston 5 of each cylinder 7 is connected to a crankshaft 2 via a connecting rod 9 and a crank 32. The crankshaft 2 is rotated by the reciprocating motion of the piston 5. Combustion gas pressure generated in each cylinder 7 presses against the top surface of the piston 5, rotating the crankshaft 2 via the connecting rod 9 and the crank 32. The crankshaft 2 is connected to a power transmission mechanism that transmits driving force to the wheels. The power transmission mechanism is composed of a transmission, a differential gear, etc. Note that a vehicle equipped with the internal combustion engine 1 may be a hybrid vehicle equipped with a motor-generator in the power transmission mechanism.

[0015] The internal combustion engine 1 is equipped with a signal plate 10 that rotates integrally with the crankshaft 2. The signal plate 10 has a plurality of teeth at a plurality of predetermined crank angles. In this embodiment, the signal plate 10 has teeth arranged at 10-degree intervals. The teeth of the signal plate 10 have missing tooth portions where some of the teeth are missing. The internal combustion engine 1 is equipped with a first crank angle sensor 11 that is fixed to the engine block 24 and detects the teeth of the signal plate 10.

[0016] The internal combustion engine 1 is equipped with a camshaft 29 connected to the crankshaft 2 by a chain 28. The camshaft 29 drives the intake valve 14 and the exhaust valve 15 to open and close. The camshaft 29 rotates once while the crankshaft 2 rotates twice. The internal combustion engine 1 is equipped with a cam signal plate 31 that rotates integrally with the camshaft 29. The cam signal plate 31 has a plurality of teeth at a plurality of predetermined camshaft angles. The internal combustion engine 1 is equipped with a cam angle sensor 30 that is fixed to the engine block 24 and detects the teeth of the cam signal plate 31.

[0017] Based on two types of output signals from the first crank angle sensor 11 and the cam angle sensor 30, the control device 50 detects the crank angle relative to the top dead center of each piston 5 and determines the stroke of each cylinder 7. The internal combustion engine 1 is a four-stroke engine having an intake stroke, a compression stroke, a combustion stroke, and an exhaust stroke.

[0018] The internal combustion engine 1 includes a flywheel 27 that rotates integrally with the crankshaft 2. The outer periphery of the flywheel 27 is a ring gear 25, which has multiple teeth at predetermined crank angles. The teeth of the ring gear 25 are circumferentially spaced at equal angular intervals. In this example, 60 teeth are provided at 6-degree intervals. The teeth of the ring gear 25 are not missing any teeth. The internal combustion engine 1 includes a second crank angle sensor 6 that is fixed to the engine block 24 and detects the teeth of the ring gear 25. The second crank angle sensor 6 is disposed radially outward of the ring gear 25, facing and spaced apart from the ring gear 25. The end of the flywheel 27 opposite the crankshaft 2 is connected to a power transmission mechanism. Therefore, the output torque of the internal combustion engine 1 is transmitted to the wheels via the flywheel 27.

[0019] The first crank angle sensor 11, the cam angle sensor 30, and the second crank angle sensor 6 output electrical signals in response to changes in the distance between each sensor and the teeth due to the rotation of the crankshaft 2. The output signal of each angle sensor 11, 30, 6 is a square wave that turns on and off depending on whether the sensor is close to the teeth or far away. Each angle sensor 11, 30, 6 may be, for example, an electromagnetic pickup type sensor.

[0020] The flywheel 27 (ring gear 25) has a greater number of teeth than the signal plate 10 and is free of any missing teeth, enabling high-resolution angle detection. Furthermore, the flywheel 27 has a mass greater than that of the signal plate 10, which suppresses high-frequency vibrations, enabling high-precision angle detection.

[0021] In this embodiment, the second crank angle sensor 6 corresponds to the "specific crank angle sensor" in this application, the flywheel 27 corresponds to the "rotating member" in this application, the teeth of the ring gear 25 provided on the flywheel 27 correspond to the "detected portion" in this application, and the engine block 24 corresponds to the "non-rotating member" in this application.

[0022] 1-2. Configuration of the Control Device 50 Next, the control device 50 will be described. The control device 50 is a control device that controls the internal combustion engine 1. As shown in FIG. 3 , the control device 50 includes control units such as an intake pipe gas pressure detection unit 51, an angle information detection unit 52, an angle information correction unit 53, an average interval setting unit 54, a one-rotation time detection unit 55, a first shaft torque estimation unit 56, a first ideal angular velocity calculation unit 57, a detection interval angular velocity calculation unit 58, an ideal average value calculation unit 59, a detection average value calculation unit 60, an external load torque estimation unit 61, a second shaft torque estimation unit 62, a second ideal angular velocity calculation unit 63, a correction value change unit 64, and an abnormality determination unit 65. The control units 51 to 65 of the control device 50 are realized by processing circuits provided in the control device 50. Specifically, as shown in FIG. 4, the control device 50 includes, as processing circuits, an arithmetic processing device 90 (computer) such as a CPU (Central Processing Unit), a memory device 91 connected to the arithmetic processing device 90 via a signal line such as a bus, an input circuit 92 that inputs external signals to the arithmetic processing device 90, and an output circuit 93 that outputs signals from the arithmetic processing device 90 to the outside.

[0023] The arithmetic processing device 90 may be an ASIC (Application Specific Integrated Circuit), an IC (Integrated Circuit), a DSP (Digital Signal Processor), an FPGA (Field Programmable Gate Array), various logic circuits, various signal processing circuits, etc. Furthermore, a plurality of the same or different types of arithmetic processing device 90 may be provided, and each process may be shared and executed.

[0024] The storage device 91 includes volatile and non-volatile storage devices such as RAM (Random Access Memory), ROM (Read Only Memory), EEPROM (Electrically Erasable Programmable ROM), etc. The input circuit 92 is connected to various sensors and switches and includes an A / D converter and the like that inputs output signals of these sensors and switches to the arithmetic processing device 90. The output circuit 93 is connected to electrical loads and includes a drive circuit and the like that outputs control signals from the arithmetic processing device 90 to these electrical loads.

[0025] The functions of the control units 51 to 65 of the control device 50 are realized by an arithmetic processing device 90 executing software (programs) stored in a storage device 91 such as a ROM or EEPROM, in cooperation with other hardware of the control device 50, such as the storage device 91, an input circuit 92, and an output circuit 93. Setting data such as the moment of inertia Icrk and judgment values ​​used by the control units 51 to 65 are stored in the storage device 91 such as a ROM or EEPROM. Data such as calculated values ​​and detected values ​​calculated by the control units 51 to 65, including the correction value Kc, the angle interval Δθd, the time interval ΔTd, the first shaft torque estimate Tcrke1, the first ideal interval angular velocity ωid1, the detection interval angular velocity ωsd, and the external load torque Tload, are stored in a rewritable storage device 91 such as a RAM.

[0026] In this embodiment, the input circuit 92 is connected to the first crank angle sensor 11, the cam angle sensor 30, the second crank angle sensor 6, the airflow sensor 3, the throttle opening sensor 19, the gas pressure sensor 8, the atmospheric pressure sensor 33, the air-fuel ratio sensor 18, and the accelerator position sensor 26. The output circuit 93 is connected to the throttle valve 4 (electric motor), the EGR valve 22 (electric motor), the injector 13, the ignition coil 16, the intake variable valve timing mechanism 14, and the exhaust variable valve timing mechanism 15. Note that various sensors, switches, actuators, etc. (not shown) are connected to the control device 50. The control device 50 detects the operating conditions of the internal combustion engine 1, such as the intake air amount, the pressure in the intake manifold, the atmospheric pressure, the air-fuel ratio, and the accelerator opening, based on the output signals of the various sensors.

[0027] As a basic control, the control device 50 calculates the fuel injection amount, ignition timing, etc. based on the output signals of various sensors input thereto, and controls the injector 13, the ignition coil 16, etc. The control device 50 calculates the output torque of the internal combustion engine 1 requested by the driver based on the output signal of the accelerator position sensor 26, etc., and controls the throttle valve 4, etc. so as to obtain an intake air amount that realizes the requested output torque. Specifically, the control device 50 calculates a target throttle opening and controls the operation of the electric motor of the throttle valve 4 so that the throttle opening detected based on the output signal of the throttle opening sensor 19 approaches the target throttle opening. The control device 50 also calculates a target opening of the EGR valve 22 based on the output signals of various sensors input thereto, and controls the operation of the electric motor of the EGR valve 22. The control device 50 calculates the target opening / closing timing of the intake valve and the target opening / closing timing of the exhaust valve based on the output signals of various sensors input thereto, and controls the operation of the intake and exhaust variable valve timing mechanisms 14, 15 based on each target opening / closing timing.

[0028] <Intake Pipe Gas Pressure Detector 51> The intake pipe gas pressure detector 51 detects the gas pressure Pind in the intake pipe based on the output signal of the gas pressure sensor 8. The gas pressure Pind in the intake pipe is detected at every predetermined detection period.

[0029] 5, the angle information detection unit 52 detects the crank angle θd based on the output signal of the second crank angle sensor 6, which is designated as the specific crank angle sensor, and detects the detection time Td at which the crank angle θd is detected. Then, based on the detected crank angle θd, which is the detected crank angle, the angle information detection unit 52 calculates an angle interval Δθd corresponding to an angle section Sd between the detected angles θd, and calculates a time interval ΔTd corresponding to the angle section Sd based on the detection time Td.

[0030] In this embodiment, the angle information detection unit 52 is configured to determine the crank angle θd when it detects a falling edge (or a rising edge) of the output signal (rectangular wave) of the second crank angle sensor 6. The angle information detection unit 52 determines a base falling edge, which is a falling edge corresponding to a base angle (e.g., 0 degrees, which is the top dead center of the piston 5 of the first cylinder 7), and determines the crank angle θd corresponding to a falling edge number n (hereinafter referred to as angle identification number n) counted up from the base falling edge. For example, when the angle information detection unit 52 detects the base falling edge, it sets the crank angle θd to the base angle (e.g., 0 degrees) and sets the angle identification number n to 1. Then, every time the angle information detection unit 52 detects a falling edge, it increases the crank angle θd by a predetermined angle interval Δθd (6 degrees in this example) and increases the angle identification number n by one. Alternatively, the angle information detection unit 52 may be configured to read out the crank angle θd corresponding to the current angle identification number n using an angle table in which the relationship between the angle identification number n and the crank angle θd is preset. The angle information detection unit 52 associates the crank angle θd (detected angle θd) with the angle identification number n. The angle identification number n returns to 1 after reaching the maximum number (60 in this example). The previous angle identification number n for angle identification number n=1 is 60, and the next angle identification number n for angle identification number n=60 is 1.

[0031] In this embodiment, a case where there is no missing tooth will be described, but a missing tooth may also be provided. In this case, the detection time Td and the detection angle θd in which the missing tooth portion is complemented using information before and after the missing tooth portion may be used, or the detection time Td and the detection angle θd in which the missing tooth portion is not complemented may be used as is. When the missing tooth portion is not complemented, the angle interval Δθd corresponding to the missing tooth portion is used in each calculation.

[0032] In this embodiment, the angle information detection unit 52 determines the base point falling edge of the second crank angle sensor 6 by referring to a reference crank angle θr detected based on the first crank angle sensor 11 and the cam angle sensor 30 (described later). For example, the angle information detection unit 52 determines that the falling edge of the second crank angle sensor 6 is the base point falling edge when the reference crank angle θr at the time of detecting the falling edge is closest to the base point angle.

[0033] Furthermore, the angle information detection unit 52 determines the stroke of each cylinder 7 corresponding to the crank angle θd by referring to the stroke of each cylinder 7 determined based on the first crank angle sensor 11 and the cam angle sensor 30 .

[0034] The angle information detecting unit 52 detects a detection time Td when the falling edge of the output signal (rectangular wave) of the second crank angle sensor 6 is detected, and associates the detection time Td with the angle identification number n. Specifically, the angle information detecting unit 52 detects the detection time Td using a timer function provided in the arithmetic processing device 90.

[0035] As shown in FIG. 5, when the angle information detection unit 52 detects a falling edge, it sets the angle interval between the detected angle θd(n) corresponding to the current angle identification number (n) and the detected angle θd(n-1) corresponding to the previous angle identification number (n-1) as the angle interval Sd(n) corresponding to the current angle identification number (n).

[0036] Furthermore, as shown in equation (1), when the angle information detection unit 52 detects a falling edge, it calculates the deviation between the detected angle θd(n) corresponding to the current angle identification number (n) and the detected angle θd(n-1) corresponding to the previous angle identification number (n-1), and sets this as the angle interval Δθd(n) corresponding to the current angle identification number (n) (current angle interval Sd(n)). In this embodiment, the angular intervals of the teeth of the ring gear 25 are all equal, so the angle information detection unit 52 sets the angular interval Δθd of all angle identification numbers n to a predetermined angle (6 degrees in this example).

[0037] Furthermore, as shown in equation (2), when the angle information detection unit 52 detects a falling edge, it calculates the deviation between the detection time Td(n) corresponding to the current angle identification number (n) and the detection time Td(n-1) corresponding to the previous angle identification number (n-1), and sets this as the time interval ΔTd(n) corresponding to the current angle identification number (n) (current angle interval Sd(n)).

[0038] The angle information detection unit 52 detects a reference crank angle θr based on the top dead center of the piston 5 of the first cylinder 7 based on two types of output signals from the first crank angle sensor 11 and the cam angle sensor 30, and determines the stroke of each cylinder 7. For example, the angle information detection unit 52 determines the falling edge immediately after a missing tooth portion on the signal plate 10 based on the time interval between falling edges of the output signal (rectangular wave) of the first crank angle sensor 11. The angle information detection unit 52 then determines the correspondence between each falling edge based on the falling edge immediately after the missing tooth portion and the reference crank angle θr based on the top dead center, and calculates the reference crank angle θr based on the top dead center when each falling edge is detected. The angle information detection unit 52 also determines the stroke of each cylinder 7 based on the relationship between the position of the missing tooth portion in the output signal (rectangular wave) of the first crank angle sensor 11 and the output signal (rectangular wave) of the cam angle sensor 30.

[0039] <Angle Information Correction Unit 53> The angle information correction unit 53 corrects each angle interval Δθd or each time interval ΔTd of the angle interval Sd using a correction value Kc provided for each angle interval Sd.

[0040] In this embodiment, the angle information corrector 53 provides one correction value Kc(n) for each angle interval Sd(n) of each angle identification number n. In this example, there are 60 angle identification numbers n and 60 angle intervals Sd, and therefore there are 60 correction values ​​Kc. As shown in FIG. 6 , each correction value Kc is associated with each angle identification number n and stored in a rewritable storage device 91 such as a RAM of the control device 50.

[0041] For example, as shown in equation (3), the angle information corrector 53 multiplies the time interval ΔTd(n) corresponding to the current angle identification number (n) by the correction value Kc(n) corresponding to the current angle identification number (n) to calculate the corrected time interval ΔTdc(n) corresponding to the current angle identification number (n). Alternatively, the angle information corrector 53 divides the angle interval Δθd(n) corresponding to the current angle identification number (n) by the correction value Kc(n) corresponding to the current angle identification number (n) to calculate the corrected angle interval Δθdc(n) corresponding to the current angle identification number (n).

[0042] Alternatively, the angle information corrector 53 may be configured to correct the crank angular velocity ωd(n) calculated using the pre-correction angle interval Δθd(n) and time interval ΔTd(n) with the correction value Kc(n).

[0043] In this embodiment, a case where the time interval ΔTd is corrected by the correction value Kc will be described. For convenience of explanation, the angular interval Δθd that has not been corrected by the correction value Kc will also be referred to as the angular interval Δθdc after correction processing.

[0044] <Calculation of crank angular velocity ωd and crank angular acceleration αd> The angle information detection unit 52 calculates the crank angular velocity ωd, which is the time rate of change of the crank angle θd, and the crank angular acceleration αd, which is the time rate of change of the crank angular velocity ωd, corresponding to the detected angle θd or the angle interval Sd, respectively, based on the angle interval Δθdc and the time interval ΔTdc after correction processing using the correction value Kc.

[0045] 7 , the angle information detection unit 52 calculates the crank angular velocity ωd(n) corresponding to the angle interval Sd(n) to be processed based on the corrected angle interval Δθdc(n) and time interval ΔTdc(n) corresponding to the angle interval Sd(n) to be processed. Specifically, as shown in equation (4), the angle information detection unit 52 calculates the crank angular velocity ωd(n) by dividing the corrected angle interval Δθdc(n) corresponding to the angle interval Sd(n) to be processed by the corrected time interval ΔTdc(n).

[0046] The angle information detection unit 52 calculates the crank angular acceleration αd(n) corresponding to the detected angle θd(n) to be processed, based on the crank angular velocity ωd(n) corresponding to an angle interval Sd(n) immediately preceding the detected angle θd(n) to be processed and the post-correction time interval ΔTdc(n), and the crank angular velocity ωd(n+1) corresponding to an angle interval Sd(n+1) immediately following the detected angle θd(n). Specifically, as shown in equation (5), the angle information detection unit 52 calculates the crank angular acceleration αd(n) by dividing the subtracted value obtained by subtracting the immediately preceding crank angular velocity ωd(n) from the immediately following crank angular velocity ωd(n+1) by the average value of the immediately following post-correction time interval ΔTdc(n+1) and the immediately preceding post-correction time interval ΔTdc(n).

[0047] The crank angular velocity ωd(n) and the crank angular acceleration αd(n) are used for various known internal combustion engine controls, such as for estimating the combustion state.

[0048] <Averaging Section Setting Unit 54> The averaging section setting unit 54 sets an averaging processing angle section Save within the range of one rotation angle interval S360, which is the one rotation of the crankshaft.

[0049] In this embodiment, the averaging interval setting unit 54 sets an angle interval overlapping between a first rotational angle interval S360_1 and a second rotational angle interval S360_2, which will be described later, as the averaging processing angle interval Save.

[0050] In this embodiment, the averaging interval setting unit 54 sets the averaging processing angle interval Save corresponding to the compression stroke of each cylinder. In this example, the averaging interval setting unit 54 sets the averaging processing angle interval Save to the compression stroke of each cylinder. The averaging processing angle interval Save is set to 180 degrees.

[0051] <One-revolution time detection unit 55> Based on the output signal of the second crank angle sensor 6, the one-revolution time detection unit 55 detects a one-revolution time interval ΔT360, which is the time interval of one-revolution angular interval S360 for the crankshaft to make one rotation, and calculates an average detected angular velocity ωsaved, which is the average angular velocity of an average processing angle interval Save set within the range of the one-revolution angular interval S360, based on the detected value ΔT360 of the one-revolution time interval.

[0052] 8 , the one-rotation time detection unit 55 detects a first one-rotation time interval ΔT360_1 and a second one-rotation time interval ΔT360_2 for a first one-rotation angular interval S360_1 and a second one-rotation angular interval S360_2 that overlap with each other but are angularly shifted from each other. Then, the one-rotation time detection unit 55 calculates a time interval ΔTsave of the averaging processing angular interval based on the average value of the first one-rotation time interval ΔT360_1 and the second one-rotation time interval ΔT360_2, and calculates an average detected angular velocity ωsaved based on the time interval ΔTsave of the averaging processing angular interval.

[0053] In this embodiment, the averaging processing angle interval Save is set to 180 degrees. The first single rotation angle interval S360_1 is set to an angle interval from an angle 180 degrees retarded from the start angle of the averaging processing angle interval Save to an end angle of the averaging processing angle interval Save. The second single rotation angle interval S360_2 is set to an angle interval from the start angle of the averaging processing angle interval Save to an angle 180 degrees advanced from the end angle of the averaging processing angle interval Save. The process of calculating the average detected angular velocity ωsaved is performed for each averaging processing angle interval Save.

[0054] In this embodiment, the one-rotation time detection unit 55 calculates the average detected angular velocity ωsaved using the following equation.

[0055] The averaging processing angle interval Save may be set to any angle within 360 degrees. For example, the averaging processing angle interval Save may be set to 360 degrees. In this case, the first one-rotation angle interval S360_1 and the second one-rotation angle interval S360_2 are the same, so the average detected angular velocity ωsaved can be calculated based on the one-rotation time interval ΔT360 of one one-rotation angle interval S360.

[0056] <First axial torque estimation unit 56> The first axial torque estimation unit 56 estimates an estimated value Tcrke1(n) of the first axial torque, which is the axial torque of the crankshaft due to the gas pressure in the cylinder and the reciprocating motion of the piston, for each angle interval Sd(n) using a physical model equation of the crank mechanism based on the detected value Pind of the gas pressure in the intake pipe and the detected angle θd.

[0057] In this embodiment, as described below, the first axial torque estimation unit 56 calculates the gas pressure torque Tgas generated by the gas pressure Pcyl in the cylinder and the inertia torque Tin generated by the reciprocating motion of the piston, and then sums the gas pressure torque Tgas and the inertia torque Tin to calculate an estimated value Tcrke1 of the first axial torque.

[0058] The first axial torque estimation unit 56 uses a physical model equation to calculate the gas pressure torque generated by the gas pressure in the cylinder, and calculates the gas pressure torque Tgas generated by the gas pressure Pcyl in the cylinder based on the detected value Pind of the gas pressure in the intake pipe.

[0059] In this embodiment, the first axial torque estimation unit 56 calculates the gas pressure torque Tgas generated by the gas pressure in the cylinder when it is assumed that the internal combustion engine is in an uncombusted state where no combustion is occurring.

[0060] As shown in the following equation, for a cylinder i whose intake valve and exhaust valve are closed, the first axial torque estimator 56 uses an equation for calculating gas pressure using a polytropic change to calculate the gas pressure in the cylinder Pcyl_i based on the detected value Pind of the gas pressure in the intake pipe and the crank angle θd. For a cylinder i whose intake valve is open and whose exhaust valve is closed, the first axial torque estimator 56 calculates the gas pressure Pcyl_i in the cylinder based on the detected value Pind of the gas pressure in the intake pipe, and for a cylinder i whose exhaust valve is open, calculates the gas pressure Pcyl_i in the cylinder based on the gas pressure Pex in the exhaust pipe.

[0061] Here, Nply is a polytropic index, and a preset value is used. Vcyl0 is the cylinder volume when the intake valve is closed, and may be a preset value or may be changed depending on the intake valve closing timing set by the intake variable valve timing mechanism 14. Vcly_θ_i is the cylinder volume of each cylinder i at the crank angle θd_i of each cylinder i, and is a function of the crank angle θd_i of each cylinder i. Here, Vcyltop is the cylinder volume when the piston is positioned at top dead center, Sp is the projected area of ​​the piston top, r is the crank length, L is the connecting rod length, and φ_i is the angle of the connecting rod of each cylinder i. Note that the crank angle θd_i of each cylinder i used in the calculation of the trigonometric functions is a crank angle obtained by shifting the crank angle θd so that the top dead center of the compression stroke for each cylinder i is 0 degrees. The detected value Pind of the gas pressure in the intake pipe may be a value obtained by averaging, such as an average value over a stroke period, or may be a value detected when the intake valve is closed.The detected value Pex of the gas pressure in the exhaust pipe may be a detected value of atmospheric pressure or a predetermined value.

[0062] Then, the first axial torque estimation unit 56 calculates the gas pressure torque Tgas based on the gas pressure Pcyl_i in each cylinder i and the crank angle θd_i using the following equation for converting gas pressure into torque.

[0063] Here, Pcase is the internal pressure in the crankcase (piston back pressure), and may be set to a predetermined value or may be changed depending on the detected value Pind of the gas pressure in the intake pipe, atmospheric pressure, etc. R_i is a conversion coefficient that converts the force generated in the piston of each cylinder i into torque about the crankshaft, and is a function of the crank angle θd_i of each cylinder i. Alternatively, map data in which the relationship between the crank angle θd and the conversion coefficient R is preset may be used. Note that in the case of an offset crank, the offset may be taken into account when calculating the conversion coefficient R_i. N is the number of cylinders, and in this embodiment, N=3.

[0064] The first axial torque estimation unit 56 uses a physical model equation for calculating the inertia torque generated by the reciprocating motion of the piston at each crank angle θd, and calculates the inertia torque Tin generated by the reciprocating motion of the piston based on the crank angular velocity ωd.

[0065] The first axial torque estimation unit 56 uses the following equation, which converts the piston acceleration and the piston inertia force into torque, to calculate the inertia torque Tin generated by the reciprocating motion of the piston in each cylinder i based on the crank angular velocity ωd and the crank angle θd.

[0066] Here, mp is the mass of the piston, and Ka_i is a coefficient for calculating the acceleration of the piston based on the crank angular velocity ωd, which is a function of the crank angle θd_i of each cylinder i. For example, the acceleration calculation coefficient Ka_i of each cylinder i may be set based on the third equation of equation (9). Although the third equation of equation (9) is an approximation, an exact value may be calculated. Alternatively, map data in which the relationship between the crank angle θd and the acceleration calculation coefficient Ka is preset may be used. Note that in the case of an offset crank, an offset may be taken into account in the calculation of the acceleration calculation coefficient Ka_i of each cylinder i. The conversion coefficient R_i of each cylinder i is the same as that of equation (8). Furthermore, an inertia torque generated by the inertia of the connecting rod, etc. may be added to the inertia torque Tin.

[0067] The first axial torque estimating unit 56 then sums the gas pressure torque Tgas and the inertia torque Tin calculated at each crank angle θd to calculate an estimated value Tcrke1 of the first axial torque at each crank angle θd.

[0068] The first shaft torque estimator 56 then calculates the first shaft torque estimate Tcrke1(n) for each angle interval Sd(n) based on the first shaft torque estimate Tcrke1 for each crank angle θd. For example, the first shaft torque estimate Tcrke1(n) corresponding to the center position of each angle interval Sd(n) is calculated. As shown in the following equation, the first shaft torque estimator 56 calculates the first shaft torque estimate Tcrke1(n) for each angle interval Sd(n) as the average of the first shaft torque estimate Tcrke1(θd(n-1)) for the start crank angle θd(n-1) of each angle interval Sd(n) and the first shaft torque estimate Tcrke1(θd(n)) for the end crank angle θd(n) of each angle interval Sd(n). Alternatively, the crank angle θd used to calculate the estimated value Tcrke1 of the first axial torque may be set to the crank angle θd corresponding to the center position of each angle interval Sd, and the estimated value Tcrke1 of the first axial torque corresponding to the center position of each angle interval Sd may be directly calculated.

[0069] <First ideal angular velocity calculation unit 57> The first ideal angular velocity calculation unit 57 calculates a first ideal interval angular velocity ωid1, which is an angular velocity corresponding to each of the angle intervals Sd in a first ideal state assuming that there is no fluctuation in the multiple crank angles at which multiple teeth are arranged (hereinafter also referred to as tooth arrangement crank angles) and that there is no external load torque Tload, based on the estimated value Tcrke1(n) of the first axial torque for each of the angle intervals Sd(n) and the moment of inertia Icrk of the crankshaft system.

[0070] The first shaft torque estimate Tcrke1 is calculated using a physical model equation of the crank mechanism, and therefore is the shaft torque in a first ideal state assuming no fluctuation in the tooth arrangement crank angle and no external load torque Tload. The first ideal section angular velocity ωid1 is calculated based on the first shaft torque estimate Tcrke1, and therefore is the section angular velocity in the first ideal state.

[0071] As shown in FIG. 8, the first ideal angular velocity calculation unit 57 calculates the first ideal interval angular acceleration αid1(n), which is the angular acceleration of the first ideal state corresponding to each angle interval Sd(n), based on the estimated value Tcrke1(n) of the first axial torque for each angle interval Sd(n) and the moment of inertia Icrk of the crankshaft system.

[0072] The first ideal angular velocity calculation unit 57 sets the first ideal section angular velocity ωid1(Q-1) of the angle section Sd(Q-1) immediately before the averaging processing angle section Save to the second ideal section angular velocity ωid2(Q-1) calculated in the last angle section Sd(Q-1) of the immediately previous averaging processing angle section Save, which corresponds to the angle section Sd(Q-1) immediately before the averaging processing angle section Save. Alternatively, the first ideal angular velocity calculation unit 57 may set the first ideal section angular velocity ωid1(Q-1) of the angle section Sd(Q-1) immediately before the averaging processing angle section Save to the average value of the detection section angular velocities ωsd of the angle section Sd(Q-1) immediately before the averaging processing angle section Save and the multiple angle sections Sd before and after it.

[0073] Then, the first ideal angular velocity calculation unit 57 integrates the first ideal section angular acceleration αid1(n) in the averaging processing angle section Save to calculate the first ideal section angular velocity ωid1(n), which is the angular velocity in the first ideal state corresponding to each angle section Sd(n). In this embodiment, the first ideal angular velocity calculation unit 57 calculates the first ideal section angular velocity ωid1 using the following equation. Here, Q is the angle identification number corresponding to the first angle section of the averaging processing angle section Save, and the angle section corresponding to the start angle is set to the angle section immediately after the start angle of the averaging processing angle section Save. Note that the angle section corresponding to the start angle may also be set to the angle section immediately before the start angle. R is the angle identification number corresponding to the last angle section of the averaging processing angle section Save. This calculation process is performed for each angle section Sd(n) of the averaging processing angle section Save.

[0074] <Detection section angular velocity calculation unit 58> The detection section angular velocity calculation unit 58 calculates, for each angle section Sd, the detection section angular velocity ωsd, which is the angular velocity corresponding to the angle section Sd, based on the time interval ΔTdc and the angle interval after correction processing using the correction value Kc.

[0075] In this embodiment, the detection section angular velocity calculation unit 58 calculates the detection section angular velocity ωsd(n) corresponding to each angle section Sd(n) using the following equation.

[0076] <Ideal Average Value Calculation Unit 59> The ideal average value calculation unit 59 calculates the average value ωid1_ave of the first ideal interval angular velocity ωid1 in the averaging processing angular interval Save.

[0077] In this embodiment, the following formula is used: where Q is the angle identification number corresponding to the first angle section of the averaging processing angle section Save, and R is the angle identification number corresponding to the last angle section of the averaging processing angle section Save.

[0078] <Detection Average Value Calculation Section 60> The detection average value calculation section 60 calculates the average value ωsd_ave of the detection section angular velocity ωsd in the averaging processing angular section Save.

[0079] In this embodiment, the following formula is used:

[0080] The average detected angular velocity ωsaved calculated by the one-rotation time detection unit 55 may be used as the average value ωsd_ave of the detection section angular velocity ωsd.

[0081] <External Load Torque Estimation Unit 61> The external load torque estimation unit 61 estimates the external load torque Tload, which is the torque applied to the crankshaft from outside the internal combustion engine, based on the difference between the average value ωsd_ave of the detection section angular velocity and the average value ωid1_ave of the first ideal section angular velocity.

[0082] The external load torque Tload causes a difference between the first ideal section angular velocity ωid1 and the detection section angular velocity ωsd. However, the detection section angular velocity ωsd fluctuates due to variations in the tooth angle of the signal plate 10 and setting errors in the correction value Kc, etc. Therefore, the instantaneous difference between the first ideal section angular velocity ωid1 and the detection section angular velocity ωsd is significantly affected by the fluctuations in the detection section angular velocity ωsd, making it impossible to accurately estimate the external load torque Tload. With the above configuration, the difference between the average value ωsd_ave of the detection section angular velocity and the average value ωid1_ave of the first ideal section angular velocity is used, thereby smoothing the influence of fluctuations in the detection section angular velocity ωsd and enabling accurate estimation of the external load torque Tload.

[0083] In this embodiment, as shown in the following equation, the external load torque estimation unit 61 subtracts the average value ωid1_ave of the first ideal section angular velocities from the average value ωsd_ave of the detection section angular velocities, multiplies the result by 2, divides the result by the time interval ΔTsave of the averaging processing angle section, and multiplies the result by the moment of inertia Icrk of the crankshaft system to calculate the external load torque Tload.

[0084] The principle of the calculation method of equation (16) will be explained. As described above, the second ideal section angular velocity ωid2(Q-1) calculated in the last angle section Sd(Q-1) of the previous averaging processing angle section Save, which corresponds to the angle section Sd(Q-1) immediately before the averaging processing angle section Save, is set as the first ideal section angular velocity ωid1(Q-1) of the angle section Sd(Q-1) immediately before the averaging processing angle section Save, and therefore generally matches the behavior of the detection section angular velocity ωsd. Furthermore, it is assumed that the external load torque Tload is constant in the averaging processing angle section Save, and that the crank angular acceleration Δαload generated by the external load torque is constant. Therefore, as shown in Figure 9, the speed fluctuation amount Δωload (=ωsd-ωid1) of the detection section angular velocity ωsd from the first ideal section angular velocity ωid1 caused by the crank angular acceleration Δαload due to the external load torque Tload is assumed to change at a constant slope.

[0085] Therefore, as shown in the following equation, the difference between the average value ωsd_ave of the detection section angular velocity and the average value ωid1_ave of the first ideal section angular velocity corresponds to the average value of the speed fluctuation amount Δωload in the averaging processing angle section Save. The average value of the speed fluctuation amount Δωload is the value obtained by dividing the speed fluctuation Δωload_end at the end angle of the averaging processing angle section Save by 2. Furthermore, the speed fluctuation Δωload_end at the end angle of the averaging processing angle section Save is the value obtained by multiplying the crank angular acceleration Δαload due to the external load torque by the averaging processing angle section Save. The crank angular acceleration Δαload due to the external load torque is the value obtained by dividing the external load torque Tload by the moment of inertia Icrk. By substituting each equation in equation (17) into other equations and rearranging, equation (16) is obtained.

[0086] FIG. 10 shows a time chart of test data. Note that the correction value Kc is set to 1, and the detection section angular velocity ωsd fluctuates due to variations in the tooth angle of the signal plate 10. At the start angle of the averaging angle section Save, the first ideal section angular velocity ωid1 coincides with the detection section angular velocity ωsd. However, thereafter, due to the crank angular acceleration Δαload caused by the external load torque, the detection section angular velocity ωsd gradually decreases from the first ideal section angular velocity ωid1, and the speed fluctuation amount Δωload (= ωsd - ωid1) gradually increases. Meanwhile, because the detection section angular velocity ωsd fluctuates, the speed fluctuation amount Δωload (= ωsd - ωid1) also fluctuates. Therefore, the instantaneous difference between the first ideal section angular velocity ωid1 and the detection section angular velocity ωsd significantly affects the fluctuation in the detection section angular velocity ωsd, making it impossible to accurately estimate the external load torque Tload. Since the difference between the average value ωsd_ave of the detection section angular velocity and the average value ωid1_ave of the first ideal section angular velocity is used, the influence of fluctuations in the detection section angular velocity ωsd is smoothed, and the external load torque Tload can be estimated with high accuracy.

[0087] Fig. 11 shows a time chart in which the second ideal section angular velocity ωid2 calculated using the accurately estimated external load torque Tload is overlaid on Fig. 10. The second ideal section angular velocity ωid2 overlaps with the detection section angular velocity ωsd, and it can be seen that the correction value Kc can be changed with high precision by comparing the second ideal section angular velocity ωid2 with the detection section angular velocity ωsd.

[0088] 12 shows a time chart of the actual shaft torque Tcrkd obtained by multiplying the crank angular acceleration αd by the inertia torque Tin and the estimated value Tcrke2 of the second shaft torque. The middle chart shows a time chart of a comparative example of the external load torque Tload calculated by multiplying the actual shaft torque Tcrkd near top dead center by the inertia torque Tin. The bottom chart shows a time chart of the external load torque Tload according to this embodiment. In the comparative example in the middle chart, the amount of fluctuation in the detection section angular velocity ωsd near top dead center differs for each averaging processing angle interval Save, and the external load torque Tload fluctuates greatly for each averaging processing angle interval Save. On the other hand, in this embodiment shown in the bottom chart, the influence of fluctuations in the detection section angular velocity ωsd during the averaging processing angle interval Save is smoothed, so the amount of fluctuation in the external load torque Tload for each averaging processing angle interval Save is reduced, and the external load torque Tload can be estimated accurately.

[0089] In this embodiment, the external load torque estimating unit 61 estimates the external load torque Tload when the internal combustion engine is in an uncombusted state where no combustion is occurring (when the first condition is met). On the other hand, the external load torque estimating unit 61 does not estimate the external load torque Tload when the internal combustion engine is in a combusted state where combustion is occurring (when the first condition is not met). The uncombusted state includes a fuel cut state where the supply of fuel is stopped, etc.

[0090] In the unburned state, there is no increase in in-cylinder pressure due to combustion, which is not assumed by the physical model equation of the crank mechanism, and therefore the calculation accuracy of the first ideal section angular velocity ωid1 is improved. Therefore, the estimation accuracy of the external load torque Tload can be improved. The detailed execution conditions for estimating the external load torque Tload are the same as the detailed execution conditions for changing the correction value Kc, which will be described later, and therefore will not be described again.

[0091] The external load torque estimating unit 61 may calculate the final external load torque Tload by performing a smoothing process on the external load torque Tload estimated corresponding to the current and past averaging processing angle intervals Save.

[0092] When the conditions for estimating the external load torque Tload are met, the rate of change of the external load torque Tload is slow, so by performing smoothing processing on multiple averaging processing angle intervals Save, the calculation accuracy of the external load torque Tload can be further improved.

[0093] For example, the smoothing process may be a moving average process, a weighted average process, or a low-pass filter process such as a first-order lag process.

[0094] <Issues Caused by Fluctuations in Tooth Arrangement Crank Angle> Due to manufacturing errors and aging of the teeth of the ring gear 25, the crank angle at which each tooth is arranged varies from the specified angle of 6 degrees. Fig. 13 shows the behavior of the uncorrected crank angular velocity ωdcmp calculated based on the angle interval Δθd and time interval ΔTd that are not corrected by the correction value Kc, and the highly accurate crank angular velocity ω* detected by a highly accurate rotation sensor provided for measurement, when fluctuations occur in the tooth arrangement crank angle. As shown in Fig. 13, the uncorrected crank angular velocity ωdcmp varies with respect to the highly accurate crank angular velocity ω* used for measurement, due to fluctuations in the tooth arrangement crank angle.

[0095] 14 shows the angular velocity ratio obtained by dividing the uncorrected crank angular velocity ωdcmp by the high-precision crank angular velocity ω* for each crank angle. When the angular velocity ratio is greater than 1, the actual angular interval is shorter than the specified angular interval (6 degrees). When the angular velocity ratio is less than 1, the actual angular interval is longer than the specified angular interval (6 degrees). Therefore, unless the correction value Kc is appropriately changed and correction is performed using the correction value Kc to cancel out fluctuations in the tooth arrangement crank angle, high-frequency components will be superimposed on the calculated crank angular velocity ωd and crank angular acceleration αd, degrading the accuracy of internal combustion engine control, such as estimation of the combustion state and combustion control. The process for appropriately changing the correction value Kc will be described below.

[0096] <Second shaft torque estimation unit 62> The second shaft torque estimation unit 62 adds the external load torque Tload to the estimated value Tcrke1(n) of the first shaft torque for each angle interval Sd(n) to calculate the estimated value Tcrke2(n) of the second shaft torque for each angle interval Sd(n).

[0097] <Second ideal angular velocity calculation unit 63> The second ideal angular velocity calculation unit 63 calculates second ideal interval angular velocities ωid2, which are angular velocities corresponding to each of the angle intervals Sd in a second ideal state assuming that there is no fluctuation in the multiple crank angles at which multiple teeth are arranged (hereinafter also referred to as tooth arrangement crank angles), based on the second axial torque estimate values ​​Tcrke2(n) for each of the angle intervals Sd(n) and the moment of inertia Icrk of the crankshaft system.

[0098] The second shaft torque estimate Tcrke2 is calculated by adding the external load torque Tload to the first shaft torque estimate Tcrk1 calculated using a physical model equation of the crank mechanism, and therefore is the shaft torque in a second ideal state assuming no fluctuations in the tooth arrangement crank angle. The second ideal section angular velocity ωid2 is calculated based on the second shaft torque estimate Tcrke2, and therefore is the section angular velocity in the second ideal state.

[0099] In this embodiment, the second ideal angular velocity calculation unit 63 changes the correction value Kc(n) for each angle section Sd(n) so that the average value ωsd_ave of the detection section angular velocity ωsd in the average processing angle section Save does not deviate from the average detected angular velocity ωsaved, and therefore matches the average value ωid2_ave of the second ideal section angular velocity ωid2 in the average processing angle section Save to the average detected angular velocity ωsaved.

[0100] 15 , the second ideal angular velocity calculation unit 63 calculates a second ideal section angular acceleration αid2(n), which is the angular acceleration in the second ideal state corresponding to each angle section Sd(n), based on the second shaft torque estimate value Tcrke2(n) for each angle section Sd(n) and the moment of inertia Icrk of the crankshaft system, and integrates the second ideal section angular acceleration αid2(n) to calculate a provisional second ideal section angular velocity ωid2tmp(n), which is the angular velocity in the second ideal state corresponding to each angle section Sd(n). In this embodiment, the second ideal angular velocity calculation unit 63 calculates the provisional second ideal section angular velocity ωid2tmp using the following equation. This calculation process is performed for each angle section Sd(n) in the averaging processing angle section Save.

[0101] As shown in the following equation, the second ideal angular velocity calculation unit 63 calculates the average value ωid2tmp_ave of the provisional second ideal section angular velocities ωid2tmp in the averaging processing angle section Save, where Q is the angle identification number corresponding to the first angle section of the averaging processing angle section Save, and R is the angle identification number corresponding to the last angle section of the averaging processing angle section Save.

[0102] Then, as shown in the following equation, the second ideal angular velocity calculation unit 63 subtracts the average value ωid2tmp_ave of the provisional second ideal section angular velocity from the provisional second ideal section angular velocity ωid2tmp and adds the average detected angular velocity ωsaved to calculate the second ideal section angular velocity ωid2. This calculation process is performed for each angle section Sd(n) of the averaging processing angle section Save.

[0103] This calculation process makes it possible to make the average value ωid2_ave of the second ideal section angular velocities ωid2 in the averaging processing angular section Save coincide with the average detected angular velocity ωsaved. Therefore, as will be described later, the correction value Kc is changed so that the detection section angular velocity ωsd approaches the second ideal section angular velocity ωid2, and therefore the correction value Kc can be changed so that the average value ωsd_ave of the detection section angular velocities ωsd in the averaging processing angular section Save does not deviate from the average detected angular velocity ωsaved.

[0104] 16 shows the control behavior when the provisional second ideal section angular velocity ωid2tmp is set as the second ideal section angular velocity ωid2 under the condition of a constant crank angular velocity. In this case, the average value ωid2_ave of the second ideal section angular velocity ωid2 deviates from the average detected angular velocity ωsaved, and therefore the average value ωsd_ave of the detected section angular velocity ωsd deviates from the average detected angular velocity ωsaved. Even though the crank angular velocity is constant, the detected section angular velocity ωsd gradually shifts, resulting in an error. On the other hand, FIG. 17 shows the control behavior when the correction is made as in equation (21). In this case, since the average value ωid2_ave of the second ideal section angular velocity ωid2 matches the average detected angular velocity ωsaved, the average value ωsd_ave of the detected section angular velocity ωsd does not deviate from the average detected angular velocity ωsaved, and the detected section angular velocity ωsd does not shift, so no error occurs.

[0105] <Correction value changing unit 64> The correction value changing unit 64 changes the correction value Kc(n) for each angle interval Sd(n) so that the detection interval angular velocity ωsd(n), which is the angular velocity corresponding to the angle interval calculated from the time interval ΔTdc and angle interval Δθdc after correction processing using the correction value Kc, approaches the second ideal interval angular velocity ωid2(n).

[0106] With this configuration, the second ideal section angular velocity ωid2 is a section angular velocity in the second ideal state, so high-frequency components due to fluctuations in the tooth arrangement crank angle are not superimposed. Since the accurately estimated external load torque Tload is reflected, the second ideal section angular velocity ωid2 has high accuracy. Therefore, by changing the correction value Kc(n) for each angle section Sd(n) so that the detected section angular velocity ωsd(n) approaches the second ideal section angular velocity ωid2(n), the correction value Kc(n) can be appropriately changed to cancel out fluctuations in the tooth arrangement crank angle.

[0107] The correction value change unit 64 increases the correction value Kc(n) when the detection section angular velocity ωsd(n) exceeds the second ideal section angular velocity ωid2(n) for each angle section Sd(n), and decreases the correction value Kc(n) when the detection section angular velocity ωsd(n) falls below the second ideal section angular velocity ωid2(n).

[0108] For example, the correction value changing unit 64 updates the correction value Kc(n) using the following equation: where Klrn is a learning rate, and is set to a value of 1 or less.

[0109] In this embodiment, the correction value change unit 64 executes the process of changing the correction value Kc(n) for each angle section Sd(n) of the average processing angle section Save collectively each time the process of calculating the second ideal section angular velocity ωid2(n) for each angle section Sd(n) of the average processing angle section Save is completed.

[0110] In this embodiment, the correction value changing unit 64 changes the correction value Kc when the internal combustion engine is in an uncombusted state where no combustion is occurring (when the first condition is met). On the other hand, the correction value changing unit 64 does not change the correction value Kc when the internal combustion engine is in a combusted state where combustion is occurring (when the first condition is not met). The uncombusted state includes a fuel cut state where the supply of fuel is stopped, etc.

[0111] In the unburned state, there is no increase in the in-cylinder pressure due to combustion, which is not assumed by the physical model equation of the crank mechanism, and therefore the accuracy of calculating the second ideal section angular velocity ωid2 is improved, thereby improving the accuracy of the change in the correction value Kc.

[0112] Furthermore, the correction value changing unit 64 changes the correction value Kc when the absolute value of the amount of change in the average value of the detection section angular velocity ωsd is equal to or less than the change amount determination value (when the second condition is met). On the other hand, the correction value changing unit 64 does not change the correction value Kc when the absolute value of the amount of change is greater than the change amount determination value (when the second condition is not met). The average value of the detection section angular velocity ωsd is set to, for example, the average value of an averaging period such as the averaging processing angle section Save or the stroke period.

[0113] When the absolute value of the change in the average value of the detection section angular velocity ωsd is large, the influence of disturbances such as the external load torque Tload is large, and the influence of the disturbances may deteriorate the accuracy of the change in the correction value Kc. Therefore, by changing the correction value Kc in a stable state where the absolute value of the change in the average value of the detection section angular velocity ωsd is small, the accuracy of the change in the correction value Kc can be improved.

[0114] The correction value changing unit 64 changes the correction value Kc when the operation amount of the brake mechanism of the vehicle equipped with an internal combustion engine is equal to or less than the operation amount determination value (when the third condition is met). On the other hand, the correction value changing unit 64 does not change the correction value Kc when the operation amount of the brake mechanism is greater than the operation amount determination value (when the third condition is not met).

[0115] When the operating amount of the brake mechanism is large, the braking force of the brake causes the external load torque Tload to fluctuate significantly, which may result in a deterioration in the accuracy of the change in the correction value Kc. Therefore, by changing the correction value Kc in a stable state where the operating amount of the brake mechanism is small, the accuracy of the change in the correction value Kc can be improved.

[0116] The correction value changing unit 64 changes the correction value Kc when the clutch mechanism to which the crankshaft is connected is in a disengaged state (when the fourth condition is met). On the other hand, the correction value changing unit 64 does not change the correction value Kc when the clutch mechanism is in an engaged state (when the fourth condition is not met). For example, the clutch mechanism is provided between the crankshaft and the transmission.

[0117] When the clutch mechanism is in an engaged state, the accuracy of the change in the correction value Kc may be degraded due to the external load torque Tload transmitted from the wheel side. Therefore, by changing the correction value Kc when the clutch mechanism is in a disengaged state, the accuracy of the change in the correction value Kc can be improved.

[0118] The correction value changing unit 64 changes the correction value Kc when the coolant temperature of the internal combustion engine is equal to or higher than the first water temperature determination value (when the fifth condition is met). On the other hand, the correction value changing unit 64 does not change the correction value Kc when the coolant temperature is lower than the first water temperature determination value (when the fifth condition is not met). Alternatively, the correction value changing unit 64 changes the correction value Kc when the coolant temperature is equal to or higher than the first water temperature determination value and lower than a second water temperature determination value that is higher than the first water temperature determination value (when the fifth condition is met). The correction value changing unit 64 does not change the correction value Kc when the coolant temperature is lower than the first water temperature determination value or higher than the second water temperature determination value (when the fifth condition is not met). The first water temperature determination value and the second water temperature determination value are preset to values ​​that change the correction value Kc when the internal combustion engine is warmed up and the coolant temperature is at a normal operating temperature.

[0119] When the cooling water temperature reaches a normal operating temperature, the state of friction and the like of the internal combustion engine becomes stable, and the accuracy of the change in the correction value Kc can be improved.

[0120] In this embodiment, the correction value changing unit 64 changes the correction value Kc when all of the above-described first to fifth conditions are met, and does not change the correction value Kc when any one of the first to fifth conditions is not met. Alternatively, all of the first to fifth conditions do not need to be used, and at least the first condition may be used.

[0121] 18 shows the behavior of the crank angular velocity ωdcmp without correction calculated based on the angular interval Δθd and the time interval ΔTd that are not corrected by the correction value Kc, the high-precision crank angular velocity ω* detected by a high-precision rotation sensor provided for measurement, and the crank angular velocity ωd after correction using the correction value Kc when a variation occurs in the tooth arrangement crank angle. As shown in FIG. 18, the crank angular velocity ωd after correction approaches the high-precision crank angular velocity ω* used for measurement from the crank angular velocity ωdcmp without correction. Therefore, the correction value Kc can be appropriately changed to cancel out the variation in the tooth arrangement crank angle, and the detection error of the crank angle θd can be accurately corrected.

[0122] <Abnormality Determination Unit 65> The abnormality determination unit 65 performs a smoothing process on the external load torque Tload estimated corresponding to the current and past averaging processing angle intervals Save to calculate a smoothed value Tload_ave of the external load torque, calculates a torque difference ΔTload between the external load torque Tload estimated corresponding to the current averaging processing angle interval Save and the smoothed value Tload_ave of the external load torque, and determines the cylinder in which an abnormality has occurred based on the torque difference ΔTload and the cylinder number i of the compression stroke corresponding to the current averaging processing angle interval Save. As described above, the averaging interval setting unit 54 sets the averaging processing angle interval Save to correspond to the compression stroke of each cylinder.

[0123] When compression loss or carbon buildup occurs in a cylinder, the actual gas pressure during the compression stroke deviates from the normal gas pressure and the estimated in-cylinder gas pressure Pcyl. During the compression stroke of the cylinder where this gas pressure abnormality occurs, the external load torque Tload deviates from the smoothed value Tload_ave of the external load torque. Therefore, with the above configuration, it is possible to determine an abnormality in the internal combustion engine.

[0124] When the absolute value of the torque difference ΔTload calculated for the current averaging processing angle interval Save exceeds a determination threshold, the abnormality determination unit 65 determines that an abnormality has occurred in the cylinder in the compression stroke corresponding to the current averaging processing angle interval Save. Different determination thresholds may be used for the positive and negative sides of the torque difference ΔTload. Furthermore, the abnormality determination unit 65 may ultimately determine that an abnormality has been detected when the frequency of abnormality determinations becomes greater than the determination frequency. The abnormality determination unit 65 alerts the user to the occurrence of an abnormality by, for example, turning on a warning light.

[0125] 2. Second Embodiment A control device 50 according to a second embodiment will be described with reference to the drawings. Description of the same components as those in the first embodiment will be omitted. The basic configuration of the control device 50 according to this embodiment is the same as that of the first embodiment, but the processing of the first ideal angular velocity calculation unit 57 and the second ideal angular velocity calculation unit 63 differs from that of the first embodiment.

[0126] <First ideal angular velocity calculation unit 57> As in the first embodiment, the first ideal angular velocity calculation unit 57 calculates the first ideal interval angular velocity ωid1, which is the angular velocity corresponding to each angle interval Sd in a first ideal state assuming that there is no fluctuation in the tooth arrangement crank angle and no external load torque Tload, based on the estimated value Tcrke1(n) of the first axial torque for each angle interval Sd(n) and the moment of inertia Icrk of the crankshaft system.

[0127] 19 , the first ideal angular velocity calculation unit 57 calculates the first ideal section angular acceleration αid1(n), which is the angular acceleration in the first ideal state corresponding to each angle section Sd(n), based on the estimated value Tcrke1(n) of the first shaft torque for each angle section Sd(n) and the moment of inertia Icrk of the crankshaft system. This calculation process is performed for each angle section Sd(n) in the averaging processing angle section Save.

[0128] Unlike the first embodiment, the first ideal angular velocity calculation unit 57 sets the angle interval Scal(n) to be calculated by shifting the angle interval Sd one by one toward the advance angle side, calculates a first ideal time interval ΔTid1(n), which is the time interval of the first ideal state corresponding to the angle interval Scal(n) to be calculated, based on the first ideal interval angular acceleration αid1(n) corresponding to the angle interval Scal(n) to be calculated and the first ideal interval angular velocity ωid1(n-1) calculated in the angle interval Scal(n-1) to be calculated that is one angle behind the advance angle, and calculates a first ideal interval angular velocity ωid1(n), which is the angular velocity of the first ideal state corresponding to the angle interval Scal(n) to be calculated, based on the first ideal time interval ΔTid1(n) corresponding to the angle interval Scal(n).

[0129] In this embodiment, each angle section Sd(n) of the averaging processing angle section Save is shifted one by one toward the advance angle side from the first angle section Sd(Q) to the last angle section Sd(R) of the averaging processing angle section Save, and set as the angle section Scal(n) to be calculated (n=Q, Q+1, ..., R-1, R), where Q is the angle identification number corresponding to the first angle section of the averaging processing angle section Save, and R is the angle identification number corresponding to the ending angle interval of the averaging processing angle section Save.

[0130] Using the following equation, the first ideal angular velocity calculation unit 57 calculates a first ideal time interval ΔTid1(n), which is the time interval of the first ideal state corresponding to the angle interval Scal(n) to be calculated, based on the first ideal interval angular acceleration αid1(n) corresponding to the angle interval Scal(n) to be calculated and the first ideal interval angular velocity ωid1(n-1) calculated in the angle interval Scal(n-1) to be calculated on the one retard side.

[0131] Using the following equation, the first ideal angular velocity calculation unit 57 calculates the first ideal interval angular velocity ωid1(n), which is the angular velocity of the first ideal state corresponding to the angle interval Scal(n) to be calculated, based on the first ideal time interval ΔTid1(n) corresponding to the angle interval Scal(n) to be calculated.

[0132] The angle identification number n is increased by one from Q to R, and the calculations of equations (24) and (25) are performed for each angle identification number n.

[0133] The first ideal angular velocity calculation unit 57 sets the first ideal section angular velocity ωid1 of the start angle of the averaging processing angle section Save to the detection section angular velocity ωsd of the start angle of the averaging processing angle section Save.

[0134] <Second ideal angular velocity calculation unit 63> As in the first embodiment, the second ideal angular velocity calculation unit 63 calculates second ideal interval angular velocities ωid2, which are angular velocities corresponding to each angle interval Sd in a second ideal state assuming that there is no fluctuation in the tooth arrangement crank angle, based on the second axial torque estimate value Tcrke2(n) for each angle interval Sd(n) and the moment of inertia Icrk of the crankshaft system.

[0135] In addition, the second ideal angular velocity calculation unit 63 changes the correction value Kc(n) for each angle section Sd(n) so that the average value ωsd_ave of the detection section angular velocity ωsd in the average processing angle section Save does not deviate from the average detected angular velocity ωsaved, and therefore matches the average value ωid2_ave of the second ideal section angular velocity ωid2 in the average processing angle section Save to the average detected angular velocity ωsaved.

[0136] 20, the second ideal angular velocity calculation unit 63 calculates the second ideal section angular acceleration αid2(n), which is the angular acceleration in the second ideal state corresponding to each angle section Sd(n), based on the second shaft torque estimate Tcrke2(n) for each angle section Sd(n) and the moment of inertia Icrk of the crankshaft system. This calculation process is performed for each angle section Sd(n) in the averaging processing angle section Save.

[0137] Unlike the first embodiment, the second ideal angular velocity calculation unit 63 sets the angle interval Scal(n) to be calculated by shifting the angle interval Sd one by one toward the advance angle side, calculates a second ideal time interval ΔTid2(n), which is the time interval of a second ideal state corresponding to the angle interval Scal(n) to be calculated, based on the second ideal interval angular acceleration αid2(n) corresponding to the angle interval Scal(n) to be calculated and the provisional second ideal interval angular velocity ωid2tmp(n-1) calculated in the angle interval Scal(n-1) to be calculated that is one angle behind the angle interval Scal(n-1), and calculates a provisional second ideal interval angular velocity ωid2tmp(n), which is the angular velocity of the second ideal state corresponding to the angle interval Scal(n) to be calculated, based on the second ideal time interval ΔTid2(n) corresponding to the angle interval Scal(n).

[0138] In this embodiment, each angle section Sd(n) of the averaging processing angle section Save is shifted one by one toward the advance angle side from the first angle section Sd(Q) to the last angle section Sd(R) of the averaging processing angle section Save, and set as the angle section Scal(n) to be calculated (n=Q, Q+1, ..., R-1, R), where Q is the angle identification number corresponding to the first angle section of the averaging processing angle section Save, and R is the angle identification number corresponding to the ending angle interval of the averaging processing angle section Save.

[0139] Using the following equation, the second ideal angular velocity calculation unit 63 calculates a second ideal time interval ΔTid2(n), which is the time interval of the second ideal state corresponding to the angle interval Scal(n) to be calculated, based on the second ideal interval angular acceleration αid2(n) corresponding to the angle interval Scal(n) to be calculated and the tentative second ideal interval angular velocity ωid2tmp(n-1) calculated in the angle interval Scal(n-1) to be calculated on the one retard side.

[0140] Using the following equation, the second ideal angular velocity calculation unit 63 calculates a tentative second ideal interval angular velocity ωid2tmp(n), which is the angular velocity of the second ideal state corresponding to the angle interval Scal(n) to be calculated, based on the second ideal time interval ΔTid2(n) corresponding to the angle interval Scal(n) to be calculated.

[0141] The angle identification number n is increased by one from Q to R, and the calculations of equations (27) and (28) are performed for each angle identification number n.

[0142] Then, as shown in the following equation, the second ideal angular velocity calculation unit 63 calculates the average value ωid2tmp_ave of the provisional second ideal section angular velocities ωid2tmp in the averaging processing angular section Save.

[0143] As shown in the following equation, the second ideal angular velocity calculation unit 63 subtracts the average value ωid2tmp_ave of the provisional second ideal section angular velocity from the provisional second ideal section angular velocity ωid2tmp and adds the average detected angular velocity ωsaved to the result to calculate the second ideal section angular velocity ωid2. This calculation process is performed for each angle section Sd(n) of the averaging processing angle section Save.

[0144] 3. Embodiment 3 A control device 50 according to embodiment 3 will be described with reference to the drawings. Description of components similar to those of embodiment 1 or 2 will be omitted. The basic configuration of the control device 50 according to this embodiment is similar to that of embodiment 1 or 2, but the processing of the correction value changing unit 64 differs from that of embodiment 1 or 2.

[0145] In this embodiment, the correction value change unit 64 changes the correction value Kc(n) for each angle section Sd(n) so that the average value ωsd_ave of the detection section angular velocity ωsd in the average processing angle section Save does not deviate from the average detected angular velocity ωsaved, thereby matching the average value ωsd_ave of the detection section angular velocity ωsd in the average processing angle section Save to the average detected angular velocity ωsaved.

[0146] 21 , the correction value changing unit 64 calculates the basic detection interval angular velocity ωsdbs(n), which is the angular velocity corresponding to each angle interval Sd(n), based on the time interval ΔTdc(n) and angle interval Δθdc(n) after correction using the correction value. This calculation process uses the following equation. This calculation process is performed for each angle interval Sd(n) in the averaging processing angle interval Save.

[0147] The correction value changing unit 64 calculates a basic detection section angular acceleration αsdbs(n), which is the angular acceleration corresponding to each angle section Sd(n), based on the basic detection section angular velocity ωsdbs(n) corresponding to each angle section Sd(n) and the time interval ΔTdc(n), and integrates the basic detection section angular acceleration αsdbs(n) to calculate a temporary detection section angular velocity ωsdtmp(n), which is the angular velocity corresponding to each angle section Sd(n). The following equation is used for this calculation process. This calculation process is performed for each angle section Sd(n) in the averaging processing angle section Save.

[0148] The correction value changing unit 64 calculates an average value ωsdtmp_ave of the provisional detection section angular velocity ωsdtmp in the averaging processing angular section Save.

[0149] Then, as shown in the following equation, the correction value changing unit 64 subtracts the average value ωsdtmp_ave of the provisional detection section angular velocities from the provisional detection section angular velocity ωsdtmp(n) and adds the average detection angular velocity ωsaved to calculate the detection section angular velocity ωsd(n). This calculation process is performed for the angle section Sd(n) of the averaging processing angle section Save.

[0150] This calculation process makes it possible to make the average value ωsd_ave of the detection section angular velocities in the averaging processing angular section Save coincide with the average detected angular velocity ωsaved. Therefore, the correction value Kc can be changed so that the average value ωsd_ave of the detection section angular velocities ωsd in the averaging processing angular section Save does not deviate from the average detected angular velocity ωsaved.

[0151] Then, as in embodiment 1, the correction value change unit 64 changes the correction value Kc(n) for each angle interval Sd(n) so that the detection interval angular velocity ωsd(n) approaches the second ideal interval angular velocity ωid2(n) for each angle interval Sd(n).

[0152] Other Embodiments (1) In the above-described embodiments, the second crank angle sensor 6 corresponds to the "specific crank angle sensor" in the present application, the flywheel 27 corresponds to the "rotating member" in the present application, and the teeth of the ring gear 25 provided on the flywheel 27 correspond to the "detected portion" in the present application. However, the present embodiment is not limited to this. That is, the first crank angle sensor 11 may correspond to the "specific crank angle sensor" in the present application, the signal plate 10 may correspond to the "rotating member" in the present application, and the plurality of teeth provided on the signal plate 10 may correspond to the "detected portion" in the present application.

[0153] (2) In the above-described embodiments, the internal combustion engine 1 is a gasoline engine. However, the embodiments of the present application are not limited to this. That is, the internal combustion engine 1 may be any of various internal combustion engines, such as a diesel engine or an engine that performs homogeneous-charge compression ignition combustion (HCCI) combustion.

[0154] Although various exemplary embodiments and examples are described in this application, the various features, aspects, and functions described in one or more embodiments are not limited to the application of a particular embodiment, but may be applied to the embodiments alone or in various combinations. Therefore, countless variations not illustrated are contemplated within the scope of the technology disclosed in this specification. For example, this includes cases where at least one component is modified, added, or omitted, or where at least one component is extracted and combined with components of another embodiment.

[0155] 1: internal combustion engine, 50: control device for internal combustion engine, 51: intake pipe gas pressure detection unit, 52: angle information detection unit, 53: angle information correction unit, 54: averaging interval setting unit, 55: one rotation time detection unit, 56: first shaft torque estimating unit, 57: first ideal angular velocity calculation unit, 58: detection interval angular velocity calculation unit, 59: ideal average value calculation unit, 60: detection average value calculation unit, 61: external load torque estimating unit, 62: second shaft torque estimating unit, 63: second ideal angular velocity calculation unit, 64: correction value changing unit, 65: abnormality determination unit, Icrk: moment of inertia, Kc: correction value, Pcyl: gas pressure, Save: averaging processing angle interval, Sd: angle interval, Tcrkd: actual shaft torque, Tcrke1: first where Tcrke1 is the estimated value of the first ideal section torque, Tcrke2 is the estimated value of the second ideal section torque, Td is the detection time, Tload is the external load torque, Tload_ave is the smoothed value of the external load torque, αd is the crank angular acceleration, αid1 is the first ideal section angular acceleration, αid2 is the second ideal section angular acceleration, θd is the crank angle (detected angle), θd is the detected angle, ωd is the crank angular velocity, ωid1 is the first ideal section angular velocity, ωid1_ave is the average value of the first ideal section angular velocities, ωid2 is the second ideal section angular velocity, ωid2_ave is the average value of the second ideal section angular velocities, ωsaved is the average detected angular velocity, ωsd is the detected section angular velocity, ωsd_ave is the average value of the detected section angular velocities

Claims

1. A control device for an internal combustion engine, the control device comprising: a plurality of detection targets provided at a plurality of predetermined crank angles on a rotating member that rotates integrally with a crankshaft; a specific crank angle sensor that is fixed to a non-rotating member and detects the detection targets; and a gas pressure sensor that detects a gas pressure in an intake pipe, an angle information detection unit that detects a crank angle and a detection time when the crank angle is detected based on an output signal of the specific crank angle sensor, calculates an angle interval corresponding to an angle section between the detected angles based on the detected crank angle, and calculates a time interval corresponding to the angle section based on the detection time; an angle information correction unit that corrects the angle interval or the time interval of each of the angle sections by a correction value provided corresponding to each of the angle sections; an intake pipe gas pressure detection unit that detects a gas pressure in the intake pipe based on an output signal of the gas pressure sensor; a first axial torque estimation unit that estimates an estimated value of a first axial torque, which is an axial torque of a crankshaft due to the gas pressure in a cylinder and the reciprocating motion of a piston, for each of the angle intervals using a physical model equation of a crank mechanism based on the detected value of the gas pressure in the intake pipe and the detected angle; a first ideal angular velocity calculation unit that calculates a first ideal section angular velocity, which is an angular velocity corresponding to each of the angle sections in a first ideal state in which it is assumed that there is no fluctuation in the multiple crank angles in which the multiple detection targets are arranged and there is no external load torque, based on the estimated value of the first shaft torque for each of the angle sections and a moment of inertia of a crankshaft system; a detection section angular velocity calculation unit that calculates, for each of the angle sections, a detection section angular velocity that is an angular velocity corresponding to the angle section, based on the time interval and the angle interval after correction processing using the correction value; an averaging interval setting unit that sets an averaging processing angle interval within a range of one rotation angle interval of one rotation of the crankshaft; an ideal average value calculation unit that calculates an average value of the first ideal section angular velocity in the averaging processing angular section; a detection average value calculation unit that calculates an average value of the detection section angular velocity in the averaging processing angular section; an external load torque estimation unit that estimates the external load torque, which is a torque applied to a crankshaft from outside the internal combustion engine, based on a difference between an average value of the detection section angular velocity and an average value of the first ideal section angular velocity.

2. the first ideal angular velocity calculation unit calculates a first ideal section angular acceleration, which is an angular acceleration in the first ideal state corresponding to each of the angle sections, based on the estimated value of the first shaft torque for each of the angle sections and a moment of inertia of a crankshaft system; Integrating the first ideal section angular acceleration in the averaging processing angle section to calculate the first ideal section angular velocity, which is the angular velocity in the first ideal state corresponding to each of the angle sections; the external load torque estimating unit defines the external load torque as Tload, the average value of the first ideal section angular velocities as ωid1_ave, the average value of the detection section angular velocities as ωsd_ave, a time interval of the averaging processing angle section as ΔTsave, and a moment of inertia of the crankshaft system as Icrk, Tload=(ωsd_ave−ωid1_ave)×2 / ΔTsave×Icrk 2. The control device for an internal combustion engine according to claim 1, wherein the external load torque is calculated using the following calculation formula:

3. a second shaft torque estimator that adds the external load torque to the first shaft torque estimate value in each of the angle sections to calculate a second shaft torque estimate value in each of the angle sections; a second ideal angular velocity calculation unit that calculates second ideal section angular velocities, which are angular velocities corresponding to each of the angle sections in a second ideal state in which it is assumed that there is no fluctuation in the multiple crank angles in which the multiple detection targets are arranged, based on the estimated value of the second shaft torque for each of the angle sections and a moment of inertia of a crankshaft system; 3. The control device for an internal combustion engine according to claim 1, further comprising: a correction value changing unit that changes the correction value for each of the angle intervals such that, for each of the angle intervals, a detection interval angular velocity, which is an angular velocity corresponding to the angle interval calculated from the time interval and the angle interval after correction processing using the correction value, approaches the second ideal interval angular velocity.

4. 3. The control device for an internal combustion engine according to claim 1, wherein the external load torque estimation unit calculates, as the final external load torque, a value obtained by performing a smoothing process on the external load torque estimated corresponding to the current and past average processing angle intervals.

5. Further comprising an abnormality determination unit, The internal combustion engine includes a plurality of cylinders. the averaging section setting unit sets the averaging processing angle section in correspondence with a compression stroke of each of the cylinders, 3. The control device for an internal combustion engine according to claim 1 or 2, wherein the abnormality determination unit performs a smoothing process on the external load torque estimated corresponding to the current and past average processing angle intervals to calculate a smoothed value of the external load torque, calculates a torque difference between the external load torque estimated corresponding to the current average processing angle interval and the smoothed value of the external load torque, and determines the cylinder in which an abnormality has occurred based on the torque difference and the cylinder number of the compression stroke corresponding to the current average processing angle interval.

6. a one-revolution time detection unit that detects a one-revolution time interval, which is a time interval of one rotation angle interval of one rotation of the crankshaft, based on an output signal of the specific crank angle sensor, and calculates an average detected angular velocity, which is an average angular velocity of the averaging processing angle section, based on the detected value of the one-revolution time interval, 4. The control device for an internal combustion engine according to claim 3, wherein the correction value changing unit and the ideal angular velocity calculation unit change the correction value for each of the angle sections so that an average value of the detection section angular velocity in the averaging processing angle section does not deviate from the average detection angular velocity.

7. the one-rotation time detection unit detects a first one-rotation time interval and a second one-rotation time interval for a first one-rotation angle interval and a second one-rotation angle interval that overlap with each other while being shifted in angle, calculates a time interval of the average processing angle interval based on an average value of the first one-rotation time interval and the second one-rotation time interval, and calculates the average detected angular velocity based on the time interval of the average processing angle interval; The control device for an internal combustion engine according to claim 6 , wherein the averaging interval setting unit sets an angle interval that overlaps between the first rotational angle interval and the second rotational angle interval as the averaging processing angle interval.

8. 3. The control device for an internal combustion engine according to claim 1, wherein the external load torque estimating section estimates the external load torque when the internal combustion engine is in an uncombusted state where no combustion is being performed.