Any general discussion around the firmware, what is does, how it does it etc.
By MoysieWRX
#6230
cx500tc wrote: Please put code in so that the user can control a cooling fan base on CLT temperatures.
The functionality to turn the fan on/off based on coolant temp (i.e. pinCLT input) is already available in the code i implemented Jun of last year. Refer to the auxiliaries code
Code: Select all
/*
Fan control
*/
void initialiseFan()
{
if(configPage4.fanInv == 1) {fanHIGH = LOW, fanLOW = HIGH; }
else {fanHIGH = HIGH, fanLOW = LOW;}
digitalWrite(pinFan, fanLOW);         //Initiallise program with the fan in the off state
}

void fanControl()
{
   if (currentStatus.coolant >= (configPage4.fanSP - CALIBRATION_TEMPERATURE_OFFSET)) { digitalWrite(pinFan,fanHIGH); }
   else if (currentStatus.coolant <= (configPage4.fanSP - configPage4.fanHyster)) { digitalWrite(pinFan, fanLOW); }
}
To my knowledge there isn't any PWM fan control as yet.

Regards
Mike
User avatar
By cx500tc
#6233
MoysieWRX wrote:
cx500tc wrote: Please put code in so that the user can control a cooling fan base on CLT temperatures.
The functionality to turn the fan on/off based on coolant temp (i.e. pinCLT input) is already available in the code i implemented Jun of last year. Refer to the auxiliaries code
Code: Select all
/*
Fan control
*/
void initialiseFan()
{
if(configPage4.fanInv == 1) {fanHIGH = LOW, fanLOW = HIGH; }
else {fanHIGH = HIGH, fanLOW = LOW;}
digitalWrite(pinFan, fanLOW);         //Initiallise program with the fan in the off state
}

void fanControl()
{
   if (currentStatus.coolant >= (configPage4.fanSP - CALIBRATION_TEMPERATURE_OFFSET)) { digitalWrite(pinFan,fanHIGH); }
   else if (currentStatus.coolant <= (configPage4.fanSP - configPage4.fanHyster)) { digitalWrite(pinFan, fanLOW); }
}
To my knowledge there isn't any PWM fan control as yet.

Regards
Mike
PWM control might go a ways to alleviate the issues I have with a hard fan on/off control by CLT sensor since the fan could respond proportionally to the coolant temp rather than simple on and off at X and at Y degree settings. The coolant could be "pre-cooled", dubious description obviously, for when the engine needs cooler coolant.

"ON" and "OFF" thresholds could be the same, with the fan speed ramping up according to the temp.

Doing such would also soften the load on the electrical system, the heavy load a sudden fan start would present.
User avatar
By cx500tc
#6385
Did some tests Sir PSIG won't like the results of....

With my Toyota 22RE, I removed the mechanical fan and mounted a Hayden electrical fan, the fan being sized to span across as much of the radiator as possible.

Test condition: engine started "cold" and ran at idle with no load, and the vehicle remained stationary.

Test 1 used the temp switch the fan kit came with, mounted at the top of the radiator so it would respond to the air temp near the radiator inlet and dependent upon air flow.
Result: fan came on when the radiator was at about 210F, fan cycled as would be expected but the engine ran hot- about 220F according to the IR thermometer.

Test 2 used the temp switch the fan kit came with, mounted "inside" of the coolant hose between the thermostat and radiator so as to measure the temperature of the coolant leaving the engine.
Result: fan came on when the coolant was at 200F, but didn't turn off. Engine ran hot when idling- about 210F according to the IR thermometer.

Test 3 used the temp switch the fan kit came with, mounted "inside" the coolant hose between the radiator and coolant pump inlet so as to measure the temperature of the coolant leaving the radiator.
Result: fan came on when the coolant temp was about 200F and turned off when the coolant temp was about 180F. Engine ran within "normal" temps- about 180-200F according to the IR thermometer, which matches closely the thermostat rating.

Summary:
Tests 1 & 2 resulted in the fan running continuously, drawing about 3A, engine running above "normal" temps.
Test 3 resulted in the fan cycling with an approximate 75% duty (on/off ratio), drawing 3A when on and 0A when off, engine "normal" temps.

