A real common cause of this is disconnecting the battery or running it dead. The Engine Computer looses everything in memory. Most of that will be relearned on its own except for "minimum throttle", which takes a very specific set of conditions to relearn. To meet those conditions, drive at highway speed with the engine warmed up, then coast for at least seven seconds without touching the pedals. Until that is done, the computer won't know when it must be in control of idle speed.
If that doesn't solve the problem, you'll need a scanner so you can watch the "idle steps" the computer has placed the idle speed motor to. It can place it at one of 256 positions. As its armature slowly rotates, a threaded shaft retracts or extends a pintle valve that opens an air passage around the throttle blade. Also, as it increases the number of steps, it increases the number of milliseconds it holds the injectors open, to increase fuel. Those two things control idle speed.
Typical for a properly-running engine is to find the idle steps around 32. With one misfiring cylinder, expect to see it at around step 50. If you find it at "0", minimum throttle hasn't been relearned yet.
The next thing is to watch what happens to those idle steps when the stalling or low idle speed occurs. For example, if idle speed is too low and you see the steps going real high, the computer is trying to raise idle speed, but without success. If idle speed is too low and the step number is real low, (but not "0"), you have to look for why the computer is requesting such a low speed. Usually that's due to an inaccurate reading from a temperature sensor.
SPONSORED LINKS
Thursday, September 19th, 2019 AT 4:10 PM