Supercharger Install Starts
#16
Racer
Thread Starter
Join Date: Dec 2010
Location: Wilmington, NC
Posts: 266
Likes: 0
Received 0 Likes
on
0 Posts
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.
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.
#18
Racer
Thread Starter
Join Date: Dec 2010
Location: Wilmington, NC
Posts: 266
Likes: 0
Received 0 Likes
on
0 Posts
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.
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.
#19
Racer
Thread Starter
Join Date: Dec 2010
Location: Wilmington, NC
Posts: 266
Likes: 0
Received 0 Likes
on
0 Posts
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.
#22
Rennlist Member
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.
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.
#23
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.
#24
Racer
Thread Starter
Join Date: Dec 2010
Location: Wilmington, NC
Posts: 266
Likes: 0
Received 0 Likes
on
0 Posts
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.
Any help is greatly appreciated.
Hope to have a lot of progress and pics during the July 4th week.
Last edited by Ducks964; 06-14-2013 at 07:28 AM. Reason: Added graph
#25
Technical Guru
Rennlist Member
Rennlist Member
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
#26
Racer
Thread Starter
Join Date: Dec 2010
Location: Wilmington, NC
Posts: 266
Likes: 0
Received 0 Likes
on
0 Posts
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.
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.
#27
Racer
Thread Starter
Join Date: Dec 2010
Location: Wilmington, NC
Posts: 266
Likes: 0
Received 0 Likes
on
0 Posts
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.).
#28
Racer
Thread Starter
Join Date: Dec 2010
Location: Wilmington, NC
Posts: 266
Likes: 0
Received 0 Likes
on
0 Posts
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.
The fun part will be routing the heater hose all the way back to the intercooler.
#30
Racer
Thread Starter
Join Date: Dec 2010
Location: Wilmington, NC
Posts: 266
Likes: 0
Received 0 Likes
on
0 Posts
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.