MEGAsquirt A place to collectively sort out this megasquirt gizmo

MS1 AC Idle-Up Code Hack

Thread Tools
 
Search this Thread
 
Old 07-06-2013, 05:06 AM
  #1  
Elite Member
Thread Starter
iTrader: (4)
 
hornetball's Avatar
 
Join Date: Mar 2008
Location: Granbury, TX
Posts: 6,301
Total Cats: 696
Default MS1 AC Idle-Up Code Hack

The lack of an AC idle-up feature on the MS-1 is a real PITA, especially here in Texas in July. I've tried all the tricks listed in the stickies. For the most part, they "help" but aren't enough to solve the problem of AC idle droop (compounded, no doubt, by my 1.6 and R-134A conversion).

Most of you have gotten smart by now and moved on to MS-2 or 3. But I'm stubborn and cheap. Aside from the AC idle issue, I'm happy with my MSPNP -- it's served me well for years. Given that I'm already doing spark and fuel table switching based on AC clutch engagement (Pin 1J on the 90-93s), how hard could it be to add an idle-up?

As it turns out, not hard at all. But be advised, this is a code hack. One of the great things about MS is that it's "open-source." But that's a double-edged sword. If you're not comfortable with writing software, compiling, loading, etc. -- you probably better steer clear. Otherwise, the change is surprisingly easy.

Prerequisites: The only prerequisite for this change is to mod the MS to perform spark/fuel table switching based upon AC clutch engagement. This is covered in the stickies. More than likely, if you've been struggling with AC idle droop, you've already done this.

Basic Concept: What we are going to do in the software is monitor the input being used to switch the spark table and use it to bump up "Minimum DC" when the input is active. This provides an instant source of extra air to increase idle speed when the AC clutch is engaged. You'll have to experiment with how much bump-up you need (it's hard-coded). In my case, I'm bumping up 11 (from "19" to "30"). This amount of DC gives me about 1000RPM with AC+lights+maximum fan and about 1150RPM with AC+medium fan (my normal closed-loop warm idle target is 900RPM).

The code I started with was the standard MSPNP9093 software, MS1 Extra Version 029v. The attached zip contains both the original MS1 Extra 029v and the modified version. If you're not using 029v, you can at least take a look at what I did and make similar changes in your codebase (the idle code for all MS1 software versions should be similar). My modifications consist of:

1. A small routine called "Idle_done_CL" that is called instead of the normal "Idle_done" when any of the closed-loop idle functions finish. "Idle_done_CL" loads either "minimum DC" or an incremented "minimum DC" (depending upon the state of the AC clutch input) into register A and ensures that variables "Idledc" and "IdleLastDC" are at or above the dynamically set minimum. "Idledc" is the variable that directly controls the output to the idle control valve. "IdleLastDC" is a state variable that gives the idle routine a better starting point after an off-idle excursion. "idlemindc_f" is the "minimum DC" that you set in the closed-loop idle dialogue in MegaTune or TunerStudio.

The following WinMerge screen capture shows "Idle_done_CL":


2. Four places where "Idle_done" is changed to "Idle_done_CL":


That's it!

So, how does it work? Here are some MegaLog graphs:

This log shows the AC being turned ON and then turned OFF. With the turn ON, you can see the immediate jump in spark angle (from the spark table switching) and idle DC (from the code hack). There is little change in RPM upon engagement, it just smoothly increases from ~900 to ~1150. Upon turning OFF, spark angle returns to normal immediately but idle DC decrements more slowly under the control of the closed-loop idle algorithm. This results in a bit of an RPM increase followed by the re-establishment of a normal idle RPM.


This log shows idle recovery after a throttle blip with the AC OFF (just showing this to establish a baseline -- note the droop to ~750RPM before smoothly recovering to ~900RPM):


This log shows idle recovery after a throttle blip with AC ON, Lights OFF and Fan Speed Medium. Idle speed droops to ~800RPM before recovering to ~1150RPM.


This log shows idle recovery after a throttle blip with AC ON, Lights ON and Fan Speed High (worst case scenario). Idle speed droops to ~700RPM before recovering to ~1000RPM.


So, there you go! Works pretty well for such a simple hack.
Attached Thumbnails MS1 AC Idle-Up Code Hack-merge2_zps6ff060fc.png   MS1 AC Idle-Up Code Hack-merge1_zps0aad9916.png   MS1 AC Idle-Up Code Hack-aconoff_zps61c875c4.png   MS1 AC Idle-Up Code Hack-acofflightson_zpsf8eedae7.png   MS1 AC Idle-Up Code Hack-aclightsofffanmedium_zps0b13b903.png  

MS1 AC Idle-Up Code Hack-aclightsonfanhigh_zpsa4291b8b.png  
Attached Files
File Type: zip
msns-extra.zip (247.2 KB, 52 views)

Last edited by hornetball; 07-06-2013 at 09:05 PM.
hornetball is offline  
Old 07-06-2013, 03:14 PM
  #2  
Elite Member
Thread Starter
iTrader: (4)
 
hornetball's Avatar
 
