WO2025182062A1 - 内燃機関の制御装置 - Google Patents

内燃機関の制御装置

Info

Publication number
WO2025182062A1
WO2025182062A1 PCT/JP2024/007686 JP2024007686W WO2025182062A1 WO 2025182062 A1 WO2025182062 A1 WO 2025182062A1 JP 2024007686 W JP2024007686 W JP 2024007686W WO 2025182062 A1 WO2025182062 A1 WO 2025182062A1
Authority
WO
WIPO (PCT)
Prior art keywords
angle
value
correction value
interval
angular velocity
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
PCT/JP2024/007686
Other languages
English (en)
French (fr)
Japanese (ja)
Inventor
武史 北尾
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Mobility Corp
Original Assignee
Mitsubishi Electric Mobility Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Mobility Corp filed Critical Mitsubishi Electric Mobility Corp
Priority to JP2026503443A priority Critical patent/JPWO2025182062A1/ja
Priority to PCT/JP2024/007686 priority patent/WO2025182062A1/ja
Publication of WO2025182062A1 publication Critical patent/WO2025182062A1/ja
Pending legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F02COMBUSTION ENGINES; HOT-GAS OR COMBUSTION-PRODUCT ENGINE PLANTS
    • F02DCONTROLLING COMBUSTION ENGINES
    • F02D45/00Electrical control not provided for in groups F02D41/00 - F02D43/00

Definitions

  • This disclosure relates to a control device for an internal combustion engine.
  • Patent Document 1 is configured to calculate the crank angular velocity and crank angular acceleration based on the output signal of a crank angle sensor, calculate the gas pressure torque generated by combustion based on the crank angular velocity and crank angular acceleration, and calculate the amount of work due to the gas pressure torque.
  • Patent Document 2 The technology in Patent Document 2 is configured to detect the instantaneous rotation speed of the crankshaft based on the output signal of the crank angle sensor, calculate measurement parameters based on the instantaneous rotation speed, obtain ideal parameters corresponding to the average speed of the instantaneous rotation speed from storage means, and learn the error of the measurement parameters relative to the ideal parameters.
  • Patent Document 1 does not disclose a specific method for dealing with this detection error. As a result, the technology in Patent Document 1 could result in a deterioration in the accuracy of control based on the crank angular velocity and crank angular acceleration.
  • the present disclosure therefore aims to provide an internal combustion engine control device that can efficiently and macroscopically grasp the changing state of the correction values for errors in each detected component when performing error correction processing for the detected component.
  • the control device for an internal combustion engine 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 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 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 section between the detected angles based on the detected crank angles, 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 using a correction value provided corresponding to each of the angle sections; an intake pipe gas pressure detection unit that detects the gas pressure in the intake pipe based on an output signal from the gas pressure sensor; an axial
  • the internal combustion engine control device disclosed herein can efficiently and macroscopically grasp the state of change in correction values using a specific number of feature values that are fewer than the number of correction values.
  • FIG. 1 is a schematic configuration diagram of an internal combustion engine and a control device according to a first embodiment.
  • 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 the first embodiment.
  • FIG. 2 is a hardware configuration diagram of a control device according to the first embodiment.
  • 4 is a time chart for explaining angle information detection processing according to the first embodiment.
  • 5A and 5B are diagrams for explaining correction values stored in a storage device according to the first embodiment; 4 is a time chart for illustrating a process for calculating crank acceleration and angular acceleration according to the first embodiment.
  • 10A and 10B are diagrams for explaining fluctuations in crank angular velocity when correction processing according to the first embodiment is not performed.
  • 10A and 10B are diagrams for explaining fluctuations in crank angular velocity when correction processing according to the first embodiment is not performed.
  • 5A and 5B are diagrams for explaining the processing of a one-rotation time detection unit and an ideal angular velocity calculation unit according to the first embodiment.
  • 10A and 10B are diagrams for explaining the behavior of the crank angular velocity when the correction process according to the first embodiment is not performed.
  • 5A and 5B are diagrams for explaining the behavior of the crank angular velocity when the correction process according to the first embodiment is performed.
  • 5 is a diagram for explaining fluctuations in crank angular velocity when performing correction processing according to the first embodiment.
  • FIG. 10A and 10B are diagrams for explaining the behavior of the determination of completion of the change in the correction value due to each evaluation value according to the first embodiment;
  • FIG. 10A and 10B are diagrams for explaining the behavior of the determination of completion of the change in the correction value due to each evaluation value according to the first embodiment;
  • FIG. 10A and 10B are diagrams for explaining the
  • FIG. 15 is an enlarged view of FIG. 14.
  • 10A and 10B are diagrams for explaining the behavior of the determination of completion of the change in the correction value due to each evaluation value according to the first embodiment;
  • FIG. 17 is an enlarged view of FIG. 16.
  • 1 is a schematic configuration diagram of an internal combustion engine with a supercharger according to a first embodiment.
  • 5 is a diagram for explaining a learning correction value stored in a nonvolatile storage device or the like according to the first embodiment.
  • FIG. 10A and 10B are diagrams for explaining determination of update recording when a feature value fluctuates due to disturbance according to the first embodiment.
  • 10A and 10B are diagrams for explaining determination of update record when a feature value fluctuates due to replacement of a rotating member or aging in accordance with the first embodiment.
  • 10A and 10B are diagrams for explaining the processing of a one-rotation time detection unit and an ideal angular velocity calculation unit according to the second embodiment.
  • 10A and 10B are diagrams for explaining the processing of a one-rotation time detection unit and a correction value change unit according to the third embodiment.
  • FIG. 1 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
  • 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).
  • the internal combustion engine 1 has cylinders 7 that burn a mixture of air and fuel.
  • the internal combustion engine 1 has an intake pipe 23 that supplies air to the cylinders 7, and an exhaust pipe 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 pipe 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.
  • the intake pipe 23 upstream of the throttle valve 4 is provided with an air flow sensor 3 that outputs an electrical signal corresponding to the amount of intake air drawn into the intake pipe 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 pipe 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 pipe 23 downstream of the throttle valve 4.
  • the EGR valve 22 is an electronically controlled EGR valve that is opened and closed by an electric motor controlled by the control device 50.
  • the exhaust pipe 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 pipe 17.
  • the intake manifold 12 is provided with a gas pressure sensor 8 that outputs an electrical signal corresponding to the pressure within the intake manifold 12.
  • An injector 13 that injects fuel is provided downstream of the intake manifold 12. Note that the injector 13 may also be provided to inject fuel directly into the cylinders 7.
  • the internal combustion engine 1 is provided with an atmospheric pressure sensor 33 that outputs an electrical signal corresponding to the atmospheric pressure.
  • the top of cylinder 7 is provided with a spark plug that ignites the air-fuel mixture, and an ignition coil 16 that supplies ignition energy to the spark plug. Also provided at the top of cylinder 7 are an intake valve 14 that adjusts the amount of intake air drawn into cylinder 7 from intake pipe 23, and an exhaust valve 15 that adjusts the amount of exhaust gas discharged from the cylinder to exhaust pipe 17.
  • the intake valve 14 is provided with an intake variable valve timing mechanism that varies its valve opening and closing timing.
  • the exhaust valve 15 is provided with an exhaust variable valve timing mechanism that varies its valve opening and closing timing. Both variable valve timing mechanisms 14 and 15 have electric actuators.
  • the internal combustion engine 1 has multiple cylinders 7 (three in this example). Each cylinder 7 has a piston 5 inside. The piston 5 of each cylinder 7 is connected to the crankshaft 2 via a connecting rod 9 and a crank 32. The crankshaft 2 is rotated by the reciprocating motion of the piston 5. The 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 also be a hybrid vehicle equipped with a motor-generator within the power transmission mechanism.
  • the internal combustion engine 1 is equipped with a signal plate 10 that rotates integrally with the crankshaft 2.
  • the signal plate 10 has multiple teeth at multiple predetermined crank angles.
  • the signal plate 10 has teeth arranged at 10-degree intervals.
  • the teeth of the signal plate 10 have missing teeth.
  • 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.
  • 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 valves 14 and exhaust valves 15 to open and close.
  • the camshaft 29 rotates once for every two rotations of the crankshaft 2.
  • 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 multiple teeth at multiple 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.
  • 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 based on two types of output signals from the first crank angle sensor 11 and the cam angle sensor 30.
  • the internal combustion engine 1 is a four-stroke engine with an intake stroke, compression stroke, combustion stroke, and exhaust stroke.
  • the internal combustion engine 1 is equipped with a flywheel 27 that rotates integrally with the crankshaft 2.
  • the outer periphery of the flywheel 27 forms a ring gear 25, which has multiple teeth at predetermined crank angles.
  • the teeth of the ring gear 25 are spaced equally apart circumferentially. In this example, 60 teeth are provided at 6-degree intervals. There are no missing teeth on the ring gear 25.
  • the internal combustion engine 1 is equipped with 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 side 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.
  • the first crank angle sensor 11, cam angle sensor 30, and second crank angle sensor 6 output electrical signals that correspond to changes in the distance between each sensor and the teeth due to the rotation of the crankshaft 2.
  • the output signal from each angle sensor 11, 30, and 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, and 6 may be, for example, an electromagnetic pickup type sensor.
  • the flywheel 27 (ring gear 25) has a greater number of teeth than the signal plate 10 and is free of 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.
  • the second crank angle sensor 6 corresponds to the "specific crank angle sensor” in this disclosure
  • the flywheel 27 corresponds to the “rotating member” in this disclosure
  • the teeth of the ring gear 25 provided on the flywheel 27 correspond to the "detected part” in this disclosure
  • the engine block 24 corresponds to the "non-rotating member” in this disclosure.
  • the control device 50 is a control device that controls the internal combustion engine 1.
  • 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 axial torque estimation unit 54, an ideal angular velocity calculation unit 55, a correction value change unit 56, a one-rotation time detection unit 57, a change completion determination unit 58, an abnormal combustion determination unit 59, an engine control unit 60, a characteristic value calculation unit 61, an update storage determination unit 62, a learning value storage unit 63, and a characteristic value storage unit 64.
  • 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 axial torque estimation unit 54, an ideal angular velocity calculation unit 55, a correction value change unit 56, a one-rotation time detection unit 57, a change completion determination unit 58, an abnormal combustion determination unit 59, an engine control unit 60, a characteristic value calculation unit 61, an update storage determination unit 62,
  • the control units 51 to 64 of the control device 50 are realized by processing circuits included in the control device 50.
  • the control device 50 includes, as processing circuits, an arithmetic processing device 90 (computer) such as a CPU (Central Processing Unit), a storage 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.
  • an arithmetic processing device 90 such as a CPU (Central Processing Unit)
  • storage 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
  • an output circuit 93 that outputs signals from the arithmetic processing device 90 to the outside.
  • 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, and various signal processing circuits. Furthermore, multiple arithmetic processing devices 90 of the same type or different types may be provided, with each device sharing the processing load.
  • ASIC Application Specific Integrated Circuit
  • IC Integrated Circuit
  • DSP Digital Signal Processor
  • FPGA Field Programmable Gate Array
  • various logic circuits and various signal processing circuits.
  • multiple arithmetic processing devices 90 of the same type or different types may be provided, with each device sharing the processing load.
  • the storage device 91 includes volatile and non-volatile storage devices such as RAM (Random Access Memory), ROM (Read Only Memory), and EEPROM (Electrically Erasable Programmable ROM).
  • the storage device 91 also includes a volatile storage device such as RAM connected to a backup power supply.
  • a volatile storage device connected to a backup power supply is connected to a power source such as a battery without going through a main switch that turns the power supply to the control device 50 on and off, and the stored values are maintained by the power supply from the power source even when the main switch is off.
  • the control device 50 turns the main switch on and off using a relay circuit in conjunction with the on and off of the vehicle's key switch.
  • the stored values of the volatile storage device connected to the backup power supply are initialized when the power connection line connected to the battery is disconnected and the power supply to the storage device is cut off.
  • the input circuit 92 is connected to various sensors and switches and includes an A/D converter and other components that input the output signals of these sensors and switches to the arithmetic processing unit 90.
  • the output circuit 93 is connected to electrical loads and includes a drive circuit and other components that output control signals from the arithmetic processing unit 90 to these electrical loads.
  • each control unit 51 to 64, etc. provided in the control device 50 are realized by the arithmetic processing device 90 executing software (programs) stored in a storage device 91, such as a ROM or EEPROM, and working in cooperation with other hardware of the control device 50, such as the storage device 91, input circuit 92, and output circuit 93.
  • the setting data used by each control unit 51 to 64, etc. is stored in the storage device 91, such as a ROM or EEPROM.
  • Data calculated by each control unit 51 to 64, etc., such as the correction value Kc, angle interval ⁇ d, time interval ⁇ Td, each calculated value, and each detected value, is stored in a rewritable storage device 91, such as a RAM.
  • the learned correction value Kclrn for each angle interval is stored in a non-volatile storage device, such as an EEPROM, or a volatile storage device connected to a backup power source.
  • the input circuit 92 is connected to the first crank angle sensor 11, cam angle sensor 30, second crank angle sensor 6, air flow sensor 3, throttle opening sensor 19, gas pressure sensor 8, atmospheric pressure sensor 33, air-fuel ratio sensor 18, and accelerator position sensor 26.
  • the output circuit 93 is connected to the throttle valve 4 (electric motor), EGR valve 22 (electric motor), injector 13, ignition coil 16, intake variable valve timing mechanism 14, and exhaust variable valve timing mechanism 15.
  • Various sensors, switches, actuators, etc. (not shown) are also connected to the control device 50. Based on the output signals of the various sensors, the control device 50 detects the operating conditions of the internal combustion engine 1, such as the intake air volume, pressure in the intake manifold, atmospheric pressure, air-fuel ratio, and accelerator opening.
  • the engine control unit 60 controls the control variables of the internal combustion engine. As a basic control, the engine control unit 60 calculates the fuel injection amount, ignition timing, etc. based on output signals from various sensors and controls the injector 13, ignition coil 16, etc. The engine control unit 60 calculates the output torque of the internal combustion engine 1 required by the driver based on the output signal from the accelerator position sensor 26 and controls the throttle valve 4 and other controls so as to achieve the intake air amount that realizes the required output torque. Specifically, the engine control unit 60 calculates a target throttle opening and controls the electric motor of the throttle valve 4 so that the throttle opening detected based on the output signal from the throttle opening sensor 19 approaches the target throttle opening.
  • the engine control unit 60 also calculates a target opening of the EGR valve 22 based on output signals from various sensors and controls the electric motor of the EGR valve 22.
  • the engine control unit 60 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.
  • the intake pipe gas pressure detection unit 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.
  • the angle information detecting 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 detecting unit 52 calculates an angle interval ⁇ d corresponding to an angle section Sd between the detected angles ⁇ d, and based on the detection time Td, calculates a time interval ⁇ Td corresponding to the angle section Sd.
  • the angle information detection unit 52 is configured to determine the crank angle ⁇ d when it detects the falling edge (or rising edge) of the output signal (rectangular wave) of the second crank angle sensor 6.
  • the angle information detection unit 52 determines the base falling edge, which is the falling edge corresponding to the 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 the falling edge number n (hereinafter referred to as angle identification number n) counted up from the base falling edge.
  • angle identification number n the crank angle ⁇ d to the base angle
  • the angle information detection unit 52 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.
  • 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 angle identification number n and 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 detection time Td and detection angle ⁇ d in which the missing tooth portion is supplemented using information before and after the missing tooth portion may be used, or the detection time Td and detection angle ⁇ d in which the missing tooth portion is not supplemented may be used as is. If the missing tooth portion is not supplemented, the angle interval ⁇ d corresponding to the missing tooth portion is used in each calculation.
  • the angle information detection unit 52 determines the base point falling edge of the second crank angle sensor 6 by referring to the reference crank angle ⁇ r detected based on the first crank angle sensor 11 and the cam angle sensor 30, which will be described later. For example, the angle information detection unit 52 determines that the falling edge for which the reference crank angle ⁇ r at the time the falling edge of the second crank angle sensor 6 is detected is closest to the base point angle is the base point falling edge.
  • 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.
  • the angle information detection unit 52 detects the detection time Td when it detects the falling edge of the output signal (rectangular wave) of the second crank angle sensor 6, and associates the detection time Td with the angle identification number n. Specifically, the angle information detection unit 52 detects the detection time Td using a timer function provided in the calculation processing device 90.
  • the angle information detection unit 52 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).
  • the angle information detection unit 52 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)).
  • 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).
  • the angle information detection unit 52 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)).
  • 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 the missing tooth portion on the signal plate 10 from the time interval between the 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 top dead center, and calculates the reference crank angle ⁇ r based on top dead center when each falling edge is detected. The angle information detection unit 52 also determines the stroke of each cylinder 7 from 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.
  • the angle information corrector 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.
  • the angle information correction unit 53 provides one correction value Kc(n) for each angle interval Sd(n) of each angle identification number n.
  • each correction value Kc is associated with each angle identification number n and stored in a rewritable storage device 91, such as RAM, of the control device 50.
  • the angle information corrector 53 calculates the corrected time interval ⁇ Tdc(n) corresponding to the current angle identification number (n) by multiplying 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).
  • the angle information corrector 53 calculates the corrected angle interval ⁇ d(n) corresponding to the current angle identification number (n) by dividing 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).
  • the angle information correction unit 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).
  • the time interval ⁇ Td is corrected using the correction value Kc.
  • the angle interval ⁇ d that has not been corrected using the correction value Kc will also be referred to as the angle interval ⁇ dc after correction processing.
  • crank angular velocity ⁇ d which is the time rate of change of the crank angle ⁇ d
  • crank angular acceleration ⁇ d which is the time rate of change of the crank angular velocity ⁇ d
  • the angle information detection unit 52 calculates the crank angular velocity ⁇ d(n) (also referred to as the detection interval angular velocity ⁇ sd(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).
  • 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).
  • 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).
  • crank angular velocity ⁇ d(n) and crank angular acceleration ⁇ d(n) are used for various known internal combustion engine controls, such as for estimating the combustion state.
  • Fig. 8 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 the tooth arrangement crank angle varies.
  • the uncorrected crank angular velocity ⁇ dcmp varies with respect to the highly accurate crank angular velocity ⁇ * used for measurement, due to the variation in the tooth arrangement crank angle.
  • Figure 9 shows the angular velocity ratio at each crank angle, calculated by dividing the uncorrected crank angular velocity ⁇ dcmp by the high-precision crank angular velocity ⁇ * used for measurement.
  • the angular velocity ratio is greater than 1, the actual angular interval is shorter than the specified angular interval (6 degrees); when it 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 combustion state estimation and combustion control. The process for appropriately changing the correction value Kc is described below.
  • the axial torque estimation unit 54 estimates the axial torque Tcrke(n) of the crankshaft due to the gas pressure in the cylinder and the reciprocating motion of the piston, corresponding to 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.
  • the axial torque estimation unit 54 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 the estimated axial torque value Tcrke.
  • the shaft torque estimation unit 54 uses a physical model equation to calculate the gas pressure torque generated by the gas pressure inside the cylinder, and calculates the gas pressure torque Tgas generated by the gas pressure Pcyl inside the cylinder based on the detected value Pind of the gas pressure inside the intake pipe.
  • the shaft torque estimation unit 54 calculates the gas pressure torque Tgas generated by the gas pressure inside the cylinder when it is assumed that the internal combustion engine is in an uncombusted state where no combustion is occurring.
  • the axial torque estimating unit 54 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 axial torque estimating unit 54 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.
  • Nply is the 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.
  • 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
  • ⁇ _i is the angle of the connecting rod for each cylinder i.
  • crank angle ⁇ d_i of each cylinder i used in calculating the trigonometric functions is the 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 the average value over the stroke period, or the detected value when the intake valve is closed.
  • the detected value of atmospheric pressure or a predetermined value may be used for the gas pressure Pex in the exhaust pipe.
  • the shaft torque estimation unit 54 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.
  • Pcase is the internal pressure within the crankcase (piston back pressure) and may be set to a predetermined value or may be changed depending on the detected gas pressure value Pind 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.
  • 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.
  • the shaft torque estimation unit 54 uses a physical model equation that calculates 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.
  • the axial torque estimation unit 54 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 of each cylinder i based on the crank angular velocity ⁇ d and the crank angle ⁇ d.
  • mp is the piston mass
  • Ka_i is a coefficient for calculating the piston acceleration based on the crank angular velocity ⁇ d, and is a function of the crank angle ⁇ d_i for each cylinder i.
  • the acceleration calculation coefficient Ka_i for each cylinder i may be set based on the third equation of equation (8).
  • the third equation of equation (8) is an approximate equation, an exact value may be calculated.
  • 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 when calculating the acceleration calculation coefficient Ka_i for each cylinder i.
  • the conversion coefficient R_i for each cylinder i is the same as equation (7).
  • inertia torque generated by the inertia of the connecting rod, etc. may be added to the inertia torque Tin.
  • the axial torque estimation unit 54 then sums the gas pressure torque Tgas and the inertia torque Tin calculated at each crank angle ⁇ d to calculate an estimated value Tcrke of the axial torque at each crank angle ⁇ d.
  • the axial torque estimator 54 calculates an estimated axial torque value Tcrke(n) for each angular interval Sd(n) based on the estimated axial torque value Tcrke for each crank angle ⁇ d. For example, an estimated axial torque value Tcrke(n) corresponding to each center position of the angular interval Sd(n) is calculated.
  • the axial torque estimator 54 calculates the estimated axial torque value Tcrke(n) for each angular interval Sd(n) by averaging the estimated axial torque value Tcrke( ⁇ d(n-1)) for the start crank angle ⁇ d(n-1) of each angular interval Sd(n) and the estimated axial torque value Tcrke( ⁇ d(n)) for the end crank angle ⁇ d(n) of each angular interval Sd(n).
  • crank angle ⁇ d used to calculate the estimated value Tcrke of the axial torque may be set to the crank angle ⁇ d corresponding to the center position of each angle interval Sd, and the estimated value Tcrke of the axial torque corresponding to the center position of each angle interval Sd may be directly calculated.
  • the estimated shaft torque value Tcrke calculated above does not take into account the influence of the external load torque Tload, so in this embodiment, the external load torque Tload is calculated as described below, and the estimated shaft torque value Tcrke is corrected using the external load torque Tload.
  • the external load torque Tload is the torque applied to the crankshaft from outside the internal combustion engine.
  • the external load torque Tload includes the running resistance and frictional resistance of the vehicle transmitted to the internal combustion engine from the power transmission mechanism connected to the wheels, as well as auxiliary loads such as an alternator connected to the crankshaft.
  • the axial torque estimator 54 calculates a detected value Tcrkd of the crankshaft torque based on the detected value ⁇ d of the crank angular acceleration and the moment of inertia Icrk of the crankshaft system.
  • the axial torque estimator 54 calculates a detected value Tcrkd(n) of the crank torque corresponding to each angle interval Sd(n) using the following equation.
  • the detected value ⁇ d(n) of the crank angular acceleration is the angular acceleration at the time of the ending crank angle ⁇ d(n) of each angle interval Sd(n).
  • an average value of the crank angular acceleration ⁇ d(n) at the current crank angle ⁇ d(n) and the crank angular acceleration ⁇ d(n-1) at the immediately preceding crank angle ⁇ d(n-1) is used.
  • the axial torque estimation unit 54 calculates the external load torque Tload based on the axial torque estimated value Tcrke( ⁇ d_tdc) calculated at the crank angle ⁇ d_tdc near the top dead center of the piston and the axial torque detected value Tcrkd( ⁇ d_tdc). Near the top dead center, the connecting rod and the crank are aligned, and the force of the cylinder pressure pushing the piston prevents the axial torque Tcrk. Therefore, near the top dead center, the external load torque Tload can be accurately calculated based on the deviation between the axial torque detected value Tcrkd and the axial torque estimated value Tcrke.
  • the external load torque Tload calculated near the top dead center can be used for each crank angle ⁇ d.
  • the crank angle ⁇ d_tdc near the top dead center is preset to the crank angle near the top dead center.
  • the vicinity of top dead center is, for example, within an angle interval from 10 degrees before top dead center to 10 degrees after top dead center.
  • the crank angle ⁇ d near top dead center is set in advance to the crank angle at top dead center.
  • the shaft torque estimating unit 54 calculates the external load torque Tload using the following equation.
  • the shaft torque estimation unit 54 may calculate the external load torque Tload from the deviation between the average value of the shaft torque detection value Tcrkd after averaging processing and the average value of the shaft torque estimation value Tcrke.
  • the shaft torque estimator 54 corrects the estimated shaft torque value Tcrke(n) for each angle interval Sd(n) using the external load torque Tload.
  • the shaft torque estimator 54 calculates the corrected shaft torque estimated value Tcrke(n) by adding the external load torque Tload to the estimated shaft torque value Tcrke(n) for each angle interval Sd(n), as shown in the following equation.
  • the one-revolution time detection unit 57 detects a one-revolution time interval ⁇ T360, which is the time interval of one rotation angle interval S360 for the crankshaft to rotate once, based on the output signal of the second crank angle sensor 6, and calculates an average detected angular velocity ⁇ saved, which is the average angular velocity of the average processing angle interval Save set within the range of the one-revolution angle interval S360, based on the detected value ⁇ T360 of the one-revolution time interval.
  • the one-rotation time detection unit 57 detects a first one-rotation time interval ⁇ T360_1 and a second one-rotation time interval ⁇ T360_2 for each of a first one-rotation angle interval S360_1 and a second one-rotation angle interval S360_2 that overlap but are angularly shifted, and sets the angle interval that overlaps between the first one-rotation angle interval S360_1 and the second one-rotation angle interval S360_2 as the average processing angle interval Save.
  • the one-rotation time detection unit 57 calculates the time interval ⁇ Tsave of the average processing angle 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 the average detected angular velocity ⁇ saved based on the time interval ⁇ Tsave of the average processing angle interval.
  • the average processing angle interval Save is set to 180 degrees.
  • the first rotation angle interval S360_1 is set to an angle interval from an angle 180 degrees retarded from the start angle of the average processing angle interval Save to the end angle of the average processing angle interval Save.
  • the second rotation angle interval S360_2 is set to an angle interval from the start angle of the average processing angle interval Save to an angle 180 degrees advanced from the end angle of the average processing angle interval Save. The process of calculating the average detected angular velocity ⁇ saved is performed for each average processing angle interval Save.
  • the one-rotation time detection unit 57 calculates the average detected angular velocity ⁇ saved using the following equation.
  • the average processing angle interval Save may be set to any angle within 360 degrees.
  • the average processing angle interval Save may be set to 360 degrees.
  • the first one-rotation angle interval S360_1 and the second one-rotation angle interval S360_2 will be 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.
  • the ideal angular velocity calculation unit 55 calculates the ideal interval angular velocity ⁇ id, which is the angular velocity corresponding to each of the angle intervals Sd(n), in an 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 estimated axial torque values Tcrke(n) for each of the angle intervals Sd(n) and the moment of inertia Icrk of the crankshaft system.
  • the estimated shaft torque value Tcrke is calculated using a physical model equation for the crank mechanism, and is therefore the shaft torque in an ideal state, assuming no fluctuations in the tooth arrangement crank angle. Furthermore, the ideal interval angular velocity ⁇ id is calculated based on the estimated shaft torque value Tcrke, and is therefore the interval angular velocity in an ideal state.
  • the ideal angular velocity calculation unit 55 changes the correction value Kc(n) for each angle interval Sd(n) so that the average value ⁇ sd_ave of the ideal interval angular velocities ⁇ id in the averaging processing angle interval Save does not deviate from the average detected angular velocity ⁇ saved, thereby matching the average value ⁇ id_ave of the ideal interval angular velocities ⁇ id in the averaging processing angle interval Save to the average detected angular velocity ⁇ saved.
  • the ideal angular velocity calculation unit 55 calculates an ideal interval angular acceleration ⁇ id(n), which is the angular acceleration in an ideal state corresponding to each angle interval Sd(n), based on the estimated shaft torque value Tcrke(n) for each angle interval Sd(n) and the moment of inertia Icrk of the crankshaft system, and integrates the ideal interval angular acceleration ⁇ id(n) to calculate a temporary ideal interval angular velocity ⁇ idtmp(n), which is the angular velocity in the ideal state corresponding to each angle interval Sd(n).
  • the ideal angular velocity calculation unit 55 calculates the temporary ideal interval angular velocity ⁇ idtmp using the following equation. This calculation process is performed for each angle interval Sd(n) in the averaging processing angle interval Save.
  • the ideal angular velocity calculation unit 55 calculates the average value ⁇ idtmp_ave of the tentative ideal section angular velocities ⁇ idtmp 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.
  • the ideal angular velocity calculation unit 55 subtracts the average value ⁇ idtmp_ave of the tentative ideal section angular velocity from the tentative ideal section angular velocity ⁇ idtmp and adds the average detected angular velocity ⁇ saved to calculate the ideal section angular velocity ⁇ id. This calculation process is performed for each angle section Sd(n) of the averaging processing angle section Save.
  • This calculation process allows the average value ⁇ id_ave of the ideal section angular velocity ⁇ id in the averaging processing angle section Save to match the average detected angular velocity ⁇ saved. Therefore, as described below, the correction value Kc is changed so that the detected section angular velocity ⁇ sd approaches the ideal section angular velocity ⁇ id, and therefore the correction value Kc can be changed so that the average value ⁇ sd_ave of the detected section angular velocity ⁇ sd in the averaging processing angle section Save does not deviate from the average detected angular velocity ⁇ saved.
  • Figure 11 shows the control behavior when the tentative ideal interval angular velocity ⁇ idtmp is set as the ideal interval angular velocity ⁇ id under the condition of a constant crank angular velocity.
  • the average value ⁇ id_ave of the ideal interval angular velocity ⁇ id deviates from the average detected angular velocity ⁇ saved, and therefore the average value ⁇ sd_ave of the detected interval angular velocity ⁇ sd deviates from the average detected angular velocity ⁇ saved.
  • Figure 12 shows the control behavior when correction is made as in equation (17).
  • the average value ⁇ id_ave of the ideal interval angular velocity ⁇ id matches the average detected angular velocity ⁇ saved, so the average value ⁇ sd_ave of the detected interval angular velocity ⁇ sd does not deviate from the average detected angular velocity ⁇ saved, and the detected interval angular velocity ⁇ sd does not shift, resulting in no error.
  • the correction value changing unit 56 changes the correction value Kc(n) for each angle interval Sd(n) so that the detected interval angular velocity ⁇ sd(n), which is the angular velocity corresponding to the angle interval calculated using the time interval ⁇ Tdc and angle interval ⁇ dc after correction processing using the correction value Kc, approaches the ideal interval angular velocity ⁇ id(n).
  • the ideal interval angular velocity ⁇ id is the interval angular velocity in an ideal state, so high-frequency components due to fluctuations in the tooth arrangement crank angle are not superimposed. Therefore, by changing the correction value Kc(n) for each angle interval Sd(n) so that the detected interval angular velocity ⁇ sd(n) approaches the ideal interval angular velocity ⁇ id(n), the correction value Kc(n) can be appropriately changed to cancel out fluctuations in the tooth arrangement crank angle.
  • the correction value change unit 56 For each angle interval Sd(n), if the detected interval angular velocity ⁇ sd(n) exceeds the ideal interval angular velocity ⁇ id(n), the correction value change unit 56 increases the correction value Kc(n), and if the detected interval angular velocity ⁇ sd(n) falls below the ideal interval angular velocity ⁇ id(n), the correction value change unit 56 decreases the correction value Kc(n).
  • the correction value changing unit 56 calculates the detection interval angular velocity ⁇ sd(n) after correction processing corresponding to each angle interval Sd(n) based on the time interval ⁇ Tdc(n) and angle interval ⁇ dc(n) after correction processing using the correction value Kc.
  • the correction value changing unit 56 updates the correction value Kc(n) using the following equation: where Klrn is a reflection rate, and a value of 1 or less is set.
  • the correction value change unit 56 collectively executes the change process for the correction values Kc(n) for each angle section Sd(n) of the average processing angle section Save each time the calculation process for the ideal section angular velocity ⁇ id(n) for each angle section Sd(n) of the average processing angle section Save is completed.
  • the correction value change unit 56 uses the learned correction value Kclrn(n) for each angle interval Sd(n) stored in a non-volatile storage device or a volatile storage device connected to a backup power source as the initial value of the correction value Kc(n) for each angle interval Sd(n). If the learned correction value Kclrn(n) is not stored or is not provided, the initial value of the correction value Kc(n) for each angle interval Sd(n) is set to 1.
  • the correction value changing unit 56 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 56 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.
  • the correction value change unit 56 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 change unit 56 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, for example, the average value of an averaging period such as the averaging processing angle section Save or the stroke period.
  • 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 degrade 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.
  • the correction value change unit 56 changes the correction value Kc when the operating amount of the brake mechanism of a vehicle equipped with an internal combustion engine is equal to or less than the operating amount judgment value (when the third condition is met). On the other hand, the correction value change unit 56 does not change the correction value Kc when the operating amount of the brake mechanism is greater than the operating amount judgment value (when the third condition is not met).
  • the braking force of the brake can cause the external load torque Tload to fluctuate significantly, which can reduce the accuracy of the change in the correction value Kc. Therefore, by changing the correction value Kc in a stable state where the amount of movement of the brake mechanism is small, the accuracy of the change in the correction value Kc can be improved.
  • the correction value change unit 56 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 change unit 56 does not change the correction value Kc when the clutch mechanism is in a connected state (when the fourth condition is not met).
  • the clutch mechanism is provided between the crankshaft and the transmission.
  • the external load torque Tload transmitted from the wheel side may reduce the accuracy of the change in the correction value Kc. Therefore, by changing the correction value Kc when the clutch mechanism is disengaged, the accuracy of the change in the correction value Kc can be improved.
  • the correction value change unit 56 changes the correction value Kc when the coolant temperature of the internal combustion engine is equal to or greater than the first water temperature determination value (when the fifth condition is met). On the other hand, the correction value change unit 56 does not change the correction value Kc when the coolant temperature is less than the first water temperature determination value (when the fifth condition is not met). Alternatively, the correction value change unit 56 changes the correction value Kc when the coolant temperature is equal to or greater than the first water temperature determination value and less 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 change unit 56 does not change the correction value Kc when the coolant temperature is less than the first water temperature determination value or greater 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.
  • the correction value change unit 56 changes the correction value Kc when all of the above 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.
  • Figure 13 shows the behavior of the uncorrected crank angular velocity ⁇ dcmp calculated based on the angle interval ⁇ d and time interval ⁇ Td 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 fluctuations occur in the tooth arrangement crank angle.
  • the crank angular velocity ⁇ d after correction approaches the high-precision crank angular velocity ⁇ * used for measurement from the uncorrected crank angular velocity ⁇ dcmp. Therefore, the correction value Kc can be appropriately changed to cancel out fluctuations in the tooth arrangement crank angle, and the detection error of the crank angle ⁇ d can be accurately corrected.
  • the correction value change unit 56 does not satisfy the conditions for allowing the correction value change, and maintains the correction value Kc(n) for each angle interval Sd(n) unchanged.
  • the change completion determination unit 58 determines whether or not the change in the correction value has been completed for all angle sections corresponding to one rotation of the crankshaft as a whole, based on the correction value Kc(n) for each angle section Sd(n), the time interval ⁇ Td(n) before the correction process for each angle section Sd(n) and the angle interval ⁇ d(n) or the detected section angular velocity ⁇ sd(n) after the correction process for each angle section Sd(n), and the ideal section angular velocity ⁇ id(n) for each angle section Sd(n).
  • the change completion determination unit 58 calculates, for each angle interval Sd(n), the detection interval angular velocity ⁇ sdbf(n) before correction processing, which is the angular velocity of the angle interval before correction processing using the correction value, based on the time interval ⁇ Td(n) and angle interval ⁇ d(n) before correction processing using the correction value Kc(n), or the correction value Kc(n) and the detection interval angular velocity ⁇ sd(n) after correction processing, and calculates the ideal correction value Kcid(n), which is the correction value that matches the detection interval angular velocity ⁇ sd(n) after correction processing to the ideal interval angular velocity ⁇ id(n), based on the detection interval angular velocity ⁇ sdbf(n) before correction processing and the ideal interval angular velocity ⁇ id(n).
  • the change completion determination unit 58 then calculates the error Ekc(n) between the correction value Kc(n) and the ideal correction value Kcid(n) for each angle interval Sd(n), and determines whether the change in the correction value has been completed based on the error Ekc(n).
  • the ideal correction value Kcid(n) that causes the post-correction detection section angular velocity ⁇ sd(n) to match the ideal section angular velocity ⁇ id(n) is calculated based on the ideal section angular velocity ⁇ id(n) and the pre-correction detection section angular velocity ⁇ sdbf(n), and accurate determination can be made based on the error Ekc(n) between the correction value Kc(n) and the ideal correction value Kcid(n).
  • the change completion determination unit 58 calculates the detection interval angular velocity ⁇ sdbf(n) before correction processing for each angle interval Sd(n) based on the time interval ⁇ Td(n) and angle interval ⁇ d(n) before correction processing for each angle interval Sd(n), as shown in the following equation: where Nmx is the maximum number of the angle identification number n (60 in this example).
  • the change completion determination unit 58 may multiply the detection section angular velocity ⁇ sd(n) after correction processing for each angle section Sd(n) by the correction value Kc(n) for each angle section Sd(n) to calculate the detection section angular velocity ⁇ sdbf(n) before correction processing for each angle section Sd(n), as shown in the following equation.
  • the change completion determination unit 58 divides the detection section angular velocity ⁇ sdbf(n) before correction processing for each angle section Sd(n) by the ideal section angular velocity ⁇ id(n) for each angle section Sd(n) to calculate the ideal correction value Kcid(n) for each angle section Sd(n).
  • the change completion determination unit 58 subtracts the ideal correction value Kcid(n) for each angle interval Sd(n) from the correction value Kc(n) for each angle interval Sd(n) to calculate the error Ekc(n) for each angle interval Sd(n).
  • the change completion determination unit 58 calculates the maximum absolute error MaxAE, which is the maximum value of the absolute values of the errors
  • the maximum absolute error MaxAE may be calculated for each rotation, for multiple rotations, or for each predetermined angle (e.g., 180 degrees, 120 degrees).
  • the maximum absolute error MaxAE may be subjected to low-pass filtering such as moving average processing or first-order lag filtering, and the resultant value may be compared with the change completion determination value.
  • the change completion determination unit 58 may calculate the mean absolute error MAE by summing up the absolute values of the errors
  • the change completion determination unit 58 may calculate the mean square error MSE by summing up the squared values of the errors in all angle sections of one rotation of the crankshaft and dividing the sum by the total number Nmx, and determine that the change of the correction value is complete when the mean square error MSE becomes equal to or less than the change completion determination value.
  • the change completion determination unit 58 may calculate the root mean square error RMSE, which is the square root of the sum of the squared values of the errors in all angle sections of one rotation of the crankshaft divided by the total number Nmx, and determine that the change of the correction value has been completed when the root mean square error RMSE becomes equal to or less than the change completion determination value.
  • RMSE root mean square error
  • the change completion determination unit 58 may calculate a maximum absolute error change amount Max ⁇ AE, which is the maximum value across all angle intervals for one rotation of the crankshaft, for the absolute values of the error time change amount ⁇ Ekc in each angle interval, and determine that the change of the correction value has been completed when the maximum absolute error change amount Max ⁇ AE becomes equal to or less than the change completion determination value:
  • Ekc(n) j represents the latest value of the error Ekc(n) for each angle interval at time j when the current maximum absolute error change amount Max ⁇ AE is calculated
  • Ekc(n) j-1 represents the latest value of the error Ekc(n) for each angle interval at time j-1 when the previous maximum absolute error change amount Max ⁇ AE is calculated.
  • the change completion determination unit 58 may calculate the absolute value
  • MAE j represents the mean absolute error MAE calculated at time j for calculating the absolute value
  • MAE j-1 represents the mean absolute error MAE calculated at time j-1 for calculating the absolute value
  • the change completion determination unit 58 may calculate the absolute value
  • MSE j represents the mean squared error MSE calculated at time j for calculating the absolute value
  • MSE j-1 represents the mean squared error MSE calculated at time j-1 for calculating the absolute value
  • the change completion determination unit 58 may calculate the absolute value
  • RMSE j represents the root mean squared error RMSE calculated at time j of calculation of the absolute value
  • RMSE j-1 represents the root mean squared error RMSE calculated at time j-1 of calculation of the absolute value
  • the change completion determination unit 58 starts a new determination of the completion of the change of the correction value after the power of the control device 50 is turned on, for example by turning on the key switch of the vehicle. Once the change completion determination unit 58 determines that the change of the correction value is complete after the power is turned on, it does not determine the completion of the change of the correction value again until the next time the power of the control device 50 is turned on.
  • FIGS. 14 to 17 show the behavior of the determination of the completion of the change in the correction value based on each evaluation value calculated using the error Ekc(n) for all angle sections of one rotation.
  • FIGS. 14 and 15 show the behavior of the mean absolute error MAE, the mean squared error MSE, and the square root of the mean squared error RMSE.
  • FIG. 15 is a partially enlarged view of FIG. 14.
  • FIGS. 16 and 17 show the behavior of the absolute value of the time change in the mean absolute error
  • FIG. 17 is a partially enlarged view of FIG. 16.
  • each graph represents the number of strokes.
  • the vertical axis of each evaluation value is displayed logarithmically.
  • the top graphs in Figures 14 and 16 show the crank angular velocity ⁇ d.
  • stroke number A the conditions allowing a change in the correction value are met, and each correction value Kc(n) begins to change.
  • RMSPE root mean square percentage error
  • each correction value Kc(n) changes, and by the time stroke number B is reached, the changes in each correction value Kc(n) have generally converged.
  • each evaluation value has decreased sufficiently, and if, for example, each evaluation value at the time stroke number B is set as the change completion determination value, it can be accurately determined that the change in the correction value has completed.
  • the abnormal combustion determination unit 59 determines whether or not abnormal combustion has occurred in the internal combustion engine based on the detection section angular velocity ⁇ sd (also simply referred to as the crank angular velocity ⁇ d) after the correction process.
  • the crank angular acceleration ⁇ d calculated based on the detection section angular velocity ⁇ sd (crank angular velocity ⁇ d) after the correction process is also used.
  • the abnormal combustion is determined to be the occurrence of pre-ignition, megaknock or low-speed pre-ignition, misfire or incomplete combustion, etc. If it is determined that abnormal combustion has occurred, the engine control unit 60 changes various control variables such as the intake air amount, ignition timing, and air-fuel ratio to suppress the occurrence of abnormal combustion.
  • the accuracy of the abnormal combustion determination deteriorates before the change in the correction value is complete. As described above, abnormal combustion is determined after it is determined that the change in the correction value is complete, so the accuracy of the abnormal combustion determination can be improved.
  • the abnormal combustion determination unit 59 calculates the increase in gas pressure torque due to combustion, ⁇ Tgas_brn, of the gas pressure torque applied to the crankshaft by the gas pressure in the cylinder, based on the crank angle ⁇ d and crank angular acceleration ⁇ d. In detail, at each crank angle ⁇ d, the abnormal combustion determination unit 59 multiplies the crank angular acceleration ⁇ d by the moment of inertia Icrk of the crankshaft system to calculate the actual shaft torque Tcrkd.
  • the abnormal combustion judgment unit 59 references uncombusted data in which the relationship between the crank angle ⁇ d and the uncombusted torque Tcrk_mot is set, and calculates the uncombusted torque Tcrk_mot corresponding to each crank angle ⁇ d in the estimated crank angle range ⁇ int.
  • the abnormal combustion judgment unit 59 uses equation (6) at each crank angle ⁇ d to calculate the gas pressure Pcyl in the cylinder based on the detected value Pind of the gas pressure in the intake pipe, and uses this as the uncombusted gas pressure Pcyl_mot in the cylinder.
  • the abnormal combustion judgment unit 59 uses equation (7), which converts gas pressure to torque, to calculate the gas pressure torque Tgas based on the uncombusted gas pressure Pcyl_mot in the cylinder and the crank angle ⁇ d, and uses this as the uncombusted gas pressure torque Tgas_mot.
  • the abnormal combustion determination unit 59 calculates the inertia torque Tin based on the crank angle ⁇ d and the crank angular velocity ⁇ d using equation (8) for each crank angle ⁇ d.
  • the abnormal combustion determination unit 59 adds the gas pressure torque Tgas_mot in the uncombusted state and the inertia torque Tin in the uncombusted state for each crank angle ⁇ d to calculate the shaft torque Tcrk_mot in the uncombusted state.
  • the abnormal combustion judgment unit 59 subtracts the actual shaft torque Tcrkd near top dead center from the shaft torque Tcrk_mot when combustion is not occurring near top dead center to calculate the external load torque Tload during combustion.
  • the abnormal combustion judgment unit 59 subtracts the shaft torque Tcrk_mot when combustion is not occurring from the actual shaft torque Tcrkd and adds the external load torque Tload to calculate the increase in gas pressure torque due to combustion ⁇ Tgas_brn.
  • the abnormal combustion judgment unit 59 calculates the increase in gas pressure due to combustion ⁇ Pcyl_brn at each crank angle ⁇ d based on the increase in gas pressure torque due to combustion ⁇ Tgas_brn and the crank angle ⁇ d.
  • the abnormal combustion determination unit 59 calculates the gas pressure in the cylinder during combustion, Pcyl_brn, by adding the gas pressure in the cylinder during uncombusted conditions, Pcyl_unbrn, to the increase in gas pressure in the cylinder due to combustion, ⁇ Pcyl_brn, for each crank angle ⁇ d.
  • the abnormal combustion determination unit 59 uses known equations to calculate known combustion parameters such as the heat release rate, mass fraction burned (MFB), and indicated mean effective pressure (IMEP) based on the gas pressure Pcyl_brn in the cylinder during combustion at each crank angle ⁇ d. Then, based on the combustion parameters, the abnormal combustion determination unit 59 uses known methods to determine the occurrence of abnormal combustion such as pre-ignition, mega-knock or low-speed pre-ignition, misfire, or incomplete combustion.
  • known combustion parameters such as the heat release rate, mass fraction burned (MFB), and indicated mean effective pressure (IMEP) based on the gas pressure Pcyl_brn in the cylinder during combustion at each crank angle ⁇ d. Then, based on the combustion parameters, the abnormal combustion determination unit 59 uses known methods to determine the occurrence of abnormal combustion such as pre-ignition, mega-knock or low-speed pre-ignition, misfire, or incomplete combustion.
  • ⁇ Engine control unit 60 before determining completion of change in correction value> controls the control variables of the internal combustion engine.
  • the engine control unit 60 limits the control variables to a range in which abnormal combustion is unlikely to occur until it is determined that the change in the correction value has been completed.
  • the abnormal combustion determination unit 59 determines whether pre-ignition has occurred as abnormal combustion.
  • the engine control unit 60 limits the control variable to a range in which pre-ignition is unlikely to occur until it is determined that the change in the correction value has been completed.
  • the engine control unit 60 limits the intake air amount or boost pressure in the cylinder to an upper limit value or less as the control variable.
  • the upper limit value may be set in accordance with other operating conditions such as the crank angular velocity (rotational speed). Since pre-ignition is more likely to occur when the intake air amount in the cylinder increases, the upper limit value is set to be less than the range of the intake air amount or boost pressure in which pre-ignition is likely to occur.
  • the engine control unit 60 may limit the air-fuel ratio to be richer than the limit value as the control variable. Since pre-ignition is more likely to occur when the air-fuel ratio becomes lean due to a high intake air amount, the limit value is set to be richer than the range of the air-fuel ratio in which pre-ignition is likely to occur. The limit value may be set in accordance with other operating conditions such as the intake air amount or crank angular velocity (rotational speed). The engine control unit 60 may limit the ignition timing to a more retarded side than a limit value as a controlled variable.
  • the limit value is set to a more retarded side than the range of ignition timing in which pre-ignition is more likely to occur.
  • the limit value may be set according to other operating conditions such as the intake air amount and crank angular velocity (rotational speed).
  • the engine control unit 60 may limit the exhaust gas recirculation amount (EGR amount) within a limited range as a controlled variable. Since increasing the EGR amount makes pre-ignition less likely to occur, the limit range is set to a range of EGR amount in which pre-ignition is less likely to occur.
  • the limit range may be set according to other operating conditions such as the intake air amount and crank angular velocity (rotational speed).
  • the engine control unit 60 may limit the opening and closing valve timing of one or both of the intake valve and the exhaust valve within a limited range as a controlled variable. Increasing the valve overlap period between the intake valve and the exhaust valve increases the amount of internal EGR, making it less likely that pre-ignition will occur, so the limit range is set to a range of valve opening/closing timing that makes it less likely that pre-ignition will occur. The limit range may also be set depending on other operating conditions such as the intake air amount and the crank angular velocity (rotational speed).
  • the internal combustion engine may be provided with a turbocharger 36.
  • the turbocharger 36 includes a turbine 39 provided in the exhaust pipe 17, a compressor 38 provided in the intake pipe 23 upstream of the throttle valve 4 and rotating integrally with the turbine 39, an air bypass passage 40 in the intake pipe 23 that bypasses the compressor 38, an air bypass valve 41 provided in the air bypass passage 40, a bypass valve actuator 41a that drives the air bypass valve 41, an exhaust bypass passage 37 in the exhaust pipe 17 that bypasses the turbine 39, a wastegate valve 34 provided in the exhaust bypass passage 37 of the exhaust pipe 17, and a gate valve actuator 34a that drives the wastegate valve 34.
  • a turbocharger intake pipe 42 which is a portion of the intake pipe 23 downstream of the compressor 38 and upstream of the throttle valve 4, is provided with a turbocharger pressure sensor 35 that generates an electric signal corresponding to a turbocharger pressure P2, which is the pressure of the air in the turbocharger intake pipe.
  • the engine control unit 60 may control the boost pressure P2 using the gate valve actuator 34a.
  • the abnormal combustion determination unit 59 determines whether megaknock or low-speed planinosis, which occur in the supercharging region of a supercharged internal combustion engine, has occurred as abnormal combustion.
  • the engine control unit 60 limits the control variable to a range in which megaknock or low-speed planinosis is unlikely to occur until it is determined that the change in the correction value has been completed.
  • the engine control unit 60 limits the boost pressure P2 or intake air amount as a control variable to an upper limit value or less.
  • the upper limit value may be set according to other operating conditions such as the crank angular velocity (rotational speed).
  • the upper limit value is set to a range in which megaknock and other problems are more likely to occur.
  • the engine control unit 60 may limit the air-fuel ratio to a value richer than the limit value as a control variable. When the air-fuel ratio is not rich enough in the supercharging region, megaknock and other problems are likely to occur. Therefore, the limit value is set to be richer than the range of air-fuel ratios in which megaknock and other problems are likely to occur.
  • the limit value may be set in accordance with other operating conditions, such as the intake air amount and crank angular velocity (rotational speed).
  • the engine control unit 60 may limit the ignition timing to be more retarded than the limit value as a controlled variable. When the ignition timing is advanced in the supercharging region, megaknock and other problems are likely to occur. Therefore, the limit value is set to be more retarded than the range of ignition timing in which megaknock and other problems are likely to occur.
  • the limit value may be set in accordance with other operating conditions, such as the intake air amount and crank angular velocity (rotational speed).
  • the engine control unit 60 may limit the opening and closing valve timing of one or both of the intake valve and the exhaust valve within a limited range as a controlled variable. When the valve overlap period, etc. is changed, megaknock and other problems are less likely to occur due to intake air blow-by and other factors.
  • the limit range is set to a range of opening and closing valve timing of each valve in which megaknock and other problems are less likely to occur.
  • the limit range may be set according to other operating conditions such as intake air volume, crank angular velocity (rotational speed), etc.
  • the abnormal combustion determination unit 59 determines whether misfire or incomplete combustion has occurred as abnormal combustion.
  • the engine control unit 60 limits the control variable to a range in which misfire or incomplete combustion is unlikely to occur until it is determined that the change in the correction value has been completed.
  • the engine control unit 60 limits the intake air amount in the cylinder to a limited range as a control variable.
  • the limited range may be set depending on other operating conditions such as the crank angular velocity (rotational speed). Since misfires and the like are more likely to occur when the intake air amount is low or high, the limited range is set to a range of intake air in which misfires and the like are less likely to occur.
  • the engine control unit 60 may also limit the air-fuel ratio to a limited range as a control variable. Since misfires and the like are more likely to occur when the air-fuel ratio becomes leaner or richer, the limited range is set to a range of air-fuel ratio in which misfires and the like are less likely to occur. The limited range may be set depending on other operating conditions such as the intake air amount and the crank angular velocity (rotational speed).
  • the engine control unit 60 may also limit the ignition timing to a limited range as a control variable. Since advancing or retarding the ignition timing makes misfires and the like more likely to occur, the limit range is set to a range of ignition timing in which misfires and the like are less likely to occur.
  • the limit range may be set in accordance with other operating conditions, such as the intake air amount, crank angular velocity (rotational speed), etc.
  • the engine control unit 60 may limit the exhaust gas recirculation (EGR) amount as a controlled variable to an upper limit value or less. Since increasing the EGR amount makes misfires and the like more likely to occur, the upper limit value is set to an EGR amount range in which misfires and the like are more likely to occur.
  • the upper limit value may be set in accordance with other operating conditions, such as the intake air amount, crank angular velocity (rotational speed), etc.
  • the engine control unit 60 may limit the valve opening/closing timing of one or both of the intake valve and the exhaust valve within a limited range as a controlled variable.
  • the limit range is set to a range of valve opening/closing timing of each valve in which misfires and the like are less likely to occur.
  • the limit range may be set in accordance with other operating conditions, such as the intake air amount, crank angular velocity (rotational speed), etc.
  • the engine control unit 60 may control the fuel injection timing as a controlled variable.
  • the engine control unit 60 limits the fuel injection timing to a range in which abnormal combustion is unlikely to occur until it is determined that the change in the correction value has been completed. Since advancing or delaying the fuel injection timing makes pre-ignition, megaknock, misfire, etc. more likely to occur, the limit range is set to a range of fuel injection timing in which abnormal combustion, etc. are unlikely to occur.
  • the limit range may also be set depending on other operating conditions such as the intake air amount, crank angular velocity (rotational speed), and air-fuel ratio.
  • the engine control unit 60 may control the maximum valve lift of one or both of the intake valve and the exhaust valve as the control variable.
  • the engine control unit 60 limits the maximum valve lift to a range in which abnormal combustion is unlikely to occur until it is determined that the change in the correction value has been completed. Since decreasing or increasing the maximum valve lift makes pre-ignition, megaknock, misfire, etc. more likely to occur, the limit range is set to a range of maximum valve lift in which abnormal combustion, etc. is unlikely to occur.
  • the limit range may also be set depending on other operating conditions such as the intake air amount, crank angular velocity (rotational speed), and air-fuel ratio.
  • the feature value calculation unit 61 calculates a feature value Fv representing the feature of the correction value, which is a specific number Nfv less than the number Nmx of correction values, based on each correction value Kc(n) in the angle section Sd(n).
  • the state of the correction value Kc can be efficiently grasped using the feature value Fv, which is a specific number Nfv that is smaller than the number Nmx of correction values.
  • Each correction value Kc(n) is a coefficient representing the error for each angle interval Sd(n) based on the reference value Kc0.
  • the reference value Kc0 is set to 1.
  • the feature value calculation unit 61 calculates each of the feature values Fv of the specific number Nfv by summing the absolute values of the values obtained by subtracting the reference value Kc0 (1 in this example) from each of the correction values Kc(n) within the range of a specific angle interval previously assigned to each of the feature values Fv of the specific number Nfv.
  • the characteristic value Fv of the specific number Nfv can be calculated by the simple process of calculating the sum of the absolute values of the correction value Kc(n) minus the reference value Kc0 for each specific angle range.
  • the specific number Nfv is set to 1
  • the range of the specific angle interval for one feature value Fv is set to all angle intervals Sd for one rotation of the crankshaft.
  • the feature value calculation unit 61 calculates one feature value Fv using the following equation:
  • Nmx is the maximum number of the angle identification number n (60 in this example), the number of all angle intervals for one rotation of the crankshaft, and the number of correction values.
  • the range of the specific angle interval for each feature value Fv is set to the range of angle intervals obtained by dividing all angle intervals Sd for one rotation of the crankshaft by the specific number Nfv. If the specific number Nfv is 2, the range of the specific angle interval for each feature value Fv is set to a range of 180 degrees, obtained by dividing 360 degrees into two. Alternatively, if the specific number Nfv is 3, the range of the specific angle interval for each feature value Fv is set to a range of 120 degrees, obtained by dividing 360 degrees into three. The range of the specific angle interval for each feature value Fv may also be set to a range starting from the top dead center of each cylinder. Then, in equation (32), the accumulation range of the angle identification number n is set corresponding to the range of the specific angle interval for each feature value Fv, and each feature value Fv is calculated.
  • the feature value calculation unit 61 may calculate each of the feature values Fv of the specific number Nfv by summing the absolute values of the values obtained by subtracting the reference value Kc0 (1 in this example) from each of the correction values Kc(n) in each range of specific angle intervals pre-assigned to each of the feature values Fv of the specific number Nfv, and dividing the sum by the number of angle intervals Nsd in the range of the specific angle intervals.
  • the feature value Fv of the specific number Nfv can be calculated by the simple process of dividing the sum of the absolute values of the correction value Kc(n) minus the reference value Kc0 in each range of the specific angle interval by the number of angle intervals Nsd.
  • the specific number Nfv is set to 1
  • the range of a specific angle interval for one feature value Fv is set to all angle intervals Sd for one rotation of the crankshaft
  • the number of angle intervals Nsd is set to the number Nmx of all angle intervals.
  • the feature value calculation unit 61 calculates one feature value Fv using the following equation.
  • the range of the specific angle interval for each feature value Fv is set to the range of angle intervals obtained by dividing all angle intervals Sd for one rotation of the crankshaft by the specific number Nfv. If the specific number Nfv is 2, the range of the specific angle interval for each feature value Fv is set to a range of 180 degrees, obtained by dividing 360 degrees into two. Alternatively, if the specific number Nfv is 3, the range of the specific angle interval for each feature value Fv is set to a range of 120 degrees, obtained by dividing 360 degrees into three. The range of the specific angle interval for each feature value Fv may also be set to a range starting from the top dead center of each cylinder. Then, in equation (33), the accumulation range of the angle identification number n and the number of angle intervals Nsd are set corresponding to the range of the specific angle interval for each feature value Fv, and each feature value Fv is calculated.
  • the update storage determination unit 62 determines whether or not to update and store the learned correction value Kclrn(n), which is obtained by learning each correction value Kc(n) for the angle section Sd(n), based on the feature value Fv of the specific number Nfv, in a non-volatile storage device or a volatile storage device connected to a backup power source.
  • the learning value storage unit 63 updates and stores the respective learning correction values Kclrn(n) for the angle interval Sd(n) in a non-volatile storage device or a volatile storage device connected to a backup power source based on the respective correction values Kc(n) for the angle interval Sd(n).
  • the correction value Kc when it is determined that the characteristic value Fv should be used to update and store the learned correction value Kclrn, the correction value Kc can be maintained as the learned correction value Kclrn even after the power is turned off, and can be used as the initial value of the correction value Kc the next time the power is turned on.
  • each learned correction value Kclrn(n) for the angle interval Sd(n) is associated with each angle identification number n and stored in a non-volatile storage device or a volatile storage device connected to a backup power source.
  • the learned value storage unit 63 may update and store the correction value Kc(n) for each angle interval Sd(n) as the learned correction value Kclrn(n) for each angle interval Sd(n), or may update and store the learned correction value Kclrn(n) for each angle interval Sd(n) as the learned correction value Kclrn(n) for each angle interval Sd(n) by the sum of the value obtained by multiplying the correction value Kc(n) for each angle interval Sd(n) by a reflection rate Kref that is smaller than 1 and the value obtained by multiplying the learned correction value Kclrn(n) for each angle interval Sd(n) before the update and storage by the value obtained by subtracting the reflection rate Kref from 1, as shown in equation (35).
  • the update storage determination unit 62 sets the storage timing to a timing that is set after the change completion determination unit 58 determines that the change in the correction value has been completed and before the power to the control device 50 is turned off.
  • the storage timing may be set immediately after it is determined that the change in the correction value has been completed, or may be set immediately before the power (main switch) of the control device 50 is turned off after it is determined that the change in the correction value has been completed.
  • the update storage determination unit 62 determines not to update and store the learned correction value Kclrn(n).
  • the specific number Nfv is set to 1, and the update storage determination unit 62 determines not to update and store the learned correction value Kclrn(n) if one feature value Fv is equal to or greater than the abnormality determination value at the storage timing.
  • This configuration prevents the learned correction value Kclrn(n) from being updated and stored when the tooth arrangement crank angle fluctuates beyond the standard, or when a calculation error beyond the standard occurs in the correction value Kc due to the influence of external disturbances, etc.
  • the characteristic value storage unit 64 stores the characteristic values Fv of the specific number Nfv in chronological order at the storage timing in a non-volatile storage device or a volatile storage device connected to a backup power source.
  • the update storage determination unit 62 determines whether or not to update and store the learning correction value Kclrn at the current storage timing based on the characteristic value Fv of the specific number Nfv calculated at the current storage timing and the characteristic value Fv of the specific number Nfv at a previous storage timing stored in a non-volatile storage device or a volatile storage device connected to a backup power source.
  • the update storage determination unit 62 calculates, at the current storage timing, the feature value change amount ⁇ Fv, which is the absolute value of the difference between each of the feature values Fv of the specific number Nfv at the current storage timing and each of the feature values Fv of the specific number Nfv at the previous storage timing. If any of the feature value change amounts ⁇ Fv of the specific numbers Nfv exceed the change amount determination value, it determines not to update and store the learning correction value Kclrn; and if the feature value change amount ⁇ Fv of the specific number Nfv falls below the change amount determination value, it determines to update and store the learning correction value.
  • the specific number Nfv is set to 1, and the update storage determination unit 62 calculates, at the current storage timing, the feature value change amount ⁇ Fv, which is the absolute value of the difference between one feature value Fv at the current storage timing and one feature value Fv at the previous storage timing. If one feature value change amount ⁇ Fv exceeds the change amount determination value, it determines not to update and store the learning correction value Kclrn, and if one feature value change amount ⁇ Fv falls below the change amount determination value, it determines to update and store the learning correction value Kclrn.
  • the characteristic value change amount ⁇ Fv increases, preventing the learned correction value Kclrn from being updated and stored.
  • Disturbances include braking force and external forces from the road surface, and the external load torque acting on the crankshaft can suddenly change due to the disturbance, degrading the accuracy of the correction value Kc change.
  • the characteristic value change amount ⁇ Fv increases and the learned correction value Kclrn is not updated and stored.
  • the update storage determination unit 62 determines not to update and store the learning correction value Kclrn at the two-previous and previous storage times, and determines to update and store the learning correction value at the current storage time, it determines that a temporary calculation error in the correction value Kc occurred at the two-previous storage time.
  • the feature value Fv fluctuates from its normal value at the second-to-last storage timing and returns to its original normal value at the previous storage timing, so the feature value change amount ⁇ Fv increases at the second-to-last and previous storage timings, and it is determined that the feature value should not be updated and stored. Furthermore, since the feature value Fv remains at its original normal value at the current storage timing, the feature value change amount ⁇ Fv decreases, and it is determined that the feature value should be updated and stored. Therefore, by making a determination using the above configuration, it can be accurately determined that a temporary calculation error occurred at the second-to-last storage timing due to the influence of a disturbance or the like.
  • the update storage determination unit 62 determines not to update and store the learning correction value at the time of the previous storage but determines to update and store the learning correction value at the previous and current storage times, it determines that a change in the characteristics of the detected part occurred or that the rotating member on which the detected part is provided was replaced before the time of the previous storage.
  • the rotating member in this example, the flywheel 27
  • the replaced or aging rotating member is used between the previous and current storage timings
  • the feature value Fv will fluctuate due to the change in characteristics at the previous storage timing, and the feature value Fv will remain unchanged between the previous and current storage timings.
  • the feature value change amount ⁇ Fv will increase at the previous storage timing, and it will be determined not to update and store
  • the feature value change amount ⁇ Fv will decrease at the previous and current storage timings, and it will be determined to update and store. Therefore, by making a determination using the above configuration, it can be accurately determined that a change in the characteristics of the detected part occurred or that the rotating member on which the detected part is provided was replaced before the previous storage timing.
  • control device 50 according to a second embodiment will be described with reference to the drawings. Description of components that are the same 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 ideal angular velocity calculation unit 55 differs from that of the first embodiment.
  • the ideal angular velocity calculation unit 55 calculates the ideal interval angular velocity ⁇ id, which is the angular velocity corresponding to each angle interval Sd in an ideal state assuming no fluctuations in the tooth arrangement crank angle, based on the estimated shaft torque value Tcrke(n) for each angle interval Sd(n) and the moment of inertia Icrk of the crankshaft system.
  • the ideal angular velocity calculation unit 55 changes the correction value Kc(n) for each angle interval Sd(n) so that the average value ⁇ sd_ave of the detected interval angular velocities ⁇ sd in the averaging processing angle interval Save does not deviate from the average detected angular velocity ⁇ saved, thereby matching the average value ⁇ id_ave of the ideal interval angular velocities ⁇ id in the averaging processing angle interval Save to the average detected angular velocity ⁇ saved.
  • the ideal angular velocity calculation unit 55 calculates the ideal interval angular acceleration ⁇ id(n), which is the angular acceleration in the ideal state corresponding to each angle interval Sd(n), based on the estimated shaft torque Tcrke(n) for each angle interval Sd(n) and the moment of inertia Icrk of the crankshaft system. This calculation process is performed for each angle interval Sd(n) in the averaging processing angle interval Save.
  • the ideal angular velocity calculation unit 55 sets the angle interval Scal(n) to be calculated by shifting the angle interval Sd one by one toward the advance angle side, calculates the ideal time interval ⁇ Tid(n), which is the time interval in an ideal state corresponding to the angle interval Scal(n), based on the ideal interval angular acceleration ⁇ id(n) corresponding to the angle interval Scal(n) to be calculated and the provisional ideal interval angular velocity ⁇ idtmp(n-1) calculated in the angle interval Scal(n-1) to be calculated one phase behind, and calculates the provisional ideal interval angular velocity ⁇ idtmp(n), which is the angular velocity in an ideal state corresponding to the angle interval Scal(n), based on the ideal time interval ⁇ Tid(n) corresponding to the angle interval Scal(n).
  • Q is the angle identification number corresponding to the first angle interval of the averaging processing angle interval Save
  • R is the angle identification number corresponding to the ending angle interval of the averaging processing angle interval Save.
  • the ideal angular velocity calculation unit 55 calculates an ideal time interval ⁇ Tid(n), which is the time interval in an ideal state corresponding to the angle interval Scal(n) to be calculated, based on the ideal interval angular acceleration ⁇ id(n) corresponding to the angle interval Scal(n) to be calculated and the tentative ideal interval angular velocity ⁇ idtmp(n-1) calculated in the angle interval Scal(n-1) to be calculated on the one retard side.
  • the ideal angular velocity calculation unit 55 calculates a tentative ideal interval angular velocity ⁇ idtmp(n), which is the angular velocity in an ideal state corresponding to the angle interval Scal(n) to be calculated, based on the ideal time interval ⁇ Tid(n) corresponding to the angle interval Scal(n) to be calculated.
  • the ideal angular velocity calculation unit 55 calculates an average value ⁇ idtmp_ave of the provisional ideal section angular velocities ⁇ idtmp in the averaging processing angular section Save.
  • the ideal angular velocity calculation unit 55 subtracts the average value ⁇ idtmp_ave of the tentative ideal section angular velocity from the tentative ideal section angular velocity ⁇ idtmp and adds the average detected angular velocity ⁇ saved to the subtracted value to calculate the ideal section angular velocity ⁇ id. This calculation process is performed for each angle section Sd(n) of the averaging processing angle section Save.
  • this calculation process allows the average value ⁇ id_ave of the ideal section angular velocity ⁇ id in the averaging processing angle section Save to match the average detected angular velocity ⁇ saved. Therefore, the correction value Kc is changed so that the detection section angular velocity ⁇ sd approaches the ideal section angular velocity ⁇ id, and therefore the correction value Kc can be changed so that the average value ⁇ sd_ave of the detection section angular velocity ⁇ sd in the averaging processing angle section Save does not deviate from the average detected angular velocity ⁇ saved.
  • control device 50 according to a third embodiment will be described with reference to the drawings. Description of the same components as those in the first or second embodiment will be omitted.
  • the basic configuration of the control device 50 according to this embodiment is the same as that of the first or second embodiment, but the processing of the correction value changing unit 56 differs from that of the first or second embodiment.
  • the correction value change unit 56 changes the correction value Kc(n) for each angle interval Sd(n) so that the average value ⁇ sd_ave of the detection interval angular velocities ⁇ sd in the averaging processing angle interval Save does not deviate from the average detected angular velocity ⁇ saved, thereby matching the average value ⁇ sd_ave of the detection interval angular velocities ⁇ sd in the averaging processing angle interval Save with the average detected angular velocity ⁇ saved.
  • the correction value changing unit 56 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. The following equation is used for this calculation. This calculation is performed for each angle interval Sd(n) in the averaging processing angle interval Save.
  • the correction value changing unit 56 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.
  • the correction value changing unit 56 calculates an average value ⁇ sdtmp_ave of the provisional detection section angular velocity ⁇ sdtmp in the averaging processing angular section Save.
  • the correction value changing unit 56 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 the subtracted value 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.
  • This calculation process makes it possible to make the average value ⁇ sd_ave of the detection section angular velocities in the averaging processing angle section Save match 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 angle section Save does not deviate from the average detected angular velocity ⁇ saved.
  • the correction value change unit 56 changes the correction value Kc(n) for each angle interval Sd(n) so that the detected interval angular velocity ⁇ sd(n) approaches the ideal interval angular velocity ⁇ id(n) for each angle interval Sd(n).
  • the second crank angle sensor 6 corresponds to the "specific crank angle sensor” in the present disclosure
  • the flywheel 27 corresponds to the "rotating member” in the present disclosure
  • the teeth of the ring gear 25 provided on the flywheel 27 correspond to the "detected portion” in the present disclosure.
  • the embodiments of the present disclosure are not limited to this. That is, the first crank angle sensor 11 may correspond to the "specific crank angle sensor” in the present disclosure, the signal plate 10 may correspond to the "rotating member” in the present disclosure, and the plurality of teeth provided on the signal plate 10 may correspond to the "detected portion” in the present disclosure.
  • the internal combustion engine 1 has been described as a gasoline engine. However, the embodiments of the present disclosure are not limited to this. In other words, the internal combustion engine 1 may be any type of internal combustion engine, such as a diesel engine or an engine that performs HCCI combustion (Homogeneous-Charge Compression Ignition Combustion).
  • HCCI combustion Homogeneous-Charge Compression Ignition Combustion
  • the axial torque estimator 54 calculates the external load torque Tload based on the axial torque estimated value Tcrke( ⁇ d_tdc) calculated at the crank angle ⁇ d_tdc near the top dead center of the piston and the axial torque detected value Tcrkd( ⁇ d_tdc). However, the axial torque estimator 54 calculates the ideal section angular velocity ⁇ id in an ideal state without external load torque based on the axial torque estimated value Tcrke to which the external load torque Tload in equation (13) has not been added and the moment of inertia Icrk of the crankshaft system.
  • the axial torque estimated value Tcrke to which the external load torque Tload in equation (13) has not been added is used, and the other calculation processes for the ideal section angular velocity ⁇ id are the same as those in the first or second embodiment.
  • the axial torque estimator 54 then calculates an average value ⁇ id_ave of the ideal section angular velocities ⁇ id in an ideal state where there is no external load torque during the averaging processing angular section Save.
  • the axial torque estimator 54 may then estimate the external load torque Tload based on the difference between the average value ⁇ id_ave of the ideal section angular velocities ⁇ id in an ideal state where there is no external load torque during the averaging processing angular section Save and the average value ⁇ sd_ave of the detection section angular velocities ⁇ sd after correction during the averaging processing angular section Save.
  • the axial torque estimator 54 subtracts the average value ⁇ id_ave of the 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 angular section, and multiplies the result by the moment of inertia Icrk of the crankshaft system to calculate the external load torque Tload.

Landscapes

  • Engineering & Computer Science (AREA)
  • Chemical & Material Sciences (AREA)
  • Combustion & Propulsion (AREA)
  • Mechanical Engineering (AREA)
  • General Engineering & Computer Science (AREA)
  • Combined Controls Of Internal Combustion Engines (AREA)
PCT/JP2024/007686 2024-03-01 2024-03-01 内燃機関の制御装置 Pending WO2025182062A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2026503443A JPWO2025182062A1 (https=) 2024-03-01 2024-03-01
PCT/JP2024/007686 WO2025182062A1 (ja) 2024-03-01 2024-03-01 内燃機関の制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2024/007686 WO2025182062A1 (ja) 2024-03-01 2024-03-01 内燃機関の制御装置

Publications (1)

Publication Number Publication Date
WO2025182062A1 true WO2025182062A1 (ja) 2025-09-04

Family

ID=96920740

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2024/007686 Pending WO2025182062A1 (ja) 2024-03-01 2024-03-01 内燃機関の制御装置

Country Status (2)

Country Link
JP (1) JPWO2025182062A1 (https=)
WO (1) WO2025182062A1 (https=)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003328843A (ja) * 2002-05-14 2003-11-19 Toyota Motor Corp 内燃機関のクランク角度検出装置
JP2017186957A (ja) * 2016-04-06 2017-10-12 三菱電機株式会社 内燃機関の制御装置及びその制御方法
JP2023157531A (ja) * 2022-04-15 2023-10-26 三菱電機株式会社 内燃機関の制御装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003328843A (ja) * 2002-05-14 2003-11-19 Toyota Motor Corp 内燃機関のクランク角度検出装置
JP2017186957A (ja) * 2016-04-06 2017-10-12 三菱電機株式会社 内燃機関の制御装置及びその制御方法
JP2023157531A (ja) * 2022-04-15 2023-10-26 三菱電機株式会社 内燃機関の制御装置

