Notices
MEGAsquirt A place to collectively sort out this megasquirt gizmo

MS1 AC Idle-Up Code Hack

Thread Tools
 
Search this Thread
 
Old Jul 6, 2013 | 05:06 AM
  #1  
hornetball's Avatar
Thread Starter
Elite Member
iTrader: (4)
 
Joined: Mar 2008
Posts: 6,301
Total Cats: 697
From: Granbury, TX
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, 56 views)

Last edited by hornetball; Jul 6, 2013 at 09:05 PM.
Old Jul 6, 2013 | 03:14 PM
  #2  
hornetball's Avatar
Thread Starter
Elite Member
iTrader: (4)
 
Joined: Mar 2008
Posts: 6,301
Total Cats: 697
From: Granbury, TX
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.
Old Jul 6, 2013 | 10:13 PM
  #3  
aaronc7's Avatar
Senior Member
iTrader: (8)
 
Joined: Jun 2010
Posts: 1,116
Total Cats: 43
From: Florida
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.
Old Jul 7, 2013 | 12:31 AM
  #4  
hornetball's Avatar
Thread Starter
Elite Member
iTrader: (4)
 
Joined: Mar 2008
Posts: 6,301
Total Cats: 697
From: Granbury, TX
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.
Old Jul 7, 2013 | 10:54 AM
  #5  
ScottyP3821's Avatar
Senior Member
iTrader: (2)
 
Joined: Jun 2012
Posts: 1,153
Total Cats: 50
From: Texas
Default

So much AWESOME!
Old Feb 21, 2014 | 10:17 AM
  #6  
swimomatic's Avatar
Newb
 
Joined: Feb 2014
Posts: 39
Total Cats: 0
From: SLC, UT
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!
Old Feb 21, 2014 | 10:29 AM
  #7  
ScottyP3821's Avatar
Senior Member
iTrader: (2)
 
Joined: Jun 2012
Posts: 1,153
Total Cats: 50
From: Texas
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.
Old Feb 21, 2014 | 10:53 AM
  #8  
swimomatic's Avatar
Newb
 
Joined: Feb 2014
Posts: 39
Total Cats: 0
From: SLC, UT
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.
Old Feb 21, 2014 | 11:02 AM
  #9  
hornetball's Avatar
Thread Starter
Elite Member
iTrader: (4)
 
Joined: Mar 2008
Posts: 6,301
Total Cats: 697
From: Granbury, TX
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.
Old Feb 21, 2014 | 12:49 PM
  #10  
sixshooter's Avatar
Moderator
iTrader: (12)
 
Joined: Nov 2008
Posts: 22,155
Total Cats: 3,536
From: Tampa, Florida
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.
Old Feb 21, 2014 | 05:07 PM
  #11  
ScottyP3821's Avatar
Senior Member
iTrader: (2)
 
Joined: Jun 2012
Posts: 1,153
Total Cats: 50
From: Texas
Default

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




All times are GMT -4. The time now is 01:50 AM.