My first guess would be IACV - Idle Air Control Valve. It's on the back of the motor and regulates the idle. Since your ecu revs the motor up a little when the a/c is on the iacv has to adjust to that, and usually if it starts going up and down fairly quick it's because the adjustment gets to a point that it's out of the iacv's range and it can't compensate. At this point it just goes up and down trying to find the correct adjustment point, but never finds it. Might try adjusting your idle screw down a little.