A fuel injection quantity control system for an internal combustion engine, in which a command injection quantity is calculated by adding an injection quantity correction value to a basic injection quantity set in accordance with an operating state or an operating condition of the engine, an injection quantity command value is calculated in accordance with the command injection quantity and a fuel injection pressure, and injectors mounted in cylinders of the engine are driven in accordance with the injection quantity command value, the fuel injection quantity control system comprising;
- multi-injection frequency switching means for switching an injection frequency per combustion in multi-injection to K times or N times different from the K times when a predetermined operating state or a predetermined operating condition of the engine is detected, wherein the multi-injection is performed to inject fuel into the cylinder by a plurality of times by driving the injector by a plurality of times during a compression stroke and an expansion stroke;
- first equal division correcting means for dividing the command injection quantity into K times injections for each cylinder when the injection frequency is switched to K times, for detecting a rotation speed variation of each cylinder, for comparing the rotation speed variation of each cylinder with an average value of the rotation speed vibrations of all the cylinders, for correcting an injection quantity of each injection for each cylinder with a first correction value to equalize the rotation speed variations of all the cylinders while performing K times divided injections, for detecting an average engine rotation speed of all the cylinders, for comparing the average engine rotation speed with a target rotation speed, and for correcting the injection quantity for each injection uniformly for all the cylinders with a second correction value to maintain the average engine rotation speed to the target rotation speed while performing the K times divided injections;
- second equal division correcting means for dividing the command injection quantity into N times injections for each cylinder when the injection frequency is switched to N times, for detecting the rotation speed variation of each cylinder, for comparing the rotation speed variation of each cylinder with the average value of the rotation speed vibrations of all the cylinders, for correcting the injection quantity of each injection for each cylinder with a third correction value to equalize the rotation speed variations of all the cylinders while performing N times divided injections, for detecting the average engine rotation speed of all the cylinders, for comparing the average engine rotation speed with the target rotation speed, and for correcting the injection quantity for each injection uniformly for all the cylinders with a fourth correction value to maintain the average engine rotation speed to the target rotation speed while performing the N times divided injections;
- first correction value determining means for calculating the first correction value of each cylinder in accordance with a deviation between the detected value of the rotation speed variation of each cylinder and the average value of the rotation speed variations of all the cylinders when the injection frequency per combustion in the multi-injection is switched to K times and for calculating the second correction value required for maintaining the average engine rotation speed to the target rotation speed;
- second correction value determining means for calculating the third correction value of each cylinder in accordance with the deviation between the detected value of the rotation speed variation of each cylinder and the average value of the rotation speed variations of all the cylinders when the injection frequency per combustion in the multi-injection is switched to N times and for calculating the fourth correction value required for maintaining the average engine rotation speed to the target rotation speed;
- and
- erroneous correction discriminating means for discriminating an injector individual difference, an inter-cylinder injection quantity variation, and an injector aging deterioration quantity from variation in an engine-demanded injection quantity based on change in the injection quantity command value or a difference in an injection quantity between a first injection quantity command value and a second injection quantity command value, wherein the first injection quantity command value is a sum of the injection quantity command value, the first correction value and the second correction value, and the second injection quantity command value is a sum of the injection quantity command value, the third correction value and the fourth correction value.