Here is my problem
When driving for a while in city traffic (stopping/accelerating a lot), check engine light turns on and the car starts to lose RPM at idle and wants to stall. It also wants to choke/stall when suddenly pressing the gas pedal when check engine light is on and the car is in neutral. Keeping the motor at high revs (2k+) avoids stalling. This does not happen while driving on the highway. The error (together with idle malfunction) disappears when the car has cooled for a few hours.
Check engine light flashes a single errocde: 47. This indicates a fault with the CMP (camshaft position) sensor.
It is a Suzuki Baleno, 1.6L engine, 72 kW, year 2000, 4wd, universal/station wagon.
What I've tested
My CMP is a Hall effect type sensor with three leads: 12 V (battery), 5 V (signal) and GND (battery). I opened up the "endcap" attached to the engine, into which the camshaft sensor goes. Under this cap I saw a disk attached to the shaft with two sharp protruding notches on it. The sensor reads these notches. These equal height notches were radially placed about 90 degrees apart from each other (360 degrees being one full revolution of the shaft). From this it was evident that the sensor should give an according output, something like this: __|_|_____, repeat (_ = 0 V, | = 5 V). I attached an oscilloscope to the sensor and started the car. Indeed, I saw the pulse train which I thought I'd see. So it would seem that the sensor is not faulty. !NB! - this test was carried out with a "cold" engine, no engine warning light lit in the dash.
I also tried the engine for vacuum leaks with brake cleaner, but I got no change in RPM when spraying around the low pressure hosing.
I could not read the OBD 2 port in the car with ELM 327, it does not recognize the car's protocol as OBD 2.
Even though the CMP hall effect sensor seems to be fine, can it possibly fail or act erradic at higher temperatures due to "wear"? There must be some comparator circuitry in there to produce a digital pulse train. Can it be that errcode 47 is triggered by some other failing sensor, such as the engine coolant sensor?