Notices
964 Forum 1989-1994
Sponsored by:
Sponsored by:

Supercharger Install Starts

Thread Tools
 
Search this Thread
 
Old 05-19-2013, 09:30 PM
  #16  
Ducks964
Racer
Thread Starter
 
Ducks964's Avatar
 
Join Date: Dec 2010
Location: Wilmington, NC
Posts: 266
Likes: 0
Received 0 Likes on 0 Posts
Default

Not much done this weekend except putting Old Man Emu springs on the Rover. Wilth 31.5" wheels and the new springs, need a ladder to get into it.

Unichip is at TPC as of Friday. I assume not long for re-program. Ordered 50' of 5/8" hose for the intercooler. Have to mount the radiator in the front of car. Will be taking out my Steve Wong chip this week to go back to stock chip. Also will start mounting a Plx gauge for all the senors this week. Will add more pics later this week.
Old 05-20-2013, 12:38 AM
  #17  
STUARTQ
Three Wheelin'
 
STUARTQ's Avatar
 
Join Date: May 2012
Location: Switzerland
Posts: 1,595
Received 0 Likes on 0 Posts
Default

Looking forward to your updates too!
Old 05-20-2013, 08:50 PM
  #18  
Ducks964
Racer
Thread Starter
 
Ducks964's Avatar
 
Join Date: Dec 2010
Location: Wilmington, NC
Posts: 266
Likes: 0
Received 0 Likes on 0 Posts
Default Replaced Steve Wong Chip with Stock Chip

I know this has been covered several times. Taking the ECU from under seat is pretty easy since you can do it with the seat still in. Just 4 10mm nuts and disconnect large connector. Here are some pics of the change.

Bad luck struck and one of the pins of the Steve Wong chip broke off.

Car started fine with stock chip.

Also 50' of 5/8" heater hose showed up today. May try to mount the radiator for the intercooler this weekend.
Attached Images           
Old 05-28-2013, 10:05 PM
  #19  
Ducks964
Racer
Thread Starter
 
Ducks964's Avatar
 
Join Date: Dec 2010
Location: Wilmington, NC
Posts: 266
Likes: 0
Received 0 Likes on 0 Posts
Default Only small progress

Progress has been fairly slow. I have received back the Unichip reprogrammed for a 964. Also started painting some of the various brackets. Did get the PLX gauge mounted which I will have to start preparing the various sensors. Also got a P9290 for the crank bolt - what a huge piece of metal.
Attached Images     
Old 05-29-2013, 03:27 PM
  #20  
kylejohnston1
Racer
 
kylejohnston1's Avatar
 
Join Date: Aug 2009
Location: Houston, TX
Posts: 390
Received 12 Likes on 7 Posts
Default

Looking good! Where did you get the P9290 crank tool?
Old 05-29-2013, 07:49 PM
  #21  
Ducks964
Racer
Thread Starter
 
Ducks964's Avatar
 
Join Date: Dec 2010
Location: Wilmington, NC
Posts: 266
Likes: 0
Received 0 Likes on 0 Posts
Default

Got it from Baum Tools. Not cheap though. It is a big hunk of metal. Maybe I could loan it to you if we are not at the same stage at the same time.
Old 05-29-2013, 08:18 PM
  #22  
RicardoD
Rennlist Member
 
RicardoD's Avatar
 
Join Date: Oct 2003
Location: Bay Area, CA
Posts: 1,854
Received 212 Likes on 118 Posts
Default

Kyle,

I am the keeper of a P9290 crank loaner tool made by another Rennlister. If you pay me for shipping to you and promise to return it promptly I can help.
Old 05-30-2013, 12:04 PM
  #23  
kylejohnston1
Racer
 
kylejohnston1's Avatar
 
Join Date: Aug 2009
Location: Houston, TX
Posts: 390
Received 12 Likes on 7 Posts
Default

Maybe I could loan it to you if we are not at the same stage at the same time.
I am the keeper of a P9290 crank loaner tool made by another Rennlister. If you pay me for shipping to you and promise to return it promptly I can help.
Thanks for the generous offers! Once I get closer to pulling the crank, I'll send you guys a PM.
Old 06-14-2013, 06:48 AM
  #24  
