1.2.3. 60-6 2 stroke?

Testing and development of Megasquirt 3

Moderators: jsmcortina, muythaibxr

MS2tester
Master MS/Extra'er
Posts: 606
Joined: Sat Apr 11, 2009 12:54 pm
Location: Aalsmeer the netherlands
Contact:

Re: 1.2.3. 60-6 2 stroke?

Post by MS2tester »

Tried to assemble the 1.4.0 code with the 60-6 wheel and ran into an issue?
Attachments
2018-01-23 16.57.00.png
2018-01-23 16.57.00.png (485.08 KiB) Viewed 2507 times
MS2tester
Master MS/Extra'er
Posts: 606
Joined: Sat Apr 11, 2009 12:54 pm
Location: Aalsmeer the netherlands
Contact:

Re: 1.2.3. 60-6 2 stroke?

Post by MS2tester »

one of the other things i am working on is how to let megasquirt know the oil pump is working
and if not, to take action on that
since obviously a oil pressure sensor will not work here and flow senors will add serious cost
i thought about using the fly-back of the oil pump as a trigger for oil pump operation
now i am not an electronics engineer so serious fault can be expected

in the 1.4.0 code a PWM ouput can be variable frequency or duty cycle
which one is of no importance but i used variable frequency here with a minimum of 10 hertz
with the very rudimentary circuit i used here
flyback from turning off the oil pump would break through the zener voltage turn on the npn transistor giving a digital low on a frequency input of megasquirt
and turn off once the flyback dissipates
next we have the settings for the flex fuel input normally this would add ignition advance based on the ethanol content
but now we are removing it
with the PWM minimum of 10 herz everything below that would mean a non working oil pump and therefore remove ignition advance from the engine

any ideas comments very appreciated
Attachments
flyback coil.jpg
flyback coil.jpg (82.96 KiB) Viewed 2494 times
PWM_output.PNG
PWM_output.PNG (155.91 KiB) Viewed 2494 times
Frequency_input.PNG
Frequency_input.PNG (227.59 KiB) Viewed 2494 times
jsmcortina
Site Admin
Posts: 39612
Joined: Mon May 03, 2004 1:34 am
Location: Birmingham, UK
Contact:

Re: 1.2.3. 60-6 2 stroke?

Post by jsmcortina »

1. The compile error is that your code is too large to fit in that memory region. You'll have to delete some other stuff or shuffle things around into different sections.

2. For schematics, consider using a programme like Eagle or KiCad.

James
I can repair or upgrade Megasquirts in UK. http://www.jamesmurrayengineering.co.uk

My Success story: http://www.msextra.com/forums/viewtopic ... 04&t=34277
MSEXTRA documentation at: http://www.msextra.com/doc/index.html
New users, please read the "Forum Help Page".
MS2tester
Master MS/Extra'er
Posts: 606
Joined: Sat Apr 11, 2009 12:54 pm
Location: Aalsmeer the netherlands
Contact:

Re: 1.2.3. 60-6 2 stroke?

Post by MS2tester »

Ok i completely deleted the ngc wheel from the code
And we had succes
With circuit yes i know ihave eagle installed aas thierry from transmic does not like my scribbelings either
I was hoping by putting out there for my holiday so people could chime in
I will put some effort into it when i get back

Meanwhile wat are the chances of the wheel getting included in the ultimate code?
I have one here i can use for bench testing as it is not yet installed on my other engine!
Attachments
2018-01-25 15.07.54.jpg
2018-01-25 15.07.54.jpg (145.43 KiB) Viewed 2488 times
MS2tester
Master MS/Extra'er
Posts: 606
Joined: Sat Apr 11, 2009 12:54 pm
Location: Aalsmeer the netherlands
Contact:

Re: 1.2.3. 60-6 2 stroke?

Post by MS2tester »

doing some testing with my pwmA looped back into flex fuel

as i could not get the reaction i wanted with the settings
i used sensor failure
halfway in the log i disconnect the flex fuel input (sensor failure)
creating a continuous high on the flex fuel input
but the ignition advance stays the same
so am a little puzzled here :?
Attachments
2018-02-05_12.46.56.msl
(202.53 KiB) Downloaded 81 times
2018-02-05_12.48.50.msq
(274.61 KiB) Downloaded 72 times
ms3_flex_input_small.PNG
ms3_flex_input_small.PNG (268.86 KiB) Viewed 2455 times
MS2tester
Master MS/Extra'er
Posts: 606
Joined: Sat Apr 11, 2009 12:54 pm
Location: Aalsmeer the netherlands
Contact:

Re: 1.2.3. 60-6 2 stroke?

Post by MS2tester »

