Emu Classic idle management: Issue with PWM to Stepper Idle module

Hi, I am running one of these modules: https://www.classicfuelinjection.co.uk/pwm2stepper with my EMU Classic on my rover v8

Why? I have designed my wiring to use stepper outputs for Relay activation as my original project was relying on a PWM idle valve. Now, after I have burnt 3 different PWM valves, I had decided to use the original stepper of the engine (I’m running a 4.6 rover V8)

Now, I’m experiencing a bad situation in which the engine is randomly revving as the stepper is randomly moving even when the ECU is commanding a fixed DC%. I have done multiple tests to understand what is the root cause:

  • tried to put some more load on the pwm signal (20 ohm resistor between +12v and PWM)
  • tried different settings in idle, and played with different HZ
  • tried different outputs

all with the same result: the stepper is randomly moving even when the DC% are fixed from ECU side.

I tried to pilot the module and stepper with the 1#PWM parametric out and it was working flawlessly. same physical output for PWM to Module.

Is there a known problem with IDLE PWM that could lead to inconsistencies that is not present in output part of firmware? or is the accuracy of the PWM signal lower on purpose with Idle algorithm?
or do you have another idea?

Below the images you can find the comments from the Module builder.

below my settings and link to the Tune (the output i’m using is Aux4, but i tried also aux 5 and 2, same results)

this below a screenshot from the log when the issue is happening:

Comments from module builder:

the PWM box simply converts a PWM signal to steps

When the PWM line is high ( 0% duty cycle ) then 0 steps commanded

PWM low ( 100% duty ) then 200 steps commanded

It should work roughly as follows

PWM 10% = 20 steps

( the PWM line is basically high with small dips to ground giving the 10% duty - so a square wave 90% high with 10% dips to ground )

PWM 50% = 100 step

( the PWM line should be equal hi and low in a square wave )

PWM 100% = 200 steps

( basically the PWM line will be pulled to ground - although with the PWM switching I guess there are short and quick high pulses to maintain it as a square wave ? )

For as long as the PWM signal is commanding some kind of frequency the box will sit at that particular number of steps.

If the box sees no PWM activity at all for about 0.25 seconds it then it goes to the hard zero step reset / re index routine ( closed stepper )

Since the box is basically working and opening and closing when commanded then we can assume all is good with the box - if it was not then I assume there would be no steps and / or incorrect steps and / or wrong direction etc.

that being the case it must be reacting during these random events to something it is seeing on the PWM line

( either PWM changing, going 100%, going 0% or maybe some interference )

I cannot see how it can be anything else

on my test rig I did once get it to act a little strange when I had very quick PID times and instantly commanded a big change in steps ( say 150 steps to 10 steps as an instant change after the PWM had been constant for a while ) it would for a fraction of a second start to move the wrong way and then correct itself and go where expected.

This was so quick, maybe 0.2 second

I always put that down to my ECU control because if I slowed the PID or had more normal changes in step number then the issue was not apparent.

I could never duplicate on a vehicle and could never detect any " wrong " rpm even when I set it on a vehicle with huge changes and very quick PID - hence why I think it was an unnatural event caused by my test rig.

Since we developed the box it has been used on a selection of different ECU’s by various customers and all report good success.

( overall sold about 300 of the boxes, most on MaxxECU systems but probably about 20 or so on other ECU’s )

Hence why I cannot figure out why yours in not playing nicely !

Is it possible with your combination of inverted ( or not ) PWM output from the ECU and then rewire motor to move in correct direction that you are not controlling in the way we think you are.

I assume if you select the other invert function ( invert if you are not inverted or do not invert if you already are inverted ) that the motor would then move in the wrong direction. This being the case then rewiring the stepper should then correct direction.

I just wonder if everything is reversed somehow ( inversion and stepper wiring ) it would give an almost correct operation ( making us think all is correct ) but in actual fact not be correct ?

As a test what would happen if you reconfigured the ECU so the PWM line you are using is not an idle PWM ( reacting to idle routine ) but simply a PWM fixed output ( say 80 / 20 % high - low )

I picked the 80/20 ratio as it should give you enough air to duplicate your idle and then you see if it still dances around in a random fashion or remains basically static ?

If it remains static and stable it would suggest the idle routine in the ECU is somehow confusing the issue.

If it still randomly jumps around it would suggest either some outside interference or maybe a the box not operating properly.

as you can tell I have run out of sensible ideas so a now grasping at anything however remote that maybe causing it

HI
screenshot is not really helpful log file and project would be better to see what’s going on . and also what exact frequency they using on that driver?

Hi,

you’re absolutely right: tune and log are mandatory. For some reason i had attached and then deleted without noticing…

here a link to my Drive folder with tune and log that youre seing in the screenshot: Tune and Log

it looks like the forum is not accepting the.emu and .emulog format :slight_smile:

the driver is said to be working best at 100Hz by the manufacturer. I’m using 100 Hz

thanks for replying to the 3d :smiley:

hi, for reference and if someone will ever read this 3d in the future.
it was a bug in the 1.223 firmware, now solved with the 1.225

thanks to the Ecumaster tech team!