Notices
Forced Induction Turbochargers and Superchargers..Got Boost?

Haltech PNP Idle Tuning

Thread Tools
 
Search this Thread
 
Old 12-17-2012, 01:19 AM
  #1  
MR RIZK
New Member
Thread Starter
iTrader: (7)
 
MR RIZK's Avatar
 
Join Date: Nov 2002
Location: Australia
Posts: 1,225
Likes: 0
Received 1 Like on 1 Post
Default Haltech PNP Idle Tuning

Have been running the pnp unit for sometime now and all works pretty good. Over many days and nights I have been able to tune the haltech idle control to a point where it will idle quite well at 800rpm on a built block with JWT C2 cams and ID725 injectors.

What works
  • 800rpm idle over varying temps
  • Free rev back to idle pretty good
  • No stalling under load, air con or harsh braking
  • When depressing the clutch at speed return throttle returns quick and does not stall
  • Doesn't hunt excessively at varying temps
  • Aircon doesn't cause issues
  • Primary and secondary fan kick in

What I need help with
  • Sometimes it will hunt ever so slightly depending on coolant temp. Looking at the logs I would say within ~50rpm.
  • After the engine bay is heat soaked and then starting the car it will hunt for about 10 seconds then have a solid idle. I'm thinking this is more fuel related than idle tuning
  • Power Steering load. The 350z has a pressure sensor but this doesn't appear to change when using the power steering. How can I compensate for power steering load?

I'm trying to get it to idle solid like factory but all my tuning has been trial and error as I have not been able to find doco that provides a good way to tune the unit. I have researched other vendors doco which use a PID controller for idle but when applying the same procedure the results are not as expected. Since I do have a pretty good idle I believe settings for all my other idle settings are fairly good.

So does anyone have a good reference to go by or have any suggestions?

----------- From Mega Squirt -----------------------
The following basic steps should be used for tuning the PID controller gains:

Zero all the gains - Set all the gains to 0%. This is so that the effects of tuning the I-term in the next step are not confused with the effects of any other setting.
Tune the Integral (I) gain - The Integral gain is the only term that controls whether the code actually reaches its target. Higher values for Integral gain will result in the code being able to get closer to the commanded target; however, a value that is too high will result in oscillation. The easiest way to determine a good value for the I term is to keep increasing it until oscillation occurs, then slightly lower it. If this value is increased to 200% without reaching a point where oscillation occurs, then the RPM with valve opened setting can be decreased as far as necessary, and the open duty/steps setting and closed duty/steps setting can be made further apart to make the PID loop more sensitive.
Tune the Proportional (P) gain - After tuning the I gain so that the RPM reaches the commanded target without oscillation, the P gain can be tuned. The best way to tune this is to set it as high as possible without getting any oscillation. After setting this, try turning on the air conditioning or other accessories that normally lower RPM or increase load. When these accessories are turned on, the RPM should dip a bit then recover (the valve position should increase significantly). Using longer PID ramp to target times can also make it so that when the PID algorithm engages, a higher P gain can be set without causing oscillation.
Tune the Derivative (D) gain - For most users, use of the D gain should not be necessary. It substantially dampens the response of the loop.
Some final tips:

Idle Fuel Tuning - Before even attempting to tune Closed-loop Idle speed control, tune the area around idle so that if RPM goes up or down or load goes up or down, the AFR stays close to the same value. Changing AFR can affect idle speed, which can then cause the PID code to try to correct, getting into an unrecoverable oscillation.
Idle Advance - The idle advance feature can be used to help "catch" the idle in situations where heavy load is suddenly added while the engine is idling. It is recommended that the advance is increased with increasing load, and decreased with decreasing load. This way when the air conditioning or electric fan are turned on, the sudden increase in load causes a corresponding increase in timing which generates more power. Also, this feature can be used so that on idle without load, slightly less than what would normally be considered "optimal" timing can be used. This causes the idle valve to need to open further to keep a particular idle speed. Then when sudden load is added, the timing increases and the valve position does not have to change as much to cope with the sudden load increase.
Old 12-17-2012, 05:13 AM
  #2  
djamps
Registered User
iTrader: (1)
 