it looks like mega-squirt only recognizes a failed sensor on start up
in the next log i disconnected flex fuel input when mega-squirt was turned on
and went from 0 rpm to high and back to 0 with no advance adjustment
halfway through the log i cycled mega-squirt power and now the ignition advance stays at the sensor failure setting
Attachments
2018-02-05_13.07.14.msl
(484.65 KiB) Downloaded 85 times
MS2tester
Master MS/Extra'er
Posts: 606
Joined: Sat Apr 11, 2009 12:54 pm
Location: Aalsmeer the netherlands
Contact:

Re: 1.2.3. 60-6 2 stroke?

Post by MS2tester »

So the quistion is
Is this by design? Only looking for a failed senor on start up
Or should this be continously checking for a failed sensor!
jsmcortina
Site Admin
Posts: 39612
Joined: Mon May 03, 2004 1:34 am
Location: Birmingham, UK
Contact:

Re: 1.2.3. 60-6 2 stroke?

Post by jsmcortina »

The Flex input handling has been changed in recent releases although I've still yet to receive any feedback at all on whether customers see an improvement.

James
I can repair or upgrade Megasquirts in UK. http://www.jamesmurrayengineering.co.uk

My Success story: http://www.msextra.com/forums/viewtopic ... 04&t=34277
MSEXTRA documentation at: http://www.msextra.com/doc/index.html
New users, please read the "Forum Help Page".
MS2tester
Master MS/Extra'er
Posts: 606
Joined: Sat Apr 11, 2009 12:54 pm
Location: Aalsmeer the netherlands
Contact:

Re: 1.2.3. 60-6 2 stroke?

Post by MS2tester »

tried out 1.5.1 with a 60-2 wheel
it takes about 50 seconds before a flex fault is declared
in the log after i reach 3000rpm to when you see the advance drop offcourse

50 seconds without oil on a 3 liter v6 two stroke spinning at 7000 rpm :shock:
would it be very code intensive to make that user adjustable?

around 20 seconds after reconnecting flex input before the fault is cleared

i would definitely say flex fuel seems more responsive compared to 1.4

0 herz is zero herz now instead off 1 herz
Attachments
2018-02-17_14.07.30.msq
(284.27 KiB) Downloaded 111 times
2018-02-17_14.09.36.msl
(526.57 KiB) Downloaded 86 times
MS2tester
Master MS/Extra'er
Posts: 606
Joined: Sat Apr 11, 2009 12:54 pm
Location: Aalsmeer the netherlands
Contact:

Re: 1.2.3. 60-6 2 stroke?

Post by MS2tester »

well i promised a schematic but fighting all the way :roll:
could not get the npn to synch up jumps over the correct place
Attachments
Oil Pump Feedback2.png
Oil Pump Feedback2.png (8.78 KiB) Viewed 2398 times
jsmcortina
Site Admin
Posts: 39612
Joined: Mon May 03, 2004 1:34 am
Location: Birmingham, UK
Contact:

Re: 1.2.3. 60-6 2 stroke?

Post by jsmcortina »

Change your Grid to be finer (e.g. from 0.1 inch to 0.05 inch)

You'll also find GND and +5V symbols in "supply1" or similar library.

James
I can repair or upgrade Megasquirts in UK. http://www.jamesmurrayengineering.co.uk

My Success story: http://www.msextra.com/forums/viewtopic ... 04&t=34277
MSEXTRA documentation at: http://www.msextra.com/doc/index.html
New users, please read the "Forum Help Page".
MS2tester
Master MS/Extra'er
Posts: 606
Joined: Sat Apr 11, 2009 12:54 pm
Location: Aalsmeer the netherlands
Contact:

Re: 1.2.3. 60-6 2 stroke?

Post by MS2tester »

i made this in 7.7.0 which somehow seemed to work easier
but i guess you just need more time working with it
Attachments
electronic distributor.png
electronic distributor.png (29.07 KiB) Viewed 2395 times
MS2tester
Master MS/Extra'er
Posts: 606
Joined: Sat Apr 11, 2009 12:54 pm
Location: Aalsmeer the netherlands
Contact:

Re: 1.2.3. 60-6 2 stroke?

Post by MS2tester »

well finally had some time to pick this up after i bought a new boat
after doing some testing and reading about snubbers
i came up with this
the opto coupler is not installed so this is the pickup between the diode and the zener
would it be a problem to feed this directly into the megasquirt flex fuel input
or would the opto coupler be mandatory?
Attachments
megasquirt_mercury_oilpump_feedback.png
megasquirt_mercury_oilpump_feedback.png (6.29 KiB) Viewed 2143 times
oil pump feedback pulse.jpg
oil pump feedback pulse.jpg (268.93 KiB) Viewed 2143 times
MS2tester
Master MS/Extra'er
Posts: 606
Joined: Sat Apr 11, 2009 12:54 pm
Location: Aalsmeer the netherlands
Contact:

