InputTrigger/AudiTrigger (2007-11-14 20:04:22)

Page for the 135-tooth, 3-signal trigger system found on many 5cyl audi engines

Note that for GenBoard/VerThree v3.3 the trigger HW was modified so it can directly use the 3 input signals from the Audi wheels:

The first successful install with this trigger-setup was done by Miska Peippo in Finland, see MembersPage/MiskaPeippo/AudiSSix. Congratulations.


HW modifications

For v3.0 .. v3.2:

For v3.3 shipped in 2005:

For v3.3 shipped in 2006: - done at assembly if requested in shop order note


multitooth Audi crankwheels

The old Five cylinder engines with electronically controlled ignition have 2 VR sensors and a HALL sender.

These engines use a homebrew ignition module with a visible TO-3 transistor in the ignition coil console. (at least the ones I have seen) Igniton computer is made by Hitachi (MAC-xx).

The small spacing between the teeth (together with cambelt sloppyness) makes it impossible (at least without very advanced, long-term filtering) to sync the engine without the pin in the flywheel.

Signal timing graph from 5-cylinder MC-engine:

audi_mc_trigger.gif

The same type of triggersystem is used on many older Audis, even the Audi V8 had it until it was replaced with the A8. The engines with an even number of cylinders has an 136teeth flywheel to make everything add up.

Solution:

We use AND( HALLsignal, crankhome_pulse) logic operation (implemented in HW) and pass this to the AVR secondary-trigger input.

The camsync masks out the 62deg BTDC cyl1 crankhome pulse, but leaves the 134deg BTDC cyl5 pulse alone, to reach the processor.

This way the secondary trigger the AVR sees is timed from crank, but only 1 pulse for each cam-rotation (suitable for 5cyl ign). Effectively a 'cam ref signal' with no slop at all.

135 interrupts per crank-rotation still needed, but the interrupt code is much shorter than for 60-2 wheels, allowing > 20000 RPM:

We thought that 135teeth takes up too much CPU time. After thinking about it, we found that the multitooth processing code can be bypassed altogether, so the CPU load would be smaller than for 60-2 wheel.

Q:What is (theoretically) the MAX RPM that this kind of trigger can handle?We just build an engine thet will rev

9000RPM without problems.//pnanassy


How to connect the 3 trigger signals

Don't forget to use shielded cables, separate for all 3 signals. The shield only connected at the ECM end. "return" is to GND (sensor ground), not GND5. See MembersPage/PhatBob/UserGuide.

See InputTrigger/AudiTrigger/TestLM to see how the first installs got sorted out.


Possible elmination of RPM trigger shadow from the crankhome-VR signal (also called magnetic shadow, or magnetic ghost)

Marcells idea to connect both the crankhome-VR and crank135-VR signal via appr 33k (best resistor value needs some experimentation and tuning with scope) to a +-700mV clamped point (fast diodes towards GND, eg with a BAV99 or 2 1n4148). The crank135-VR might need to be reversed for this to work (in the elimination direction, not to amplify the unwanted ghost signal).

The crankhome-VR polarity is fixed, of course (because LM1815 senses negative going edge).

Jorgen's SwCAD simulations: two 1n4148 switch diodes connected antiparallel to each other and in series with the incomming VR signal from the TDC sensor. I have no Audi here to test it on but logic, some scope plots I have taken earlier and the CAD software say that it will totally eliminate all signals smaller then 0.5-0.6v or so while also dampening the TDC pulse with 0.5-0.6v. The TDC signal should be over 0.7v at all cranking rpms and the RPM shadow should be lower then 0.5v at most critical rpms. At higher rpm the RPM signal should be eliminated properly by the arm level logic in the LM1815. -Jörgen Karlsson


Some changes needed when compared to standard VEMS ECU:

The Audi trigger is very different compared to most other triggers and they require a few modifications. -Jörgen

  • The signal qualiy of the secondary trigger signal is very low. A 1k resistor to ground between the sensor input wire and ground improves the signal quality greatly and dampen the high frequency electrical noise and the low frequency magnetic noise from the 135 tooth trigger. -Jörgen
  • We also configure the minimum adaptive threshold for the secondary VR, there is a jumper at pin5 of the secondary VR that let you connect pin5 to VCC. After this is done the typical min threshold for arming the chip is 200mV instead of 30mV. That means that the chip will always ignore signals under these thresholds in each respective mode. With a stronger signal both modes are adaptive. -Jörgen
  • In some ecu's a resistor is populated in the R182 position, it must be shorted with a 0ohm resistor (as in recent ECU's) or with a solder bridge. -Jörgen
  • The diode circuit I mentioned in the section above is not needed to get a reliable trigger signal. -Jörgen
  • With the primary trigger we have a different problem. At high rpm the trigger frequency get extremely high. The LM1815 VR interface chip has a RC configurable output pulse. A standard ECU has R57=75k resistor and C31=1n. For Auditrigger you should use R57=33k and C31=1n which give us a pulse of around 30uS. As an example we only have 1/9000rpm*135teeth/60s=49uS between each trigger event at 9000rpm. The pulse with R57=75k would be around 70uS. -Jörgen
  • R56 and C30 create a low pass filter with a theoretical -3dB frequency of 8841Hz. In real life it's common that the capacitors are of a bit higher capacitance then specified. 8841Hz correspond to 3930rpm. This may cause concern at first but when considering that the signal amplitude on the input increase with rpm and that we clamp the input below 2v it should not be a problem. -Jörgen
  • There is no real signal quality problem with the primary trigger, but as the signal is very strong so we want to load it a bit to protect the input filter for the LM1815 and the input clamp in the LM1815, a 1k resistor should be suitable for this as well but note that it may need a higher power rating. We need to measure the signal amplitude at high rpm to know. -Jörgen