djamps's Avatar
 
Join Date: Dec 2008
Location: MD
Posts: 4,492
Likes: 0
Received 9 Likes on 9 Posts
Default

The initial hunting is oscillation of a PID controller. Most likely the fuel trim PID not the idle speed control but could be either. keep in mind PID controller is actually VERY basic/simple (I wrote one in software on a arduino controller with less than 10 lines of code) but tuning it is not, everyone has a different method/opinion on the best way to do it. Just keep messing around until you find something that works. The only thing I know for sure is that D should almost always be kept at zero unless you have some kind of auto tuner.

BTW I get slight hunting sometimes even with OEM ECU/uprev. Depends on temps conditions and usually when things are quite warm and everything is on (A/C, lights, fans). Unfortunately I don't get access to any of the PID settings :/.

Last edited by djamps; 12-17-2012 at 05:19 AM.
Old 12-17-2012, 03:14 PM
  #3  
MR RIZK
New Member
Thread Starter
iTrader: (7)
 
MR RIZK's Avatar
 
Join Date: Nov 2002
Location: Australia
Posts: 1,225
Likes: 0
Received 1 Like on 1 Post
Default

@djamps

Thx for the tips. When I was testing as per the mega squirt doco eg: set all PID gains to 0 and raise I slowly as soon as I set I to 1 the idle oscillates between 200rpm and 2000rpm. This means I cannot find the I setting by the above method.

You do raise a good point about the fuel trim PID ie: O2 correction. I will turn off the O2 correction and see if I can tune out the oscillation as there will be less factors influencing the idle. I'm pretty sure that my fuelling in these load cells are pretty close. Currently the idle afr is 14.2 and a idle timing of around 10 degrees depending on ignition error correction error table

To be honest it just could be me expecting to much. Once I get my GoPro I will post some vids for comment.

For others that require a graphical representation on how the PID controller works this page is the best that I found.

http://www.expertune.com/tutor.aspx


Last edited by MR RIZK; 12-21-2012 at 06:42 PM.
Old 12-17-2012, 03:46 PM
  #4  
jerryd87
Registered User
iTrader: (4)
 
jerryd87's Avatar
 
Join Date: Nov 2010
Location: NE ohio
Posts: 2,439
Likes: 0
Received 9 Likes on 9 Posts
Default

that timing seems crazy low, using copy through on my harness version i show about 30 degrees timing at idle
Old 12-17-2012, 05:42 PM
  #5  
djamps
Registered User
iTrader: (1)
 
djamps's Avatar
 
Join Date: Dec 2008
Location: MD
Posts: 4,492
Likes: 0
Received 9 Likes on 9 Posts
Default

OEM idle is 13-15 degrees. 10 is low but probably not harmful, 30 would be way too high.