Join Date: Mar 2008
Location: Granbury, TX
Posts: 6,301
Total Cats: 696
Default

Spent the last couple of hours driving around DFW. Killer heat today (about 100F). Ran into lots of stop and go traffic and did a couple of hot restarts after stopping for errands. This mod is awesome. Back to OEM AC drivability. Should have done this years ago. I would say that this is THE fix for MS1 AC idle.
hornetball is offline  
Old 07-06-2013, 10:13 PM
  #3  
Senior Member
iTrader: (8)
 
aaronc7's Avatar
 
Join Date: Jun 2010
Location: Florida
Posts: 1,116
Total Cats: 43
Default

Good job! I have a DIYPNP but this mod only came around within the last two years or so....I too was never able to get OEM AC driveability without running a higher base idle than I really wanted to.
aaronc7 is offline  
Old 07-07-2013, 12:31 AM
  #4  
Elite Member
Thread Starter
iTrader: (4)
 
hornetball's Avatar
 
Join Date: Mar 2008
Location: Granbury, TX
Posts: 6,301
Total Cats: 696
Default

Yeah, I should have gotten off my rear and done this a couple of years ago. Probably would have helped a lot more people as MS1 was more mainstream then. It seems I'm one of the last MS1 holdouts.
hornetball is offline  
Old 07-07-2013, 10:54 AM
  #5  
Senior Member
iTrader: (2)
 
ScottyP3821's Avatar
 
Join Date: Jun 2012
Location: Texas
Posts: 1,153
Total Cats: 50
Default

So much AWESOME!
ScottyP3821 is offline  
Old 02-21-2014, 10:17 AM
  #6  
Newb
 
swimomatic's Avatar
 
Join Date: Feb 2014
Location: Grand Junction, CO
Posts: 38
Total Cats: 0
Default

Thread revival! Now this may be a complete n00b question and I apologize if it is, but can this same coding be done for the 1.8 as well? Just want to make sure it's safe to do before looking into it further... Thanks in advance!
swimomatic is offline  
Old 02-21-2014, 10:29 AM
  #7  
Senior Member
iTrader: (2)
 
ScottyP3821's Avatar
 
Join Date: Jun 2012
Location: Texas
Posts: 1,153
Total Cats: 50
Default

If you have to ask than no dont do it you may **** up. Not trying to be rude just dont want you messing up your car and blaming it on this mod.

EDIT: Oh and welcome to the forum. Why dont you post in the meet and greet and introduce yourself first.
ScottyP3821 is offline  
Old 02-21-2014, 10:53 AM
  #8  
Newb
 
swimomatic's Avatar
 
Join Date: Feb 2014
Location: Grand Junction, CO
Posts: 38
Total Cats: 0
Default

Well that answers that question. I wouldn't blame it on the mod, I'm just coming over from Cobb AP on my speed 6 and haven't touched a MS system. I'm not used to this level of customization. Guess I'll find out what it does the hard way with monitoring.
swimomatic is offline  
Old 02-21-2014, 11:02 AM
  #9  
Elite Member
Thread Starter
iTrader: (4)
 
hornetball's Avatar
 
Join Date: Mar 2008
Location: Granbury, TX
Posts: 6,301
Total Cats: 696
Default

Yeah, getting directly into the MS software is pretty hard-core customization.

Anyway, should be similar on an MS1 on another engine. Just remember that the 1.8 IACV is a different device from the 1.6, so the fixed amount you bump up for AC idle (all the inca statements) will definitely be different.

Get over to the DIY site and familiarize yourself with how you compile and burn the code. They have some pretty good instructions over there.
hornetball is offline  
Old 02-21-2014, 12:49 PM
  #10  
Moderator
iTrader: (12)
 
sixshooter's Avatar
 
Join Date: Nov 2008
Location: Tampa, Florida
Posts: 20,647
Total Cats: 3,009
Default

MS1 + A/C guy here, too. I missed this thread originally so I'm glad it was bumped. I may try futzing with this on the 1.8 at some point soon. I never used table switching on mine and still got it working pretty well just manipulating idle settings and dashpot adjustments.

Swim, definitely post an introduction thread so we can get to know you.
sixshooter is offline  
Old 02-21-2014, 05:07 PM
  #11  
Senior Member
iTrader: (2)
 
ScottyP3821's Avatar
 
Join Date: Jun 2012
Location: Texas
Posts: 1,153
Total Cats: 50
Default

IMO after trying other tuner software's I find the MS to be the easiest to use. Followed by AEM.
ScottyP3821 is offline  
Related Topics
Thread
Thread Starter
Forum
Replies
Last Post
ReallyRottenTurbo
MEGAsquirt
4
09-22-2015 12:49 PM
nelson8708
Meet and Greet
11
09-06-2015 09:49 AM
FoundSoul
MEGAsquirt
3
09-28-2007 12:38 PM
y8s
General Miata Chat
0
11-12-2006 04:46 PM
boostinsteve
General Miata Chat
1
10-13-2006 11:35 PM



Quick Reply: MS1 AC Idle-Up Code Hack



All times are GMT -4. The time now is 01:30 PM.