Signal Sloppyness

The sloppiness seems small, see [image1] and [image2]. Our implementation accepts if the "cramhome" (== crank-cam hybrid) pulse comes normally, or one tooth too early (which should be rare, but possible if the VR sensor is not aligned properly).

If the crank-home is sloppy, not always between 2 given crankteeth, the code will finally sync as if the crank-home always came after the tooth coming later.

Example

Here we name 3 given teeth A,B,C. If crankhome is seen


Configuration for 1.0.x (for 1.1.22+ that will be the official branch for auditrigger very soon, see below)

We must start from a coiltype + camsync setup (maybe like MembersPage/MichaelRichards/Projects/NicksGTX or [Fero]

Auditrigger 135 tooth config for 1.1.22+ :

http://vems.hu/download/v3/firmware/v3_firmware_1.1.22.zip\nÿ1ÿ

Find full config and trigger-extract at:

http://vems.hu/files/MembersPage/MarcellGal/Audi/etc/

Note that engine is NOT tuned! Some more regression testing ahead, better advice on base timing, but it looks very promising


Other Audi triggers:

There is also an other audi trigger arrangement on the older audis that don't have a knock sensing ignition. They only have a 5 slot trigger wheel in the distributor and no crank trigger and a hall sender controlling a auto dwell ignition module. If a few degrees of ignition inaccuracy is acceptable one of these distributors can replace the entire ignition system on the computer controlled cars.

The later models have a standard Motronic triggerwheel and a CAM synk sensor.


Other 'Audi' triggers, part 2:

Any new info on this subject? Does it have support now? Will it have support in future versions?

Does the new 1.1.22+ branch support other versions of the 'audi' trigger? Like the volvo 142 tooth and porsche 130 tooth ( normally aspirated, turbo has 132+1 flywheel ) which had support in 1.0.36. Differences in the config file compared with the real audi trigger above? The Porsche 944 has the 'crank home' tooth around 58.5 degress before TDC ( again the n/a, turbo's crank home is 66.8 deg BTDC = 24.5 teeth ).

Can someone help rewriting this for the 4 cylinder 130 teeth no cam sync config? I will give it a start with the rpmk..\n

# rpmk=3000 (12000 / 4 cyl)
rpmk[0]=06
rpmk[1]=68
divider=01
# alternate=14 if you like batch firing during cranking
alternate=04
# coil type, NO filtering, bit6=1 auditrigger=enabled
# 1.1.23 requires bit6=1 (while 1.1.22 does not care, can work with primary_trigger=03 or primary_trigger=43)
primary_trigger=43
secondary_trigger=19
# yes, not 87(decimal 135) but decimal 90 !!! Not same for 130 teeth or not?
tooth_wheel=5A

# 54/3=18   What is this??
another_trigger_tooth=12
crank_minper=33
# with divide-by-3, we have 135/3=45 per crankrot that is 8 degrees, 32 * 0.25 degrees
tooth_wheel_twidth1=20
tooth_wheel_twidth2=00
cam_sync_r_edge_phase=00
cam_sync_f_edge_phase=00
reset_engphase_after=40
# PLEASE ADJUST _YOUR_ BASE TIMING!
# trigger_tooth: must be min 00, max 11 (decimal 0 to 17), somewhere in the middle should be fine, that is 08 or 09
# sync from the edge at 134 BTDC cyl5, with 1.1.22 trigger_tooth=08 and ign_tdcdelay=84 seems better (than 09, 0x78)
trigger_tooth=08
ign_tdcdelay=84
ign_out=70
ignchmax=04

I am very interested in Jaguar V12: 162 tooth!

And who knows how much tooth was old BMW Motronic? GintsK

- 116 teeth on most BMW according to this page http://frwilk.com/944dme/math.htm

116??? Not dividable by 3!!!


Header for easy switch between primary_trig=HALL and 3 signal audi-trigger

For an assembled controller, one wants to avoid too many clamping/unclamping. (assemble/disassemble)

The alubos endplate is very easy to remove, unclamping is not needed. The trigger section can be reached for soldering or measuring with just the alubos endplate removed. However the onboard mounted MAP sensor makes it impossible to reach the connections.

Choices:

I had to apply relatively much hotmelt to prevent the header from shorting on anything (it might take 4..5 minutes of scratching to clean the header when one wants to change it: but at least only the endplate must be removed for it). 3 DIP switches would work for the same too. Are DIP switches acceptable in a car? I would say that they are, I have never heard of problems with the engine management systems that have it. we could make a backup solution with proper smd jumpers too.


See also: