Patent ID: 8281569

Claim:
An exhaust gas purification device for an internal combustion engine comprising: a control portion that sets, a first lean period, a rich period, and a second lean period as a cycle, wherein during the first lean period, unburned fuel components are not supplied to a catalyst in order to make the atmosphere around the catalyst lean; during the rich period, unburned fuel components are supplied to the catalyst to make the atmosphere around the catalyst rich; and during the second lean period, the supply of unburned fuel components to the catalyst is stopped, and that repeats the cycle to raise an average of a catalyst bed temperature to a target bed temperature, wherein the control portion sets a duration of the rich period based on an engine operation state, sets a duration of the first lean period based on the duration of the rich period, calculates a required flow rate of unburned fuel components supplied to the catalyst to make the average of the catalyst bed temperature equal to the target bed temperature through continuous supply of the unburned fuel components to the catalyst, calculates a required fuel amount of the total unburned fuel components to be supplied to the catalyst at the required flow rate from a start of the first lean period, supplies unburned fuel components to the catalyst at a flow rate higher than the required flow rate during the rich period, calculates an actual fuel amount of unburned fuel components actually supplied to the catalyst from the start of the rich period, sets a period from when the rich period has ended to when the actual fuel amount becomes equal to or smaller than the required fuel amount as the second lean period, resets both the required fuel amount and the actual fuel amount to their initial values when the second lean period ends, and sets the duration of the first lean period in a subsequent cycle shorter than that is set based on the duration of the rich period if the actual fuel amount is below the required fuel amount when the cycle ends.