So, since before the Focus RS has been out in the wild, we've all wondered: How does the RDU tick? What makes it turn off, how does it determine where to apply torque, and how is that torque controlled?
The answer of course lies inside the All Wheel Drive Module that controls it. The code inside the module ultimately controlling the unit is the sole source of information and fact for how its controlled, because its the one doing it all. I've made it a personal project to crack this module open and figure out what makes it tick, and ultimately, determine how to tune it. Starting with some annoyances (AWD Off) and working my way towards controlling actual torque commands from wheel to wheel with the intention of allowing the user to control this to achieve desired effects. Of course, tuning such a module well is something that is quite difficult, and most everything in the calibration has a reason for being the way it does, but when has that stopped anyone from tuning an engine?
How does it work?
The RDU is actually a fairly simple unit. There are 3 basic outputs:
- Left Clutch Valve Solenoid
- Right Clutch Valve Solenoid
- Brushless DC Pump
The brushless DC Pump is used to create a set pressure in the unit, similar to a line pressure unit in an automatic transmission. The Left and Right clutch valves are pulsewidth controlled to regulate the pressure to those individual clutch packs, which controls the engagement of the clutch.
Inputs to the equations that do this are many and come from nearly every other module on the bus. Drive Mode, Steering Wheel Position, Engine Brake Torque, Wheel Speeds, Accelerator Pedal Position, Lateral and longitudinal accelerations, yaw rate, PTU temperature, etc. The only thing the module measures itself directly is the current it supplies to the 2 clutch valves and the BLDC motor parameters.
Many things are inferred by the unit, via equations combining other things:
- Left Clutch Temperature
- Right Clutch Temperature
- RDU Oil Temperature
- All of the pressures
And despite popular belief, the RDU Oil Temperature isn't just inferred solely on PTU Temperature. In fact, I'm not even sure PTU Temperature plays a part in the calculations of any of the inferred temperatures in the RDU at this point. Not to say it doesn't its just not an obvious input if it is.
The sheer amount of modelling in the AWD Module is impressive. Most of the parameters about the system, such as pressures and torques involved, are all inferred based on other measurements. As well, if you're familiar with the AWD Barcode on every RDU, this contains information specific to your exact RDU, where at the plant they calibrated the system at 300Nm and 1000Nm of coupling torque, and these values are stored in the module to help compensate these models to make the system more accurate.
Tuning the Module
The module itself is available via the OBDII DLC and thus doesn't require anything to be removed from the car, it can be tuned directly over the port. Ford/GKN divided the parts up into a strategy, which is the code that runs on the module, and a calibration which is basically all the lookup tables used by the code to control the module. There are
TWO calibrations stored on the AWD Module, one is the primary calibration that is normally used, and the other is a default calibration that is used as a fallback if the primary calibration for whatever reason becomes corrupted. After figuring out how to speak the modules language, flashing your own calibrations on isn't too difficult, and can be done incredibly quickly. A full module write takes about 35 seconds, just the primary calibration just a second or so.
Of course, tuning the module is difficult if you don't know the values of the various variables involved, so scanning those values became important. As you may be aware, FORScan and other applications have this available, but I found they were missing some things and filled in the holes myself.
Fast, high bandwidth logging is pretty straightforward, and thats where I started.
From there, working backwards, I've slowly been reversing the algorithms that control the RDU.
My first target is of course everyone's favorite: The dreaded "AWD Off" message that happens after some spirited driving.
I found this stems ultimately from inferred clutch temperatures and inferred RDU oil temperature. If they reach a "soft" limit, the system begins to "hold back", with the goal being to help mitigate some of the heat by being less active. Eventually though, when you reach a certain point, the system fully disables, and you get "AWD Off". Not until your inferred temperatures drop below lower limits will the system re-enable itself.
As well, another watchdog is on the oil temperature itself, tracking how hot it gets, and if it starts to get too high, it slowly tracks a "damage" value, that once exceeded, appears to trigger the message that you need to change the RDU oil.
So far, this has been most of what I've found and added, and I continue to test and improve upon what is there! Obviously, this is a WIP, as I find more things, figure out what I got right and wrong, etc.
A quick test of the hard limits by setting them really low allows you to convert the RS into an ST before you even start the engine!
Obviously the inverse is true, raise the limits, and the module will not shutoff until you hit them. Of course how far you can push this is anyones guess, but the system was clearly designed to keep the module functional for the life of the vehicle, so modifier beware.
I'll try to keep you all updated as I find more interesting things to modify.
Special thanks to
@codi_p for being a guinea pig.
Thanks,
Steve