Fixed two seemingly unrelated problems with one small part (long)

TurboDave

RIP DAVE
Staff member
TurboBuick.Com Supporter!
Joined
May 24, 2001
OK, this will be long winded and needs some explanation.

I finally got around to driving my 86 on a regular basis a few weeks ago, and the first problem I noticed was: after commuting to work (or anywhere), and pulling into a parking spot, shifting into neutral or park, the engine wanted to idle at 1200 rpm. Strange, I looked at Direct Scan and my commanded idle was 850 but the IAC's were hovering in the 50-60 range :confused:
Even though the tps said .42 in idle (the reason I mention tps will become evident later).

When first starting the car and getting it warmed up (to test/set IAC and TPS) all is normal with idle rpm (850), IAC (10), and TPS (.42). But after driving around, the idle refused to come back down below 1200 and the IAC's were in the 50's again. I couldn't figure that one out at all, even the P/N flag was being set properly, so the PCM knew I was shifting into Park. It didn't seem to be too big of a problem so I decided to consider my other problem with higher priority.

While making the commute to and from work (about 9 miles each way) all two lane highway miles, so the car's speed seldom gets much over 58-62mph. Lately I started noticing the torque converter unlocking and re-locking within 1-2 seconds, sometimes 3-4 seconds.
And as any of you that have a vigillanty torque converter know, when it unlocks and locks back up, YOU FEEL IT! It was annoying even though it only happened 3-6 times per trip.
I started paying close attention to Scanmaster during these drives, and since it only occured at extremely light throttle settings, I switched scanmaster to the tps mode and watched as best I could. Even with the fast update code it still wasn't showing me anything out of the ordinary. Then it got lucky and caught one of the occurances. When the TPS was down in the .60-.80 range (just about where you're trying to let up from a light cruise), the tcc ulocked, and low-and-behold I saw scanmaster's tps display go to .22 :eek:
What the heck??
I saw this occur a few more times over the next few trips and decided it's time to try and capture the event with Direct Scan. That's the beauty of DS with it's buffer, you can start recording after an event, and it's still captured!!!!!!!!!!!!!!!!

Sure enough, there was that hole in the tps voltage, dropping into the .2 area. This is far below the tps threshold to unlock the tcc in the chip so that's why it was happening.

So's I run down and buy a new TPS, get it all set and take the car to work today. Eureka!!! no more TCC ulock/lock problem. Must have been some kind of funky internal short to ground starting to develop that would pull the output voltage so far down.

An added benefit (that I haven't figured out yet), my idle now comes back down to normal when parking the car!!!! I still haven't figured out why it was causing that problem since when in idle position the TPS was sitting rock steady at .42 ???? but it was keeping the IAC numbers way to high???? Now, when shifting into park my IAC numbers come back down to 10 where I like them,

All's well
:D
 
Heya Dave:

Knew your problem 2 sentences in. If the TPS falls below a certain voltage (The TPS low threshold) the ECM pluigs in a backup value, and I think that also causes a backup idle speed.

*****************************************************************************
**
** Read TPS and Check for TPS Malfumction
**
*****************************************************************************

3932: BD FC 9B JSR $FC9B ; Read A/D converter
3935: 97 15 STAA RawTPS ; Store RawTPS
3937: D6 08 LDAB $08
3939: C4 FB ANDB #$FB ; Clear Malf21 - TPS High
393B: B1 32 91 CMPA $3291 if (RawTPS >= TPS MAX)

Value is FA or 250 to set TPS hi


393E: 25 08 BCS $3948 {
3940: 96 0E LDAA $0E
3942: 8A 08 ORAA #$08 ; Set Malf21 /0E08
3944: 97 0E STAA $0E
3946: CA 04 ORAB #$04 ; Set Malf21 /0804
}
3948: C4 DF ANDB #$DF ; Clear Malf22 - TPS Low /0820

394A: 96 01 LDAA $01 if (EngineIsNotRunning)
394C: 2A 18 BPL $3966 goto SetMinTPS

394E: B6 32 75 LDAA $3275 A = MalfFlag1 Mask
3951: 85 04 BITA #$04 if (Check For Malf22 Is Disabled)
3953: 27 19 BEQ $396E ExitMalf22Test
3955: 96 15 LDAA RawTPS
3957: B1 32 93 CMPA $3293 if (RawTPS >= TPS LOW LIMIT

Value is 0C or 12

395A: 24 12 BCC $396E ExitMalf22Test
395C: 96 0E LDAA $0E
395E: 8A 04 ORAA #$04 ; Set Malf22 - TPS Low /0E04
3960: 97 0E STAA $0E
3962: CA 20 ORAB #$20 ; Set Malf22 - TPS Low /0820
3964: 20 08 BRA $396E ; ExitMalf22Test
** SetMinTPS
3966: B6 33 F5 LDAA $33F5

3969: 97 3B STAA $3B ; Set MinTPS% from cal (9.4%) (%=N/2.56) D = #$3600 <-- I think this is the spot that sets default

396B: 7F 00 3C CLR $003C $3C = 0
*** ExitMalf22Test
396E: D7 08 STAB $08 $08 = B
3970: BD FC AF JSR $FCAF ; Process TPS reading

3973: D6 01 LDAB $01 if (EngineIsRunning)
3975: 2B 7F BMI $39F6 goto $39F6
 
Right Jim, that's what I was looking at in the code also, but I never saw a tps code set, nor was I ever able to capture or see the tps dropping below .42 at idle. I suppose that during the trips when it dropped to .22 or so, that must have set the backup idle mode for the duration.

No codes though :mad:
 
Dave & Jim,

I'm having the same sort of problem, I have a commanded Idle speed of ~800 in park, and 750 in drive, in the last 100 or so miles (last 2 weeks since I've had this thing back together), my Idle has been sometimes going high 900 to 1000, then back to normal ~750ish, now its going low ~600-650! TPS is a Rock solid .42 at idle, IAC's are about 45-50 (high yes I know) this is a NEW GM IAC! I did the paper clip reset and no change!

By the way Jimbo, I "thought" I had asked for Full Throttle lock-up, but I have NO full throttle lock-up!! I better be quiet though, as beggars can't be choosy!:cool:
 
Well, while I dont see it in the code, or dont enderstand it well enough to know that its right on front of my face, conditions to set code 22 are:

1) Engine must be running, ECM see's TPS voltage under .2 volt for 3 seconds

2) Simulates code 21, if ECM recognises the TPS voltage is high, then the ECM and wiring are OK

3) With closed throttle, ignition on or engine at idle, voltage should be less than .7v (3.0L) and .36-.44v on 3.8L engine. If voltage is not OK, check TPS adjustment or faulty TPS.

4) Simulates a high signal voltage, checks ckt 417 for open circuit.

Knowing that, I'd assume, if conditions to set code 22 arent met for 3 seconds, the ECM wont code, however, if the conditions are met AT ALL, the ECM will substitute a high voltage down the line to check its wiring. I'd ASSume this high voltage is going to be a programmed default, which I'm thinking is address $3969 above.

Anyway, this is exactly how my car acted with a bad TPS. Its merely a potentiometer. It will wear out at the most used throttle position (as in cruise) and when it does, the sensor typically faults low (open circuit).
 
Originally posted by OldGrayII
Dave & Jim,


By the way Jimbo, I "thought" I had asked for Full Throttle lock-up, but I have NO full throttle lock-up!! I better be quiet though, as beggars can't be choosy!:cool:

Umm..I dont recall sorry, its an easy enough fix. Email me your mailing address again I'll send you a locked chip. BTW: while I'm in there, anything else need addressing? Got any tlink/DS files I can look at?
 
Top