Miata Turbo Forum - Boost cars, acquire cats.

Miata Turbo Forum - Boost cars, acquire cats. (https://www.miataturbo.net/)
-   MEGAsquirt (https://www.miataturbo.net/megasquirt-18/)
-   -   MS1 AC Idle-Up Code Hack (https://www.miataturbo.net/megasquirt-18/ms1-ac-idle-up-code-hack-73751/)

hornetball 07-06-2013 05:06 AM

MS1 AC Idle-Up Code Hack
 
14 Attachment(s)
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":
https://www.miataturbo.net/attachmen...ine=1373101567

2. Four places where "Idle_done" is changed to "Idle_done_CL":
https://www.miataturbo.net/attachmen...ine=1373101567

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.
https://www.miataturbo.net/attachmen...ine=1373101567

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):
https://www.miataturbo.net/attachmen...ine=1373101567

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.
https://www.miataturbo.net/attachmen...ine=1373101567

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.
https://www.miataturbo.net/attachmen...ine=1373101567

So, there you go! Works pretty well for such a simple hack.

hornetball 07-06-2013 03:14 PM

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.

aaronc7 07-06-2013 10:13 PM

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.

hornetball 07-07-2013 12:31 AM

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.

ScottyP3821 07-07-2013 10:54 AM

So much AWESOME!

swimomatic 02-21-2014 10:17 AM

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!

ScottyP3821 02-21-2014 10:29 AM

:facepalm: If you have to ask than no dont do it you may fuck 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.

swimomatic 02-21-2014 10:53 AM

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.

hornetball 02-21-2014 11:02 AM

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.

sixshooter 02-21-2014 12:49 PM

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.

ScottyP3821 02-21-2014 05:07 PM

IMO after trying other tuner software's I find the MS to be the easiest to use. Followed by AEM.


All times are GMT -4. The time now is 05:53 PM.


© 2024 MH Sub I, LLC dba Internet Brands