Jump to content

Utilizing Engine Fan Setup for 3 stage Fan


Aqmar

Recommended Posts

I am currently setting up my Link G4x Fury and PMU16 for my MR2 with the 2GR-FE engine. I wanted to utilize the Link Radiator Fan setup where we are able to run it at 3 stages. So one of my ideas is to have the radiator Fan run at 3 speeds. With this the fan won't be blowing its full blast all the time. 

Initially I set it up in the PC Link software for the Fan and sent the output via CAN Message to PMU16. In my PMU16, I'm using two 25amp outputs for the two fans that run concurrently every time it is ON. I wanted to setup the so that the fan to run at 30%, 50% and 100%speed using PWM. My idea is when the PMU16 receive a CAN message of Engine Fan1 from Link ECU, then the output sends a PWM signal to the fan to runs 30% speed. When receive CAN message of Engine Fan2, it runs 50%, and when receiving the Engine Fan3 message, it runs 100%. At the Link ECU, I have transmit the message as Engine Fan Output 1, 2 and 3 and PMU16 receive the CAN message label here in the PMU16 software as Fan_slow, Fan_medium and Fan_Fast.

But then i just could get the way to manage the PMU16 to set up PWM to run it at 3 speed according to the CAN Massage receive from Link ECU.

Is there any other way that could make this happen direct from Link ECU? How if I use a DC to DC Solid State Relay like the picture attached? I believe if i were to use a SSR DC to DC then i would use 1 output from the Link Fury. But how to set it up as GP Output that manage 3 speed from the Engine Fan Setup of the PC Link?

I have also attached my .pclx file from my Link setup and my PMU16 setup. 

 

SSR DC to DC.jpg

2GR MR2.pclx MR2 2GR test.pmu

Link to comment
Share on other sites

I'm essentially using a SSR for mine, here's some details of how I've set mine up.

 

I don't use the Engine Fan functionality, but just a GP PWM output with the table axis set up with whatever parameters - mine is ECT and road speed, based upon what my stock engine ECU did.

 

Link to comment
Share on other sites

Try these files.  I have changed the CAN transmit in the ecu as I didnt like how some outputs were 4 bits wide, some 8 etc.  So I made all parameters 8bit wide.

In the PMU I set up two new functions "Fan low speed" and Fan med speed, these have logic so that you dont end up with an ambiguous result when for example ecu is commanding all 3 fan outputs (or speeds) at the same time.   

I then use the choose equation to specify different DC depending which channel was true.  I dont see any way to test if the logic works how I think it should so please give it a try.  If not use the variables inspector to see where it is going wrong.  

If this doesnt work we can just use a math block in the ecu to generate the duty cycle and send that to the PMU instead.  

 

MR2 New CAN and FAN.pmu 2GRMR2 New CAN.pclx

Link to comment
Share on other sites

3 hours ago, Adamw said:

Try these files.  I have changed the CAN transmit in the ecu as I didnt like how some outputs were 4 bits wide, some 8 etc.  So I made all parameters 8bit wide.

In the PMU I set up two new functions "Fan low speed" and Fan med speed, these have logic so that you dont end up with an ambiguous result when for example ecu is commanding all 3 fan outputs (or speeds) at the same time.   

I then use the choose equation to specify different DC depending which channel was true.  I dont see any way to test if the logic works how I think it should so please give it a try.  If not use the variables inspector to see where it is going wrong.  

If this doesnt work we can just use a math block in the ecu to generate the duty cycle and send that to the PMU instead.  

 

MR2 New CAN and FAN.pmu 4.96 kB · 0 downloads 2GRMR2 New CAN.pclx 458.23 kB · 0 downloads

Wow thank you @Adamw. I really didn't expect you setup the PMU16 files! You really go above and beyond. Thanks @Adamw

Just to make sure I read it right before I upload to my car, you mention that you have changed the CAN transmit in the .pclx file so that the output within the frame are all 8 bits wide. However as I sees here in the PCLink its still have 4 and 8 bits wide. Do I read it wrongly here? Just to be sure

 

image.png.324dcd084d3bd6f4ee00527e9addc883.png

Link to comment
Share on other sites

Im having issues with the Engine fan control. Ive set all the variables up and the fan out put is going to CAN aux 5. The PDM is set to power the fans when the output is on. I wanted to test the fans output, but theres no Test function anymore. So i lowered the Engine fan temp to 20 degrees as the coolant was 30 ( Its been hot outside). But it didn't trip the fans.

