Page 1 of 3 123 LastLast
Results 1 to 15 of 34

Thread: $0D/$0E Efan control

  1. #1
    Super Moderator Six_Shooter's Avatar
    Join Date
    Feb 2011
    Posts
    2,968

    $0D/$0E Efan control

    Well, I was just testing some electric fan control on my test bench, and it seems to work exactly as the author says it does.

    Just a couple things I want to be able to fine tune, like the actual turn on and off temps, but hopefully will be able to sort that out soon.

    Anyway, this is originally from: http://www.fullsizechevy.com/forum/g...n-code-0d.html
    Change in code need for $0D:

    What this code does

    Engine temperature
    Below 190F, fan off
    Above 199F, fan turns on
    above 210F, fan forced on regardless of other conditions

    If the vehicle speed is above 25 MPH, the fan turns off unless the 45 seconds has not elapsed, or the temperature is very high (above 210F) in which case the fan will run at any vehicle speed.

    The fan is turned on when the A/C Clutch is engaged. Unless the vehicle speed is above 25 MPH.

    The code includes a 45 second absolute minimum fan run time. This was the big change from my last code. I added this condition so that if the A/C Compressor is cycling every 10 seconds, its not beating the fan, relay and electrical system up. It was also needed because of the 25 MPH fan rule, where if you were driving along at 24-26 MPH, the fan would cycle with subtle changes in speed. This solved that issue.

    You can add the calibrations at locations L7000-L7004 to your preferred editor to allow you to change the values you would like to use for temperature, speed, or even the minimum fan run time using your editor program.

    Code:
    Ram Variables:    
    L02A7 = MPH    
    L00A2 = Coolant Temp    
    L004D,BIT 0 = A/C STATUS (1 = A/C Requested on)    
    L0052,BIT 3 = Fan Output Control    
    L0150 = Minimum Fan Run Timer    
    
    To enable this routine, be sure to change the Value at address 7C6F from D399 to 7020    
    Connect the fan relay to E3, Connect the other end of the relay coil to Power. The computer GROUNDS E3 to run the fan.    
    
    Coolant temp example:    
    199 deg F    
    199 + 40 = 239    
    239/1.35 = 177.04 (round to 177)    
    177 is B1 in hexidecimal.    
    
    Calibrations:    
    L7000    19     db     High MPH Fan Cutoff (25 MPH)
    L7001    B9     db     Coolant Temperature Very High Value Enable (210 deg F)
    L7002    B1     db     Coolant Temperature High Value Enable (199 deg F)
    L7003    AA     db     Coolant Temperature Low Value Disable (190 deg F)
    L7004    2D     db     Minimum Fan Run "MFR" Time (45 Seconds)
    
    Algorithms:    
    L7020    CE    70    00     L7020     LDX    #L7000     Start of fan Calibrations
    L7023    12    52    08    1F     BRSET    L0052,#$08,L7046     If Fan is On, Skip to "Load MFR Timer Variable"
    L7027    96    A2     LDAA     L00A2     Load Coolant Temperature
    L7029    A1    01     CMPA    1,X     Compare to Coolant Temperature Very High Value
    L702B    22    11     BHI     L703E     Go to "Turn On Fan" if Higher
    L702D    12    4D    01    06     BRSET    L004D,#$01,L7037     If A/C is On, Go To "Load MPH"
    L7031    96    A2     LDAA     L00A2     Load Coolant Temperature
    L7033    A1    02     CMPA    2,X     Compare to Coolant Temperature High Value Enable
    L7035    23    37     BLS     L706E     Go To "End" if Lower
    L7037    B6    02    A7     L7037     LDAA    L02A7     Load MPH
    L703A    A1    00     CMPA    0,X     Compare to High MPH Fan Cutoff
    L703C    22    30     BHI     L706E     Go to "End" if Higher
    L703E    14    52    08     L703E     BSET     L0052,#$08     Turn on Fan
    L7041    A6    04     LDAA     4,X     Load MFR Timer
    L7043    B7    01    50     STAA    L0150     Save MFR Timer to L0150
    L7046    B6    01    50     L7046     LDAA     L0150     Load MFR Timer Variable
    L7049    26    16     BNE     L7061     If timer is Not Zero go to "Load MFR Timer Variable"
    L704B    12    4D    01    06     BRSET    L004D,#$01,L7055     If A/C is On, Go To "Load MPH"
    L704F    96    A2     LDAA     L00A2     Load Coolant Temperature
    L7051    A1    03     CMPA    3,X     Compare to Coolant Temperature Low Value Disable
    L7053    23    09     BLS     L705E     Go To "Turn off fan" if Lower
    L7055    B6    02    A7     L7055     LDAA     L02A7     Load MPH
    L7058    A1    00     CMPA    0,X     Compare to High MPH Fan Cutoff
    L705A    22    02     BHI     L705E     Go To "Turn off Fan" if Higher
    L705C    20    10     BRA L706E     End
    L705E    15    52    08     L705E     BCLR     L0052,#$08     Turn off Fan
    L7061    B6    01    50     L7061     LDAA     L0150     Load MFR Timer Variable
    L7064    D6    02     LDAB     L0002     Load Loop Counter
    L7066    C4    F0     ANDB     #$F0     Mask First 4 Bits
    L7068    26    04     BNE     L706E     Skip To end if no Decrement of Timer Needed
    L706A    4A     DECA     Decrease MFR Timer by 1
    L706B    B7    01    50     STAA    L0150     Save MFR Timer to L0150
    L706E    4F     L706E     CLRA     Clear A Register
    L706F    5F     CLRB     Clear B Register
    L7070    39     RTS     Return
    Here is the code as you would paste it into a hex editor. Just be sure that it OVERWRITES this section when you paste it, or else it will shift the whole program around, and your vehicle will NOT RUN.

    Code:
    7000: 19 b9 b1 aa 2d 00 00 00 00 00 00 00 00 00 00 00
    7010: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    7020: ce 70 00 12 52 08 1f 96 a2 a1 01 22 11 12 4d 01
    7030: 06 96 a2 a1 02 23 37 b6 02 a7 a1 00 22 30 14 52
    7040: 08 a6 04 b7 01 50 b6 01 50 26 16 12 4d 01 06 96
    7050: a2 a1 03 23 09 b6 02 a7 a1 00 22 02 20 10 15 52
    7060: 08 b6 01 50 d6 02 c4 f0 26 04 4a b7 01 50 4f 5f
    7070: 39
    Change in code needed for $0E (I haven't tested this yet)

    So here it is, The same code, adapted to work for $0E:

    Ram Variables:
    L0283 = MPH
    L00A8 = Coolant Temp
    L004D,BIT 0 = A/C STATUS (1 = A/C Requested on)
    L0052,BIT 3 = Fan Output Control
    L0151 = Minimum Fan Run Timer

    To enable this routine, be sure to change the Value at address 7C07 from D567 to 7120
    Connect the fan relay to E3, Connect the other end of the relay coil to Power. The computer GROUNDS E3 to run the fan.

    Coolant temp example:
    199 deg F
    199 + 40 = 239
    239/1.35 = 177.04 (round to 177)
    177 is B1 in hexidecimal.

    Calibrations:
    L7100 19 db High MPH Fan Cutoff (25 MPH)
    L7101 B9 db Coolant Temperature Very High Value Enable (210 deg F)
    L7102 B1 db Coolant Temperature High Value Enable (199 deg F)
    L7103 AA db Coolant Temperature Low Value Disable (190 deg F)
    L7104 2D db Minimum Fan Run "MFR" Time (45 Seconds)

    Algorithms:
    L7120 CE 71 00 L7120 LDX #L7100 Start of fan Calibrations
    L7123 12 52 08 1F BRSET L0052,#$08,L7146 If Fan is On, Skip to "Load MFR Timer Variable"
    L7127 96 A8 LDAA L00A8 Load Coolant Temperature
    L7129 A1 01 CMPA 1,X Compare to Coolant Temperature Very High Value
    L712B 22 11 BHI L713E Go to "Turn On Fan" if Higher
    L712D 12 4D 01 06 BRSET L004D,#$01,L7137 If A/C is On, Go To "Load MPH"
    L7131 96 A8 LDAA L00A8 Load Coolant Temperature
    L7133 A1 02 CMPA 2,X Compare to Coolant Temperature High Value Enable
    L7135 23 37 BLS L716E Go To "End" if Lower
    L7137 B6 02 83 L7137 LDAA L0283 Load MPH
    L713A A1 00 CMPA 0,X Compare to High MPH Fan Cutoff
    L713C 22 30 BHI L716E Go to "End" if Higher
    L713E 14 52 08 L713E BSET L0052,#$08 Turn on Fan
    L7141 A6 04 LDAA 4,X Load MFR Timer
    L7143 B7 01 51 STAA L0151 Save MFR Timer to L0151
    L7146 B6 01 51 L7146 LDAA L0151 Load MFR Timer Variable
    L7149 26 16 BNE L7161 If timer is Not Zero go to "Load MFR Timer Variable"
    L714B 12 4D 01 06 BRSET L004D,#$01,L7155 If A/C is On, Go To "Load MPH"
    L714F 96 A8 LDAA L00A8 Load Coolant Temperature
    L7151 A1 03 CMPA 3,X Compare to Coolant Temperature Low Value Disable
    L7153 23 09 BLS L715E Go To "Turn off fan" if Lower
    L7155 B6 02 83 L7155 LDAA L0283 Load MPH
    L7158 A1 00 CMPA 0,X Compare to High MPH Fan Cutoff
    L715A 22 02 BHI L715E Go To "Turn off Fan" if Higher
    L715C 20 10 BRA L716E End
    L715E 15 52 08 L715E BCLR L0052,#$08 Turn off Fan
    L7161 B6 01 51 L7161 LDAA L0151 Load MFR Timer Variable
    L7164 D6 02 LDAB L0002 Load Loop Counter
    L7166 C4 F0 ANDB #$F0 Mask First 4 Bits
    L7168 26 04 BNE L716E Skip To end if no Decrement of Timer Needed
    L716A 4A DECA Decrease MFR Timer by 1
    L716B B7 01 51 STAA L0151 Save MFR Timer to L0151
    L716E 4F L716E CLRA Clear A Register
    L716F 5F CLRB Clear B Register
    L7170 39 RTS Return


    7100: 19 b9 b1 aa 2d 00 00 00 00 00 00 00 00 00 00 00
    7110: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    7120: ce 71 00 12 52 08 1f 96 a8 a1 01 22 11 12 4d 01
    7130: 06 96 a8 a1 02 23 37 b6 02 83 a1 00 22 30 14 52
    7140: 08 a6 04 b7 01 51 b6 01 51 26 16 12 4d 01 06 96
    7150: a8 a1 03 23 09 b6 02 83 a1 00 22 02 20 10 15 52
    7160: 08 b6 01 51 d6 02 c4 f0 26 04 4a b7 01 51 4f 5f
    7170: 39
    The man who says something is impossible, is usually interrupted by the man doing it.

  2. #2
    Super Moderator Lucky's Avatar
    Join Date
    Mar 2011
    Location
    Ontario Canada
    Posts
    75

    Re: $0D/$0E Efan control

    Wow. Amazing that a bunch of 2-digit characters can accomplish all that
    odd things the police have said to me; "you can't drive that on the road", "I like your cow", "I didn't think you would pull over so quick"

  3. #3
    Super Moderator
    Join Date
    Mar 2011
    Location
    Camden, MI
    Age
    35
    Posts
    3,026

    Re: $0D/$0E Efan control

    would you like to see some of the stuff i wrote for my nAst1 additons? :

    i'm amazed the fan control doesn't work that way from the factory...

    +1 to the author.
    1995 Chevrolet Monte Carlo LS 3100 + 4T60E


  4. #4
    RIP EagleMark's Avatar
    Join Date
    Feb 2011
    Location
    North Idaho
    Age
    63
    Posts
    10,477

    Re: $0D/$0E Efan control

    Quote Originally Posted by RobertISaar
    would you like to see some of the stuff i wrote for my nAst1 additons? :

    i'm amazed the fan control doesn't work that way from the factory...

    +1 to the author.
    Actually I would because I have no idea what a nasty is?

    May be a good learning opertunity, start a thread...

    1990 Chevy Suburban 5.7L Auto ECM 1227747 $42!
    1998 Chevy Silverado 5.7L Vortec 0411 Swap to RoadRunner!
    -= =-

  5. #5
    Super Moderator
    Join Date
    Mar 2011
    Location
    Camden, MI
    Age
    35
    Posts
    3,026

    Re: $0D/$0E Efan control

    nAst1 = modified A1 mask(hence the awesome spelling).

    here's a preview!

    86 50 BD F0 D0 97 6D D6 57 96 64 81 A0 24 0B CE 9E DC 80 20 24 01 4F 48 20 28 CE 9D B8 80 A0 81 50 24 02 20 1D 96 62 81 D0 24 05 80 50 48 20 12 CE 9C 94 96 B3 80 68 24 01 4F 81 40 25 02 86 40 48 48 BD F7 6E 97 8A 7E B9 18 FF 01 8F 3C 32 33 CE 00 32 02 C1 19 25 06 3C 32 33 5C 20 03 3C 32 33 D7 B3 7E A5 5B D6 57 96 64 81 A0 24 0B CE 9B 70 80 20 24 01 4F 48 20 28 CE 9A 4C 80 A0 81 50 24 02 20 1D 96 62 81 D0 24 05 80 50 48 20 12 CE 99 28 96 B3 80 68 24 01 4F 81 64 25 02 86 40 48 48 BD F7 6E 16 B6 01 9E CE 92 63 1F 00 01 02 96 C7 CE 99 19 BD F7 51 3D 05 24 02 86 FF 7E A8 13
    1995 Chevrolet Monte Carlo LS 3100 + 4T60E


  6. #6
    RIP EagleMark's Avatar
    Join Date
    Feb 2011
    Location
    North Idaho
    Age
    63
    Posts
    10,477

    Re: $0D/$0E Efan control

    That is awesome!!!

    I am so glad there are programs like TunerPro!

    1990 Chevy Suburban 5.7L Auto ECM 1227747 $42!
    1998 Chevy Silverado 5.7L Vortec 0411 Swap to RoadRunner!
    -= =-

  7. #7
    Super Moderator Lucky's Avatar
    Join Date
    Mar 2011
    Location
    Ontario Canada
    Posts
    75

    Re: $0D/$0E Efan control



    Innovative ! Can you even PUT a 'BD' after two '48's :?:

    odd things the police have said to me; "you can't drive that on the road", "I like your cow", "I didn't think you would pull over so quick"

  8. #8
    Super Moderator
    Join Date
    Mar 2011
    Location
    Camden, MI
    Age
    35
    Posts
    3,026

    Re: $0D/$0E Efan control

    well, $48 is ASLA, which more or less doubles the value in Acuumulator A, and $BD is JSR, so yes, you could quadruple a value and then jump to a subroutine.
    1995 Chevrolet Monte Carlo LS 3100 + 4T60E


  9. #9
    Super Moderator Lucky's Avatar
    Join Date
    Mar 2011
    Location
    Ontario Canada
    Posts
    75

    Re: $0D/$0E Efan control

    Apparently my sarcasm font is broken ...
    odd things the police have said to me; "you can't drive that on the road", "I like your cow", "I didn't think you would pull over so quick"

  10. #10
    RIP EagleMark's Avatar
    Join Date
    Feb 2011
    Location
    North Idaho
    Age
    63
    Posts
    10,477

    Re: $0D/$0E Efan control

    Quote Originally Posted by Lucky
    Apparently my sarcasm font is broken ...
    I hate when that happens...


    1990 Chevy Suburban 5.7L Auto ECM 1227747 $42!
    1998 Chevy Silverado 5.7L Vortec 0411 Swap to RoadRunner!
    -= =-

  11. #11
    Sooo.... Do I need to know the WHY behind these coolant temp calculations if I want to change them?

    "Coolant temp example:
    199 deg F
    199 + 40 = 239
    239/1.35 = 177.04 (round to 177)
    177 is B1 in hexidecimal"

    I understand the hex conversion, but I'm not sure why 40 is added and the sum is then divided by 1.35 to get the final value that is put into the bin file.
    Familiar with 1227747 and 16197427 PCMs

  12. #12
    Fuel Injected! gregs78cam's Avatar
    Join Date
    May 2011
    Location
    N. Idaho
    Posts
    767
    I know that the 40 is added, because the minimum coolant temp displayed is -40*, 1.35 is the conversion factor for the digital counts to degrees F.

    Now another thing I did in my ADX was to make another bitmask item directly below the "Variable Tuning Control", with the same packet offset, source data size, and operation. Label it Cooling Fan, then you can have a flag on your dashboard to tell you when the cooling fan turns on.
    Last edited by gregs78cam; 12-20-2011 at 07:25 AM.
    1978 Camaro Type LT, 383, Dual TBI, '7427, 4L80E
    1981 Camaro Z-28 Clone, T-Tops, 350/TH350
    1981 Camaro Berlinetta, V-6, 3spd
    1974 Chevy/GMC Truck, '90 TBI 350, '7427, TH350, NP203, 6" lift, 35s

  13. #13
    Thanks! I'll give it a try.
    Familiar with 1227747 and 16197427 PCMs

  14. #14
    RIP EagleMark's Avatar
    Join Date
    Feb 2011
    Location
    North Idaho
    Age
    63
    Posts
    10,477
    Quote Originally Posted by gregs78cam View Post
    I know that the 40 is added, because the minimum coolant temp displayed is -40*, 1.35 is the conversion factor for the digital counts to degrees F.

    Now another thing I did in my ADX was to make another bitmask item directly below the "Variable Tuning Control", with the same packet offset, source data size, and operation. Label it Cooling Fan, then you can have a flag on your dashboard to tell you when the cooling fan turns on.
    Your to cool!

    Next time your in town if you have time I need some help with a few of those things... maybe I'll start a thread with screen shots...

    1990 Chevy Suburban 5.7L Auto ECM 1227747 $42!
    1998 Chevy Silverado 5.7L Vortec 0411 Swap to RoadRunner!
    -= =-

  15. #15
    Fuel Injected! gregs78cam's Avatar
    Join Date
    May 2011
    Location
    N. Idaho
    Posts
    767
    I spent a half hour trying to post a screenshot with that, resizing, pasting, adding as attachment. Nothing worked and had resolution. I gave up.
    Attached Files Attached Files
    Last edited by gregs78cam; 12-20-2011 at 10:52 AM.
    1978 Camaro Type LT, 383, Dual TBI, '7427, 4L80E
    1981 Camaro Z-28 Clone, T-Tops, 350/TH350
    1981 Camaro Berlinetta, V-6, 3spd
    1974 Chevy/GMC Truck, '90 TBI 350, '7427, TH350, NP203, 6" lift, 35s

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •