CAM Sync causes misfires and prevents low IDLE operation

I’m running CoP with 2 spark plugs per cylinder (active coils triggered at the same time).

Crank sensor is VR (60-2)
CAM sensor is VR (1 tooth)

Both signals present, but the CAM sync trigger tooth fluctuates highly causing misfires.

I was trying to lower the idle RPM to c.a. 1100 (similar to two almost identical engine builds before, but running wasted spark and coil packs), but struggled with that. I blamed the PWM Idle Valve, but that was wrong. When I disable CAM Sync (and therefore I do not run fully sequential but wasted spark), I can go with stable IDLE around 1050RPM easily (engine warmed up).

Currently all IDLE PID disabled, operating throttle with my foot and locked ignition angle at 10 deg BTDC.

On the left hand side above you can see fluctuating RPM and where CAM Sync trigger tooth changes highly from almost tooth 0 to 100. On the right hand side you can see when the pattern is set as do not use there is completely no issues.

What bothers me heavily is that all that happens with mode for coils set as Wasted Spark, so this should not be even taken into consideration, right?

On the Black/Classic forum Mike911Aus (my friend BTW) just posted question about similar issue with cam sync on V2.

Attaching log and scope (twice).
In the scope from 3.028 I have issues seeing the CAM sync trigger, while in 3.025 scope (attaching as well) I’ve seen it synced nicely.

As Mike911Aus is on the other side of the world and using Hall sensors rather than VR and having similar issues, I think it’s worth looking into.

20240615_2034_CAM_Sync_Wasted_Spark.emublog3 (214.8 KB)
scope_2024615_2048-cam-sync.emubscp3 (608 Bytes)
scope_202451_1257_VR_Crank_VR_Cam_IGN.emubscp3 (605 Bytes)

Oh and when I run (set) Wasted Spark only during cranking it’s even worse - I cant go lower than 1500 RPM and engine dies (misfires).

There is a problem with the cam sync readings.
How does your setup look like ?

It used to work. Unfortunately I don’t have my Fluke scope at this moment to check what’s on the wires when cranking. However I will try to see if there is AC in the morning while cranking.
Maybe when engine cools down it will work again? :slight_smile:

3-wire VR sensor




I did downgrade to 3.025 and used tune from that time from the link about CAM Sync1 with VR sensor - no change, no signal.

I plugged my multimeter to B21 and B38/B39 where the signal from the CAM VR sensor goes to, and while cranking I could see voltage around 0.08-0.14V - this confirms sensor works.

Disconnected and connected all the connectors in-between and cranked again. Nada :frowning:

Cranking for about 10-12 seconds, should be enough to get those synced, right?

Attaching log/scope/tune from cranking with 3.028 and latest setup.
scope_2024616_16-cam-sync-debug.emubscp3 (607 Bytes)
2024-06-16_001_CAM-Sync-Debug.emub3 (57.6 KB)

20240616_0106_CAM-Sync-Debug.emublog3 (30.2 KB)

and old scopes that “noticed” the VR sensor…
scope_202451_1257_VR_Crank_VR_Cam_IGN.emubscp3 (605 Bytes)
scope_2024430_1711.emubscp3 (596 Bytes)

I will try again in the morning when the engine cools down, but I don’t expect this will change anything as there is some kind of signal on B21 + B38/B39 right now.

Attaching (second) scope from cranking with engine cold - no change, no signal recognised by Black from the VR CAM sensor. First scope recognised the CAM tooth once at 120 deg, but I hit a bug and the client SW crashed and could not save it and share it (reported bug in separate thread).

scope_2024616_1233-cam-sync-debug.emubscp3 (603 Bytes)

You need to use real oscilosope to see what is the problem with the cam signal.
You can try to disable the pulldown or even try to enable pullup.
But all your problems are connected to the cam sensor signal.

I was kind of expecting that we will not move forward without a scope reading.
I will need to make a small trip to get that readings in the upcoming days, rather than weeks, therefore please let me know what other tests should I perform while I’m there with the scope. Sure the pull up/pull down, but anything else?
Thank you!

make scope feom cranking as well start the engine using only crank signal and take the scope when the engine is running.
based on the signal we can try to find the solution. if the signal is noisy there is a problem woth grounding / shielding.
if thw signal strengh during cranking is weak you can start in watsed apqrk and the engine will synchronise whe the rpm i creases (the signal will be stronger).

Ok, I will. I did scope this Signal about 2 months ago, that time it looked like here:
CAM Scope VR

so is rising edge not falling

Ok so I plugged my scope. Unfortunately I did not figure out a way to record the readings to laptop from it (I have some prehistoric SW for it, but either can’t use it with IR RS232, or it’s just not capturing the signal).

But I did not notice anything different on the real scope screen when misfires happens.

On the screen below first run in sequential (misfires) and a bit later in wasted spark.


The runs here are in general with no pull down resistor and rising edge.
I did try different settings during cranking, but the scope in the EMU client would not pick up/sync them anyway (cranking for about 8 seconds each time).

My real scope readings look like this (engine running in wasted spark), and this is at the EMU black plug (pin 21 and 39). Some spikes here (noise) but not sure if this is not due to my poor connection of the probes (using needles pushed into the plug from behind).

This is at the sensor plug in engine bay:

I have also a video of the real scope screen when engine running, but can’t upload it here (15MB *.mov file). If it would be helpful I could upload it somewhere, but in general it shows the above screen of my Fluke with kind of similar waveforms all the time.

Adding some logs, scopes from ECU, tune.
2024-06-19-CAM-Sync-Debug-Wasted-Spark.emub3 (57.6 KB)

In general scope in EMU has issues with picking up the signal IMHO, or I should use some kind of a filter I’m not aware of / educated enough? Pull down to 1k or 4k7 changes nothing.

scope_2024619_2229-cam-sync-cranking-rising-no-pulldown.emubscp3 (610 Bytes)
scope_2024619_2227-cam-sync-cranking-rising-1k-pulldown.emubscp3 (612 Bytes)
scope_2024619_2221-cam-sync-cranking-falling-no-pulldown.emubscp3 (606 Bytes)
scope_2024619_2219-cam-sync-cranking-rising-no-pulldown.emubscp3 (615 Bytes)
scope_2024619_2144-cam-sync-cranking.emubscp3 (613 Bytes)

20240619_2323_sequentail-and-wasted-spark.emublog3 (345.1 KB)
20240619_2302-misfires-in-full-sync-low-rpm.emublog3 (376.8 KB)
20240619_2235-secondary-trigger-on-and-off-testing.emublog3 (233.0 KB)

Appreciate your help.

I think it should „just work”, but maybe I’m missing something? Also not sure how scope works, as I’m cranking 8-10 second and in scope log chart I can see 2-3 rotations of the crank?

The signal on the first scope picture looks terrible.
There are so many spikes wit the amplitude equal to the tooth voltage.
It looks like the problem withvthe harness / grounding / shielding
Also make sure your spark plugs have resistors built in.

I’m reusing factory harness (shielded) for Hall Sensor built in to the ignition distributor (not used now obviously).

It’s 33 years old harness, so things might get messy. I’m not sure with what kind of „noise” EMU Black can deal with.

Attached Signal at the sensor with engine running in Wasted Spark. Sensor disconnected from harness.

If that is fine, I could still route dedicated shielded harness directly to EMU plug.

Just confirm the above Signal is fine.

A short update as I played around a bit with this, and it’s kind of challenging to setup the VR sensor it seems…

I’ve routed a direct shielded pair of wires from sensor to EMU, just to be sure.
VR+ goes to B21, VR- goes to Sensor Ground, Shield goes to Power Ground.

As the effect I have nice signal on the real scope, engine running on idle in wasted spark config.

What I realised is that with VR CAM sensor to see anything in V3 client scope during cranking (1 tooth) there has to be no pull down nor any filters applied as it seems the signal is to weak when pull down is applied or filter and scope won’t show it (real scope showed the amplitude of c.a. 1V during cranking).

Only when engine is running (higher RPM than during cranking), the electromagnetic field is strong enough to induct more voltage (my scope showed the amplitude of c.a. 3.8V at c.a. 1400 RPM) that can be then manipulated by the pull-down and filter.

This leads me to conclusion, that just to be on the safe side, with VR CAM sensor the ignition should be never used in full sync, but wasted spark during cranking.

Despite a nice signal on the real scope EMU scope shows some garbage.

Only after plying around with pull-down and filters I was able to achieve something that seems to be stable for the time being (1k pull-down and low filter seems to give me best results). When I changed edge for falling, there was no difference basically, just the sync tooth number changed by IIRC like 40 or so.

I tried also to play with the CAM sync tooth window, but it seems it has zero effect at this time, at least that’s what I observed in the EMU Scope (don’t look at the tooth number in the screenshot, just a sample screenshot with wrong value when playing around). I was hoping that I could narrow down the “real” spikes of the VR sensor down to the few teeth I knew the rising edge will be there (teeth between 80 and 85 for example), but… this feature is coming??? With that feature I might get away without pull-down and filter, maybe…

This is a screen with pull-down 4k7 and filter low, I still had some issues at cold engine just after cranking:

CAM sync tooth fluctuates between 22 and 82 (this is 60-2 crank trigger wheel, so It kinda tried to sync with every turn of the crank rather than two rotations - which is odd, as camshaft rotates two times slower than crank, so why?).

Also I’ve noticed the same sync issue down to tooth 22 (60 lower than expected) not just right after cranking.

As seen above with initial sync first tooth 22 is “synced” then it goes to 82 and stays there, until 3x drops back to 22 (misfire happens there instantly).

This is something that bothers me to be honest, although when I changed pull-down to 1k it seems it went away (will confirm that tomorrow with cold engine).

Questions:

  1. Is it true that CAM sync is used only once during the engine start/stop cycle? I’ve noticed cam sync tooth significant changes for a moment or so, that caused a misfire, which makes me believe it’s not used only for initial sync, but all the time?
  2. How do filters work (low/medium/high)?
  3. Is it possible to get a scope from EMU for a longer period when engine running/cranking?
  4. Is the feature cam sync tooth window working?

Thank you :slight_smile:

PS. Attaching logs from above two runs with re-sync between teeth 22 and 82.
20240702_2248-cold-start-cam-tooth-sync-issue.emublog3 (132.1 KB)
20240702_2250-cold-start-cam-tooth-sync-issue.emublog3 (67.4 KB)

There is an option for VR sensor: VR sensor sensitivity table.
You can try to define the threshold as function of the RPM.
The scope doesn’t look bad so it should be possible to do it.
Moreover you can start in wasted spark and when the RPM increases the voltage from the sensor will be higher.