P might need to start at 1 (it's a multiple... 0 would kill the controller, 1 would be 0% gain, 2 would be 100% ect..) Integral of '1' might be WAY too high. I don't know if haltech applies any conversion factor before doing the math but I've had good results on other projects starting at 0.05 and working up in increments of 0.05 or less. Your ideal setting will probably be less than 1. ASSUMING there's no weird multiplication factor applied to these values by the ECU.

You should also smooth out the idle area of your map and fueling table as much as possible. Swings or rapid changes in that area can cause idle bounce. On uprev (I know it's alot different but the idea is the same) I basically flatten the MAF table in the idle area and my keep the fuel comp table mostly flat and as smooth as possible.

Last edited by djamps; 12-17-2012 at 05:46 PM.
Old 12-17-2012, 06:16 PM
  #6  
MR RIZK
New Member
Thread Starter
iTrader: (7)
 
MR RIZK's Avatar
 
Join Date: Nov 2002
Location: Australia
Posts: 1,225
Likes: 0
Received 1 Like on 1 Post
Default

Checked the FSM and idle ignition timing is 15 +/-5 degrees from factory. The reason it is around 10 degrees is that the zero throttle map is 12 degrees and the error correction map is scaled between -2 to +3 degrees over about 6 rpm points with 0 in the centre.

I found that if the idle timing is too high it will bump the idle rpm (which is expected) and to combat this I could reduce the duty on the idle control to lower the idle. Doing this though increases the chances of the car stalling as it doesn't always "catch" the return.

The hatech PID controller works on a scale of 0-100 and my current settings are P42, I31 and D0 from memory. The base map supplied by Haltech is P45, I33. I will test with radically lower numbers to see what happens but I suspect there is a multiplier as you mentioned
Old 12-17-2012, 08:33 PM
  #7  
rcdash
New Member
iTrader: (18)
 
rcdash's Avatar
 
Join Date: Jul 2005
Location: Chapel Hill, NC
Posts: 6,474
Received 65 Likes on 56 Posts
Default

If PID is working elsewhere, then I agree it's probably not the culprit. That leaves fuel and timing. Fueling is easy to dial in and looks like that is already on target. Can you try to raise the fueling below the idle rpm (say 500 rpms) and then work on adjusting timing a bit at a time. With the extra fuel hopefully it won't stall. My recollection of the stock timing is that it is around 15 at idle but then rapidly increases as rpms increase (at no load). I think it's probably timing tweaks that will get it dialed in.

Last edited by rcdash; 12-17-2012 at 08:46 PM.
Old 12-18-2012, 06:17 AM
  #8  
binder
New Member
iTrader: (8)
 
binder's Avatar
 
Join Date: Jan 2007
Location: terre haute, IN; STL, MO
Posts: 6,457
Likes: 0
Received 7 Likes on 6 Posts
Default

Dang, my oem idle wasn't even as solid as you describe yours right now. Mine with the haltech is a little off what oem is but not enough to bother me. I personally don't think 50rpm swings is much "hunting" but everyone has their limits.

I do know when I didn't have timing copy through my car idled like crap and would stall. Unfortunately that's all I have to add constructively to this thread.
Old 12-18-2012, 10:58 AM
  #9  
djamps
Registered User
iTrader: (1)
 
djamps's Avatar
 
Join Date: Dec 2008
Location: MD
Posts: 4,492
Likes: 0
Received 9 Likes on 9 Posts
Default

Originally Posted by MR RIZK
Checked the FSM and idle ignition timing is 15 +/-5 degrees from factory. The reason it is around 10 degrees is that the zero throttle map is 12 degrees and the error correction map is scaled between -2 to +3 degrees over about 6 rpm points with 0 in the centre.

I found that if the idle timing is too high it will bump the idle rpm (which is expected) and to combat this I could reduce the duty on the idle control to lower the idle. Doing this though increases the chances of the car stalling as it doesn't always "catch" the return.

The hatech PID controller works on a scale of 0-100 and my current settings are P42, I31 and D0 from memory. The base map supplied by Haltech is P45, I33. I will test with radically lower numbers to see what happens but I suspect there is a multiplier as you mentioned
Rather than tweak the maps in the idle range try to flatten them out so they are more or less fixed. Basically you want as little changes as possible to timing/fuel lookups during idle, even if it means the a/f might not stay exactly at 14.7. At least in uprev, that meant making the fueling and timing maps (2d and 3d) completely flat between 0 and 1000 rpm at low load (as well as 0-1v on the MAF), and let any corrections be done by the PID. Static lookup tables can cause instability in PID functions.

I'll remind everyone I don't have experience tuning Haltec so my suggestions could be counter productive. Just going off experience with other platform.

Last edited by djamps; 12-18-2012 at 05:17 PM.
Old 12-18-2012, 11:25 AM
  #10  
str8dum1
New Member
iTrader: (11)
 
str8dum1's Avatar
 
Join Date: Oct 2007
Location: raleigh-wood NC
Posts: 8,807
Likes: 0
Received 6 Likes on 6 Posts
Default

on my proefi, i set all the idle timing values to 0*+/- 10* and let the PID control it. Idles like a champ.

You could try setting it to 12* and widen the spark range to +/- 15* and see where the idle spark naturally wants to fall.

Last edited by str8dum1; 12-18-2012 at 11:26 AM.
Old 12-18-2012, 01:30 PM
  #11  
meatbag
New Member
iTrader: (9)
 
meatbag's Avatar
 
Join Date: Mar 2005
Location: Houston
Posts: 1,627
Likes: 0
Received 27 Likes on 17 Posts
Default

You can adjust your dead band to to help with oscillation, but some will always be present.
Old 12-18-2012, 06:57 PM
  #12  
MR RIZK
New Member
Thread Starter
iTrader: (7)
 
MR RIZK's Avatar
 
Join Date: Nov 2002
Location: Australia
Posts: 1,225
Likes: 0
Received 1 Like on 1 Post
Default

Thanks for the tips. Let me get some videos together and screen shots of my settings as I don't mind sharing this info as it may help others
Old 12-20-2012, 05:23 AM
  #13  
binder
New Member
iTrader: (8)
 
binder's Avatar
 
Join Date: Jan 2007
Location: terre haute, IN; STL, MO
Posts: 6,457
Likes: 0
Received 7 Likes on 6 Posts
Default

I think I'm going to have you set up my idle! lol
Old 12-21-2012, 06:44 PM
  #14  
MR RIZK
New Member
Thread Starter
iTrader: (7)
 
MR RIZK's Avatar
 
Join Date: Nov 2002
Location: Australia
Posts: 1,225
Likes: 0
Received 1 Like on 1 Post
Default

Having issues with gopro so excuse the quality from my other camera.

This is a vid while the car is at operating temp. At 1:52 is when the termofan cut in

OT: New ECU manager and firmware released: http://www.haltech.com/ecu-manager-1-12-1-released/. There is now a engine protection tab which would make Raj happy.


Last edited by MR RIZK; 12-21-2012 at 08:11 PM.
Old 12-22-2012, 07:12 AM
  #15  
rcdash
New Member
iTrader: (18)
 
rcdash's Avatar
 
Join Date: Jul 2005
Location: Chapel Hill, NC
Posts: 6,474
Received 65 Likes on 56 Posts
Default

That really looks pretty stable to me. Are you not happy with it? The engine protection functions are long overdue and a welcome addition to the feature set. I got rid of all my external relays and associated wiring used to cut boost based on various input signals.
Old 12-22-2012, 12:27 PM
  #16  
str8dum1
New Member
iTrader: (11)
 
str8dum1's Avatar
 
Join Date: Oct 2007
Location: raleigh-wood NC
Posts: 8,807
Likes: 0
Received 6 Likes on 6 Posts
Default

what cams do you have? i bet if you bumped the idle up a lil bit, it would be even better. but looks like even right now thats just splitting hairs.
Old 12-22-2012, 02:40 PM
  #17  
MR RIZK
New Member
Thread Starter
iTrader: (7)
 
MR RIZK's Avatar
 
Join Date: Nov 2002
Location: Australia
Posts: 1,225
Likes: 0
Received 1 Like on 1 Post
Default

@rcdash

It is not that i'm not happy with it but I was trying to replicate oem smoothness. In reality if I was told this is the best you will get it I will leave it as it is. I just have a vague recollection that my idle was better with the haltech/oem setup on the same engine. In this setup the idle was also bumped to 800rpm with UPREV

@str8dum1

The cams are JWT C2's. My reasoning for these cams where because they have high lift and a tight duration which will allow it to idle easier with less lope. Well in theory anyway.


At the moment the base duty and PID controls are against coolant temp only. I could always expand this to ATS vs CTS to help trap changes with air temp not just coolant temp.

How does the oem ecu deal with idle? Does it use CTS,ATS and a reference to MAF?

Last edited by MR RIZK; 12-22-2012 at 02:45 PM.
Old 12-22-2012, 07:49 PM
  #18  
djamps
Registered User
iTrader: (1)
 
djamps's Avatar
 
Join Date: Dec 2008
Location: MD
Posts: 4,492
Likes: 0
Received 9 Likes on 9 Posts
Default

That looks like **** to me.
Related Topics
Thread
Thread Starter
Forum
Replies
Last Post
liqalu04
Engine & Drivetrain
31
01-02-2022 12:58 PM
Colombo
Forced Induction
35
11-09-2020 10:27 AM
KOF
Tuning
5
09-30-2015 04:09 AM



Quick Reply: Haltech PNP Idle Tuning



All times are GMT -8. The time now is 10:48 AM.