Hello, Usually The throttle position sensor controls that. When they go bad, your idle will go up and down like that. I hope this is helpful.
Cars often idle fast when you start them up. The automatic choke will make the car idles fast for a while then the idle speed will slow down, once the engine warms up.
When you stop or idle after the car warms up the engine will idle sparatically up and down. Then one day the car will crank but not turn over.
The Subaru engine could have a vacuum leak, bad head gasket, stuck choke, or several other things causing the problem. Any of these could give problems then ease up as the engine warms up.
The most common cause of engine surging (rev up and down) is a dirty air filter.
A broken or maladjusted IAC valve.
Everything I have read says that the vehicle will start and then die. Holding the accelerator down a tiny bit will keep it running. After the engine warms a bit, it will go back to normal idle. Needs cleaning or changing.
Mine was doing that for a while. I took the Idle Air Control valve apart and cleaned it. Problem solved. Its normal for the engine to idle higher when its cold though. Once it warms up a bit the idle should settle down.
It is normal for a GMC Sierra to idle fast when it is first started. It will idle at around 1500 rpm until the engine warms up. To get it to slow the rpm's sooner, a person can tap the throttle once and it should slow down.
The idle speed control solenoid controls the idle of the engine when the air conditioning is engaged. Since the ac pump draws down the engine idle the solenoid increase the idle when the ac is on.
My mechanic (who I trust) replaced my O2 sensor and exhaust manifold and the problem went away.
if the engine is cold the computer says I'm cold so rich up the mixture and speed up the engine via TPS. then once the engine warms up another sensor tells the computer it has warmed up and decrease the TPS signal slowing the RPM down.