This isn't exactly a tuning issue, but I figured if anyone knew about this, it would be you guys. Basically, I'm building a standalone IAC controller from an AVR Tiny2313 microcontroller because the stock ECU does a terrible job. What I need to know is the following:
1. How many steps can the motor travel end to end before it reaches its physical limits?
2. What is a safe driving voltage that will allow good response without burning out the motor?
3. What TPS voltages correspond to idle and WOT?
Thanks in advance.
2002 Cavalier 2200 5spd
1. Its actually variable between motors. You need to run a test by stepping it manually from full out to full in and record the steps. This is a calibration that the stock ECU does along with most standalones.
2. The stepper is TTL.
3. 0v = 0%, 5v = 100%.... the TPS is NOT a good indication of idle on an engine (think of when you decel, you let off the gas, TPS goes to 0%, but you definately aren't idling).
4cyltuner.com - Information Source For 4 Cylinder Tuners
Buy stuff from CarCustoms Ebay! Won't be disappointed!
Thanks for the info.
Stupid question... How does the ECU know when the IAC has reached its limit? Does it just run it one way for 500 steps or so and assume that by then it would have zeroed out and use that as a reference?
On another note, GM seems to have cut a lot of corners with their IAC code. For example, if I let out the clutch to get rolling and don't give it gas, the ECU panics, opens the IAC wide open and the engine idles at 2500 rpm until I stop and then it goes back down to 900. This makes it IMPOSSIBLE to crawl in traffic jams. If I want to crawl along at 3-4mph, the ECU is afraid the engine is going to die and it makes the IAC go wide open and my car takes off to 10mph. As a result, I end up frying the clutch. Also, for no particular reason, it keeps the engine at 1200 RPM whenever the car moving. Other times, like when in neutral on the highway, it will idle at 1800 rpm. I drove all of last year with the stupid thing unplugged. It was great for the most part, the throttle was 100% predictable and I averaged 29mpg delivering pizza. The only part that sucked was that the RPMs were unstable during cold starts and when the A/C was on.
Anyway, the micro is going to have 3 inputs:
1. Tach signal (digital)
2. Throttle position sensor (analog)
3. A/C clutch (digital)
The reason for the tach signal is obvious, it's to regulate the RPM at idle.
I'm not using the TPS to tell if the car is idling, but to tell the micro if it should idle the car. If the TPS does not show idle (<0.2v?), the micro will step the motor a few notches above a known safe idle value. If the IAC is set too low and the revs come down all of a sudden from a rev, they tend to dip lower than they should and even stall sometimes. So I'm going to program it to step a few notches higher during throttle, not a buttload like GM does. After the TPS falls into idle territory, the IAC will start moving again and regulate the idle to where it should be. If I don't use a TPS input, the micro will try and correct the idle speed under all conditions, so if I'm giving it a bit of throttle, the IAC will shut to try and correct it, then when I let go of the gas, the engine will die.
The reason for the A/C signal is so that when I turn the A/C on, the micro goes into holy $@(% mode and opens up the IAC quickly, then brings down the idle, to a good value and remembers it.
There's a scenario I haven't covered yet, that's coasting in gear. If I'm coasting in 5th at 35mph or so (at 0 TPS), the engine will be running at 1200 RPM. The micro will see this and try to cut off some air to bring the idle down. The car is in gear so the speed won't drop. The micro will continue to cut air and when I finally take it out of gear, it will die. I can tell GM's code factors in MPH because it doesn't attempt to maintain a normal idle while the car is moving. Here's what I've come up with on how to handle this:
1. Set a floor value for the IAC so it cannot be closed enough to stall the engine.
2. Set an RPM ceiling so that above it, the micro won't care what the RPM is. It will recognize high RPMs as being in-gear values and will not try to lower them.
3. Confine the IAC to a fixed range of travel via software.
Once again, thanks for the info and if you've got any ideas, I'd love to hear them. I've begun building the board tonight, it shouldn't take too long to finish. The software will probably take me a few days or so until it because useable. Do you know where I can get a wiring harness to fit the IAC? I'd hate to chop up my factory wiring.
2002 Cavalier 2200 5spd
Have you looked at the megasquirt code and how it handles the IAC?
The problem with your IAC seems to be related to some kind of problem, neither of my cavaliers ever did what you describe...
As far as "how does the ECU know how far to move it", it calibrates the IAC and stores the calibration data.
4cyltuner.com - Information Source For 4 Cylinder Tuners
Buy stuff from CarCustoms Ebay! Won't be disappointed!
Well what I meant about calibrating is how does it know at what state the IAC is? As far as I know, there are only outputs going from the PCM to the IAC, there's no feedback as far as I can tell. My IAC motor is functioning properly. It's all the PCM's fault. It wasn't so bad at first, but then it got worse and worse. I reset the computer and it was okay for a while, now it's worsening. The Megasquirt does not seem to have any tach feedback. It looks like it only has a few preset IAC positions for different conditions like warmup, etc.
2002 Cavalier 2200 5spd
The MS does have tach feedback, and it uses some IAC positioning, but only based on coolant temp...
The way the IAC knows what position its in, is it knows that its no more or less than X steps from full open to full closed. It will calibrate by moving the IAC X steps to fully open, then it knows that there are X steps to full closed. It knows where the position of the IAC is then at any given time.
Check out this page:
http://www.megamanual.com/ms2/IAC.htm
4cyltuner.com - Information Source For 4 Cylinder Tuners
Buy stuff from CarCustoms Ebay! Won't be disappointed!
Quote:
The way the IAC knows what position its in, is it knows that its no more or less than X steps from full open to full closed. It will calibrate by moving the IAC X steps to fully open, then it knows that there are X steps to full closed. It knows where the position of the IAC is then at any given time.
So then X is more or less a constant across all IAC motors? I guess I'll have to guess and check.
2002 Cavalier 2200 5spd
my IAC does the very same things as his...... even worse now with the larger injectors, and intercooler piping.
SPD RCR Z -
'02 Z24 420whp
SLO GOAT -
'04 GTO 305whp
W41 BOI -
'78 Buick Opel Isuzu W41 Swap