Converting VR to Hall Signals reliably

There exist two (commonly) types of trigger sensors on BMWs - Hall and VR. A hall sensor is one that traditionally has 3 wires (power, ground, signal) and gives out some form of square wave signal. A VR sensor is an inductive sensor with only two wires (sometimes a third for shielding, but it really just grounds the braid in the cable) and puts out a sine wave signal. Here is an example:

The example for K=1 is demonstrating a sine wave overlayed on a square wave signal. An ECU or tractoin control module (or any trigger speed device) looks at a VR signal and watches for it crossing 0v. Anytime it goes through 0, that triggers an event (or tooth) passing. So, you can see how the square wave signal works as well. Everytime the VR signal goes through 0, the hall sensor puts out a signal and holds it until the next 0-crossing.

The reason this may be important to some is because some ECUs and traction control computers require hall sensor inputs but BMW wheel speed sensors are VR sensors. Hall sensors are actually much more accurate than VR sensors - they can measure near zero-motion while VR sensor needs the ferrous metal to pass with some velocity to generate voltage. The faster the trigger wheel turns, the greater the amplitude of voltage that comes out of a VR sensor (the humps are higher, aka more voltage). Problem is, at low speed, the amplitude may be insufficient to trigger the ECU. If you have noise on a wire (which you get from ignition coils, etc spewing current) you risk false triggers. Therefore, you need to look at a signal that is higher in amplitude than potential noise on the wire - however the amplitude (voltage) will be low on a VR sensor wire until the wheel (crank, cam, wheel speed, whatever) is moving decently so you end up not being able to measure the motion until its moving fast.

It is for this reason that most cars with VR sensors in the cam position do not run sequential injection or ignition until over a certain RPM - because at lower RPM (cam moves 1/2 as fast as the crank) the rotation can be very slow. There's not enough signal generated and sync cannot be made reliably so the car will run wasted spark/batch injection until the cam sensor is seeing a tooth faster.

Anyway - todays technology can interpret even low speed VR sensors and output square wave signals (5v, 0v, 5v, 0v,....) reliably even at low speeds by having adaptive circuitry that monitors amplitude. Sometimes its easy to make a trigger wheel and point a hall sensor at it and feed that into an ECU, datalogger, or traction control module. Sometimes the ECU, datalogger, or traction control module will accept VR sensor input and do its own conversion - other times you need to convert. MegaSquirt always had an issue interpreting VR signals. I conditioned mine over a couple years to work (mostly) reliably but every now and then I'd get a hiccup. If this board had been available I would have converted it outside of MegaSquirt and fed it in.

So up next we have some science. I know this sort of thing is not for everyone so please bear with me.

BMW decided to use VR sensors for the ABS sensors to pickup wheel speed. Totally fine, I suppose. MPH is fed into the cluster via a more precise toothed trigger wheel and sensor in the diff. DTA, for example, only accepts square wave hall sensor inputs. Its very desirable to have wheel speed input because you can then setup traction control, boost by mph, calculate current gear (transmission output rpm vs engine rpm vs wheel speed rpm = gear ratio), then do boost by gear, traction by gear or mph, pit lane/speed limiter, etc. So, naturally, the options are to replace the VR sensors with a hall sensor or convert the signal. Ideally, I'd like to replace with a hall sensor. Problem is, the VR sensors in use are a little "special". They go in axially to the ABS tone ring, but at the end have a 90 degree pointed magnet that allow them to read perpendicularly. I can't find any readily available hall sensor that will imitate this. That means my only real option then is to see if we could plasma cut some toothed trigger rings to attach somewhere, fab up brackets, etc., run wires... and you can see why this is a pain. Ideally it all needs to fit behind the rotor/wheel bearing, as well.

The board above is super small - I picked it up because it has two hall conversion circuits on it. I actually built a board similar to this from the same supplier previously, but it was much larger and I didn't get around to installing it as the wiring was more of a pain. This little guy is about the size of a quarter across and tall. I have a pot box to drop it in and finally received my potting epoxy here at home. I was going to have it potted at work but its a pain because they have their production cycle going and they need to know what compounds I want, heat cure settings, etc. So, I decided to just buy the epoxy from Mouser. Later today I am going to mix it and drop it in. Since I won't be firing it to 65C it will take a day or two to cure. That's fine since I am in the condition I am in right now. I bought the compound the seller of the board was using, which honestly is a bit overkill as its "high temperature" - it will withstand 100% duty of 437F. Definitely not needed. They make (they being MG chemicals btw) a faster curing potting compound that will work at a service temperature of 280F. But, I guess this model is the only one rated for "thermal conductivity" meaning it will function as a heatsink. Not sure this unit is going to give off much/any heat, but whatever.

The white wires are PTFE shielded 2 conductor wires. The right hand side is input from the chassis so there are two inputs (4 wires). I decided to shield the cables (PITA!). I needed to run a small jumper wire from the small shielding pad tot he shielding. A little frail if it were to be left out, but since it'll be potted, no harm at all. Its basically going to be encapsulated in epoxy. The left hand side has a single shielded output (2 conductor, so two signals out), power, and ground.

I went to pot the board in the potting box but found out that I received two Part A's of the two-part epoxy, so I had no hardener. Awesome. I did LiveChat with Mouser and they apologized and sent a replacement kit overnight from CA to Philly, I got it at 9AM lol. Insane. So I mixed it and poured it - what a PITA. It's messy. The wires should clean up once it dries since the wires will flex and the potting will not, so it should peel right off.

Now its just a waiting game. Its in the trunk of my land rover in the sun to heat it up lol. I touched it when taking the photo and its already setting up, doesnt deform, but I guess it needs a while to fully cure.

Finished this guy up using deatsch connectors as usual.

Here is the output of the VR to Hall converter at like parking lot speed. I tried recording at higher speed but I think it loops over the recordings.

Here is a capture at ~25 mph

Purple line = MPH

I stripped a lot of the fields out to not confuse anybody. For that line I am just reading Left Driven Speed (left rear).

As you can see it works very well and gives a nice smooth output with no noise or bumps or jaggies anywhere - this means you can really dial in traction or boost or whatever you want without worry of false-trigger. It won't be cruising at 40 mph and then spike 60 mph for a sec unless of course you lose traction, in which case you can invoke the traction control methodology.

good info. Mouser is seriously an awesome electronics supplier. I dealt a lot with them in avionics school, radar bits, soldering equipment, boards etc. They sold a pin kit with depining tools, crimps and connectors, and a few other goodies for the tune of $2000. hardcore stuff.