Page 1 of 1

cold starting/IAC

Posted: Fri Mar 03, 2006 7:38 pm
by m0ntecarloss
Ok so we are having a real difficult time getting my buddies truck started when it is cold out.

For the record it is a stock 350 chevy TBI truck motor. We are running v2.35 code (v2.34 with Al's mod for battery voltage/pw spike issue)

Once warm the truck starts and, idles and runs great. Warm cranking pulse is 2ms. We have no solid choice yet for -40deg cranking pulse but its at 8ms for now (REQ_FUEL is 8.3....)

The coolant temp was 19deg F today and we could not get it started at all. I noticed that even though I have IAC_Cranking_Position set to 130 that the cranking position megatune was reporting was 90, which just happens to correspond to the idle step bin for a temp of 19deg. If thats confusing basically it seems megasquirt was ignoring my cranking position value and just using the temp based value. Since when the truck is warm it cranks with the proper IAC value, I am guessing it did this today because it is lower than the cranking value?

Does that sound right? And will an incorrect IAC crank position cause hard starting? On my carbed motor if that choke isn't closed enough it won't even try to start.....

We called it quits for the night as we figured that beast must be really flooded :)

Posted: Fri Mar 03, 2006 7:51 pm
by natesully
I know if my PWM IAC is a little off, starting can be hard. The OEM ecu would do dumb things, so I had to make MS move the valve. Giving the engine lots of air and fuel during afterstart makes things much easier.

I think your problem is either a bug, or something configuration related. I don't have MS-II, so I would say look around megatune and see if something is wrong.

Posted: Fri Mar 03, 2006 10:20 pm
by m0ntecarloss
Thanks man. I am curious about something now.

I believe I found out the answer to my question about the cranking position.

Code: Select all

if((outpc.rpm < inpram.crank_rpm) && (IACmotor_pos > inpram.IACcrankpos))
  		    IACmotor_pos = inpram.IACcrankpos;   // want IAC open at 
  		         // least this much during cranking regardless of temp
So if the IACmotor_pos value calculated from the table is less than cranking position this part of the code doesn't get executed.

I am curious though if it wouldn't be easier to always have the same cranking position regardless of temp? Shouldn't the IAC motor be there just to control idle speed? If the motors position when cranking isn't consistent but the cranking pulse width is then you won't get consistent cranking fuel mixtures....

I was just thinking however, that maybe our values in the lower section of the table are too low anyway and we just didn't know it because it hasn't been this cold for us...

Sorry if that was confusing, I am terrible at explaining what I am thinking :)

Posted: Sun Mar 05, 2006 5:31 am
by m0ntecarloss
Ok well had another nice cold morning to test it out and we have the startup values pretty much right on the money now. Here's what I found. The IAC position is very important for starting. It was 130 steps before, we upped it to 160 and it starts as good as stock now. But the problem with the cold motor is once it is started the IAC needs to open more (to like say 120). But if I put that number into the idle steps table then that is what the cranking position would have been.

Maybe I'm missing something but it still seems to me that the IAC cranking position should always be the same (unless the motor is warm, then I guess you could open it more.) I keep thinking of the choke on my carbed motor - it needs to be pretty much fully closed to get the motor to fire, and then a vacuum actuator opens it a little bit more after a second or two of the engine running. This kind of seems opposite how MS is operating it...

I can definitely mod the code myself to do this, just throwin some thoughts out there....