Ducks964
Racer
Thread Starter
 
Ducks964's Avatar
 
Join Date: Dec 2010
Location: Wilmington, NC
Posts: 266
Likes: 0
Received 0 Likes on 0 Posts
Default PLX Narrowband Output

Unfortunately not a lot of progress yet due to work travel and a very hot garage. I am trying to get the electronics situated. Do have a question for the electrical guys. The plx air/fuel gauge does have a narrowband output. It is 0v to 1v. It is my understanding that the DME is looking for 0v to 0.8v. Will the difference in outputs be an issue and if so would a resistor in line resolve it (not sure the calculation for the right resistor).

Any help is greatly appreciated.

Hope to have a lot of progress and pics during the July 4th week.
Attached Images  

Last edited by Ducks964; 06-14-2013 at 07:28 AM. Reason: Added graph
Old 06-14-2013, 02:00 PM
  #25  
JasonAndreas
Technical Guru
Rennlist Member

 
JasonAndreas's Avatar
 
Join Date: May 2002
Location: USVI
Posts: 8,138
Received 112 Likes on 90 Posts
Default

Originally Posted by Ducks964
It is my understanding that the DME is looking for 0v to 0.8v. Will the difference in outputs be an issue and if so would a resistor in line resolve it (not sure the calculation for the right resistor).
Can you read 8051 assembly? If so, look at function PROCESS_O2()

Code:
LAMBDA_CALC:                            ; ...
                mov     R0, O2_SENSOR_FLAG ; 0xB2 : Do We Use O2 Sensor?
                mov     A, @R0
                mov     C, ACC.0
                jnc     @@1

                mov     R0, #0
                clr     A
                movx    @R0, A          ; 7E00
                mov     R0, #0x2E ; '.'
                movx    @R0, A          ; 7E2E

@@1:                                    ; ...
                lcall   MEM_EXT_2415

                jb      STATUS_IGNITION, @@ResetO2Variables

                jc      @@ResetO2Variables

                lcall   CALCTEMP_O2

                lcall   POLL_O2

                lcall   PROCESS_O2

                lcall   CHECK_O2_ERRORS

                cpl     C
                anl     C, STATUS_O2_CHT_HOT_ENOUGH ; RAM_29.5
                anl     C, O2_ERROR_STATUS_CHANGED ; RAM_2F.0
                jnc     @@ResetO2Variables

                lcall   CHECK_LOAD_FOR_CLOSED_LOOP

                jnb     RAM_2F.2, @@ResetO2Variables

                lcall   MEM_EXT_234B

                lcall   MEM_EXT_239A

                jb      O2_ERROR_STATUS_CHANGED, @@4 ; on startup only


@@ResetO2Variables:                     ; ...
                mov     A, #0x1E
                movc    A, @A+DPTR      ; 6238 = 0x80
                mov     TEMP_LAMBDA_TRIM, A ; Default Lambda Trim for O2 sensor
                mov     _TEMP_LAMBDA_FUEL_LOW, #0
                clr     RAM_2F.5
                clr     RAM_2F.6
                clr     RAM_2F.2
                clr     STATUS_O2_CHT_HOT_ENOUGH
                clr     RAM_2F.7
                clr     A
                lcall   SwapNibble

                jnb     STATUS_IGNITION, @@4

                clr     A
                mov     RAM_2F, A
                setb    O2_ERROR_STATUS_CHANGED
                mov     R0, #0x25 ; '%'
                movx    @R0, A          ; 7E25 : Current O2 Sensor Status (Error/Lean/Lambda/Rich/Error)
                mov     R0, #0x2B ; '+'
                movx    @R0, A          ; 7E2B
                mov     R0, #0x1F
                movx    @R0, A          ; 7E1F
                mov     A, #9
                movc    A, @A+DPTR      ; 6223 = 0x04
                cjne    A, RAM_CHT_VALUE, @@3

@@3:
                cpl     C
                mov     RAM_2F.4, C

