InputTrigger/AudiTrigger (2008-12-13 21:15:49)

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

Note that GenBoard/VerThree since 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 in 2006, see MembersPage/MiskaPeippo/AudiSSix.


More about the cam-HALL inverter

Cam-HALL signal is used to mask one of the 2 crankhome pulses.

For [Audi 7A flywheel] that has strange notches that disturb the crankhome-VR signal, an inverter is needed to neglect the big window around 134deg BTDC cyl5 (and keep the small window around 62 BTDC cyl1).

The inverter can be an NPN transistor such as TIP31

If you have an Audi 7A flywheel, be sure to mention it to your dealer when ordering.


HW modifications

For v3.0 .. v3.2:

For v3.3 shipped in 2005:

For v3.3 shipped after 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:

1.1.23 was only ment for 135 tooth. In 1.1.24, since when bit6=1 (primary_trigger=43) is used for auditrigger, auditrigger should work with tooth_wheel other than 5A (decimal 90, that is 135*2 /3 , using divby3).

These numbers come from the number of teeth, and divider (divby2 or divby3). Examples:

For 264+1 trigger: 4cyl 132 tooth and divby3, similar to the 5cyl 135 tooth, just different values (264/3 is 88 tooth and another_trigger_tooth is decimal 22):

If there is no cam-hall masking (HALL is left high), than it becomes 132+1 trigger:

'Please see this http://www.vems.hu/wiki/index.php?page=MembersPage%2FPeteKrgr if I got my settings right with 1.1.24 / 132+1 / div_by_2 ??

Also if I change to div_by_3, is then bit7=0 ??

Thanks!

'

volvo 142 tooth no cam-HALL masking divby2 (bit7=1)

Set the ign_tdcdelay to the angle from crankhome pulse to TDC. Than use strobelight

Porsche 130 tooth normally aspirated (turbo has 132+1 flywheel )

No cam-HALL masking, so 130+1 (not 260+1)

Config hing (untested)\n

# rpmk=3000 (12000 / 4 cyl)
rpmk[0]=0B
rpmk[1]=B8
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. And divby2 is bit7=1
primary_trigger=C3
secondary_trigger=19
# after divby2, 130/2=65 teeth:
tooth_wheel=41
# trigger from every 33 teeth:
another_trigger_tooth=21
crank_minper=00
# with divide-by-2, we see 130/2=65 per crankrot that is 5.61 degrees. So  365/(130/2) / 0.25=0x16 (decimal 22)
tooth_wheel_twidth1=16
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! CHECK both ignition-pairs: 1,4 and 2,3
trigger_tooth=00
ign_tdcdelay=80
ign_out=70
ignchmax=03
h[1]=00 21 00 21 .. .. .. ..

Jaguar V12: 162+1 trigger (54 teeth after divby3)

Who knows how much tooth was old BMW Motronic? GintsK


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: