I'm attempting to emulate a variable reluctance sensor on an engine. I know I need to produce a 600hz-6000hz zero-crossing +/-12volt waveform. The engine management controller's input measures 20okhm.

My first attempt used a Bourns SM-LP-5001 1:1 audio transformer for isolation. My LM2904 went into current limiting mode when I fed it any waveform on CKP1/CKP2. My assumption is that I mismatched something causing the current to exceed the LM2904's capacity. VIN is nominal automotive 12VDC, I am using 13.9VDC for my bench supply.

LM2904/BUF634 circuit

Here's what I'm thinking for my next attempt, but I need some understanding how to specify what transformer I need.

CKP1-CKP2 are the inputs from my MCU, CKP+/- are outputs to the ECM

I found a Xicon 42TM018-RC audio transformer that has 1:1 10k CT winding and 550 ohms DCR on it's primary.

  1. Since the ECM measured 20kohm at it's inputs with my DMM, does my transformer need to match 20kohm primary impedance?
  2. Or will this circuit fail for a different reason?
  3. Is there another approach that would work better?
  • \$\begingroup\$ the upper #, 6,000Hz is 360,00 rpm. Is that correct? \$\endgroup\$ Commented Jul 30, 2019 at 5:57
  • \$\begingroup\$ 12 volts output ALL the time, or just at the higher RPM? \$\endgroup\$ Commented Jul 30, 2019 at 6:06
  • \$\begingroup\$ 6000 rpm is the maximum target shaft speed with the sensor on a 60-2 tone wheel. I believe that results in ~6000Hz. If my math is incorrect, please let me know. The physical sensor will output as low as 0.25Vac and 40Vac in my testing as the RPM increases. The ECM sensor chip only cares about seeing the zero crossing part of the signal so any signal above the 0.25Vac threshold is acceptable. \$\endgroup\$
    – joefarmer
    Commented Jul 30, 2019 at 14:44

1 Answer 1


It goes into saturation. When the flux rises above a saturation point, then the inductance of the transformer is equal to the air core inductance. So, except the series resistance nothing will stop the current rise as short circuit.

What you have to see is the volt second product. From the lowest frequency calculate half period, then multiply with voltage. Compare the volt second product with datasheet.

PS; Have you measured the output signal of the sensor? I don't believe it outputs +/-12V not nearly, you will burn the ECU!



simulate this circuit – Schematic created using CircuitLab


simulate this circuit

  • \$\begingroup\$ I calculated 600hz half period is 1667us. I see running at 5 Vpp would be easier to find a smaller transformer based on 8335 Vµs instead of 40000Vµs at 24 Vpp. I've measured the existing sensor and it puts out 0.25V-40V AC depending on engine speed. The sensing IC allows up to 250V. Is there a trick to finding an off-the-shelf transformer with 8335 Vµs? Most I see are from 10-50 Vµs. \$\endgroup\$
    – joefarmer
    Commented Jul 31, 2019 at 18:43
  • \$\begingroup\$ The amplitude grows with speed, this is a nature of the Lenz law. Your ECU shall be capable to meausure very small differential voltage up to high. It just amplifies the differential voltage and then a comparator transforms to square pulses, the amplitude is not relevant. Therefore almost each tranformer will do the job, just make sure the signal amplitude is not to high, let 's say 1Vpp \$\endgroup\$ Commented Jul 31, 2019 at 20:30
  • \$\begingroup\$ @joefarmer edited the answer \$\endgroup\$ Commented Aug 2, 2019 at 22:22
  • \$\begingroup\$ I ended up with a 5 Vpp signal, an audio transformer and a single OPA2227 that produced a nice unsaturated signal the ECM is able to read well. Thank you for the saturation keyword. \$\endgroup\$
    – joefarmer
    Commented Aug 3, 2019 at 23:37

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.