@@4:                                    ; ...
                mov     R0, #0xF        ; 7E0F
                mov     R1, #8
                mov     R5, #2
                lcall   CopyMemR1_TO_EXT_7ERO

                mov     C, RAM_29.4
                mov     RAM_29.6, C
                mov     A, #0x11
                movc    A, @A+DPTR      ; 622B = 0x01
                cjne    A, #3, @@5

                lcall   SET_TANK_VENTING


@@5:                                    ; ...
                mov     R0, #0x2D ; '-'
                mov     A, RAM_2F
                movx    @R0, A          ; 7E2D = RAM_2F
                lcall   _SUB_29A8

                lcall   MEM_EXT_24EB

                mov     R0, #0x2C ; ','
                mov     A, RAM_2E
                movx    @R0, A          ; 7E2C = O2 Load Flags
                mov     R0, #0x22 ; '"' ; 7E22
                mov     R1, #0xB        ; 0xB, 0xC, 0xD
                mov     R5, #3
                lcall   CopyMemExt7ER0_TO_R1 ; Copy the 16-bit Map Fuel Value

                mov     A, #0x1E
                movc    A, @A+DPTR      ; 6238 = 0x80
                cpl     A
                inc     A
                add     A, LAMBDA_FUEL_TRIM ; O2 Lambda HIGH Nibble
                add     A, LAMBDA_FUEL_TRIM_0 ; O2 Lambda SCALE Nibble
                mov     R7, A
                mov     R6, _TEMP_LAMBDA_FUEL_LOW ; O2 Lambda LOW Nibble
                mov     A, RAM_30       ; 02 Fuel Correction
                jb      O2_ERROR_STATUS_CHANGED, @@9

                jb      SWITCH_WOT, @@6

                mov     A, #0x1D
                movc    A, @A+DPTR      ; 6237 = 0x00 : Partial Throttle O2 Compensation Flag
                jz      @@7

                jnb     STATUS_OFF_THROTTLE, @@8 ; Are we off-throttle?


@@6:                                    ; ...
                mov     A, #0x80        ; O2 Fuel Correction at Idle & WOT
                sjmp    @@9

; ---------------------------------------------------------------------------

@@7:                                    ; ...
                jb      SWITCH_IDLE, @@6


@@8:                                    ; ...
                mov     A, RAM_30       ; O2 Trim
                mov     B, RAM_31
                mul     AB
                mov     A, RAM_31
                rrc     A
                cpl     A
                inc     A
                add     A, #0x80 ; 'Ç'
                add     A, B

@@9:                                    ; ...
                lcall   _MULT8X16

                mov     R1, MAP_FUEL_FINAL_LOW ; Final Fuel Low Nibble
                mov     A, MAP_FUEL_FINAL_HIGH ; Final Fuel High Nibble
                lcall   _MULT16X16      ; Add O2 Trim

                mov     A, RAM_D        ; Final Fuel Scale Value
                add     A, #2
                lcall   _SHIFT_R5R6R7_BY_A

                mov     RAM_D, A
                setb    STATUS_FUEL_CALCULATING
                mov     RAM_FUEL_FINAL_HIGH_NIBBLE, R7
                mov     RAM_FUEL_FINAL_LOW_NIBBLE, R6
                mov     RAM_FUEL_FINAL_SCALE_VALUE, RAM_D
                clr     STATUS_FUEL_CALCULATING
                ret

; End of function LAMBDA_CALC

0x7778 = 64DC
0xDPTR = 621A

; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦


CALCTEMP_O2:                            ; ...
                mov     A, #0xB
                movc    A, @A+DPTR      ; 6225 = 0x0A
                cjne    A, RAM_RPM_VALUE, @@1 ; 400RPM

@@1:
                anl     C, SWITCH_WOT
                orl     C, STATUS_STARTING
                orl     C, STATUS_OFF_THROTTLE
                cpl     C
                jnc     @@5

                jnb     RAM_2F.4, @@2

                mov     A, #8           ; 6222 = 0x89
                sjmp    @@3

; ---------------------------------------------------------------------------