Also Published As

Publication number Publication date
JPWO2025182062A1 (https=) 2025-09-04

Similar Documents

Publication Publication Date Title
CN107269409B (zh) 内燃机的控制装置及其控制方法
US9441556B2 (en) Noise updating systems and methods
CN106988919B (zh) 内燃机的控制装置及其控制方法
US20060142926A1 (en) Misfire detection system for internal combustion engine
JP7146131B1 (ja) 内燃機関の制御装置
US11473517B1 (en) Controller and control method for internal combustion engine
US11480121B2 (en) Controller and control method for internal combustion engine
CN104697800B (zh) 一种检测发动机燃烧阶段的方法及装置
WO2012147193A1 (ja) 内燃機関の制御装置
US9115655B2 (en) Cylinder pressure parameter correction systems and methods
US11555462B2 (en) Controller and control method for internal combustion engine
US10527522B2 (en) Misfire determination device and misfire determination method of internal combustion engine
JP7030884B2 (ja) 内燃機関の制御装置
WO2025182062A1 (ja) 内燃機関の制御装置
WO2025182061A1 (ja) 内燃機関の制御装置
US11703418B2 (en) Controller for internal combustion engine
US20230184187A1 (en) Controller for internal combustion engine
JP7756839B2 (ja) 内燃機関の制御装置
JP7621562B2 (ja) 内燃機関のトルク推定装置
JP7814617B2 (ja) 内燃機関の制御装置
JP7191188B1 (ja) 内燃機関の制御装置
WO2025197019A1 (ja) 内燃機関の制御装置
WO2025187039A1 (ja) 内燃機関の制御装置
JPWO2025182061A5 (https=)

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 24927102

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2026503443

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 2026503443

Country of ref document: JP