[rusEfi] Nissan on Frankenso #47

Your chance to introduce yourself and your vehicle
Post Reply
filip5
donator
donator
Posts: 164
Joined: Sat Apr 15, 2017 6:14 pm
Location: MAYWOOD, NJ 07607

Nissan on Frankenso #47

Post by filip5 »

Hello there

Does anybody know how to set in Tunerstudio the nissan to count 360 secondary pulses from the cam sensor for Rusefi?

For now by setting to "Nissan Primera" I get only the main 4 pulses from the sensor which seem to base the spark simply on somewhat time
counting and the start of the engine is not stable at all. It is actually very hard. TDC is all over the place with reference to the biggest pulses which must be fixed at 630 degrees before TDC.

Thanks for the help
User avatar
AndreyB
Site Admin
Posts: 14292
Joined: Wed Aug 28, 2013 1:28 am
Location: Jersey City
Github Username: rusefillc
Slack: Andrey B

Re: Nissan on Frankenso

Post by AndreyB »

I believe that Nissan 4/360 trigger shape is not available right now. Not a huge problem to add but not in the software right now.

I also believe that it should work nice enough with just the 4 slots, maybe the problem is not with tooth count?

Can you please post your currenttune.msq file? Can you please turn on verbose trigger logging in TS and show logs of cranking messages from rusEfi console?
Very limited telepathic abilities - please post logs & tunes where appropriate - http://rusefi.com/s/questions

Always looking for C/C++/Java/PHP developers! Please help us see https://rusefi.com/s/howtocontribute
matt
donator
donator
Posts: 271
Joined: Fri Aug 26, 2016 11:32 am
Location: Malaysia

Re: Nissan on Frankenso

Post by matt »

I been read somewhere, 360 slot is for injector pulse probably? Not really sure what Nissan engineers trying to do. :lol:

Project update:
I change back to Mitsi 4/2 decoder, wasted spark coil and do more than 1000km by last weekend.
User avatar
andreika
donator
donator
Posts: 461
Joined: Mon Feb 13, 2017 2:35 pm
Location: Kiev

Re: Nissan on Frankenso

Post by andreika »

russian wrote:
Tue Apr 02, 2019 5:31 am
I believe that Nissan 4/360 trigger shape is not available right now. Not a huge problem
Just don't forget to check if PWM_PHASE_MAX_COUNT is enough for 360 trigger...
filip5
donator
donator
Posts: 164
Joined: Sat Apr 15, 2017 6:14 pm
Location: MAYWOOD, NJ 07607

Re: Nissan on Frankenso

Post by filip5 »

No, 360 trigger must be used for everything for determining TDC, for spark and for the injectors. When it is added it will have an accuracy of 2 degrees of the crankshaft rotation but it would much better than what is shown on these pictures attached. The engine has a very hard time to start and when it starts requires more fuel to run than it should.

See video in YouTube how TDC moves all over the place:


See also attached pictures

Can someone add this 360 trigger in Nissan? Needs to be operating on exact pulses count not on time based even for the next pulse.It would have an accuracy of 2 degrees but that would be fine.

It would be very much appreciated.
Attachments
See how TDC moves from 638 degrees to 652 during run
See how TDC moves from 638 degrees to 652 during run
Nissan TDC4.JPG (2.68 MiB) Viewed 23765 times
See how TDC moves  during run 2
See how TDC moves during run 2
Nissan TDC2.JPG (2.77 MiB) Viewed 23765 times
See how TDC moves  during run 3
See how TDC moves during run 3
Nissan TDC3.JPG (2.66 MiB) Viewed 23765 times
See how TDC moves  during run 1
See how TDC moves during run 1
Nissan TDC 1.JPG (2.68 MiB) Viewed 23765 times
See how TDC moves all over the place during cranking<br />engine would not start no matter how much fuel I throw in till sparks get wet.
See how TDC moves all over the place during cranking
engine would not start no matter how much fuel I throw in till sparks get wet.
Nissan During Cranking not starting.JPG (2.94 MiB) Viewed 23765 times
filip5
donator
donator
Posts: 164
Joined: Sat Apr 15, 2017 6:14 pm
Location: MAYWOOD, NJ 07607

