On my 2009 chevy suburban, I had a p0121 code a few months ago, and I cleared it, and it hasn't come back. I found that a dirty throttle body could cause that code, so today I got some throttle body cleaner, took the throttle body out, and cleaned it. It was pretty dirty and I got a bunch of black gunk out. I did move the throttle valve as I read online somewhere that moving it slowly without forcing it is fine. I noticed a high idle of 1.5k rpm, and drove it 500ish feet to the house. When stopped, the idle kept going up to 3000 rpm, and I turned the engine off. The check engine light was on, and I got the codes
P0122 - Throttle position switch A/accelerator pedal position switch A low input
P0222 - Throttle position sensor B/accelerator pedal position Sensor B low input
P0223 - Throttle position sensor B/accelerator pedal position sensor B high input
P0507 - Idle speed control system rpm higher than expected.
On my Bluetooth scan tool, it said the throttle position was at 26% when idling, and 85% with the car off and the pedal fully pressed.
I found a forum post saying that the throttle position needed to be relearned and to start the car and let idle for 3 minutes, stop, let idle for 3 minutes again, then drive for 10 miles. The car still idled at 3000 rpm during that time.
I did that, and when I put the car into drive, nothing happened, and the car would not go forward. I did accidentally drop the cover for the air filter that had the MAF sensor. With the MAF sensor unplugged, the idle jumped around and was at 1.5k, but after 20 seconds, it went back to 3k.
What could be the problem? Did I somehow damage the throttle body? Is there anything I can do to fix it? Im going to leave the battery disconnected overnight to see if that changes anything.