Re: 1.2.3. 60-6 2 stroke?

Post by MS2tester »

slightly revised as the flex fuel sensor would pull a 5 volt signal to ground
Attachments
megasquirt_mercury_oilpump_feedbackB.png
megasquirt_mercury_oilpump_feedbackB.png (6.81 KiB) Viewed 2135 times
Matt Cramer
Super MS/Extra'er
Posts: 17507
Joined: Thu Apr 16, 2009 8:08 pm

Re: 1.2.3. 60-6 2 stroke?

Post by Matt Cramer »

FYI, I've been seeing a bit more interest in this wheel lately. Matt Blasco dropped off one of these wheels with me at Drag Week, saying he's been getting customers wanting to run this pattern.
Matt Cramer -1966 Dodge Dart slant six running on MS3X
MS2tester
Master MS/Extra'er
Posts: 606
Joined: Sat Apr 11, 2009 12:54 pm
Location: Aalsmeer the netherlands
Contact:

Re: 1.2.3. 60-6 2 stroke?

Post by MS2tester »

well it,s working live test with the last mentioned circuit
https://www.youtube.com/watch?v=53xOtUgEMac
the only thing i am not so happy with is the slow ignition de-advance after feedback is lost
Attachments
2018-09-23_17.50.16.msq
(274.24 KiB) Downloaded 71 times
2018-09-23_17.48.21.msl
(677.87 KiB) Downloaded 68 times
MS2tester
Master MS/Extra'er
Posts: 606
Joined: Sat Apr 11, 2009 12:54 pm
Location: Aalsmeer the netherlands
Contact:

Re: 1.2.3. 60-6 2 stroke?

Post by MS2tester »

is there any progress in adding this wheel to the code!?
the maxx ecu already seems to have support
i can buy an original flywheel of ebay and setup a Hall/flywheel combination to make a tooth time .csv!?
Attachments
maxx_ecu_mercury_marine.jpg
maxx_ecu_mercury_marine.jpg (91.51 KiB) Viewed 1668 times
MS2tester
Master MS/Extra'er
Posts: 606
Joined: Sat Apr 11, 2009 12:54 pm
Location: Aalsmeer the netherlands
Contact:

Re: 1.2.3. 60-6 2 stroke?

Post by MS2tester »

tested the 60_6 code on a genuine mercury flywheel
a mercury 135 optimax motor this is a 2.5 liter v6 two stroke

https://youtu.be/vl8cfhz2zBk

i have an ultimate to test this on! :?

Code: Select all

/************ Rover 36-1-1-1-1 mode3 - do not know application *************/
  SPKMODE24:
    //initial sync
    if (!(synch & SYNC_SYNCED)) {
        if ((!tooth_diff_this) || (!tooth_diff_last)
            || (!tooth_diff_last_1)) {
            return(0);             // 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(0);
        } 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 == 4) {
                        tooth_no = 0;   // tooth 1
                        goto WHL_ROV3_OK;
                    } else if (tooth_no == 16) {
                        tooth_no = 16;  // tooth 17
                        goto WHL_ROV3_OK;
                    } else if (tooth_no == 2) {
                        tooth_no = 18;  // tooth 19
                        goto WHL_ROV3_OK;
                    } else if (tooth_no == 15) {
                        tooth_no = 33;  // tooth 34
                        goto WHL_ROV3_OK;
                    } else if (tooth_no == 3) {
                        tooth_no = 36;  // tooth 37
                        goto WHL_ROV3_OK;
                    } else if (tooth_no == 14) {
                        tooth_no = 50;  // tooth 51
                        goto WHL_ROV3_OK;
                    } else {
                        tooth_no = 0;   // doesn't make sense, so try again from this missing tooth
                    }
                }
                return(0);
            }
        }
      WHL_ROV3_OK:

        synch &= ~SYNC_SEMI;
        synch &= ~SYNC_SEMI2;
        synch |= SYNC_SYNCED;

    } else {
        // recheck for sync
        if ((tooth_no == 16) || (tooth_no == 18) || (tooth_no == 33) || (tooth_no == 36) || (tooth_no == 50) || (tooth_no == 54)) {     // (one less)
            temp1 = tooth_diff_last + (tooth_diff_last >> 1);   // 1.5*
            if (tooth_diff_this <= temp1) {
                outpc.syncreason = 50;
                ign_reset();
                return(0);
            }
            if (tooth_no == 54) {
                tooth_no = 0;
            }
        }
    }

    goto common_wheel;