Re: Nissan on Frankenso

Post by filip5 »

Will this part below written by Josh for nissan 4/360 work?

Can someone add this to rusefi and compile it and I will try. Can someone help? I can not the GCC compiler to work properly.
Here is 360/ 4-8-12-16 pattern write by Josh.

void triggerSetup_Nissan360()
{
triggerFilterTime = (1000000 / (MAX_RPM / 60 * 360UL)); //Trigger filter time is the shortest possible time (in uS) that there can be between crank teeth (ie at max RPM). Any pulses that occur faster than this time will be disgarded as noise
triggerSecFilterTime = (int)(1000000 / (MAX_RPM / 60 * 2)) / 2; //Same as above, but fixed at 2 teeth on the secondary input and divided by 2 (for cam speed)
secondaryToothCount = 0; //Initially set to 0 prior to calculating the secondary window duration
secondDerivEnabled = false;
decoderIsSequential = true;
toothCurrentCount = 1;
triggerToothAngle = 2;
MAX_STALL_TIME = (3333UL * triggerToothAngle); //Minimum 50rpm. (3333uS is the time per degree at 50rpm)
}


void triggerPri_Nissan360()
{
curTime = micros();
curGap = curTime - toothLastToothTime;
//if ( curGap < triggerFilterTime ) { return; }
toothCurrentCount++; //Increment the tooth counter
//addToothLogEntry(curGap); Disable tooth logging on this decoder due to overhead

toothLastMinusOneToothTime = toothLastToothTime;
toothLastToothTime = curTime;

if ( currentStatus.hasSync == true )
{
if ( toothCurrentCount == 361 ) //2 complete crank revolutions
{
toothCurrentCount = 1;
toothOneMinusOneTime = toothOneTime;
toothOneTime = curTime;
currentStatus.startRevolutions++; //Counter
}
//Recalc the new filter value
//setFilter(curGap);

//EXPERIMENTAL!
if(configPage1.perToothIgn == true)
{
int16_t crankAngle = ( (toothCurrentCount-1) * 2 ) + configPage2.triggerAngle;
//if(crankAngle > CRANK_ANGLE_MAX_IGN) { crankAngle -= CRANK_ANGLE_MAX_IGN; }
//if(crankAngle < CRANK_ANGLE_MAX_IGN) {
doPerToothTiming(crankAngle);
}

timePerDegree = curGap >> 1;; //The time per crank degree is simply the time between this tooth and the last one divided by 2
}
}

void triggerSec_Nissan360()
{
curTime2 = micros();
curGap2 = curTime2 - toothLastSecToothTime;
//if ( curGap2 < triggerSecFilterTime ) { return; }
toothLastSecToothTime = curTime2;
//OPTIONAL: Set filter at 25% of the current speed
//triggerSecFilterTime = curGap2 >> 2;


//Calculate number of primary teeth that this window has been active for
byte trigEdge;
if(configPage2.TrigEdgeSec == 0) { trigEdge = LOW; }
else { trigEdge = HIGH; }

if( (secondaryToothCount == 0) || (READ_SEC_TRIGGER() == trigEdge) ) { secondaryToothCount = toothCurrentCount; } //This occurs on the first rotation upon powerup OR the start of a secondary window
else
{
//If we reach here, we are at the end of a secondary window
byte secondaryDuration = toothCurrentCount - secondaryToothCount; //How many primary teeth have passed during the duration of this secondary window

if(currentStatus.hasSync == false)
{
if(configPage1.nCylinders == 4)
{
if( (secondaryDuration >= 15) && (secondaryDuration <= 17) ) //Duration of window = 16 primary teeth
{
toothCurrentCount = 16; //End of first window (The longest) occurs 16 teeth after TDC
currentStatus.hasSync = true;
}
else if( (secondaryDuration >= 11) && (secondaryDuration <= 13) ) //Duration of window = 12 primary teeth
{
toothCurrentCount = 102; //End of second window is after 90+12 primary teeth
currentStatus.hasSync = true;
}
else if( (secondaryDuration >= 7) && (secondaryDuration <= 9) ) //Duration of window = 8 primary teeth
{
toothCurrentCount = 188; //End of third window is after 90+90+8 primary teeth
currentStatus.hasSync = true;
}
else if( (secondaryDuration >= 3) && (secondaryDuration <= 5) ) //Duration of window = 4 primary teeth
{
toothCurrentCount = 274; //End of fourth window is after 90+90+90+4 primary teeth
currentStatus.hasSync = true;
}
else { currentStatus.hasSync = false; } //This should really never happen
}
else if(configPage1.nCylinders == 6)
{
//Pattern on the 6 cylinders is 4-8-12-16-12-8
//We can therefore only get sync on the 4 and 16 pulses as they are the only unique ones
if( (secondaryDuration >= 15) && (secondaryDuration <= 17) ) //Duration of window = 16 primary teeth
{
toothCurrentCount = 136; //End of third window is after 60+60+16 primary teeth
currentStatus.hasSync = true;
}
else if( (secondaryDuration >= 3) && (secondaryDuration <= 5) ) //Duration of window = 4 primary teeth
{
toothCurrentCount = 304; //End of sixth window is after 60+60+60+60+60+4 primary teeth
currentStatus.hasSync = true;
}
}
else { currentStatus.hasSync = false; } //This should really never happen (Only 4 and 6 cylinder engines for this patter)
}
else
{
if (configPage2.useResync == true)
{
//Already have sync, but do a verify every 720 degrees.
if(configPage1.nCylinders == 4)
{
if( (secondaryDuration >= 15) && (secondaryDuration <= 17) ) //Duration of window = 16 primary teeth
{
toothCurrentCount = 16; //End of first window (The longest) occurs 16 teeth after TDC
}
}
else if(configPage1.nCylinders == 6)
{
if(secondaryDuration == 4)
{
toothCurrentCount = 304;
}
} //Cylinder count
} //use resync
} //Has sync
} //First getting sync or not
}

uint16_t getRPM_Nissan360()
{
//Can't use stdGetRPM as there is no separate cranking RPM calc (stdGetRPM returns 0 if cranking)
uint16_t tempRPM;
if( (currentStatus.hasSync == true) && (toothLastToothTime != 0) && (toothLastMinusOneToothTime != 0) )
{
if(currentStatus.startRevolutions < 2)
{
noInterrupts();
revolutionTime = (toothLastToothTime - toothLastMinusOneToothTime) * 180;
interrupts();
}
else
{
noInterrupts();
revolutionTime = (toothOneTime - toothOneMinusOneTime) >> 1; //The time in uS that one revolution would take at current speed (The time tooth 1 was last seen, minus the time it was seen prior to that)
interrupts();
}
tempRPM = (US_IN_MINUTE / revolutionTime); //Calc RPM based on last full revolution time (Faster as /)
if(tempRPM >= MAX_RPM) { tempRPM = currentStatus.RPM; } //Sanity check
MAX_STALL_TIME = revolutionTime << 1; //Set the stall time to be twice the current RPM. This is a safe figure as there should be no single revolution where this changes more than this
}
else { tempRPM = 0; }

return tempRPM;
}

