Ch112063 is right about the ignition switch, but they usually aren't intermittent. Two common things happen. One is a broken cam on the end of the cylinder. The dash lights will work fine, but the switch won't go quite far enough to hit the "Crank" position. The other problem is burned contacts and overheated / melted wiring and terminals at the switch connector. These CAN cause intermittent problems, but generally not with the cranking circuit. It more commonly affects the accessory circuit, (power windows, radio, etc.). This is more commonly seen when people use the heater fan on its highest setting quite often.
If you hear one loud clunk from the starter but it doesn't turn the engine, suspect worn solenoid contacts. This is extremely common, and just cycling the ignition switch to the crank position repeatedly will eventually get it to crank. This will get worse over the next few weeks or months. The contacts can be replaced for 20 bucks, but most people just replace the entire starter. You should not bang on it with a hammer. That worked many years ago with big heavy starters to jar worn brushes into making temporary contact. These starters have permanent magnets glued to the case instead of windings of wire that are bolted on. Banging on them will break them loose, and there is no practical repair then other than total starter replacement. These brushes never wear out. You'll go through a dozen sets of contacts before one set of brushes.
The additional clue it's worn solenoid contacts is the headlights and dome lights will not dim very much when trying to crank the engine. If the lights do dim when trying to crank the engine, suspect what ch112063 said about battery cables, terminals, and the battery itself.
Caradiodoc
Friday, August 28th, 2009 AT 5:06 PM