@@2:                                    ; ...
                mov     A, #6           ; 6220 = 0x52
                jnb     SWITCH_IDLE, @@3

                mov     A, #7           ; 6221 = 0x90

@@3:                                    ; ...
                movc    A, @A+DPTR
                jb      STATUS_O2_CHT_HOT_ENOUGH, @@4

                mov     B, A
                mov     A, #0xA
                movc    A, @A+DPTR      ; 6224 = 0x08
                add     A, B

@@4:                                    ; ...
                cjne    A, RAM_CHT_VALUE, @@5

@@5:                                    ; ...
                mov     STATUS_O2_CHT_HOT_ENOUGH, C
                jnb     SWITCH_WOT, @@6

                setb    RAM_2E.7

@@6:                                    ; ...
                ret

; End of function CALCTEMP_O2

0x7778 = 64DC
0xDPTR = 621A

; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦


POLL_O2:                                ; ...
                push    DPH
                push    DPL
                mov     DPTR, ADC_O2    ; BC05
                lcall   _READ_ADC

                mov     R2, A
                pop     DPL
                pop     DPH
                mov     A, #0x12
                movc    A, @A+DPTR      ; 622C = 0x5C
                cjne    A, RAM_2, @@1   ; R2 = 0xBC05

@@1:                                    ; if O2 > 92 THEN C = TRUE
                mov     RAM_29.4, C
                jnc     @@2

                anl     C, RAM_29.6
                sjmp    @@3

; ---------------------------------------------------------------------------

@@2:                                    ; ...
                cpl     C               ; IF O2 < 92
                anl     C, RAM_29.6

@@3:                                    ; ...
                mov     PSW.5, C
                jnc     @@4

                clr     A
                lcall   SwapNibble

                clr     RAM_2F.7

@@4:                                    ; ...
                ret

; End of function POLL_O2


; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦


PROCESS_O2:                             ; ...
                clr     RAM_2F.1
                mov     R0, #0x25 ; '%'
                mov     R1, #0x29 ; ')'
                mov     A, #0x1B
                movc    A, @A+DPTR      ; 6235 = 0xE1 : 0.88volts
                cjne    A, RAM_2, @@1   ; R2 = 0xBC05

@@1:
                mov     R4, #5
                jc      @@5

                mov     A, #0x13
                movc    A, @A+DPTR      ; 622D = 0x62 : 0.38volts
                cjne    A, RAM_2, @@2   ; R2 = 0xBC05

@@2:
                dec     R4
                jc      @@5

                mov     A, #0x14
                movc    A, @A+DPTR      ; 622E = 0x56 : 0.33volts
                dec     A
                cjne    A, RAM_2, @@3   ; R2 = 0xBC05

@@3:
                dec     R4
                jc      @@5

                mov     A, #0x1C
                movc    A, @A+DPTR      ; 6236 = 0x07 : 0.027volts
                cjne    A, RAM_2, @@4   ; R2 = 0xBC05

@@4:
                dec     R4
                jc      @@5

                dec     R4

@@5:                                    ; ...
                jnb     STATUS_STARTING, @@13

                cjne    R4, #3, @@6

                clr     O2_ERROR_STATUS_CHANGED ; RAM_2F.0
                sjmp    @@13

; ---------------------------------------------------------------------------

@@6:                                    ; ...
                cjne    R4, #1, @@7     ; startup O2 voltage too low?

                sjmp    @@StartupVoltageTooLow

; ---------------------------------------------------------------------------

@@7:                                    ; ...
                cjne    R4, #5, @@StartupVoltageInRange ; startup O2 voltage too high?

                sjmp    @@StartupVoltageTooHigh

; ---------------------------------------------------------------------------

@@StartupVoltageTooLow:                 ; ...
                mov     R0, #0x2E ; '.' ; Previous O2 Status
                movx    A, @R0          ; 7E2E
                setb    O2_ERROR_STATUS_CHANGED ; RAM_2F.0
                cjne    A, #1, @@9      ; A = 0 IF NO o2 Sensor because of Country Code

                clr     O2_ERROR_STATUS_CHANGED

