Crank+Cam based input pattern support requests thread

For discussing and developing different RPM/Position decoders using our superior modular architecture! One thread per pattern, please.
User avatar
Fred
Moderator
Posts: 15433
Joined: Tue Jan 15, 2008 2:31 pm
Location: Home sweet home!
Contact:

Re: Crank+Cam based input pattern support requests thread

Post by Fred »

I have written up a document that describes the various wheels that we are aiming to support so far and who is responsible for development on them.

I will (attempt to) take care of Nippon Denso 24/2, even teeth plus second on crank, even teeth plus second on cam, and missing teeth with optional second on cam.
Sean has volunteered to work on the GM 360 slot CAS unit
I have volunteered Sean, Rob and Flacid for work on the Nissan wheels, and the 99 up Miata respectively.

The last set of names there are just suggestions, and once the others are looking pretty good, there should be some excellent example code available to copy and work from. So, don't be afraid to get your hands dirty even if it's not your normal day job to write code.

From 30 odd members at this stage, only 7 are actively posting, and four of those are solidly thinking about code so it's imperative that we make the most of them all :-)

Look in the /doc/ dir in the next release for the ODS file containing the descriptions of each triggers properties. It was interesting to put them against each other like that and see the pros and cons of different methods. Right Now, I'm thinking that the absolute ideal position indicating sensor would be a 3 way setup with a nissan/gm style CAS, and a crank wheel with plenty of evenly spaced teeth, probably 36 or 60. this will really provide the best of both worlds. I may try to implement this in hardware and software in the future as It would be a brilliant system indeed (if the cpu could cope)

Admin.
DIYEFI.org - where Open Source means Open Source, and Free means Freedom
FreeEMS.org - the open source engine management system
FreeEMS dev diary and its comments thread and my turbo truck!
n00bs, do NOT PM or email tech questions! Use the forum!
The ever growing list of FreeEMS success stories!
User avatar
AbeFM
Post Whore!
Posts: 629
Joined: Sat Feb 16, 2008 12:11 am
Location: Sunny San Diego
Contact:

Re: Crank+Cam based input pattern support requests thread

Post by AbeFM »

I can't find it now, but somewhere I got the impression folks were thinking the miata is all cam-based timing. It's 4 teeth on the *crank* and 2 (distinct) teeth on the cam.

Just FYI. But it does mean that though you don't get a lot of teeth on the crank, you do get pretty accurate timing. The 2001+ have variable cam timing so that signal becomes more phase sensitive.

What's the point of a more complicated cam sensor? This "3 way" set up seems a bit redundant.
User avatar
Fred
Moderator
Posts: 15433
Joined: Tue Jan 15, 2008 2:31 pm
Location: Home sweet home!
Contact:

Re: Crank+Cam based input pattern support requests thread

Post by Fred »

Cam based timing info is inherently bad because of mechanical noise.
  • Instant start up into sequential/COP right from the start (1/3 of a rev for a skyline CAS)
  • Best (fastest) error handling (resync in 1/3 of a rev for the skyline CAS)
  • Most accurate engine speed and acceleration data (straight off the crank with no jitter etc)
i.e. Perfect starting behaviour and perfect accuracy. Just Perfect.
DIYEFI.org - where Open Source means Open Source, and Free means Freedom
FreeEMS.org - the open source engine management system
FreeEMS dev diary and its comments thread and my turbo truck!
n00bs, do NOT PM or email tech questions! Use the forum!
The ever growing list of FreeEMS success stories!
User avatar
AbeFM
Post Whore!
Posts: 629
Joined: Sat Feb 16, 2008 12:11 am
Location: Sunny San Diego
Contact:

Re: Crank+Cam based input pattern support requests thread

Post by AbeFM »

But all those extra teeth on the cam don't do you any good. A 30-60 tooth crank trigger and a 4-10 unique tooth cam trigger would to all those things you said, and better, and not leave you with 7 million interupts per engine cycle.
User avatar
Fred
Moderator
Posts: 15433
Joined: Tue Jan 15, 2008 2:31 pm
Location: Home sweet home!
Contact:

Re: Crank+Cam based input pattern support requests thread

Post by Fred »

No man, during cranking or with high compression, how do you KNOW they are unique?? you don't. The tooth length is variable depending on whether its during compression or firing etc. they would have to be significantly unique. This way gives you instant sync by just counting. The crank gives you the accurate info that no cam sensor can come close to.

The interrupt for the 360 slots (and you could do it with less slots on a custom wheel I guess) will be like this :

slotCounterISR(void){
/* Clear the flag */
FLAG |= MASK;
/* Increment the counter */
slotCounter += 1;
}