Code: Select all

 /* ----------------------  Rover 36-1-1-1-1 type '3' (??) -------------------- */
        // this one has 4 and 5 teeth between the gaps
   } else if (spkmode == 24) {
        no_teeth = 54;          // for single coil or wasted spark
        last_tooth = no_teeth;
        deg_per_tooth[0] = 60;
        deg_per_tooth[1] = 60;
        deg_per_tooth[2] = 60;
        deg_per_tooth[3] = 60;
        deg_per_tooth[4] = 60;
        deg_per_tooth[5] = 60;
        deg_per_tooth[6] = 60;
        deg_per_tooth[7] = 60;
        deg_per_tooth[8] = 60;
        deg_per_tooth[9] = 60;
        deg_per_tooth[10] = 60;
        deg_per_tooth[11] = 60;
        deg_per_tooth[12] = 60;
        deg_per_tooth[13] = 60;
        deg_per_tooth[14] = 60;
        deg_per_tooth[15] = 120;
        deg_per_tooth[16] = 60;
        deg_per_tooth[17] = 120;
        deg_per_tooth[18] = 60;
        deg_per_tooth[19] = 60;
        deg_per_tooth[20] = 60;
        deg_per_tooth[21] = 60;
        deg_per_tooth[22] = 60;
        deg_per_tooth[23] = 60;
        deg_per_tooth[24] = 60;
        deg_per_tooth[25] = 60;
        deg_per_tooth[26] = 60;
        deg_per_tooth[27] = 60;
        deg_per_tooth[28] = 60;
        deg_per_tooth[29] = 60;
        deg_per_tooth[30] = 60;
        deg_per_tooth[31] = 60;
        deg_per_tooth[32] = 120;
        deg_per_tooth[33] = 60;
        deg_per_tooth[34] = 60;
        deg_per_tooth[35] = 120;
        deg_per_tooth[36] = 60;
        deg_per_tooth[37] = 60;
        deg_per_tooth[38] = 60;
        deg_per_tooth[39] = 60;
        deg_per_tooth[40] = 60;
        deg_per_tooth[41] = 60;
        deg_per_tooth[42] = 60;
        deg_per_tooth[43] = 60;
        deg_per_tooth[44] = 60;
        deg_per_tooth[45] = 60;
        deg_per_tooth[46] = 60;
        deg_per_tooth[47] = 60;
        deg_per_tooth[48] = 60;
        deg_per_tooth[49] = 120;
        deg_per_tooth[50] = 60;
        deg_per_tooth[51] = 60;
        deg_per_tooth[52] = 60;
        deg_per_tooth[53] = 120;

        smallest_tooth_crk = 60;
        smallest_tooth_cam = 0;
        
     if (num_cyl == 4) {
        no_triggers = 2;
        trigger_teeth[0] = 2;
        trigger_teeth[1] = 30;
        trig_angs[0] = -100 + tmp_offset;       // to be determined 
        trig_angs[1] = -100 + tmp_offset;       // to be determined 
     } else if (num_cyl == 6) {
        no_triggers = 3;
        trigger_teeth[0] = 1;
        trigger_teeth[1] = 19;
        trigger_teeth[2] = 37;
        trig_angs[0] = -100 + tmp_offset;       // to be determined 
        trig_angs[1] = -100 + tmp_offset;       // to be determined 
        trig_angs[2] = -100 + tmp_offset;       // to be determined 
     } else if (num_cyl == 8) {
        no_triggers = 4;
        trigger_teeth[0] = 7;
        trigger_teeth[1] = 20;
        trigger_teeth[2] = 34;
        trigger_teeth[3] = 48;
        trig_angs[0] = -100 + tmp_offset;       // to be determined 
        trig_angs[1] = -100 + tmp_offset;       // to be determined 
        trig_angs[2] = -100 + tmp_offset;       // to be determined 
        trig_angs[3] = -100 + tmp_offset;       // to be determined 
     } else if (num_cyl == 12) {
        no_triggers = 6;
        trigger_teeth[0] = 1;
        trigger_teeth[1] = 11;
        trigger_teeth[2] = 19;
        trigger_teeth[3] = 29;
        trigger_teeth[4] = 37;
        trigger_teeth[5] = 47;
        trig_angs[0] = -100 + tmp_offset;       // to be determined 
        trig_angs[1] = -100 + tmp_offset;       // to be determined 
        trig_angs[2] = -100 + tmp_offset;       // to be determined 
        trig_angs[3] = -100 + tmp_offset;       // to be determined 
        trig_angs[4] = -100 + tmp_offset;       // to be determined 
        trig_angs[5] = -100 + tmp_offset;       // to be determined 
        } else {
            conf_err = 17;
        }
Attachments
mercury_60_6.jpg
mercury_60_6.jpg (120.51 KiB) Viewed 1459 times
Post Reply