DSG DQ250 DIY-EFI Arduino ECU

DSG DQ250

 

The DQ250 is in simple terms, a 6 speed manual gearbox that is automated through electro-mechanical control of the selected gear and clutch engagement. Designed by Borg Warner, it was the first automated twin-clutch gearbox used in a production car when introduced in 2003.

The DQ250 has two clutches, one that engages the even gears, and one that engages the odd gears. The clutches are multi-plate wet and concentric, housed within a basket. They are both immersed in oil and engaged using oil pressure.

DIY EFI, Arduino ECU

Both the gear selection and clutch engagement are performed by the mechatronic unit, which is an assembly of an electronic control unit and solenoid valves that send oil pressure to the required circuit to command the correct gear and clutch pressure.

It is widely reported that the mechatronic unit is programmed to modulate the clutch pressure until 1% slip RPM is achieved. This is similar to a conventional lock-up torque converter strategy where slip is controlled for smooth drivability.

The upside here for the DIY programmer is that the DSG uses a closed loop strategy and this relaxes the need for extreme accuracy in the load control signals being send from a DIY ECU installation.

Electrical interface

The good news for installs of a DIY controller such as Rabbit ECU is that the DQ250 is relatively stand-alone. It basically has a power and CAN bus connection, and a few other diagnostic connections such as K Line. 

  • K Line (1)
  • CAN-H (10)
  • Power-ignition (11)
  • Power-battery (13)
  • CAN-L (15)
  • Ground (16)
  • Ground (19

Teensy ECU, Teensy EFI, Teensy Fuel Injection

 

Engine Torque Management

The DQ250 control is mostly autonomous. When in automatic mode (shifter in D) the DQ250 mechatronic controller determines which gear to select, along with which clutch to engage and how much clutch pressure to apply. But as anyone who drives a manual car knows, there is some cooperation needed from the engine to make the shifts happen smoothly.

Upshifts

During upshifts, the requirement for torque management is not particularly strict. A reduction in torque during the shift helps smoothen and speed up the shift. Failing to reduce torque does not prevent the shift occurring, but presumably causes additional clutch wear.

The torque reduction on upshifts using Rabbit ECU uses two methods:

  1. Retarding timing monetarily at the shift point to reduce torque
  2. Reducing fuel flow momentarily at light loads to reduce torque

 

Arduino ECU, DIY ECU, DIY DSG DQ250

 

Because the shifts occur quickly, the Rabbit ECU does not reduce the throttle angle – this happens too slowly and without enough precision to have a useful affect on torque.

You can see video here of Rabbit ECU DQ250 upshifts.

Rabbit ECU GDI, Teensy DIY ECU

Downshifts

Torque management is particularly important when downshifting, when torque must be reduced for up to 1.1 seconds as both clutches are disengaged and the mechatronic is selecting a lower gear. Experimentation with Rabbit ECU shows that not managing torque during downshifts can cause the down-shift to be aborted, with both clutches disengaging and the engine free revving because the match rpm is not close enough. 

As any tuner would know, it is possible to reduce torque drastically by retarding timing and missing fuel injection events. But this would be crude and cause drivability problems, so a better solution is to ignore the driver pedal position and open the throttle just enough to rev-match to the RPM needed for the lower gear being selected. When off pedal, a downshift needs a small blip of the throttle position to increase the RPM. When on pedal, a downshift usually needs a large reduction in throttle position to keep the RPM within range for rev matching.

Because the Rabbit ECU has control over the electronic throttle, this can all happen in cooperation with the DSG just like the OEM system.

Teensy Direct Injection, DIY ECU

 

The rev matching strategy using Rabbit ECU is quite simple – a 2D table of free rev RPM versus required TPS, and a table of gear ratios. Using the current vehicle speed, and downshift gear, the rev match RPM can be calculated.

The MAP-MATE RPM Match Table controls the throttle opening depending on the target rev match RPM. It is tuned by free revving the engine and inputting the TPS at that engine RPM.

DIY GDI, Aftermarket DSG Controller

 

The VSS per 1000 RPM table contains the gear ratios of the DSG so that the Rabbit ECU can calculate the selected gear based on vehicle speed. It is also useful because the Rabbit ECU can calculate the expected RPM is any given gear, and determine the clutch slip based on the actual engine RPM. It is possible to diagnose clutch slip when pushing the DQ250 to its limits with additional boost.

DSG Control Rabbit ECU, DIY EFI, GTI ECU, VW GTI Tuning

 

The Rabbit ECU will command the throttle to ‘blip’ so that the target RPM is reached during downshifts as shown here.

DIY ECU Teensy, DIY EFI

 

CAN Signals

Removing the OEM ECU and replacing it with a DIY controller requires the new ECU to send the same (or similar) signals to the DSG so it can continue to operate correctly. Not sending the correct signals to the DSG controller results in the flashing D symbol at the instrument cluster and a locked gear shifter!

The DQ250 is connected to the power-train 500 kbps CAN bus and the relies on signals to/from:

  1. Engine control ECU
  2. ABS controller module
  3. Gear selector module

The CAN signals needed can be easily discovered using a tool such as Kvaser CanKing, and a USB to CAN converter such as Kvaser Leaf Light.

After a process of studying the CAN traffic on the OEM powertrain CAN bus, the following ECU signals were identified as being needed to control the DQ250.

  1. Engine RPM (ID 640 @ 10ms)
  2. Output Torque (ID 640 @ 10ms)
  3. Pedal Position (ID 640 @ 10ms)
  4. Throttle Position (ID 640 @ 10 ms)
  5. OFF/MID/WOT Pedal (ID 640 @ 10ms)
  6. Manifold Pressure (ID 1160 @ 10ms)
  7. Engine Coolant Temperature (ID 648 @ 20ms)
  8. Brake Switch (ID 648 @ 20 ms)

Also, CAN ID 866, 644, 1152, 1162 and 1416 should be sent but can be hard coded from the OEM CAN trace. The DSG also relies on other signals from the ABS controller but this was not changed in the Rabbit ECU test VW GTI MK6.

All of the CAN signals are created at the Rabbit ECU diagnostic module, code here. All of the Rabbit ECU source code is found under GPL license here at GitHub.

 

 

2 comments on “DSG Control with Rabbit ECU

Leave a Reply

Your email address will not be published. Required fields are marked *