Using, and calibrating, Vehicle Speed Sensor output to drive a mechanical Speedometer

Thread Starter

ProfFJLewis

Joined May 7, 2016
9
Hi all, I need help...

I have fitted a new Ford engine and gearbox from a Ford Focus ST170 (SVT in the USA) that has a three wire Vehicle Speed Sensor (VSS) into my older Ford Orion that has a mechanical speedometer.

In simple terms I now need to read the signal from the VSS. Determine how many pulses is makes per mile, convert the pulses to a voltage to spin a dc electric motor or pmw to drive stepper motor. I can then use the motor to spin the mechanical input to the speedometer to display the correct speed.

Engine/gearbox transplants like this typically create this problem for a lot of 'car enthusiasts', so solving this problem would be very useful for loads of people. There are aftermarket products that solve this problem, for example see ECD-100 from Dakota Digital, but the cost is prohibitive.

As I understand it the VSS is a Hall effect device, the three wires provide a ground, 5vdc supply and signal. From other searches I have found out that the Ford VSS might produce 8,000 pulses per mile (or possibly 3.5 times this as per another search), but this will not be the case in my set up where tyre sizes have changed so I will need to calibrate the electronics.

The ECD-100 has a calibration mode where the car is driven a 'measured mile', I guess the number of pulses are then read and registered allowing the electronics to produce the 'corrected' revolutions of the motor.

I'd be happy using a potentiometer to increase, or decrease, the gain/voltage driving the motor - I would calibrate the speedometer by driving at a 'known speed' (use a SatNav with GPS speed on it) and adjust the POT so that the speedometer reads the correct speed at two or three points (e.g. 30mph, 60mph and 90mph). The mechanical speedometer reads 60mph when the input is running at 1,600rpm, so for my car the Electric motor needs to spin from 0rpm to 4,000rpm.

Can you help me? I'm an mechanical engineer so although I'm okay with connecting things up I'm new to electronics.

I have seen lots of posts about how to drive a motor, but nothing about how to read a signal, calibrate it and then spin a motor. I'd like to use 12vdc for the electronics (so I can plug it straight into the car battery without using a power supply) and use a cheap 0.5A 12vdc motor if possible, but you guys might tell different. Either way I'd like to keep it really simple.

Many thanks in advance, Clive

Ps I'm not really a Proffessor!
 

Alec_t

Joined Sep 17, 2013
14,280
Welcome to AAC!
Do you know how many pulses you get from the VSS per revolution of the gearbox output shaft?
 

Kev0511

Joined Jul 20, 2004
39
Do you know what is the driven and drive gear ratios for both speedometers? Just wondering if on can just convert it over to a mechanical based, as long as the gears are the same/swap-able it may be possible?

Also Dakota digital has a product, spendy thou, that will do what you want? There may be other companies too?

But where is the fun in buying an off the shelf piece?
 

crutschow

Joined Mar 14, 2008
34,280
Designing and building such a conversion circuit is not a trivial task and I wouldn't recommend it for a newbie.
It requires a circuit to detect the VSS signal and convert that to variable frequency or duty-cycle pulses for the motor, depending upon its type.
That is likely most easily done with a microprocessor, which obviously involves programming the device, and also building some interface circuits.
So you either would need to learn about circuit design and programming a μP, or find a friend to help you with that.
And the cost of all the parts, (electronic circuit components, microprocessor, circuit board, motor, enclosure, etc.) will likely not be all that different from what the Dakota device costs.
 
It MAY be POSSIBLE to power the sensor externally and look at the output with a voltmeter.

You will have to determine if the output is open collector or not. It likely is. In which case it would need a pull up resistor to +5. 10K would be OK for testing. Use a magnet and see if you get a state change.

You can also use a LED. Use the lowest current, say 2 mA. The pull up would them be less than or equal to about (5-2.1)/2e-3

This http://media.digikey.com/pdf/Data Sheets/Allegro PDFs/A1250.pdf is an example automotive qualified sensor. 3-24 V and 30 mA minimum open drain. Note the capacitor near the IC.

Now, if the sensor is activated in neutral and you have e a slip differential, the drive shaft might move manually with one wheel on the ground. e.g. manually rotate the tire with one wheel off the ground. The driveshaft should move.

8000 pulses per mile is less than a foot of tire circumference. So you can basically figure it out.

There's basically no reason for the speed not to be other than linear. Tire size can change the calibration.

Your either going to see a blip or 50% on 50% off. You, then would have an idea what your designing for.
 

Thread Starter

ProfFJLewis

Joined May 7, 2016
9
Welcome to AAC!
Do you know how many pulses you get from the VSS per revolution of the gearbox output shaft?
I'm not sure how many pulses there are or how to go about reading them (perhaps this is step 1). Apparently Ford VSS pulses 8,000 times per mile, but another suggested that my Ford is geared slightly higher by 3.5, making 28,000 pulses per mile.

Does this help
 

Thread Starter

ProfFJLewis

Joined May 7, 2016
9
I'm going to need to measure the output signal from the VSS as I'm not confident it is a square wave pulse of 12v. I know nothing about the VSS (signal generator) so tomorrow I am going to try and measure the output with a volt meter (as per keepitsimple's suggestion). I'll report back tomorrow on the results.

I've read a few other websites suggesting that on my car the VSS output is sinusoidal +/-6v with increasing frequency with speed, and that the 8,000 pulse per mile is generated by the ECU which is connected to the instrument cluster, but I don't know if this is right either. I'm also going to check with a few auto mechanic pals I know to see if they know anything.

I was hoping to use something like tinyESC v2 (fingertechrobotics.com), at $35 it seems like a good start to spin the mechanical speedometer. Instead of using a radio control input signal to the tinyESC to control motor speed I'd hoped to use a small piece of electronics to covert the VSS output to mimic the radio control input to squirt into the tinyESC. The tinyESC runs off 6.5vdc to 36vdc and has all the features needed to run the electric motor safely and protect the circuit itself. The radio control input is fairly established (http://www.mitchr.me/SS/batteriesRequired/RCcontrolTheory/), so once the VSS output is known I was hoping it would be simple to convert it to mimic the radio control input.

So I need to know the VSS signal first.

I wonder how one-product-fits-all like the ECD-100 seems to suit all VSS whatever their output - seems like a smart piece of kit, but that's probably why it costs so much, I'd call this "a sledgehammer to crack a nut"...
 
As I understand it the VSS is a Hall effect device, the three wires provide a ground, 5vdc supply and signal.
Hall effect and variable reluctance sensors are generally the two technologies employed.

I'm not confident it is a square wave pulse of 12v.
I'm not either. The questions are:
1) What is the power supply. It can be 5 or 12 or even 3.3 V. I'm just betting that 5V is SAFE.

2) The sensor can be powered by 12 V and the output pulled up to 5V (e.g 10K resistor) in the ECU.
It's very likely that you have to add a pull up resistor.

3) 3 wires suggests hall effect.

4) So using 5V, a LED where the - of the LED is tied to the output of the sensor and the current through the LED is limited to say 2-10 mA is likely safe. So, a resistor R<= (5-2.1-Vx)/2e-3 tied from +5.
The 5 in that eqn is the voltage the LED is pulled to. The 2.1. is Vf of the LED (It varies with color); 2e-3 is 2 mA.
R will be in ohms. Vx will be 0 for open drain and between 0.2 to 0.6 V for open collector.

If you just measure the output without an LED, then eliminate the 2.1 term to select the resistor.

It's very likely you will not get an output without the pull up.
 

Thread Starter

ProfFJLewis

Joined May 7, 2016
9
Hi all,

I've not tested the VSS output yet, later in the week as other work has priority.

But I had this reply from a super mechanic friend of mine:

"Other than that I have confusing info.
It appears that the VSS outputs 89 pulses per revolution of the road wheel. That should be a square wave and switching between 0v and 9v. It has a 12v supply, Earth and signal output on the 3 sensor wires.
This signal is seen by the engine Ecu (PCM) which then converts it into a signal that the ST170 instrument cluster could interpret. This seems to be carried over the network as a data packet.
On some Fords it seems to be a sine wave at the speedo head so that conversion would take place in the PCM.
Most Fords seem to all run at 8000 pulses per mile but I can't confirm that is the case with the ST170.
It may be worth sending an email to Dakota Digital and just say that the conversion is based on a Focus SVT with a 3 wire VSS in the gearbox and see if they feel their unit is suitable."

