6g75 decoder eclipse for ms3
Moderators: jsmcortina, muythaibxr
-
- Master MS/Extra'er
- Posts: 612
- Joined: Fri Feb 25, 2011 4:28 pm
6g75 decoder eclipse for ms3
I going to start a new post to keep everything organize
I am working with the ms2 code for a simplified version of this but I want to upload everything thats necessary to get an official release form ms3 that includes the cam and crank pattern, not just the crank like the version Im working.
Cam and Crank signal identifying the phase of the engine are going to be the next thing I upload with the appropriate trigger angle.
I am working with the ms2 code for a simplified version of this but I want to upload everything thats necessary to get an official release form ms3 that includes the cam and crank pattern, not just the crank like the version Im working.
Cam and Crank signal identifying the phase of the engine are going to be the next thing I upload with the appropriate trigger angle.
Last edited by juansh2385 on Sun Dec 11, 2016 7:34 pm, edited 1 time in total.
-
- Master MS/Extra'er
- Posts: 612
- Joined: Fri Feb 25, 2011 4:28 pm
Re: 6g75 decoder eclipse for ms3
This is a modified rover 3 with corrected angles
Code: Select all
} else if (spkmode == 24) {
no_teeth = 32; // wasted spark
last_tooth = no_teeth;
no_triggers = 3;
deg_per_tooth[0] = 100;
deg_per_tooth[1] = 100;
deg_per_tooth[2] = 100;
deg_per_tooth[3] = 100;
deg_per_tooth[4] = 100;
deg_per_tooth[5] = 100;
deg_per_tooth[6] = 100;
deg_per_tooth[7] = 100;
deg_per_tooth[8] = 100;
deg_per_tooth[9] = 100;
deg_per_tooth[10] = 200;
deg_per_tooth[11] = 100;
deg_per_tooth[12] = 100;
deg_per_tooth[13] = 100;
deg_per_tooth[14] = 100;
deg_per_tooth[15] = 100;
deg_per_tooth[16] = 100;
deg_per_tooth[17] = 100;
deg_per_tooth[18] = 100;
deg_per_tooth[19] = 100;
deg_per_tooth[20] = 100;
deg_per_tooth[21] = 200;
deg_per_tooth[22] = 100;
deg_per_tooth[23] = 100;
deg_per_tooth[24] = 100;
deg_per_tooth[25] = 100;
deg_per_tooth[26] = 100;
deg_per_tooth[27] = 100;
deg_per_tooth[28] = 100;
deg_per_tooth[29] = 100;
deg_per_tooth[30] = 100;
deg_per_tooth[31] = 300;
smallest_tooth_crk = 100;
smallest_tooth_cam = 0;
trigger_teeth[0] = 12;
trigger_teeth[1] = 23;
trigger_teeth[2] = 1;
trig_angs[0] = -350 + tmp_offset;
trig_angs[1] = -350 + tmp_offset;
trig_angs[2] = -350 + tmp_offset;
if (num_cyl !=6) {
conf_err = 17;
}
Last edited by juansh2385 on Sat Oct 29, 2016 10:46 am, edited 2 times in total.
-
- Master MS/Extra'er
- Posts: 612
- Joined: Fri Feb 25, 2011 4:28 pm
Re: 6g75 decoder eclipse for ms3
*EDIT*
initial sync code
initial sync code
Code: Select all
//initial sync
if (!(synch & SYNC_SYNCED)) {
if ((!tooth_diff_this) || (!tooth_diff_last) || (!tooth_diff_last_1)) {
return; // only sync when there's enough data
}
// when unsynced we wait until we see a missing tooth and then another one
// and count the teeth in-between
if (!(synch & SYNC_SEMI)) { // just starting
temp1 = tooth_diff_last + (tooth_diff_last>>1); // 1.5*
if (tooth_diff_this > temp1) {
tooth_no = 0;
synch |= SYNC_SEMI; // started sync sequence
}
return;
} else { // started sequence, check possible sync points
tooth_no++;
if (!(synch & SYNC_SEMI2)) { // just starting
temp1 = tooth_diff_last + (tooth_diff_last>>1); // 1.5*
if (tooth_diff_this > temp1) {
if (tooth_no == 10) {
tooth_no = 0; // tooth 1
goto WHL_ROV3_OK;
} else {
ign_reset();
}
}
return;
}
}
WHL_ROV3_OK:
synch &= ~SYNC_SEMI;
synch &= ~SYNC_SEMI2;
synch |= SYNC_SYNCED;
} else {
// recheck for sync
if ((tooth_no == 11) || (tooth_no == 22) || (tooth_no == 32)) { // (one less)
temp1 = tooth_diff_last + (tooth_diff_last>>1); // 1.5*
if (tooth_diff_this <= temp1) {
outpc.syncreason = 50;
ign_reset();
return;
}
if (tooth_no == 32) {
tooth_no = 0;
}
}
}
goto common_wheel;
Last edited by juansh2385 on Sat Oct 29, 2016 10:48 am, edited 5 times in total.
-
- Master MS/Extra'er
- Posts: 612
- Joined: Fri Feb 25, 2011 4:28 pm
Re: 6g75 decoder eclipse for ms3
Please remember that I have a ms3 processor that I want to use to verify any test code for the main code before I give back the car to the owner (I told him to buy a ms3 but he wants to use a spare ms2 he got laying around )
either way any work done by the developers (can/is) going to be tested if done before I got to give the car back (2 to 3 weeks probably)
either way any work done by the developers (can/is) going to be tested if done before I got to give the car back (2 to 3 weeks probably)
-
- Master MS/Extra'er
- Posts: 612
- Joined: Fri Feb 25, 2011 4:28 pm
Re: 6g75 decoder eclipse for ms3
the hardware is configured as:
juansh2385 wrote: The patter was log in fallen edge. For this logs the pcb 3.0 is configure for vr input (hall sensor mod) for the crank and the opto input for the cam I jump tach select to vrout inv to match the opt coupler output. Right now both conditioner output ground(go low ) when the receive a low signal (crank and cam sensor go low when they are at a tooth)
-
- Master MS/Extra'er
- Posts: 612
- Joined: Fri Feb 25, 2011 4:28 pm
Re: 6g75 decoder eclipse for ms3
James is it me or there is something wrong with the first tooth after a missing tooth section (either 2 0r 1) the first tooth is longer and I think is messing with the reading. With the code section that I pm you I could get rpm readings but where not stable and keep missing sync
-
- Master MS/Extra'er
- Posts: 612
- Joined: Fri Feb 25, 2011 4:28 pm
-
- Master MS/Extra'er
- Posts: 612
- Joined: Fri Feb 25, 2011 4:28 pm
Re: 6g75 decoder eclipse for ms3
I think this is one of those cases that is easier to use the edge function in the decoder for sync.
What do you Think James?
What do you Think James?
-
- Master MS/Extra'er
- Posts: 612
- Joined: Fri Feb 25, 2011 4:28 pm
Re: 6g75 decoder eclipse for ms3
I found a couple mistakes in the implementation i was doing but I now have a stable rpm signal in ms2 using only the crank sensor. Next are the phase and trigger angles. Wether stop me from identifying today the angles but hopefully tomorrow will be a better day.
Last edited by juansh2385 on Thu Oct 27, 2016 6:21 pm, edited 1 time in total.
-
- Master MS/Extra'er
- Posts: 612
- Joined: Fri Feb 25, 2011 4:28 pm
Re: 6g75 decoder eclipse for ms3
This for now this mod version gave me a stable rpm reading. I haven't taken apart the engine cover to verify the phase of the car (still raining)
But plug a spare coil i had laying around to the ms2 using a strobe light I confirm a stable ign advance. After more test I'll update again.
But plug a spare coil i had laying around to the ms2 using a strobe light I confirm a stable ign advance. After more test I'll update again.
Code: Select all
//initial sync
if (!(synch & SYNC_SYNCED)) {
if ((!tooth_diff_this) || (!tooth_diff_last) || (!tooth_diff_last_1)) {
return; // only sync when there's enough data
}
// when unsynced we wait until we see a missing tooth and then another one
// and count the teeth in-between
if (!(synch & SYNC_SEMI)) { // just starting
temp1 = tooth_diff_last + (tooth_diff_last>>1); // 1.5*
if (tooth_diff_this > temp1) {
tooth_no = 0;
synch |= SYNC_SEMI; // started sync sequence
}
return;
} else { // started sequence, check possible sync points
tooth_no++;
if (!(synch & SYNC_SEMI2)) { // just starting
temp1 = tooth_diff_last + (tooth_diff_last>>1); // 1.5*
if (tooth_diff_this > temp1) {
if (tooth_no == 10) {
tooth_no = 0; // tooth 1
goto WHL_ROV3_OK;
} else {
ign_reset(); // try again
}
}
return;
}
}
WHL_ROV3_OK:
synch &= ~SYNC_SEMI;
synch &= ~SYNC_SEMI2;
synch |= SYNC_SYNCED;
} else {
// recheck for sync
if ((tooth_no == 11) || (tooth_no == 22) || (tooth_no == 32)) { // (one less)
temp1 = tooth_diff_last + (tooth_diff_last>>1); // 1.5*
if (tooth_diff_this <= temp1) {
outpc.syncreason = 50;
ign_reset();
return;
}
if (tooth_no == 32) {
tooth_no = 0;
}
}
}
goto common_wheel;
Last edited by juansh2385 on Tue Oct 25, 2016 1:41 pm, edited 1 time in total.
-
- Master MS/Extra'er
- Posts: 612
- Joined: Fri Feb 25, 2011 4:28 pm
Re: 6g75 decoder eclipse for ms3
James will you be able to write and oficial decoder that includes the cam patter for ms3?
I can test them if you make the test codes. I am concentrating only on the crank patter for ms2 but I can also test ms3 code you have the time to work with me.
Juan.
I can test them if you make the test codes. I am concentrating only on the crank patter for ms2 but I can also test ms3 code you have the time to work with me.
Juan.
-
- Master MS/Extra'er
- Posts: 612
- Joined: Fri Feb 25, 2011 4:28 pm
Re: 6g75 decoder eclipse for ms3
I found the tdc tooth and phase for cylinder 4 (and cylinder 1 360 degrees away)
tomorrow I will upload a photo of a composite log for cam and crank and will identify in the screen shot the tooth aligning at tdc.
For now I can say that if you look ant the crank signal we have 36-2-1-1 wheel using the 2 missing tooth to start the count down tdc is at tooth no 5 and if you see at the composite logger you'll notice that if you poll on teeth number 5 we can identify cylinder one from 4. At tdc of cylinder 4 the crank sensor aling with tooth no 5 and the cam is pull low, and at tdc piston 1 (tooth no 5) there is no tooth in the cam signal.
The mods that I did for ms2 are already tested (I got rpm sync and the spark advance of the car match the commanded with the ms2 )hopefully on Sunday I will start the car with ms2.
James any other information that you want me to upload?
tomorrow I will upload a photo of a composite log for cam and crank and will identify in the screen shot the tooth aligning at tdc.
For now I can say that if you look ant the crank signal we have 36-2-1-1 wheel using the 2 missing tooth to start the count down tdc is at tooth no 5 and if you see at the composite logger you'll notice that if you poll on teeth number 5 we can identify cylinder one from 4. At tdc of cylinder 4 the crank sensor aling with tooth no 5 and the cam is pull low, and at tdc piston 1 (tooth no 5) there is no tooth in the cam signal.
The mods that I did for ms2 are already tested (I got rpm sync and the spark advance of the car match the commanded with the ms2 )hopefully on Sunday I will start the car with ms2.
James any other information that you want me to upload?
-
- Master MS/Extra'er
- Posts: 612
- Joined: Fri Feb 25, 2011 4:28 pm
Re: 6g75 decoder eclipse for ms3
Last edited by juansh2385 on Fri Dec 02, 2016 8:59 am, edited 4 times in total.
-
- Master MS/Extra'er
- Posts: 612
- Joined: Fri Feb 25, 2011 4:28 pm
Re: 6g75 decoder eclipse for ms3
the mark teeth in combination with the ms2 wheel code should be enough information of the engine anything else please ask.
Im done with the modifications for ms2 but I waiting on you James to upload any test code you want to provide for ms3 before I return the car.
Juan
Im done with the modifications for ms2 but I waiting on you James to upload any test code you want to provide for ms3 before I return the car.
Juan
-
- Master MS/Extra'er
- Posts: 612
- Joined: Fri Feb 25, 2011 4:28 pm
Re: 6g75 decoder eclipse for ms3
Lastest info. This engine is Mivec technology I scoop the signal and even though it is an on/off type of system like the vtec the solenoid activates at 4000 rpm. It is design to limit the current in the solenoid.
I mean the factory ecu activate the solenoid with a constant signal for 2 second after 2 second the signal becomes a square wave signal (pwm) to reduce the current. at 400 hz 60% duty.
I found on the internet also info that confirms what I saw with this engine.
I mean the factory ecu activate the solenoid with a constant signal for 2 second after 2 second the signal becomes a square wave signal (pwm) to reduce the current. at 400 hz 60% duty.
I found on the internet also info that confirms what I saw with this engine.
-
- Master MS/Extra'er
- Posts: 612
- Joined: Fri Feb 25, 2011 4:28 pm
Re: 6g75 decoder eclipse for ms3
Is there interest in developing this officially? I already finish the code mods (ms2) and Im going to return the car to the owner in a couples day.
I have the necessary ms3 hardware the time and interest to help make this official but i haven't receive any kind of respond (positive or negative).
I have the necessary ms3 hardware the time and interest to help make this official but i haven't receive any kind of respond (positive or negative).
-
- Master MS/Extra'er
- Posts: 612
- Joined: Fri Feb 25, 2011 4:28 pm
Re: 6g75 decoder eclipse for ms3
Last update the car is already running with a ms2 i had to change again the initial sync code, while cranking the compression effect made difficult finding all the missing tooth with the above code so I simplified the code just to fine the biggest missing tooth.
If there is interest i can upload a pattern of the car cranking and write the official code accordingly.
Juan
If there is interest i can upload a pattern of the car cranking and write the official code accordingly.
Juan
-
- Master MS/Extra'er
- Posts: 612
- Joined: Fri Feb 25, 2011 4:28 pm
Re: 6g75 decoder eclipse for ms3
added a new picture for reference in the future.
-
- Master MS/Extra'er
- Posts: 612
- Joined: Fri Feb 25, 2011 4:28 pm
Re: 6g75 decoder eclipse for ms3
I am finally happy with the sync code area, the last mods I did work cranking but if I burn changes with the car running it did not re-sync correctly.
James instead of looking for the missing tooth, my approach was to look for the first tooth after the missing tooth because it can be differentiated correctly with the engine running or cranking state. Later I am going to upload a crank tooth logger of the engine cranking so you can se why I did it this way.
Please take a look.
Latest mods for initial sync
James instead of looking for the missing tooth, my approach was to look for the first tooth after the missing tooth because it can be differentiated correctly with the engine running or cranking state. Later I am going to upload a crank tooth logger of the engine cranking so you can se why I did it this way.
Please take a look.
Latest mods for initial sync
Code: Select all
//initial sync
if (!(synch & SYNC_SYNCED)) {
if ((!tooth_diff_this) || (!tooth_diff_last) || (!tooth_diff_last_1)) {
return; // only sync when there's enough data
}
// when unsynced we wait until we see the first tooth after missing tooth
// and then another one and count the teeth in-between
// I use the tooth after the missing tooth because while cranking the compression effect
// cause the time between continuous tooth to be the same as the missing area.
if (!(synch & SYNC_SEMI)) { // just starting
temp1 = tooth_diff_this<<1; // 2*
if ( (tooth_diff_last > temp1) && (tooth_diff_last_1 < tooth_diff_last) ) {
tooth_no = 0;
synch |= SYNC_SEMI; // started sync sequence
}
return;
} else { // started sequence, check possible sync points
tooth_no++;
if (!(synch & SYNC_SEMI2)) { // just starting
temp1 = tooth_diff_this<<1; // 2*
if ( (tooth_diff_last > temp1) && (tooth_diff_last_1 < tooth_diff_last) ) {
if (tooth_no == 10) {
tooth_no = 1; // tooth 1
goto WHL_ROV3_OK;
} else {
tooth_no = 0; // wrong missing try again from this missing
}
}
return;
}
}
WHL_ROV3_OK:
synch &= ~SYNC_SEMI;
synch &= ~SYNC_SEMI2;
synch |= SYNC_SYNCED;
} else {
// recheck for sync
if (tooth_no == 32) { // (one less)
if ( tooth_diff_this > (tooth_diff_last << 1) ) {
tooth_no = 0;
} else {
outpc.syncreason = 50;
ign_reset();
return;
}
}
}
goto common_wheel;
Last edited by juansh2385 on Sun Dec 11, 2016 7:37 pm, edited 2 times in total.
-
- Master MS/Extra'er
- Posts: 612
- Joined: Fri Feb 25, 2011 4:28 pm
Re: 6g75 decoder eclipse for ms3
Here you can see how the compression effects of the engine cranking masked the missing tooth areas.