Electronic VSS signal to mechanical speedo
Discussion
In relation to this thread
http://ls1tech.com/forums/conversions-hybrids/1401...
Surely it cant be a difficult task ( with the correct know how which I do not possess ) to build a controller for a small motor thats speed is controlled from a modern day VSS output ?
And with some user adjustability built in as it will be used on different cars
Anyone here have any insight into such a thing ? Or how it might be achieved ?
Just curious really, I dont need one myself but it is something people doing conversions could need more often and the few current solutions that exist really arent that great.
http://ls1tech.com/forums/conversions-hybrids/1401...
Surely it cant be a difficult task ( with the correct know how which I do not possess ) to build a controller for a small motor thats speed is controlled from a modern day VSS output ?
And with some user adjustability built in as it will be used on different cars
Anyone here have any insight into such a thing ? Or how it might be achieved ?
Just curious really, I dont need one myself but it is something people doing conversions could need more often and the few current solutions that exist really arent that great.
Personally i'd "reface" a digital speed assy.
But, yup, its not hard to use a microcontroller to read in a pulse input, drive a small brushed (or brushless) DC motor (or a small high speed stepper might just be fast enough) in a closed loop speed controlled fashion to drive the mech speedo assy. As the motor never needs to reverse direction, and will have a fairly small power requirment, a simple passively rectified PWM drive arrangement using a small MOSFET or Transistor would do the job. Ideally, you'd want to use some form of encoder to sense the motor's speed to ensure changes in friction / load with temp / wear do not change the calibration.
Total component cost would be under a tenner to do it.
Coding would roughly need to do the following:
1) use a external interupt pin on the Uc, that is triggered by the input signal (you might want some form of buffering / voltage level conversion to allow for different input signal types. A simple Schmitt trigger IC with a resistive divider would do that simply. The Uc will use a clock source to "count the time" between input pulses (either the low or the high edge of the signal). From this the "input frequency" can be calculated
2) use a lookup table with input frequency as the X axis, to look up a Y value for the target drive motor speed.
3) have some method for determining the speedo drive motor speed, probably an optical (or hall effect) single pulse per rev encoder on the motor somewhere. This would be fed via another interupt input and the pulses decoded to rpm just as for the input signal decoding.
4) use a PID controller logic to drive the PWM output to get the motor to the target speed.
Any of the basic PIC / AVR microcontrollers would easily do this task for about £3 ;-)
But, yup, its not hard to use a microcontroller to read in a pulse input, drive a small brushed (or brushless) DC motor (or a small high speed stepper might just be fast enough) in a closed loop speed controlled fashion to drive the mech speedo assy. As the motor never needs to reverse direction, and will have a fairly small power requirment, a simple passively rectified PWM drive arrangement using a small MOSFET or Transistor would do the job. Ideally, you'd want to use some form of encoder to sense the motor's speed to ensure changes in friction / load with temp / wear do not change the calibration.
Total component cost would be under a tenner to do it.
Coding would roughly need to do the following:
1) use a external interupt pin on the Uc, that is triggered by the input signal (you might want some form of buffering / voltage level conversion to allow for different input signal types. A simple Schmitt trigger IC with a resistive divider would do that simply. The Uc will use a clock source to "count the time" between input pulses (either the low or the high edge of the signal). From this the "input frequency" can be calculated
2) use a lookup table with input frequency as the X axis, to look up a Y value for the target drive motor speed.
3) have some method for determining the speedo drive motor speed, probably an optical (or hall effect) single pulse per rev encoder on the motor somewhere. This would be fed via another interupt input and the pulses decoded to rpm just as for the input signal decoding.
4) use a PID controller logic to drive the PWM output to get the motor to the target speed.
Any of the basic PIC / AVR microcontrollers would easily do this task for about £3 ;-)
Edited by anonymous-user on Thursday 5th April 22:20
Was hoping you'd reply....pity Ive no clue how to do the above lol
There's an opening in the market for such a piece.
The Abbot X item I used to use does what you say. Calibration is achieved by dip switches and the rather large motor is housed in a bit metal box along with the electronics and the motor does have a small trigger wheel on the shaft.
But it isnt that good, and it is very expensive.
A portable unit like some on that thread are trying to achieve where the motor mounts directly to the dash would be ideal.
There's an opening in the market for such a piece.
The Abbot X item I used to use does what you say. Calibration is achieved by dip switches and the rather large motor is housed in a bit metal box along with the electronics and the motor does have a small trigger wheel on the shaft.
But it isnt that good, and it is very expensive.
A portable unit like some on that thread are trying to achieve where the motor mounts directly to the dash would be ideal.
Thing is, the analogue solution is pointless these days. Micro's are so cheap that the analogue solution actually costs you more, is physically larger, cannot be easily "calibrated", and will be more susceptable to variations in temp/supply voltage etc.
I'd bet a small DC motor or stepper could be found that would mount directly to the back of the speedo unit, the electronics if surface mount would fit on a small pcb (probably about 20mmx20mm).
Something like a ATiny series controller would do the job for under a couple of quid:
http://uk.rs-online.com/web/p/microcontroller/6962...
I'd bet a small DC motor or stepper could be found that would mount directly to the back of the speedo unit, the electronics if surface mount would fit on a small pcb (probably about 20mmx20mm).
Something like a ATiny series controller would do the job for under a couple of quid:
http://uk.rs-online.com/web/p/microcontroller/6962...
Max_Torque said:
Thing is, the analogue solution is pointless these days. Micro's are so cheap that the analogue solution actually costs you more, is physically larger, cannot be easily "calibrated", and will be more susceptable to variations in temp/supply voltage etc.
I'd bet a small DC motor or stepper could be found that would mount directly to the back of the speedo unit, the electronics if surface mount would fit on a small pcb (probably about 20mmx20mm).
Something like a ATiny series controller would do the job for under a couple of quid:
http://uk.rs-online.com/web/p/microcontroller/6962...
I'm not disagreeing with the cost.I'd bet a small DC motor or stepper could be found that would mount directly to the back of the speedo unit, the electronics if surface mount would fit on a small pcb (probably about 20mmx20mm).
Something like a ATiny series controller would do the job for under a couple of quid:
http://uk.rs-online.com/web/p/microcontroller/6962...
However, implementing electronics and then code, adds an extra level of complexity that shouldn't be needed.
Not to mention the Digital electronics solution requires additional knowledge and understanding on the part of the OP.
They then need to understand not only the electronics, but software as well.
Analogue solutions are in general more reliable and the odds for the OP getting it working correctly are higher.
The Analogue solution will probably be quicker to develop and due to the simplicity of the requirement a microcontroller seems overkill.
annodomini2 said:
Max_Torque said:
Thing is, the analogue solution is pointless these days. Micro's are so cheap that the analogue solution actually costs you more, is physically larger, cannot be easily "calibrated", and will be more susceptable to variations in temp/supply voltage etc.
I'd bet a small DC motor or stepper could be found that would mount directly to the back of the speedo unit, the electronics if surface mount would fit on a small pcb (probably about 20mmx20mm).
Something like a ATiny series controller would do the job for under a couple of quid:
http://uk.rs-online.com/web/p/microcontroller/6962...
I'm not disagreeing with the cost.I'd bet a small DC motor or stepper could be found that would mount directly to the back of the speedo unit, the electronics if surface mount would fit on a small pcb (probably about 20mmx20mm).
Something like a ATiny series controller would do the job for under a couple of quid:
http://uk.rs-online.com/web/p/microcontroller/6962...
However, implementing electronics and then code, adds an extra level of complexity that shouldn't be needed.
Not to mention the Digital electronics solution requires additional knowledge and understanding on the part of the OP.
They then need to understand not only the electronics, but software as well.
Analogue solutions are in general more reliable and the odds for the OP getting it working correctly are higher.
The Analogue solution will probably be quicker to develop and due to the simplicity of the requirement a microcontroller seems overkill.
Added to which, for a layperson, i bet using somthing like a PIC or AVR (Ardinuio etc for which a massive amount of info/documentation/exisiting examples already are present on the WWW) they could get it working faster and better than trying to learn the "dark ways" (sic) of analogue electronics ;-)
This would be an ideal, simple project with which to learn the necessary microprocessor skills to get a starter in such things!
Gassing Station | Engines & Drivetrain | Top of Page | What's New | My Stuff