int getCrankAngle_Nissan360(int timePerDegree)
{
//As each tooth represents 2 crank degrees, we only need to determine whether we're more or less than halfway between teeth to know whether to add another 1 degrees
int crankAngle = 0;
int tempToothLastToothTime;
int tempToothLastMinusOneToothTime;
int tempToothCurrentCount;

noInterrupts();
tempToothLastToothTime = toothLastToothTime;
tempToothLastMinusOneToothTime = toothLastMinusOneToothTime;
tempToothCurrentCount = toothCurrentCount;
interrupts();

crankAngle = ( (tempToothCurrentCount - 1) * 2) + configPage2.triggerAngle;
unsigned long halfTooth = (tempToothLastToothTime - tempToothLastMinusOneToothTime) >> 1;
if ( (micros() - tempToothLastToothTime) > halfTooth)
{
//Means we're over halfway to the next tooth, so add on 1 degree
crankAngle += 1;
}

if (crankAngle >= 720) { crankAngle -= 720; }
if (crankAngle > CRANK_ANGLE_MAX) { crankAngle -= CRANK_ANGLE_MAX; }
if (crankAngle < 0) { crankAngle += 360; }

return crankAngle;
}

void triggerSetEndTeeth_Nissan360()
{
//This uses 4 prior teeth, just to ensure there is sufficient time to set the schedule etc
ignition1EndTooth = ( (ignition1EndAngle - configPage2.triggerAngle) / 2 ) - 4;
ignition2EndTooth = ( (ignition2EndAngle - configPage2.triggerAngle) / 2 ) - 4;
ignition3EndTooth = ( (ignition3EndAngle - configPage2.triggerAngle) / 2 ) - 4;
ignition4EndTooth = ( (ignition4EndAngle - configPage2.triggerAngle) / 2 ) - 4;
}


Thank you
User avatar
AndreyB
Site Admin
Posts: 14292
Joined: Wed Aug 28, 2013 1:28 am
Location: Jersey City
Github Username: rusefillc
Slack: Andrey B

Re: Nissan on Frankenso

Post by AndreyB »

I am afraid that trying to copy-paste speeduino code into rusEfi is a dead end.
Very limited telepathic abilities - please post logs & tunes where appropriate - http://rusefi.com/s/questions

Always looking for C/C++/Java/PHP developers! Please help us see https://rusefi.com/s/howtocontribute
filip5
donator
donator
Posts: 164
Joined: Sat Apr 15, 2017 6:14 pm
Location: MAYWOOD, NJ 07607

Re: Nissan on Frankenso

Post by filip5 »

i cant say much but seem to be C type of code
User avatar
AndreyB
Site Admin
Posts: 14292
Joined: Wed Aug 28, 2013 1:28 am
Location: Jersey City
Github Username: rusefillc
Slack: Andrey B

Re: Nissan on Frankenso

Post by AndreyB »

filip5 wrote:
Tue Apr 02, 2019 1:34 pm
No, 360 trigger must be used for everything for determining TDC
In the ideal world yes, 360 would be nice. In reality so far engines seem to be happy with way fewer tooth.

filip5 wrote:
Tue Apr 02, 2019 1:34 pm
When it is added it will have an accuracy of 2 degrees of the crankshaft rotation but it would much better than what is shown on these pictures attached. The engine has a very hard time to start and when it starts requires more fuel to run than it should.
360 tooth could and probably would cause other issues - overall performance, missed signals etc.

I doubt that very hard time to start is a direct consequence of not having 360 trigger, could it be something else like not enough fuel?

filip5 wrote:
Tue Apr 02, 2019 1:34 pm
What are we looking at? Do you crank at 480 RPM with a starter? Is this on a real engine?

I believe that the most realistic way forward would be to fabricate a custom wheel with 60/2 pattern.

Maybe it could be possible to weld or solder or somehow else cover some of the 360 slots to make it a 60/2?
Very limited telepathic abilities - please post logs & tunes where appropriate - http://rusefi.com/s/questions

Always looking for C/C++/Java/PHP developers! Please help us see https://rusefi.com/s/howtocontribute
User avatar
AndreyB
Site Admin
Posts: 14292
Joined: Wed Aug 28, 2013 1:28 am
Location: Jersey City
Github Username: rusefillc
Slack: Andrey B

Re: Nissan on Frankenso

Post by AndreyB »