So i set up another output using all the same date and lowered the temp to 20 and it worked. is there a reason why the standard ECU's fan controller not tripping the fans when the temp is lowered. I want to check it works as i dont want it to fail when needed.

Link to comment
Share on other sites

20 hours ago, Solace said:

However as I sees here in the PCLink its still have 4 and 8 bits wide. Do I read it wrongly here? Just to be sure

Sorry, not sure what I done there.  I must have closed that CAN window without hitting apply or something.  Fixed copy attached.

2GRMR2 New CAN V2.pclx

10 hours ago, Steve Bull said:

but there no Test function anymore

No test function on CAN outputs - only physical pins.  

The easiest way to test a CAN output is just change the offset to 1.

8KMtUs6.png

Link to comment
Share on other sites

On 8/14/2022 at 6:18 PM, Adamw said:

Sorry, not sure what I done there.  I must have closed that CAN window without hitting apply or something.  Fixed copy attached.

2GRMR2 New CAN V2.pclx 458.23 kB · 1 download

No test function on CAN outputs - only physical pins.  

The easiest way to test a CAN output is just change the offset to 1.

8KMtUs6.png

Thanks @Adamw. have tested at my car today. Both the Fury G4x and PMU16 communicated well. The fan does runs with 3 speed as setup. Marvelous!

However. a word of caution for the readers following here, I received an email from ECUMaster responding to my email query earlier on before I posted this topic on this thread; They mention that running PWM with a  brushed type fan for a long period of time may damaged the transistor of the PMU16. Although I have mention in my email to them that I have fit in a flyback diode to eliminate flyback and lower the thermal load. Seems although the function is there, but they don't quite advice to use it though...hmmm

So now, i am contemplating whether to continue using PMU16 to runs 3 speed with PWM or just rewire it with a solid state relay (SSR) and runs PWM like what @Confused is doing. I may not use the same SSR like what he did but rather use the one i attached the picture above.

Link to comment
Share on other sites

Yeah I have heard the PMU overheats very quickly when PWM'ing fuel pumps and fans.  

I use that same SSD for closed loop fuel pump control on my injector flow bench and it has worked well for that.  The pump would only be ~10A most of the time though.

Another couple that I have seen used for fans is the Dorman 902-310 (jeep/dodge etc) or RY330K (Chrysler).  I have no idea how much current they handle but they are designed for fans originally and I suspect fairly big fans on the vehicles they are from.

Link to comment
Share on other sites

  • 3 months later...

Hi @Adamw

I have made changes to my fan setup due to the high termal load caused by PWM'ing the PMU16. I am running the DC to DC Solid State Relay and uses single output from the Link ECU.

Although i can use the PWM table and define the axis with the wheel speed and temperature, i am still incline to utilize the Engine Fan Setup function. My idea here is to utilize Virtual Aux. Doing so I can set as below:

Engine Fan 1 = Virtual Aux 1
Engine Fan 2 = Virtual Aux 2

Engine Fan 3 = Virtual Aux 3.

 

The idea here is to have each Virtual Aux represent a different % of PWM for example

Virtual Aux 1 = 25% PWM

Virtual Aux 2 =  50% PMW

Virtual Aux 3 = 100% PWM

 

I try to explore the logic function but could get to define each Virtual Aux to represent the PWM that activate the Auxiliary output that i have connected to (Inj7)?. Are there any ways to have each Virtual Aux to set the % of PWM?

2GR MR2.pclx

Link to comment
Share on other sites

  • 1 month later...

Just to update. i end up using @Confusedmethod using solid state relay. It works fine I think I will be sticking to this solution.

@Adamw actually I'm running dual fan. I realize when both fan runs at full blast, the voltage drops is around 4%-5%. If I activate the fan at 95⁰C than I can see the coolant temp will hover around 100⁰C-105C during idling. The coolant temp will be around 90C if I start to run the fan earlier. The 3 speed actually is to let the fan run its lowest speed when the AC is on but the coolant temp is below 85⁰C. 

Sorry if I am very particular here. Currently with the fan ON above its 50% speed, the alternator charging rate is 13.3v only. I feels that is at the low side. I beginning to suspect maybe due to this car mid engine setup that put the alternator in a hotter engine bay compare to a front engine. I maybe wrong, just my assumption

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...