I'm sending an email to Dakota Digital and if this is the way to go then that'll be that I guess - I would have thought converting a signal to another would be relatively straight forward.
 

Alec_t

Joined Sep 17, 2013
14,280
I see no difficulty in making a circuit which will accept signals from both a Hall type (digital) VSS sensor and a variable reluctance (pseudo sine wave) type and give a standardised output. This would then need to be converted to a 1.5ms to 2ms width pulse for use with the tinyESC V2 module. A slight problem with doing this the analogue way is the latency involved in determining the frequency of the incoming VSS signals. For very low road speeds (<10mph) the latency could be a second or so. A digital solution would have less latency, since pulse period could be simply determined.
 

bwilliams60

Joined Nov 18, 2012
1,442
You could possibly look at an Ametek gauge, used by large Class 8 trucks.They use a magnetic pulse generator and stepper motors to drive the speedometer(stepper), and the tripometer and odometer (gear and stepper).The odometer and trip are mechanical but driven by the stepper. Google Ametek gauges for Peterbilt and look at the 900 series. It shows how to program the DIP switches and everything.
 

shortbus

Joined Sep 30, 2009
10,045
While never working on this particular type of vehicle, I have over the years did many engine swaps and built many vehicles from mismatched parts. I'd approach your problem from a different way. Does the transmission have an older version that uses a mechanical speedo? If so this makes things really easy. Use that speedo output to drive a short cable to a home made gear splitter/gear box. Just two gears of the same number of teeth meshing together, one driving another cable to the speedo its self and the other driving the VSS needed for the ECM. GM did this for a while when they started to change from mechanical(vacuum servo) to electronic cruise control. The speedos were mechanical/cable driven and the cruise needed the VSS signal.

There's a website called, jagsthatrun, that has a lot of good information on your problem, not directly but indirectly about doing what your trying. Those ideas can be adapted to your project. http://www.jagsthatrun.com/
 

Thread Starter

ProfFJLewis

Joined May 7, 2016
9
Hi again,

I've just bought a Hantek 6022BE scope to read the signal form the VSS. Hopefully that'll be here next week and on Wednesday (got real work to do the first part of the week) I'll power up the VSS and read it's output as I turn the prop shaft. At least then we'll know what we're dealing with.

I've also been in touch with Rohm about DC motor drives and will be speaking to them next week too (that's if the guy I need to talk to is back in the office and not snowed down with enquiries, he was at an EXPO this week). I'm also hoping Rohm can help me out with the communications issue. I put together my idea for Rohm and have attached it here - yeah, I know diddly about 'coms' (I'm just hoping once the VSS signal makes sense I can build a DC motor drive)...

Have a Bon weekend...

Clive
 

Attachments

geekoftheweek

Joined Oct 6, 2013
1,201
I would suggest locating a Haynes manual for your auto. They're in libraries and auto parts stores here... not sure about your location. They usually don't go into great detail about these sorts of things, but they do often give pretty good clues in the schematics. If you're lucky it might have most of your answers as far as the vss is concerned. I'm kind of going down the same road myself with a retrofit project of my own.
 

Thread Starter

ProfFJLewis

Joined May 7, 2016
9
I think you have a tiny problem: Your not measuring the speed of your motor and using feedback to control the RPM.
No I'm not measuring the speed of the motor, I know which sensor is the 'speed signal generator' and no I'm not using this to 'close loop control' the motor rpm - sorry but I don't know where you got this idea from. Please read the thread...
 

Thread Starter

ProfFJLewis

Joined May 7, 2016
9
I would suggest locating a Haynes manual for your auto. They're in libraries and auto parts stores here... not sure about your location. They usually don't go into great detail about these sorts of things, but they do often give pretty good clues in the schematics. If you're lucky it might have most of your answers as far as the vss is concerned. I'm kind of going down the same road myself with a retrofit project of my own.
Thank you for your kind help. I've looked in the Haynes manuals, but the VSS output signal is not discussed in sufficient detail to build a mechanical speedometer drive. I'll try the oscilloscope today to read the signal if the rain doesn't spoil it!
 
Top