@@9:                                    ; ...
                mov     R0, #0x25 ; '%'
                sjmp    @@13

; ---------------------------------------------------------------------------

@@StartupVoltageTooHigh:                ; ...
                mov     R0, #0x2E ; '.' ; Previous O2 Status
                movx    A, @R0          ; 7E2E
                setb    O2_ERROR_STATUS_CHANGED
                cjne    A, #101b, @@11

                clr     O2_ERROR_STATUS_CHANGED

@@11:                                   ; ...
                mov     R0, #0x25 ; '%'
                sjmp    @@13

; ---------------------------------------------------------------------------

@@StartupVoltageInRange:                ; ...
                setb    O2_ERROR_STATUS_CHANGED

@@13:                                   ; ...
                movx    A, @R0          ; 7E25
                mov     B, R4           ; R4 = 0 - 5
                xch     A, B
                movx    @R0, A          ; 7E25
                setb    O2_VALUE_CHANGED
                cjne    A, B, @@LambdaHasChanged ; Compare old Lambda & New Lambda

                clr     O2_VALUE_CHANGED

@@LambdaHasChanged:                     ; ...
                mov     R0, #0x15
                jnb     ACC.0, @@ProcessError ; New Lambda is out of voltage range?

                jnb     O2_ERROR_STATUS_CHANGED, @@21

                cjne    R4, #1, @@ProcessVoltage

                jnb     O2_VALUE_CHANGED, @@15

                mov     R0, #0x16
                mov     A, #3
                movc    A, @A+DPTR      ; 621D = 0x53
                movx    @R0, A          ; 7E16
                mov     A, #0xF
                movc    A, @A+DPTR      ; 6229 = 0x1E
                inc     R0
                movx    @R0, A          ; 7E17
                inc     R0
                movx    @R0, A          ; 7E18

@@15:                                   ; ...
                mov     R0, #0x16
                movx    A, @R0          ; 7E16
                jz      @@16

                lcall   SCALED_DECREMENT

                jnc     @@21


@@16:                                   ; ...
                setb    RAM_2E.7
                setb    O2_ERROR_STATUS_CHANGED
                mov     R1, #0x6C ; 'l'
                movx    A, @R1          ; 7E6C
                setb    ACC.5
                movx    @R1, A
                mov     R1, #0x29 ; ')'
                movx    A, @R1          ; 7E29
                jnz     @@17

                setb    RAM_2F.1

@@17:                                   ; ...
                sjmp    @@21

; ---------------------------------------------------------------------------

@@ProcessVoltage:                       ; ...
                jnb     O2_VALUE_CHANGED, @@19

                mov     A, #0
                movc    A, @A+DPTR      ; 621A = 0xFF : Maximum Short Term Trim
                movx    @R0, A          ; 7E15

@@19:                                   ; ...
                movx    A, @R0          ; 7E15
                dec     A
                jnz     @@20

                clr     O2_ERROR_STATUS_CHANGED

@@20:                                   ; ...
                movx    @R0, A          ; 7E15

@@21:                                   ; ...
                clr     O2_VALUE_CHANGED
                sjmp    @@26

; ---------------------------------------------------------------------------

@@ProcessError:                         ; ...
                jb      O2_ERROR_STATUS_CHANGED, @@25 ; Fault_Code 1_24 Sensor out of range?

                jnb     O2_VALUE_CHANGED, @@23

                mov     A, #1
                movc    A, @A+DPTR      ; 621B = 0x32 : O2 Error Short Term Trim Default Value
                movx    @R0, A          ; 7E15

@@23:                                   ; ...
                movx    A, @R0          ; 7E15
                dec     A
                jnz     @@24

                setb    O2_ERROR_STATUS_CHANGED

@@24:                                   ; ...
                movx    @R0, A          ; 7E15

@@25:                                   ; ...
                setb    O2_VALUE_CHANGED