Which although it has overheads may/probably is (after thinking about it a bit) doable.
DIYEFI.org - where Open Source means Open Source, and Free means Freedom
FreeEMS.org - the open source engine management system
FreeEMS dev diary and its comments thread and my turbo truck!
n00bs, do NOT PM or email tech questions! Use the forum!
The ever growing list of FreeEMS success stories!
User avatar
AbeFM
Post Whore!
Posts: 629
Joined: Sat Feb 16, 2008 12:11 am
Location: Sunny San Diego
Contact:

Re: Crank+Cam based input pattern support requests thread

Post by AbeFM »

Ah, you know they are unique because you'd use doubletts/tripplets, etc.

I don't know why you don't see more encoders on cars like you see in everything else, 4 optical sensors looking at a pattern of stripes. Any read at any time will give you a unique position. So you have one interupt for good timing (~36/rotation?), and the rest to tell you where you are, without ever having to "count".

Anyway, yeah, I wouldn't have so many teeth on the wheel is all I was really getting at. Variable tooth instead of more inputs is harder to read. Really, you'd like to read an 8 bit number that gives you the position to 1.5* accuracy. :-)

All this is a bit theoretical, though, so you should probably just work with OEM sensors.
User avatar
Fred
Moderator
Posts: 15433
Joined: Tue Jan 15, 2008 2:31 pm
Location: Home sweet home!
Contact:

Re: Crank+Cam based input pattern support requests thread

Post by Fred »

It's not theoretical, it's just not required for "good enough". For some, "good enough" is good enough, for others, they want the best.

The nissan/GM style is excellent in terms of sync etc, but because its on a cam, the dynamic accuracy is lower.

The crank wheel setup is excellent for accuracy, but starting and loss/regain/sureness of sync are issues.

Combine both, and you have a winner!!

Dirty old VEMS uses 3 inputs (don't know what for), and I can see that using three inputs for this would be good for this particular purpose at least.

It's just basically separating your data sources out, i.e. instead of getting rpm/accel/delta accel AND sync from one wheel, you get sync from the cam in a fast fashion, and speed/accel/delta accel from the crank. Fool proof I tell you :-)
DIYEFI.org - where Open Source means Open Source, and Free means Freedom
FreeEMS.org - the open source engine management system
FreeEMS dev diary and its comments thread and my turbo truck!
n00bs, do NOT PM or email tech questions! Use the forum!
The ever growing list of FreeEMS success stories!
User avatar
jbelanger
LQFP144 - On Top Of The Game
Posts: 387
Joined: Sat Feb 23, 2008 8:58 pm
Contact:

Re: Crank+Cam based input pattern support requests thread

Post by jbelanger »

The 3 inputs are simply to cover certain OEM setup which do have 3 engine position sensors. Since the goal is not to support every existing OEM setup then it's not needed unless someone can show me otherwise.
User avatar
Fred
Moderator
Posts: 15433
Joined: Tue Jan 15, 2008 2:31 pm
Location: Home sweet home!
Contact:

Re: Crank+Cam based input pattern support requests thread

Post by Fred »

For sensors like the DSM/Miata CAS and the nissan ones too, there are measurable timing errors introduced once you go well past oem power levels and the angular acceleration that that brings. The "need" is like anything else on this site, just a desire, the 36-1/+1 setup I have is perfectly adequate, but the missing tooth provides a slight loss of accuracy, and a full crank revolution max to get sync and start running. the Nissan style ones do it in 1/2 - 1/3 of a revolution. Combine the two and you are rosey :-)

(It only matters on extreme engines... but still...)

See the analysis doc in the latest 0.0.6 release.

Admin.
DIYEFI.org - where Open Source means Open Source, and Free means Freedom
FreeEMS.org - the open source engine management system
FreeEMS dev diary and its comments thread and my turbo truck!
n00bs, do NOT PM or email tech questions! Use the forum!
The ever growing list of FreeEMS success stories!
User avatar
AbeFM
Post Whore!
Posts: 629
Joined: Sat Feb 16, 2008 12:11 am
Location: Sunny San Diego
Contact:

Re: Crank+Cam based input pattern support requests thread

Post by AbeFM »

I like the miata cam wheel, for that. I really like the idea of a good crank trigger with locational information so there's no "timing" and "counting" to figure out where you are. But I still think it's a pipe dream.

But two or more distinct marks on a cam is good. Anyway, if the code is written well it should support either.

Even RX7's have a "cam" sensor, at least a "rotor#1 TDC" mark, seperate from the crank trigger.
Post Reply