Intercepting wheel speed

This question is a combination of project guidance and sensor input but mostly sensor input so here it goes.

I am working on a unit for a 2014 Subaru Forester that will intercept wheel speed readings and output new wave forms. I am trying to trick the Vehicle Dynamics Control (VDC) so it doesn’t see wheel slip.

I want to take in 4 separate readings from wheel speed sensors and put out 4 identical waves that correlate to the lowest read wheel speed out of the 4.

I have not problem with the logic/coding part of the project. I thought the wheel speed sensors were TTL hall effect sensors but now I’m not so sure.

The factory pinout is attached. I tapped into the sensor wire for the front right sensor (terminal 29) and slowly spun the wheel by hand. The o-scope displayed a pretty noisy signal that jumped up and down with an change of .06v between high and low.

I found a few other discussions about reading a signal like this but no one seemed to want to take it all the way… one in particular just gave up because he didn’t want to make a small conditioning circuit.

So my questions at the moment are:

  1. Is this actually a hall effect sensor?
  2. Can someone help me figure out what circuitry I need to condition the signal so the arduino can read it. In this thread (http://forum.arduino.cc/index.php?topic=126163.0) MarkT posted a schematic for conditioning a similar signal. I do not have a lot of experience with signal filtering, will this circuit work for me?

I am using an uno r3 but have no problem purchasing another board if it will make this easier.

60mV is not much for a noisy environment such as a car. I suspect your O-scope was not attached correctly. Where was your ground reference?

The oscope was hooked to the wire coming from terminal 29 and the ground clamp coming off of it was hooked to chassis ground. That connector does not have a sensor ground pin otherwise I would have used that.

It's an old analog oscope. I had the voltage scale set to .1v and the line would jump 3 sub-divisions which should be .06 or 60mv... Unless I'm reading it wrong.

I would expect the chassis ground to be ok, but the sensor ground is terminal 14. Could be significant.

Ok. On other Subaru diagrams I have dealt with in the past sensor ground was specified separately from power ground. I figured since 14 was labeled power supply ground it just went to chassis ground.

here is the diagram that shows 14. I looked at the rest of the pin out for that connector and 14 is also ground for valve relay power supply, stop light switch, vdc off switch, and then its also listed separately as just ground. The other ground pin (38) is ground for motor relay power supply.

If you think using pin 14 specifically will make a difference I will give it a shot.

Subaru ran a separate ground for sensors for a reason. If you hook up the O-scope probe to 14 and the scope ground to 38, you may see why.

I will check it out tonight when I get home.

Hooked the scope up again and made sure the scope lead ground was hooked to terminal 14. After closely looking at the scope again it now appears to be a jump of 160mv from low to high. But still not a large jump. Here is a video so you can see whats going on. Wheel speed sensor oscope - YouTube

I also tried switching the ground from 14 to the chassis and it didnt seem to make any difference. With the ground not connected to anything the wave went crazy.

I've been doing some reading and I am starting to wonder if maybe Subaru used a sensor that didnt integrate the transistor so the output signal still hasnt been brought to logic level yet. Not sure though...just a thought.

You rotated your scope, why not also rotate the video?

If you are trying to show us the settings on the scope, it is too dark and you are moving to much. I suggest just telling us what the scope is set on.

I can't tell what I'm looking at with the partial schematic.

Grounds are of paramount importance. I've seen many a phony faulty signal go away when the ground is reconnected to the proper place. And a car is a -very- electrically noisy place.

Sorry about that. The scope is set to .2 volts /div.

All I was trying to show with the schematic was that pin 14 and pin 38 both go to ground but separately.

I am aware of the importance of grounds in cars. I have not disconnected any grounds or changed the vehicle wiring up to this point. I am just trying to read the sensor waveform.

Here is a link to the schematics for the VDC system.

vdc_IO.pdf is the pinout and wi-40991e.pdf is the schematic in the second screen shot but all of the wi-#### pdf's make up the whole system schematic.

I really appreciate any assistance you can offer.

I meant that where you connect the scope ground is important, too.

Ok. I tried connecting the scope ground to pin 14 about 2" from where the wire enters the connector. I also tried connecting it to chassis ground. They both were way better than not being grounded but neither was better than the other.

Is it possible that Subaru is using a hall effect sensor that doesn't have the conditioning circuitry and comparator built in? Or that the reading is being taken by comparing input voltage to output?

The sensor its self only has two wires going to it (power supply + and signal).

OK, if the sensor is really a two wire sensor it probably works like http://www.allegromicro.com/~/Media/Files/Datasheets/ATS685-Datasheet.ashx
See figure 8. That Schmitt trigger is probably in the VDC controller.

Then Rsense may be high side or low side... Are you testing this with the connector plugged in to the VDC system?

Yes I have been testing with it plugged in. When I get home tonight I'm going to try it not plugged in.

I tried using my power probe the power the sensor without the extra noise from the car. I un plugged the wheel speed sensor and inserted pins into both terminals of the plug. One of them got 12v from the battery and the other I hooked the o-scope to. It seemed the no matter what I did the o-scope just read 12v with no fluctuation.

Anyone have any ideas?

I ordered 2 MAX9921 chips. From what I can tell they will take the signal I am getting and output a logic level signal.