@@26:                                   ; ...
                clr     A
                jb      O2_ERROR_STATUS_CHANGED, @@27

                movx    A, @R1          ; 7E29
                jnz     @@28

                mov     R1, #0x2E ; '.'
                movx    A, @R1          ; 7E2E
                anl     A, #1111b       ; Set O2 Fault Status
                jnz     @@28

                mov     A, R4           ; O2 Status
                jnb     ACC.0, @@28


@@27:                                   ; ...
                lcall   PackErrorsIntoByte ; O2 Error


@@28:                                   ; ...
                ret

; End of function PROCESS_O2

0x7778 = 64DC
0xDPTR = 621A

; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦


CHECK_LOAD_FOR_CLOSED_LOOP:             ; ...
                mov     R0, #0x20 ; ' '
                movx    A, @R0          ; 7E20 : 64E4 : 6ACF : Closed Loop Max Load
                cjne    A, RAM_INJECTOR_TIME, @@1

@@1:
                jc      @@CalculateOpenLoop

                mov     R0, #0xD
                movx    A, @R0          ; 7E0D : Closed Loop Min Load
                cjne    A, RAM_INJECTOR_TIME, @@2

@@2:
                jnc     @@CalculateOpenLoop

                clr     RAM_2F.6
                setb    RAM_2F.2
                ret
Old 06-16-2013, 07:58 PM
  #26  
Ducks964
Racer
Thread Starter
 
Ducks964's Avatar
 
Join Date: Dec 2010
Location: Wilmington, NC
Posts: 266
Likes: 0
Received 0 Likes on 0 Posts
Default Electronics

No heavy work has been started as of yet. I will hopefully start the larger items (intercooler plumbing) during the week of July 4th.

I did finish pulling the seats and painting the subfloors. Amazing the amount of change and other items that collect over 23 years.

Went ahead and cleaned up the stereo wiring at the same time.
Attached Images     
Old 06-22-2013, 05:26 PM
  #27  
Ducks964
Racer
Thread Starter
 
Ducks964's Avatar
 
Join Date: Dec 2010
Location: Wilmington, NC
Posts: 266
Likes: 0
Received 0 Likes on 0 Posts
Default Air/Fuel Gauge Works

Well I hooked up the plx air/fuel gauge and used the narrowband from the system to feed the input to the motronic. It works great. I do not have any check engine lights on and the gauge works fine. Now I just need to get some more sensors (boost, intake temp., etc.).
Attached Images  
Old 06-22-2013, 05:29 PM
  #28  
Ducks964
Racer
Thread Starter
 
Ducks964's Avatar
 
Join Date: Dec 2010
Location: Wilmington, NC
Posts: 266
Likes: 0
Received 0 Likes on 0 Posts
Default Radiator for Intercooler Mounted

Also was able to mount the radiator for the intercooler. Not really happy with the location since it will probably cut some air flow to the oil cooler. I do have a manual high speed switch for the oil cooler as well as doing the modification to turn on the fan at lower temps.

The fun part will be routing the heater hose all the way back to the intercooler.
Attached Images   
Old 07-04-2013, 06:38 AM
  #29  
Ducks964
Racer
Thread Starter
 
Ducks964's Avatar
 
Join Date: Dec 2010
Location: Wilmington, NC
Posts: 266
Likes: 0
Received 0 Likes on 0 Posts
Default Intercooler Plumbing

Have the routing of the hoses back to the engine completed. Definitely not concours, but seems to fit okay.
Attached Images           
Old 07-04-2013, 06:42 AM
  #30  
Ducks964
Racer
Thread Starter
 
Ducks964's Avatar
 
Join Date: Dec 2010
Location: Wilmington, NC
Posts: 266
Likes: 0
Received 0 Likes on 0 Posts
Default

Have worked on the pulley tensioner, but have ran into a little snag. My engine carrier has the Rennline reinforcement gusset added. This adds some thickness to the engine carrier and is causing me an issue with the tensioner being too close to the fan housing and probably will not line up with the belt on the other pulleys. I really do not want to lose the Rennline reinforced carrier. I have thought of shims/washers between the carrier and the mounting studs, but not sure it would work.


Quick Reply: Supercharger Install Starts



All times are GMT -3. The time now is 08:33 PM.