filip5 wrote:
Wed Apr 03, 2019 4:23 pm
i cant say much but seem to be C type of code
Let me try to rephrase: this is dead end for sure. I am a professional software developer and I hope you can trust my professional opinion here, I have no time to explain why this is a dead end unfortunately :(
Very limited telepathic abilities - please post logs & tunes where appropriate - http://rusefi.com/s/questions

Always looking for C/C++/Java/PHP developers! Please help us see https://rusefi.com/s/howtocontribute
User avatar
AndreyB
Site Admin
Posts: 14292
Joined: Wed Aug 28, 2013 1:28 am
Location: Jersey City
Github Username: rusefillc
Slack: Andrey B

Re: Nissan on Frankenso

Post by AndreyB »

russian wrote:
Tue Apr 02, 2019 5:31 am
Can you please post your currenttune.msq file? Can you please turn on verbose trigger logging in TS and show logs of cranking messages from rusEfi console?
I would not be able to contribute to this discussion until currenttune.msq is posted.


See also https://github.com/rusefi/rusefi_documentation/blob/master/FAQ/cranking.md
Very limited telepathic abilities - please post logs & tunes where appropriate - http://rusefi.com/s/questions

Always looking for C/C++/Java/PHP developers! Please help us see https://rusefi.com/s/howtocontribute
filip5
donator
donator
Posts: 164
Joined: Sat Apr 15, 2017 6:14 pm
Location: MAYWOOD, NJ 07607

Re: Nissan on Frankenso

Post by filip5 »

Okay fair enough. But what can be done? You had stated that is not complicated to do. When can you do it?

I think this is more pressing issue than a knock sensor code issue.

How can an engine work on guessing game between 180 degrees and pretend to be accurate? Are your all other engines like this?
filip5
donator
donator
Posts: 164
Joined: Sat Apr 15, 2017 6:14 pm
Location: MAYWOOD, NJ 07607

Re: Nissan on Frankenso

Post by filip5 »

I have posted pictures of Rusefi console which show clearly how the biggest slot moves with respect to TDC with more than 100 degrees during cranking.

How can that engine start?

I am not sure what else do you need.

The position of TDC even moves when the engine is very stable running at 480 rpm as the video shows the slot moves at least 15 degrees when engine is stable from 148 to some 152 degrees.
filip5
donator
donator
Posts: 164
Joined: Sat Apr 15, 2017 6:14 pm
Location: MAYWOOD, NJ 07607

Re: Nissan on Frankenso

Post by filip5 »

I was wrong TDC moves from 133 degrees to 152 degrees running at 480 rpm which is less than idling speed. That is almost 20 degree variance when the advance is zero at almost stable speed.
User avatar
AndreyB
Site Admin
Posts: 14292
Joined: Wed Aug 28, 2013 1:28 am
Location: Jersey City
Github Username: rusefillc
Slack: Andrey B

Re: Nissan on Frankenso

Post by AndreyB »

What are we looking at? Do you crank at 480 RPM with a starter? Is this on a real engine?

This dialog is extremely inefficient in my opinion. I am pretty upset that you are ignoring my questions and my request for more information - your currenttune file.
Very limited telepathic abilities - please post logs & tunes where appropriate - http://rusefi.com/s/questions

Always looking for C/C++/Java/PHP developers! Please help us see https://rusefi.com/s/howtocontribute
filip5
donator
donator
Posts: 164
Joined: Sat Apr 15, 2017 6:14 pm
Location: MAYWOOD, NJ 07607

Re: Nissan on Frankenso

Post by filip5 »

Can you add 4/360 in nissan to help me out?

How can an engine crank at 480 RPM? No the cranking is at 200 rpm. What you see in the video is my real nissan engine which is running at 480 degrees idle speed.

Can you explain how you determine where the TDC is at some point with only 4 slots for 720 degrees at any given time? I am curious to know
filip5
donator
donator
Posts: 164
Joined: Sat Apr 15, 2017 6:14 pm
Location: MAYWOOD, NJ 07607

Re: Nissan on Frankenso

Post by filip5 »

400 rpm idle speed not degrees
User avatar
AndreyB
Site Admin
Posts: 14292
Joined: Wed Aug 28, 2013 1:28 am
Location: Jersey City
Github Username: rusefillc
Slack: Andrey B

Re: Nissan on Frankenso

Post by AndreyB »

filip5 wrote:
Wed Apr 03, 2019 5:07 pm
Can you add 4/360 in nissan to help me out?
Yes theoretically, but practically not sure when I would be able to do that and not the highest priority :( Too many commitments :( Pretty busy and this is not a trivial change due to the number of tooth. https://github.com/rusefi/rusefi/issues/731 would be a prerequisite.

480 is pretty unusual for idle is not it? I have no idea why they usually like to idle engines a bit faster.

TDC is approximated based on known angle positions and RPM, see also https://rusefi.com/docs/html/
Very limited telepathic abilities - please post logs & tunes where appropriate - http://rusefi.com/s/questions

Always looking for C/C++/Java/PHP developers! Please help us see https://rusefi.com/s/howtocontribute
filip5
donator
donator
Posts: 164
Joined: Sat Apr 15, 2017 6:14 pm
Location: MAYWOOD, NJ 07607

Re: Nissan on Frankenso

Post by filip5 »

Listen man,

480 rpm idling is pretty unusual but that is how I found out what the problem was, but unfortunately cranking at 200 is pretty usual and during cranking TDC is all over the place as engine tends to jerk a lot and that is why the engine does not start.

I appreciate it. But I would suggest this should be your highest priority. The engine is junk without it and I am pretty sure you know it.

Let me know when it is done.
User avatar
AndreyB
Site Admin
Posts: 14292
Joined: Wed Aug 28, 2013 1:28 am
Location: Jersey City
Github Username: rusefillc
Slack: Andrey B

Re: Nissan on Frankenso

Post by AndreyB »

filip5 wrote:
Wed Apr 03, 2019 5:32 pm
The engine is junk without it and I am pretty sure you know it.
My current assumption is that rusEfi default cranking settings are just and as a consequence your starting settings are junk. Trigger improvement would probably not help much.

Unfortunately you have made up you mind and chosen to focus on trigger and chosen not to share your probably not great cranking settings within the tune. Not a problem for me.
Very limited telepathic abilities - please post logs & tunes where appropriate - http://rusefi.com/s/questions

Always looking for C/C++/Java/PHP developers! Please help us see https://rusefi.com/s/howtocontribute
filip5
donator
donator
Posts: 164
Joined: Sat Apr 15, 2017 6:14 pm
Location: MAYWOOD, NJ 07607

Re: Nissan on Frankenso

Post by filip5 »

But the basic is that a spark will start the engine. How will you start at cranking if the spark is at -20 degrees and the other time at at +100 degrees?

Can you stop by my shop and fix this crank with 4 pulses for 720 degrees?

I believe that you will be doing us a big favor to fix this issue and help Rusefi and everybody because there is a chance other engines have this issue too.

I have put too much time modifying this engine and I need it to work properly if that can be helped.

I will also help if there is anything I can do please let me know. I can test it for you?
filip5
donator
donator
Posts: 164
Joined: Sat Apr 15, 2017 6:14 pm
Location: MAYWOOD, NJ 07607

Re: Nissan on Frankenso

Post by filip5 »

And the other thing if you are not still convinced. Do you think Nissan engineers were stupid to add 4/360 when they could have done it with only 4 slots?
User avatar
AndreyB
Site Admin
Posts: 14292
Joined: Wed Aug 28, 2013 1:28 am
Location: Jersey City
Github Username: rusefillc
Slack: Andrey B

Re: Nissan on Frankenso

Post by AndreyB »

filip5 wrote:
Wed Apr 03, 2019 5:55 pm
But the basic is that a spark will start the engine. How will you start at cranking if the spark is at -20 degrees and the other time at at +100 degrees?
you are confusing reason and consequences. I wonder if engine is jerking due to lack of fuel and this causes trigger to go crazy.

I would not be able to comment here further until I see currenttune.msq file.
Very limited telepathic abilities - please post logs & tunes where appropriate - http://rusefi.com/s/questions

Always looking for C/C++/Java/PHP developers! Please help us see https://rusefi.com/s/howtocontribute
filip5
donator
donator
Posts: 164
Joined: Sat Apr 15, 2017 6:14 pm
Location: MAYWOOD, NJ 07607

Re: Nissan on Frankenso

Post by filip5 »

The engine jerks because of the compression cycle. I am the first to tell you this so you know.

Stop by my place and show me how your settings will do this wonderful thing that you are claiming.

My business is material handling and tracking packages for sorting all day long I make my living this way.

Sometime i have to handle and track a lot of packages at the same time and know where they are exactly. If I did that timely based I would be out of business in no time.

I use encoder pulses to track packages till their final destination.

I think I am doing you a favor by bringing this terrible issue that you have with your code to your attention.

My fault was counting on Rusefi for so long hoping that we would have an understanding and work issues out for custom engines
puff
contributor
contributor
Posts: 2961
Joined: Mon Nov 11, 2013 11:28 am
Location: Moskau

Re: Nissan on Frankenso #47

Post by puff »

probably that currenttune.msq is a top secret...
filip5
donator
donator
Posts: 164
Joined: Sat Apr 15, 2017 6:14 pm
Location: MAYWOOD, NJ 07607

Re: Nissan on Frankenso #47

Post by filip5 »

I will send you the msq later when I get back to shop

For know when do you think this 4/360 can e done?
ZHoob2004
contributor
contributor
Posts: 153
Joined: Sun Apr 03, 2016 7:11 pm
Location: Tucson, AZ

Re: Nissan on Frankenso

Post by ZHoob2004 »

filip5 wrote:
Wed Apr 03, 2019 4:42 pm
How can an engine work on guessing game between 180 degrees and pretend to be accurate? Are your all other engines like this?
filip5 wrote:
Wed Apr 03, 2019 5:07 pm
Can you explain how you determine where the TDC is at some point with only 4 slots for 720 degrees at any given time? I am curious to know
filip5 wrote:
Wed Apr 03, 2019 5:58 pm
And the other thing if you are not still convinced. Do you think Nissan engineers were stupid to add 4/360 when they could have done it with only 4 slots?
To give some context to my response, I personally run an engine with 4 points per 720 degrees and it runs and starts just fine. It's a Honda B16 with a lightweight flywheel, which makes idling a bit tricky. I'm currently using batched injection, and single coil ignition through a distributor. In my case, cylinder #1 TDC doesn't actually matter, because the distributor ensures that spark is always at the correct cylinder.

Given that I see 4 coils and injectors on your pictures (actual screenshots would be nice), I'm assuming you are not running a distributor, which makes me wonder how you have a running engine at all. I suspect you're just cranking until you get a bunch of fuel built up in your intake and then get lucky with spark timing, which is no way to start an engine, and would explain your difficulties.

If you just want to make your engine start and run, change your configuration to simultaneous fuel and wasted spark. This will make it so it doesn't matter which cylinder is actually at TDC, meaning 4 points is enough resolution. The timing doesn't need to be nearly as precise as you might think; engine speed doesn't change very significantly between pulses. In this setup, make sure your coils are OK with firing about 4x as often as normal; I doubt this will be an issue, but it may be in the higher regions of the rev range.

If you want a longer term solution, or you think you really need sequential injection and spark, get this https://www.diyautotune.com/product/50-mm-optical-trigger-wheel-for-nissan-sr20det-or-ka24de/

I don't know if that's the exact right part for your engine, but
you haven't told anyone what engine you have so I don't know that. This replaces the (overkill) 360 slot wheel with a 12-1 configuration with cam position. Everything you need to run sequential injection and coil on plug, without having russian reinvent the wheel.


EDIT: I forgot to explain why Nissan did 4/360: Because they felt like it. There's no technical reason to have a 2-degree trigger resolution on a gasoline engine, and several reasons not to. Looking at a few example trigger wheels, it looks like the 4 slots were used for cylinder #1 TDC along with having marks for TDC on all the other cylinders, allowing for faster trigger sync on startup.

EDIT2: Looked at the wrong line in your "screenshots", have a better idea what your trigger setup is now. TDC is determined by the 4 slots, and you can time the whole engine off of them just fine. I think you need to raise your idle for better trigger performance low down. 700+ RPM, time between pulses decreases with engine RPM.
Last edited by ZHoob2004 on Wed Apr 03, 2019 9:01 pm, edited 1 time in total.
User avatar
AndreyB
Site Admin
Posts: 14292
Joined: Wed Aug 28, 2013 1:28 am
Location: Jersey City
Github Username: rusefillc
Slack: Andrey B

Re: Nissan on Frankenso

Post by AndreyB »

ZHoob2004 wrote:
Wed Apr 03, 2019 7:44 pm
which makes me wonder how you have a running engine at all.
those four slots are not all the same width - see https://rusefi.com/wiki/index.php?title=Manual:Software:Trigger#Nissan
Very limited telepathic abilities - please post logs & tunes where appropriate - http://rusefi.com/s/questions

Always looking for C/C++/Java/PHP developers! Please help us see https://rusefi.com/s/howtocontribute
ZHoob2004
contributor
contributor
Posts: 153
Joined: Sun Apr 03, 2016 7:11 pm
Location: Tucson, AZ

Re: Nissan on Frankenso

Post by ZHoob2004 »

russian wrote:
Wed Apr 03, 2019 8:41 pm
ZHoob2004 wrote:
Wed Apr 03, 2019 7:44 pm
which makes me wonder how you have a running engine at all.
those four slots are not all the same width - see https://rusefi.com/wiki/index.php?title=Manual:Software:Trigger#Nissan
Yeah, it appears I looked at the wrong line in the "screenshots" and missed that the #1 slot is about twice as wide. In that case, just the 4 slot trigger is more than sufficient for full sequential fuel and spark, it just needs to run at normal 4-cylinder speeds, not 500rpm.
filip5
donator
donator
Posts: 164
Joined: Sat Apr 15, 2017 6:14 pm
Location: MAYWOOD, NJ 07607

Re: Nissan on Frankenso #47

Post by filip5 »

Attached is my test msq. I was using separate coils and no distributor because I thought rusefi could handle that.

You wrote:
"EDIT: I forgot to explain why Nissan did 4/360: Because they felt like it. There's no technical reason to have a 2-degree trigger resolution on a gasoline engine, and several reasons not to. Looking at a few example trigger wheels, it looks like the 4 slots were used for cylinder #1 TDC along with having marks for TDC on all the other cylinders, allowing for faster trigger sync on startup."

This is the explanation, there are a lot of very good reasons to have 360 slots. It could have been better if there were 720 slots but 360 is good enough I guess. If not why have ignition tables or VE table at all with degrees. How can one with 4 slots or 180 degrees resolution shoot right in a combustion engine when a piston jerks upward on compression and downwards in combustion? That is an impossible task in cranking and even could be a problem when the engine is running and there is a flywheel that helps, there still could be issues on sudden loads or gear changes. If advance is let say at happening at 50 or 60 degrees before TDC because of a sudden jerk or a load the engine would stop, wouldn't it? Are you guys hoping that the next spark would be good to shoot right and the engine will continue to run?

Now that I understand what is going on, even if I used a distributor which I will try with wasted sparks etcetera still there is a possibility that the spark will go when the spark head is not in line with the contact because of sudden load changes or the advance could be improper because of the width of the distributor spark head if I can call that head a spark head.

I wonder how your engines are running now claiming that u r doing racing with this?
Attachments

[The extension msq has been deactivated and can no longer be displayed.]

Post Reply