N54 water to air intercooler street build

bantam

Corporal
Nov 20, 2017
128
105
0
Ride
2009 335i
So an update to this:

I tried 2 things to trigger the fan:
1) MHD track mode option
Seems to essentially just lower the coolant target, no real improvement in fan duty cycle
2) Changing the fan duty cycle table.
-This only seems to kick in when the engine coolant temp is within 6 deg C of target. So basically I could heat the engine up, get the fan going, and it would shut off after 30 seconds or so once the temp got below the point that it was controlled by that table.

At this point, unless I can get some guidance on how to uncover new tables, software solution is not possible.
 

RSL

Lieutenant
Aug 11, 2017
937
501
0
The fan will only normally respond when it needs to, so if ECTs are on target with the MHD targets, the fan shouldn't do much or anything. Maybe if there was a warming trend followed by a slow or stopped speed. I don't know what else acts it, but there certainly are other things (A/C, etc.).

fandc.png


I just tested these settings at idle (A/C off) and the fan came on about 2 secs after start (way more than 6C below target) and stayed there the whole time it warmed up. Once I hit my ECO target (95C), it looks like something reset briefly (thermostat too) and then carried on where it was a few seconds later, until I shut it off. There was a very short and small, but audible change around 90C ECT too. My first thought was maybe something else acted when it dropped below target, but the fan came back up to 44.5% while it was still at that temp. I waited a bit to see if it would cycle low again, but was already tired of listening to the fan in the garage lol


NOTE: the fan DC reads 7.x % when it's off. I believe there is a conversion issue and I mention it because I have settings of 25% and it was logging at 44.5%. It was moving at a pretty good clip though and actually had a vacuum I could literally feel into the kidneys. I'll check DC in INPA the next time I'm out there to verify. Whatever the DC actually was, it was definitely on at a good clip where it normally wouldn't be on at all.

I'll play with this some more and see if I can reproduce your results. Maybe torque requests (driving) have different impacts on it than idle. Something obviously acted on mine too, maybe a diag/monitor. There's a software solution to almost everything in these cars.

What rom are you on @bantam? I'm 335is on INA0S, but really can't imagine there being different logics for the fan regardless of rom family/fan wattage.
 

RSL

Lieutenant
Aug 11, 2017
937
501
0
I now know why it reads 7.03% when the fan is off and why it's getting 44%+ when the request is 25% (confirmed in INPA). It's not a conversion equation problem, I dug up a fan DC conversion table and cooling mode factor tables for the water pump and fan. The break points in the conversion table are fan set point from 2 calculations and I don't know what they are, but assume they have to do with current/historic mode, ECT, torque request, vehicle speed, IAT, etc. As for the factor tables, the fan has a 70% gain in ECO mode, dropping with each higher mode to 0% with high+KFT.

dc_conversion.png


I confirmed what you saw with a drive this morning, the fan shuts off intermittently. After testing the mode factor tables and changing to hold to a single cooling mode (high), the fan is more or less binary. It's either on at my set minimum level (or a little higher) from the ECT diff table or it's off. Once all the large dynamic conditions are eliminated, it's clear that the fan turns off the split second/one log record that ECT falls below target (-0.25C), even though the ECT diff table tells it not to.

dc_high_factors.png


I can only assume that whatever is kicking the fan off when ECT falls below target is a higher level call in the cooling logic somewhere, so figured the easiest thing to do is circle back to that conversion table and just tell it to run 15% when request is 0% (and 1.17% for good measure). That works.

raised_conv.png


Went back to the normal dynamic cooling mode settings (with my ECO target at 95C) and then logged again. When the fan is requested to go off in the usual spots, it stays running at the 14.84% DC minimum instead of turning off (7.03%) and, of course, runs at ~30% with the ECT diff table still set.

It would be more ideal if the fan kicked on when slow/stopped, even if otherwise commanded off, but that may require custom logic or other tables I haven't found yet lol I'm still digging and there are a few more things I want to mess with, but, for now, this would be at least one potential workaround for the fan turning off while below ECT target.

dc_conv.png
 
  • Like
Reactions: MDORPHN and bantam

bantam

Corporal
Nov 20, 2017
128
105
0
Ride
2009 335i
Wow, @RSL, awesome work! I am on the IJEOS ROM. I have figured out how to datalog these parameters in Protool, just have not had a chance to format my results for a post.

I have not found the conversion of E-fan setpoint table, where is that located?
 

RSL

Lieutenant
Aug 11, 2017
937
501
0
Good deal on the logs. It would be great if @Martial@MHD could incorporate an external custom definition file hook so we could log param IDs that aren't predefined through MHD.

That table isn't public. I found it last night and tested it for the first time today.

I'm reasonably confident that I located it in IJE0S, so if you're willing to accept that the wrong addresses might just as easily do something catastrophic as control the fan DC, I'll tell you what I think they are and you can add the table to your XDF copy to test with, just LMK. I generally don't even offer to give out addresses, but I'm reasonably confident it's correct and you really do need it for testing the effects on the exchanger. You would be the IJE0S guinea pig though and there are always some risks that come with that. I go through the same thing every time I test a new one on my car, like today lol

There is a speed related fan DC table that I was hoping I could set above 100% when below 10mph, but 100% is its max (FF). That would've been great because we could've left relatively normal base DC for driving and just factored it up at low speed/stopped to kick the fan up only then.
 
  • Like
Reactions: bantam

bantam

Corporal
Nov 20, 2017
128
105
0
Ride
2009 335i
So @RSL has discovered something that (in my mind) is very valuable for drag racers or even anyone who wants to take their car to the Dyno.

With the table that he has uncovered, you have the ability to "peg" the fan at 100%, regardless of Engine coolant temperature, so while you are putting around in the staging lanes or parked on the dyno, you can be drawing some significant air across the intercooler.

This is also very valuable if someone like me (for example) wanted to try to figure out a PLC of some kind to control the fan based on temperature differential between the w2a coolant system and ambient.

I have modified my .XDF and changed the fan to run at a fixed value per @RSL instructions! Once I get the settings mapped the way that I want on an OTS tune, I will see if I can get my tuner to integrate them.

 

RSL

Lieutenant
Aug 11, 2017
937
501
0
Looks good. 2 things to keep in mind as you're testing:

1) once it leaves warm up, it's going to get the cooling mode adders on the fan. For ECO mode, DC will get significantly higher than the minimum you have set. At 20% min, I'm guessing it will be around 35-40% in ECO.

2) Important: I don't think I've ever seen the fan and the water pump both at full speed at the same time ever. Not saying it can't, but 600-800w fan and 400w water pump at full speed together will pull a lot of current and it would now be for extended periods at that because the fan couldn't back off. It's potentially a big/fire hazard, so keep it in mind before shoving everything 100%.
 

RSL

Lieutenant
Aug 11, 2017
937
501
0
Yeah it would. I'd assume their fans have to be on more at slow/stopped speed with the exchanger.

I'm going to see of there's a way to use the speed table to do that (if it's even enabled), but would be backwards. Would basically have to factor everything over x MPH lower and then raise back to usual in other tables after the drop to have a speed factored increase below that MPH. Aside from dyno, lights/traffic is really the only place fan should be needed and this would take off the load of running a higher minimum 24/7.
 

bantam

Corporal
Nov 20, 2017
128
105
0
Ride
2009 335i
Went ahead and slammed the duty cycle to 91% and let it run in the driveway for about an hour, but it never was able to get out of warmup mode. It seems like the issue of running both systems at full-tilt should not actually be a concern for drag or dyno, since neither of those things are particularly taxing on the engine cooling system (short bursts followed by long cool downs).

I think that I will need to go ahead and instrument the heat exchanger with a temperature probe, because it seemed at the end of this test that the charge cooler was significantly cooler than the IATs when measured by an IR thermometer.



Obviously if you could figure out how to make the fan operate with speed dependencies, I would be extremely grateful!
 
  • Like
Reactions: RSL

RSL

Lieutenant
Aug 11, 2017
937
501
0
That's probably real good news for the effect on the exchanger then. What's the actual ambient temp during that log? WP speed is out of 250. 40-41 is out of warm up, but as slow as it runs without other changes, about 16% (40/250). In warm up mode pump is 0 (or more likely reads 0.39). If there is a WP/cooling mode byte param in that tool, would be good to add it.

I'm sure components can handle it and are properly protected, was thinking more about consistent draw that's probably 65-85A on the wires (heat) and electrical system overall. For a dyno pull or staging+run+return, hopefully it's ok. Worst offender will be high+KFT. WP spends all it's time 60-100% (~36A max on a running car). 600w fan a little over 40A and 800w closer to 55A (all at 14.1V).

I'm going to try some things maybe tomorrow. First, see if that table is even active.
 

bantam

Corporal
Nov 20, 2017
128
105
0
Ride
2009 335i
ambient temp in the log measured ~13c, I (IR) measured ~17c ambient and ~20c charge cooler temperature.
 

bantam

Corporal
Nov 20, 2017
128
105
0
Ride
2009 335i
I see that I never really presented my dyno results in full:


As I said previously, the TQ limit 4 and was interfering with the timing. custom 93 octant pump gas tune by v8bait

Here is the datazap to the dyno results: if you look inside, I have added the dynojet results as a parameter in the log.



Edited to remove some things after @RSL made the point below, no point in leaving that up if it is inaccurate.

Below is the comparison between v8bait custom tune and the MHD OTS stage 2 as measured on the dyno. note that the MHD does not have interference from the tq limiter since they report much lower torque.

25421
 
Last edited:
  • Like
  • Informative
Reactions: aus335iguy and RSL

RSL

Lieutenant
Aug 11, 2017
937
501
0
A close correlation is good and I'm all for charts/graphs/analysis, but torque actual values are not an accurate indicator of actual output. Since you have measured data to compare against, you can roughly correlate the shape based on it, but not the height.

Once torque actual parameters are set, the only thing that will change its shape/amplitude even slightly are conditions (load/AFR variations). Not counting traction control or other intrusive actions, of course. Even if your car miraculously made +100whp at same loads/AFRs on the same tune, torque actual wouldn't move.

You'd be much better off calculating accel/time yourself or just compare relative real output the easy way using Virtual Dyno and logging on the same section of road, the same way, every time. Or, do another actual dyno :)
 
  • Like
Reactions: bantam

typedRew

Sergeant
Feb 25, 2019
412
221
0
Ride
2009 335i xDrive
I realize you guys are doing this for other reasons, but if there was a way to independently set lower fan threshold settings when stopped or slowed(similar to having sport cooling mode activated in mhd) I think it would really help drag strip guys while in the staging lanes. Keeping airflow through the radiator and intercooler should prevent potential heat soak for both and hopefully keep IATs much more near ambient at the start of the pass(since the fan is pulling through the oem or aftermarket air to air IC)

Thank you for all your efforts here.
 

typedRew

Sergeant
Feb 25, 2019
412
221
0
Ride
2009 335i xDrive
Is it possible or has anyone used a bypass switch just to simply turn the fan on and off on demand in the car?

Crude but functional and would leave all other basic DME logic intact.
 

aus335iguy

Colonel
Nov 18, 2017
2,255
806
0
Down under
Ride
335i DCT 2009
Just thought id stop by and mention that theres some really good work here. Another thing i will comment on is the difference in torque curve between the OTS and custom tune. It’s in line with my experience of it. Custom tunes feel smoother because they are. The OTS tunes left plenty on the table.
 
  • Agree
Reactions: RSL

RSL

Lieutenant
Aug 11, 2017
937
501
0
The speed table is a bust. It, and almost every other table I can find for the fan, act on fan set points, which are determined prior to the conversion and can obviously always be calculated to 0%. The set points are the "in", the conversion is the "out", so this will very likely need a logic/condition adjustment to work with vehicle speed. Maybe @jyamona could take a peek whenever he's poking (peek/poke, old BASIC commands LOL) around and see if it's something relatively easy he'd consider knocking out. Something to always return x% fan set point at < x kph and ECT from 10-15C below target or warmer should make it feasible for the fan to run when slow/stopped, but still operate normally over that speed.

I realize you guys are doing this for other reasons, but if there was a way to independently set lower fan threshold settings when stopped or slowed(similar to having sport cooling mode activated in mhd) I think it would really help drag strip guys while in the staging lanes. Keeping airflow through the radiator and intercooler should prevent potential heat soak for both and hopefully keep IATs much more near ambient at the start of the pass(since the fan is pulling through the oem or aftermarket air to air IC)

Thank you for all your efforts here.
This is basically just telling the DME to run a positive fan DC anytime a 0% fan set point is called. It doesn't get more hacky than that, but it does work and keeps the fan on 24/7 (not ideal).

It could be beneficial to A2A also, but probably mostly stepped ones. There is a HUGE difference in intake between the kidneys and the IC opening from the fan. It's probably almost a must that an A2W exchanger be at the top of the rad/behind the kidneys (or, ideally, cover the entire front of the rad) for the fan to really act well on it. I'll try to test it on my A2A, but really not expecting at lot on it. There's probably an IAT action on the fan already, but I can't find it.

Is it possible or has anyone used a bypass switch just to simply turn the fan on and off on demand in the car?

Crude but functional and would leave all other basic DME logic intact.
May be possible to add a jumper wire to trigger relay coil and send power to the fan, but imagine that would causes errors and may be a hazard. I'm really not sure.