PSIG wrote:You said you want a better electric fan system than all those stupid automotive OEM engineers have made for 50 years....
No. My points and conjectures have been supportive of, and supported by what OEM's have and are doing. You've said your way is better than what OEM's have been doing.

PSIG: "Control the fan based on coolant temp at the thermostat." - using the CLT sensor.
Me: "Control the fan based on coolant temp in the radiator." - using a sensor we don't have, yet, but OEM's have used for decades.


*edit- My bad: forgot to mention the fan switch has an approximate 20F difference between when it turns on and turns off, i.e. it turns off when the switch reads about 20F below when it turns on. Also, I adjusted the temp switch turn on point to match the expected temperatures at each location.
Last edited by cx500tc on Fri Mar 11, 2016 4:34 am, edited 5 times in total.
User avatar
By cx500tc
#6391
Barring PWM, something like:
Code: Select all
#define ON 1;
#define OFF 0;
...
void setup() {
...
fanSwitch(OFF)
...
}

void loop() {
...
if (coolantTemp < fanOffSetting)
  fanSwitch(OFF)
  else if (coolant temp > fanOnSetting)
    fanSwitch(ON);
...
}
By Xnke
#6586
Cx500tc:

You are wrong. Tough luck. If you want examples, I can give you literally hundreds. With documentation.

Your fan control system was not properly adjusted to maintain engine temp. Sorry. You've done it wrong.

Case 1:

If you fan did not kick on until the AIR temp coming through the radiator was 210 degrees, there is NO POSSIBLE WAY that you could have controlled the engine temperature.

The AIR temperature will always be lower than the coolant temperature...if the air temperature was HOTTER than the coolant temperature, then you would have had to add heat from an outside source! You can't get more energy out of a heat exchanger than you put in. So, since you fan cut-on temperature was 210 degrees, IT WOULD BE NORMAL to have the coolant temperature rise to 220 degrees...you are removing 10 degrees of heat from the system. In order to prevent the engine from overheating, you would have to adjust the fan cut on temperature to LESS than 210 degrees! In this case, assuming that when the fan is running, the radiator will continue to remove 10 degrees of heat, adjusting the fan cut on temperature to 180 degrees would result in a coolant temperature of 190 degrees. The reason your fan control system didn't work? You were operating the cooling system outside of it's specified control limits.

Case 2:

In this case, you demonstrate again, that your radiator, with the cooling fan you installed, was capable of removing 10 degrees of heat from the cooling system. Nothing spectacular here, except that you needed to set the cut-in temperature lower in order to get it under control of the thermostat. I repeat:

You were not turning the cooling fan on within the control range of the engine thermostat. You were operating the cooling system OUTSIDE OF SPECIFIED LIMITS.

Also, how did you change the temperature setting of the thermostatic switch? You said it turned on at 210F in test one...but you used the same switch in test two, and it magically turned on 10 degrees cooler? They don't work that way, unless YOU changed the cut-in temperature by using an adjustable fan temperature switch. Of course, if you did...why not set the fan cut-on temperature to operate within the control range of the engine thermostat?

Case 3:

This one simply doesn't make sense. I suspect data was collected inconsistently, but we'll roll with it. You are telling us, that you did not turn on the fan until the ALREADY COOLED liquid coolant leaving the radiator was 200F. That means the coolant entering the radiator (that we have established through test 1 and 2 above can remove at least 10 degrees of heat energy when used WITH THE FAN ON and therefore we can safely assume it can NOT remove 10 degrees of heat with the fan off) was AT A MINIMUM of 210 degrees, which means the engine was already on it's way to overheating. But According to test 1, the coolant exiting the radiator would have had to heat the switch to 210 degrees to activate the fan...which would mean coolant entering the radiator would have had to be at least 220F...again, well over the temperature at which the thermostat can control the engine coolant temperature. So yet again, you are operating the system outside of the specified limits. And yet you claim that the coolant temperature entering the radiator coming from the engine, was less than or equal to the temperature of the coolant exiting the radiator and entering the engine?

So, now that we have established that not only are you wrong about how most OEM's control and monitor coolant temperature, we have also established that you can magically violate the laws of thermodynamics that govern heat exchangers, or perhaps we have established that the laws of thermodynamics weren't violated and you simply presented inaccurate data?

