17-08-2013 I just tried camshaft control on M54B30 - double variable VANOS with two solenoid valves...

...and faced with following camshaft control problem: PWMing has wide "dead zone" where camshaft stays in fixed position. Somewhat like from 35...60%. So current strategy works very robust reqires P=255 and high I value. But once pwm crosses dead-zone margin, camshaft movement is 1)already delayed 2)too sharp.

IMHO BMW purpose was guaranteed PWM area where camshafts are fixed because angle measurement is performed just once per cycle (yes just one signal [of same polarity] per cam rev). At idle/low rpms it is quite a long time (200ms@600rpm, 120ms@1000rpm) when angle potentialy may go wrong.

Engine has only one mod: intake manifold from M50b25 (DBW eleminated). 1.2.11 Frequencies proven 94..375hz. Final 187Hz. Diodes in parallel to solenoids.

So my suggestion is implement something like dead zone whithin pwm stays in case of small error. And PID starts from top or bottom value of this zone if error is higher.

Second problem what persists in any VVT control with VEMS are unstable camshaft angle reading at dynamic situations. It hardly disturbs VVT control. Especially at low rpms or on engines with wide cams and light flywheels.

I made a car with S54B32 without a problem (2*2 vanos per cam). If you want i can send you a config