Speeduino is now on Github Sponsors (Rather than Patreon): https://github.com/sponsors/noisymime
Help with building your Speeduino, installing it, getting it to run etc.
By kettlekev
#47738
I am trying to make sense of the Crank based RPM output (RPM1).

Using the simulator board as a plug in to generate RPM and using Tunerstudio as the monitor.
Looking with a scope at 1,000 rpm the square wave has a frequency of around 1.6milliseconds (it jitters a bit)
At 10,000 rpm it is around 170 micro seconds (0.17 ms).

But....unless I have my maths wrongs I think...

1,000 rpm = 16.66hz = 60ms duty cycle
10,000 rpm = 166.6 hz = 6ms duty cycle

Both are roughly a factor of 10 different which is correct but the numbers look wrong on the scope?

What am I missing?

What else affects the RPM output signal?
By pazi88
#47741
The Tacho output is "on" when the output is grounding. You might be calculating duty from the time that output isn't grounding, based on you results.
By ric355
#47744
kettlekev wrote:
Wed Jan 20, 2021 12:17 am
What am I missing?
The tacho output generates a tacho pulse for every ignition event. So the pulse frequency is derived from the number of pulses per revolution which in turn is defined by the number of cylinders. Additionally there are some settings in the configuration dialog that allow you to control the length of the pulse, and to set it to half speed (every other ignition event). The pulse length control is an approximation to the configured value and it was done that way for efficiency reasons; it's not really necessary for the length to be precise it's the frequency of the pulse edge that is important.
By kettlekev
#47746
OK,

I think I understand....

I am using a 36-1 and if I have it correct, every ignition pulse registers on the tacho output, so my 3 cylinder setup will fire 3 times per revolution and that is what I am seeing.

I was hoping to use the signal as a RPM counter driver which I can still do if I divide the out pulses by 3 but I notice that at high RPM's (10k+) the pulse count gets a bit erratic. It could be a function of my speedy simulator so will try on the bike.

To kid Speedy I am running a 2 stroke, 3 cylinder with 3 coils and 3 injectors firing every 120 degrees my setup is;
wasted option2.PNG
wasted option2.PNG (104.74 KiB) Viewed 445 times
On a scope this gets me 3 separate ignition events in 360 degrees matched to 3 injection events (at different end timing obviously). So I am guessing because of the cylinder etc. setup in this it isnt helping my tacho problem......

Looks a software divider is my way to go?
User avatar
By PSIG
#47747
What are the numbers on your 'scope? You forgot to multiply by the number of spark events per-rev. A 3-cylinder 2-stroke engine is firing 3 sparks per-rev. So at 1000 rpm you should see 3000 spark events per minute, divided into seconds:

1000 * 3 / 60 = 50 Hz tach output


Or work it in a different order :

rpm / 60 = crank rps, and rps * events per rev = tach output Hz

1000 / 60 * 3 = 50 Hz tach output


You should see 1000 Hz on each individual ignition output. Combined ignition pulses is 3 times that rate. Your 3-cyl tach should be expecting 3 events per-rev, and internally divides the pulse count for rpm reading. Does that help?
By ric355
#47748
kettlekev wrote:
Wed Jan 20, 2021 6:36 pm
OK,

I think I understand....

I am using a 36-1 and if I have it correct, every ignition pulse registers on the tacho output, so my 3 cylinder setup will fire 3 times per revolution and that is what I am seeing.

I was hoping to use the signal as a RPM counter driver which I can still do if I divide the out pulses by 3 but I notice that at high RPM's (10k+) the pulse count gets a bit erratic. It could be a function of my speedy simulator so will try on the bike.

To kid Speedy I am running a 2 stroke, 3 cylinder with 3 coils and 3 injectors firing every 120 degrees my setup is;

On a scope this gets me 3 separate ignition events in 360 degrees matched to 3 injection events (at different end timing obviously). So I am guessing because of the cylinder etc. setup in this it isnt helping my tacho problem......

Looks a software divider is my way to go?
I think you are reaching the limitations of the system at 10k rpm. If you configure a minimum of 1ms tacho pulse width it only gives you 1000ms / (1000rpm /60sec *3 events) = 2ms to complete the entire pulse. With the 'on' part of the pulse being at least 1ms the off part needs to be short(er), and if I remember correctly the code only has a 1ms resolution for the tacho output as a whole i.e. it only checks to see if the square wave needs to be moved from low to high or vice-versa once every millisecond. I'm pretty sure this is what you're seeing.

Going back a couple of years the tacho pulse used to be the same length as the coil dwell, and on my v8 that only took me to 3750rpm before it ran out of time - that's how we ended up with the adjustable pulse length and the millisecond scheduler. It too has its limits.
By kettlekev
#47757
Thanks guys...

My scope tacho trace looks like this from the previous post....
Using the simulator board as a plug in to generate RPM and using Tunerstudio as the monitor.
Looking with a scope at 1,000 rpm the square wave has a frequency of around 1.6-1.7 milliseconds (it jitters a bit)
At 10,000 rpm it is around 170 micro seconds (0.17 ms).
so at 1000 rpm (ref PSIG), I should see 50hz or 20ms as a duty cycle on the tacho pulse but I am seeing around 10 times less than that (1.6-1.7ms)?


Looking at one ignition out put the duty cycle is 6ms (166.6 hz) at 10,000 rpm and around 63ms (15.8hz) at 1000 rpm

so it looks like my fire frequency is 3 x faster than what it should be (@10k rpm, duty is 6ms/166hz) .
from PSIG I should be seeing 10,000/60*3 = 500hz which is a duty of 2ms

Have I done something wrong with my configuration (previous post) from an expected 3 events per revolution across the 3 cylinders?

EDIT: I think I created a bit of confusion (in my own head at least). Ignoring tacho for now....

@10k RPM I am measuring a duty cycle on ignition output 1 of 6ms which is 166.6 hz, which is correct (10,000/60 = 166.6hz). SO all good on ignition.

The Tacho pulse however covers every ignition event so is 3 times faster (all 3 ignition outputs fire in 1 revolution). So my tacho should be at 500hz@10k RPM. 500hz is 2ms.

My tacho pulse @10k is closer to 2 micro seconds (10x faster), so I can only assume it is a function of the number of cylinders (6)I am having to kid Speedy to use to get my 3 ignition and injector outputs? But the maths doesn't quite tie up??
By ric355
#47769
kettlekev wrote:
Thu Jan 21, 2021 7:42 pm
EDIT: I think I created a bit of confusion (in my own head at least). Ignoring tacho for now....

@10k RPM I am measuring a duty cycle on ignition output 1 of 6ms which is 166.6 hz, which is correct (10,000/60 = 166.6hz). SO all good on ignition.

The Tacho pulse however covers every ignition event so is 3 times faster (all 3 ignition outputs fire in 1 revolution). So my tacho should be at 500hz@10k RPM. 500hz is 2ms.

My tacho pulse @10k is closer to 2 micro seconds (10x faster), so I can only assume it is a function of the number of cylinders (6)I am having to kid Speedy to use to get my 3 ignition and injector outputs? But the maths doesn't quite tie up??
Are you sure it's 2 microseconds? That seems extremely unlikely as the system is unable to switch the output that fast. Your original posting said 1.7ms, which is close to the 2ms theoretical. With some jitter and being as it's close to the limit of the system's capabilities as I said in my last post, that would be about right.

If you post your tune I will run it on my bench with a logic analyser and an ardustim.

I didnt change the map but CLT and IAT compensatio[…]

Hey @PSIG Sorry if I was being vague at any point[…]

Fuel load calculation

David So understanding the VE is just a starter f[…]

Hi guys, hopefully you all can help me figure this[…]

Still can't find what you're looking for?