I invite you to try the testing again, but I would expect after reading this, you'll understand why I take your results with a grain of salt.
Last edited by Xnke on Sat Mar 19, 2016 5:26 am, edited 2 times in total.
By Xnke
#6587
Now, in a seperate post, I'll present at least one example of a fan cut-on switch located in the radiator outlet:

The Toyota Supra MKIII.

This fan control system has three switches in the bottom tank of the radiator, plus four more coolant temperature switches/sensors located in the engine thermostat housing.

The three fan switches in the lower radiator tank are ALL tied to the air conditioning system and control the air conditioning condensor fan. they DO NOT control the engine coolant radiator fans. Those fans are controlled FROM THE ECU by one of the two electrical sensors in the thermostat housing-one feeding engine temp to the ECU for control. The other electrical sensor feeds the gauge cluster, and the two coolant temperature switches left are for vacuum control systems.

Note, The MkIII supra is notorious for overheating issues, both from blown headgaskets in the 7M powered version and insufficient radiator volume in the 2JZ powered version.

The Toyota Camry has the exact same system of switches and sensors in the bottom of the radiator from 91-94. Again, none of these switches control the engine cooling fans, they only control auxilliary fans for the air conditioning system.

I know that the VW Mk1 Rabbit, Sirocco, Rabbit Pickup, Golf, and Cabriolet DO use a radiator fan switch on the bottom of the radiator, as well as a fan switch located IN the cooling fan. I do NOT know how the switches are configured.

Now, let's start listing the engine control systems that locate the electric fan control switch/sensor in the thermostat housing, as the coolant enters the radiator.

ALL General Motors engine systems equipped with electric fans.
ALL Nissan Motors engine systems equipped with electric fans.
ALL Ford Motors engine systems equipped with electric fans.
I can not think of an example of a Mitusbishi engine does not use a sensor/switch in the thermostat housing when equipped with electric fans, but then I am only familiar with the Astron and Sirius engine families.
I can not think of a Honda Motor Company engine system that does not use a sensor/switch in the thermostat housing when equipped with an electric fan.
By RichCreations
#6588
Volvo also does it this way, except the sensor is in the side of the head, fan controlled by ecu, and a switch in the radiator, for the aircondlting fan override (disconnected on my GFs 740, yet the fan still works fine)
User avatar
By cx500tc
#6622
Xnke wrote:Now, in a seperate post, I'll present at least one example of a fan cut-on switch located in the radiator outlet:

The Toyota Supra MKIII.

This fan control system has three switches in the bottom tank of the radiator, plus four more coolant temperature switches/sensors located in the engine thermostat housing.

The three fan switches in the lower radiator tank are ALL tied to the air conditioning system and control the air conditioning condensor fan. they DO NOT control the engine coolant radiator fans. Those fans are controlled FROM THE ECU by one of the two electrical sensors in the thermostat housing-one feeding engine temp to the ECU for control. The other electrical sensor feeds the gauge cluster, and the two coolant temperature switches left are for vacuum control systems.

Note, The MkIII supra is notorious for overheating issues, both from blown headgaskets in the 7M powered version and insufficient radiator volume in the 2JZ powered version.
MKIII Supra with 7M-GE/GTE engines used a mechanical radiator fan, so I know that most everything else you've written is likely wrong, primarily because you couldn't get this simple fact correct.
In the t-stat housing, there is one sensor used by the ECU to control fuel calcs and another to control the cold start injector. There is another sensor used to control the gauge on the dash, and that's it.
Last edited by cx500tc on Mon Mar 21, 2016 1:17 am, edited 1 time in total.
User avatar
By cx500tc
#6623
Maybe should also mention much of the 7M overheat issue was caused by poor thermostat design and the same thing that caused the 3VZ-E engine blown head gasket problems: taking asbestos out of the head gasket.
  • 1
  • 11
  • 12
  • 13
  • 14
  • 15

Picture of the Cheery Hall Effect sensor: Cherry […]

Thanks for guiding me, I've been busy these past f[…]

Today I was with the car again looking for what co[…]

I've been away from playing cars for a few weeks, […]

Still can't find what you're looking for?