Coolant fan control...
#1
Supreme Member
Thread Starter
iTrader: (2)
Join Date: Jan 2002
Location: Moorestown, NJ
Posts: 9,962
Likes: 0
Received 3 Likes
on
3 Posts
Car: 88 Camaro SC
Engine: SFI'd 350
Transmission: TKO 500
Axle/Gears: 9-bolt w/ 3.23's
Coolant fan control...
Ive finally gotten around to tweaking my $4D code and one of the first things I want to put in is control for the coolant fan. As of now it just runs and runs and runs untill the fan motor cooks itself (already burned up a buch of wire harness the first time it burned out). I have some old stuff I wrote that goes in place of the code that runs the smog pump crap. Basically it jsut sets the apropriate status bits that activate the MCU outputs. The code is kinda simplistic, though. Does any one have any suggestions to improve it? Suggestions to make the fan run less, cool better, what have you. Ive heard that the stuff for the TPI cars is actually quite complicated considering it jsut runs the fans.
Heres what I have. Basically uses vehicle speed to select what temps to turn on adn off at and also has a timer that only allows the fans to be turned on/off as fast as 5 secs. No A/C so ive left that stuff out.
Heres what I have. Basically uses vehicle speed to select what temps to turn on adn off at and also has a timer that only allows the fans to be turned on/off as fast as 5 secs. No A/C so ive left that stuff out.
;
;~~~~~~~~~~~~~~~~~~~~
;-Coolant fan params
;~~~~~~~~~~~~~~~~~~~~
;
LFANP00 FCB 50 ;5 secs, min time to change state
LFANP01 FCB 35 ;35 mph, Thresh for high speed turn on
;
;-low speed
;
LFANP02 FCB 48 ;Fan on temp, 93 deg C
LFANP03 FCB 56 ;Fan off temp, 85 dec C
;
;-High speed
;
LFANP04 FCB 32 ;Fan on temp, 102 deg C
LFANP05 FCB 48 ;Fan off temp, 93 deg C
;
;
;~~~~~~~~~~~~~~~~~~~~~~
;-Coolant fan handling
;~~~~~~~~~~~~~~~~~~~~~~
;
LDAA L0007 ;Status word
LDAB L000A ;Status word
BITB #$0008 ;CTS failure bit
BNE LFAN00 ;Bra if CTS has failed, fan on by default
;
LDAB L00DE ;Status word
BITB #$0040 ;VSS err. bit
BNE LFAN00 ;Bra if VSS error detected, fan on by default
;
LDX #LFANP04 ;addr of high speed fan quals
LDAB L0030 ;MPH
CMPB LFANP01 ;35 mph, speed thresh to use second set of quals
BHI LFAN03 ;Bra if speed is greater
;
LDX #LFANP02 ;addr of low speed fan quals
;
LFAN03 LDAB L0020 ;Cool temp
BITA #$0005 ;test b0,b1, turn on outputs
BNE LFAN04 ;Bra if fan already on
;
;-fan currently off
;
CMPB $0000,X ;thresh to turn on fan
BCC LFAN05 ;bra if cool temp is less then turn on thresh
;
LFAN00 ORAA #$0005 ;Turn on outputs for fan
BRA LFAN05 ;Bra to save
;
;-Fan currently on
;
LFAN04 CMPB $0001,X ;thresh to turn off the fan
BCS LFAN05 ;Bra if cool temp is still greater
;
ANDA #$00FA ;Clr bits, turn off the fan
;
LFAN05 LDAB L0007 ;status word
CBA ;Compare status word to see if fan has changed state
BEQ LFAN06 ;Bra to save if no change of state
;
LDAB L0074 ;Change state timer for fan
BEQ LFAN06 ;Bra if equal to zero, save status word
;
DEC L0074 ;-1
BRA LFAN02 ;Bra, not time to turn the fan on/off yet
LFAN06 LDAB LFANP00 ;5 secs, min time to change state of fan
STAB L0074 ;Cool fan change state timer
STAA L0007 ;Save status word
;
;~~~~~~~~~~~~~~~~~~~~
;-Coolant fan params
;~~~~~~~~~~~~~~~~~~~~
;
LFANP00 FCB 50 ;5 secs, min time to change state
LFANP01 FCB 35 ;35 mph, Thresh for high speed turn on
;
;-low speed
;
LFANP02 FCB 48 ;Fan on temp, 93 deg C
LFANP03 FCB 56 ;Fan off temp, 85 dec C
;
;-High speed
;
LFANP04 FCB 32 ;Fan on temp, 102 deg C
LFANP05 FCB 48 ;Fan off temp, 93 deg C
;
;
;~~~~~~~~~~~~~~~~~~~~~~
;-Coolant fan handling
;~~~~~~~~~~~~~~~~~~~~~~
;
LDAA L0007 ;Status word
LDAB L000A ;Status word
BITB #$0008 ;CTS failure bit
BNE LFAN00 ;Bra if CTS has failed, fan on by default
;
LDAB L00DE ;Status word
BITB #$0040 ;VSS err. bit
BNE LFAN00 ;Bra if VSS error detected, fan on by default
;
LDX #LFANP04 ;addr of high speed fan quals
LDAB L0030 ;MPH
CMPB LFANP01 ;35 mph, speed thresh to use second set of quals
BHI LFAN03 ;Bra if speed is greater
;
LDX #LFANP02 ;addr of low speed fan quals
;
LFAN03 LDAB L0020 ;Cool temp
BITA #$0005 ;test b0,b1, turn on outputs
BNE LFAN04 ;Bra if fan already on
;
;-fan currently off
;
CMPB $0000,X ;thresh to turn on fan
BCC LFAN05 ;bra if cool temp is less then turn on thresh
;
LFAN00 ORAA #$0005 ;Turn on outputs for fan
BRA LFAN05 ;Bra to save
;
;-Fan currently on
;
LFAN04 CMPB $0001,X ;thresh to turn off the fan
BCS LFAN05 ;Bra if cool temp is still greater
;
ANDA #$00FA ;Clr bits, turn off the fan
;
LFAN05 LDAB L0007 ;status word
CBA ;Compare status word to see if fan has changed state
BEQ LFAN06 ;Bra to save if no change of state
;
LDAB L0074 ;Change state timer for fan
BEQ LFAN06 ;Bra if equal to zero, save status word
;
DEC L0074 ;-1
BRA LFAN02 ;Bra, not time to turn the fan on/off yet
LFAN06 LDAB LFANP00 ;5 secs, min time to change state of fan
STAB L0074 ;Cool fan change state timer
STAA L0007 ;Save status word
;
#2
Moderator
iTrader: (1)
Join Date: Mar 2002
Location: Chasing Electrons
Posts: 18,432
Likes: 0
Received 227 Likes
on
212 Posts
Car: check
Engine: check
Transmission: check
Looks like it'll work out nicely. Sometimes an IAC bump is required at idle when the fan(s) first turn on. Can cheat and set the internal A/C active status bit for this. Then the IAC logic handles the IAC bump and an idle speed change (programmable) for you.
If you don't mind I have a suggestion in coding style. When a value is a byte in length make the entry for it two digits. If a value is a double byte, make it 4 digits in length.
BITB #$0008 ;CTS failure bit
-make it-
BITB #$08 ;CTS failure bit
Same end result, it just makes it easier to read for those late night sessions
RBob.
If you don't mind I have a suggestion in coding style. When a value is a byte in length make the entry for it two digits. If a value is a double byte, make it 4 digits in length.
BITB #$0008 ;CTS failure bit
-make it-
BITB #$08 ;CTS failure bit
Same end result, it just makes it easier to read for those late night sessions
RBob.
#3
Supreme Member
Join Date: Sep 2001
Location: Flowery Branch, GA
Posts: 1,195
Likes: 0
Received 0 Likes
on
0 Posts
Car: 1985 Iroc-Z
Engine: 1 BA 305 TPI
Transmission: Probuilt 700R4 - 2800 Stall Midwest
Axle/Gears: 3.42
If you fans run constantly, are you sure that the relay isn't stuck. That's what's wrong with mine.
#4
Supreme Member
Thread Starter
iTrader: (2)
Join Date: Jan 2002
Location: Moorestown, NJ
Posts: 9,962
Likes: 0
Received 3 Likes
on
3 Posts
Car: 88 Camaro SC
Engine: SFI'd 350
Transmission: TKO 500
Axle/Gears: 9-bolt w/ 3.23's
RBob, the dissasembler I used to dissasemble the code from my '8063 made all the single byte stuff 4 digits long. Too lazy to change it all so after awhile I just got used to looking at it so I didnt even realise I made it 4 digits long when I wrote it up. Does look cleaner with only 2 digits, though.
Theres nothing actually wrong with my cooling system but I had paid hyper**** 40 something dollars for a fanswitch that was matched to a 180 t-stat and the thing comes on at 195 but never goes off untill around 150 Even in the wintertime when the radiator and the hoses are all ice cold from overcooling the damn fan is still going. Its easier and more preferable to move contol over to the ECM then get all messy putting in another switch.
I hate hypertech...
Theres nothing actually wrong with my cooling system but I had paid hyper**** 40 something dollars for a fanswitch that was matched to a 180 t-stat and the thing comes on at 195 but never goes off untill around 150 Even in the wintertime when the radiator and the hoses are all ice cold from overcooling the damn fan is still going. Its easier and more preferable to move contol over to the ECM then get all messy putting in another switch.
I hate hypertech...
#5
Senior Member
Join Date: Oct 1999
Posts: 6,621
Likes: 0
Received 2 Likes
on
2 Posts
Car: 91 Red Sled
Axle/Gears: 10bolt Richmond 3.73 Torsen
Looks good. I found out that without the fan my car will overheat on the highway cruising above 50mph. It'll cool down if I'm below 50.... something about that cheap plastic air damn that just doesn't want to stay pointed in the right direction .
Let me know how the code works out through this thread. It would be nice to get into source code but this lockers stuff is just so much fun .
Let me know how the code works out through this thread. It would be nice to get into source code but this lockers stuff is just so much fun .
#6
Supreme Member
Thread Starter
iTrader: (2)
Join Date: Jan 2002
Location: Moorestown, NJ
Posts: 9,962
Likes: 0
Received 3 Likes
on
3 Posts
Car: 88 Camaro SC
Engine: SFI'd 350
Transmission: TKO 500
Axle/Gears: 9-bolt w/ 3.23's
Originally posted by JPrevost
Looks good. I found out that without the fan my car will overheat on the highway cruising above 50mph. It'll cool down if I'm below 50....
Looks good. I found out that without the fan my car will overheat on the highway cruising above 50mph. It'll cool down if I'm below 50....
#7
Supreme Member
Join Date: Jun 2000
Location: In reality
Posts: 7,554
Likes: 0
Received 1 Like
on
1 Post
Car: An Ol Buick
Engine: Vsick
Transmission: Janis Tranny Yank Converter
Originally posted by JPrevost
Looks good. I found out that without the fan my car will overheat on the highway cruising above 50mph. It'll cool down if I'm below 50.... something about that cheap plastic air damn that just doesn't want to stay pointed in the right direction .
Let me know how the code works out through this thread. It would be nice to get into source code but this lockers stuff is just so much fun .
Looks good. I found out that without the fan my car will overheat on the highway cruising above 50mph. It'll cool down if I'm below 50.... something about that cheap plastic air damn that just doesn't want to stay pointed in the right direction .
Let me know how the code works out through this thread. It would be nice to get into source code but this lockers stuff is just so much fun .
FWIW, the lowest fan temp sender in the GM oem inventory, 1/4" pipe thread, is for the 86-87 GNs. 200-205 turn on, and ~190 off.
Trending Topics
#8
Senior Member
Join Date: Oct 1999
Posts: 6,621
Likes: 0
Received 2 Likes
on
2 Posts
Car: 91 Red Sled
Axle/Gears: 10bolt Richmond 3.73 Torsen
I'm going to fab up my own air damn one of these days. Competition for our FSAE team is only a week away and we just now got our engine running on the dyno. We would have been done long ago if one of our members hadn't forgotten to locktight and double check the bold holding the driveshaft to the output shaft . Head got fixed and we rebuild the engine in record time, now it's time to go dyno tune.... later
Thread
Thread Starter
Forum
Replies
Last Post