Printable Version | Subscribe | Add to Favourites
New Topic New Poll New Reply
Author: Subject: Circuit to change a signal (Speedo)
tegwin

posted on 23/6/14 at 01:41 PM Reply With Quote
Circuit to change a signal (Speedo)

Are there any clever electrical folk in the house?

I am changing the transfer box ratio in my defender from 1:4 to 1:2. The speedo output comes after the transfer box.

I need to keep the speedo reading the same so the ECU doesn't notice the ratios are changed. (the cruise control cross checks engine RPMs to speedo readings).

What I want to do is take the pulses from the speedo sender and reduce them by around 15% so that I am getting the same speedo reading to engine rev ratio as before.


In principle it sounds like a simple thing to do but anyone have any thoughts on how I would go about turning one signal into another but at a reduced frequency?





------------------------------------------------------------------------------------------------------------------------
Would the last person who leaves the country please switch off the lights and close the door!

www.verticalhorizonsmedia.tv

View User's Profile Visit User's Homepage View All Posts By User U2U Member
dinosaurjuice

posted on 23/6/14 at 03:32 PM Reply With Quote
I would use an LM2917, scale/condition it using a LM324, then convert back to frequency with a LM331.
Theres probably an easier way to do it with a micro controller, but sometimes simple analog circuits are all that's needed.






View User's Profile E-Mail User View All Posts By User U2U Member
MikeRJ

posted on 23/6/14 at 03:49 PM Reply With Quote
It's actually not that easy to perform non-binary division (i.e. power of two) with a simple circuit. An of-the-shelf solution exists in the form of the SpeedoHealer, but it's quite expensive for what it does. A s/h one might be the easiest path.

If you are determined to DIY this then you won't get a simpler implementation than by using a small microcontroller.

View User's Profile View All Posts By User U2U Member
MikeRJ

posted on 23/6/14 at 03:54 PM Reply With Quote
quote:
Originally posted by dinosaurjuice
I would use an LM2917, scale/condition it using a LM324, then convert back to frequency with a LM331.
Theres probably an easier way to do it with a micro controller, but sometimes simple analog circuits are all that's needed.


As always, the devil is in the details. How would you handle the situation when the car is stopped since an LM331 can not go down to zero Hz? You could maybe add an additional re-triggerable monostable to detect this and gate the output of the LM331, but suddenly your simple analog circuit is becoming less simple.

View User's Profile View All Posts By User U2U Member
tegwin

posted on 23/6/14 at 08:58 PM Reply With Quote
Thats a good thought. It would need to drop at idle...


It's been a while since I have done anything with micoprocessors. PIC's back in the day...

How would you go about creating the code to make that work?

It would be handy to have a switchable "modified" and "unmodified" signal which changes as the speeds come back down again. All doable in the code but not sure where I would start...





------------------------------------------------------------------------------------------------------------------------
Would the last person who leaves the country please switch off the lights and close the door!

www.verticalhorizonsmedia.tv

View User's Profile Visit User's Homepage View All Posts By User U2U Member
dinosaurjuice

posted on 24/6/14 at 08:32 AM Reply With Quote
why would it need to drop at idle if the only purpose is to allow the cruise control to work?

edit: if the sensor picks up on a toothed ring etc would it be possible to just make a new one with difference spacing?

[Edited on 24/6/14 by dinosaurjuice]






View User's Profile E-Mail User View All Posts By User U2U Member
loggyboy

posted on 24/6/14 at 08:55 AM Reply With Quote
Keep an eye on this thread for diy kit.
http://www.migweb.co.uk/forums/cars-items-wanted/642913-pulse-converter.html





Mistral Motorsport

View User's Profile View All Posts By User U2U Member
tegwin

posted on 24/6/14 at 02:59 PM Reply With Quote
quote:
Originally posted by dinosaurjuice
why would it need to drop at idle if the only purpose is to allow the cruise control to work?

edit: if the sensor picks up on a toothed ring etc would it be possible to just make a new one with difference spacing?

[Edited on 24/6/14 by dinosaurjuice]



I am not sure what else the signal does inside the ECU.....

I only really want the ECU to be tricked when cruise is engaged so a micrcontroller based thing might work really well.





------------------------------------------------------------------------------------------------------------------------
Would the last person who leaves the country please switch off the lights and close the door!

www.verticalhorizonsmedia.tv

View User's Profile Visit User's Homepage View All Posts By User U2U Member
theprisioner

posted on 24/6/14 at 06:17 PM Reply With Quote
my arithmetic says delete every 7th pulse gives a 14% reduction and every 6th gives a 16% reduction does it realy have to be 15%? A pulse deletion cct would be really simple!





http://sylvabuild.blogspot.com/

http://austin7special.blogspot.co.uk/

View User's Profile Visit User's Homepage View All Posts By User U2U Member
tegwin

posted on 24/6/14 at 10:14 PM Reply With Quote
I don't know what level of error the ecu would allow. I'm going from a 1:4 ratio box to a 1:2 ratio box..... 14 or 16% might just do it....





------------------------------------------------------------------------------------------------------------------------
Would the last person who leaves the country please switch off the lights and close the door!

www.verticalhorizonsmedia.tv

View User's Profile Visit User's Homepage View All Posts By User U2U Member
stevebubs

posted on 24/6/14 at 11:01 PM Reply With Quote
Lazy option...
http://www.bikersdiscountstore.co.uk/speedo-healer/healtech-electronics/speedo-healer-v4-pd-18.php

[Edited on 24/6/14 by stevebubs]

View User's Profile E-Mail User View All Posts By User U2U Member
theprisioner

posted on 25/6/14 at 07:04 AM Reply With Quote
The pulse swallowing cct is just a binary counter with an AND gate to swallow the pulse once every cycle. Trip to Maplin purchase vero board, counter, AND gate, 5V regulator and capacitor, box to put it in. If you wish to follow the Locost route PM me your email address and I will send you details. Some experimentation/construction/testing will be required by you.





http://sylvabuild.blogspot.com/

http://austin7special.blogspot.co.uk/

View User's Profile Visit User's Homepage View All Posts By User U2U Member
DW100

posted on 25/6/14 at 08:14 AM Reply With Quote
I assume you are going from 1.4:1 to 1.2:1 and not 4:1 to 2:1 as that would be a 50% change.

A small micro controller could measure input frequency divide it by whatever is required then output a square wave at the new frequency with the minimum of code.

View User's Profile View All Posts By User U2U Member
MikeRJ

posted on 25/6/14 at 12:17 PM Reply With Quote
quote:
Originally posted by DW100
I assume you are going from 1.4:1 to 1.2:1 and not 4:1 to 2:1 as that would be a 50% change.

A small micro controller could measure input frequency divide it by whatever is required then output a square wave at the new frequency with the minimum of code.


That's the way I'd do it, effectively implementing a digital phase locked loop. This would ensure it would work irrespective of the way the speedometer/ECU etc. is implemented.


Skipping pulses may or may not work well, depending on how the speedometer is implemented. However, in terms of coding a pulse skipping scheme on a small micro it would be extremely simple. You'd use something called a phase accumulator, the guts of which could be implemented in a few lines of code:

The phase accumulator is simply an unsigned integer variable of suitable width (i.e. number of bits). An 8 bit accumulator may be sufficient, but will limit the accuracy of the pulse division e.g. 8 bits=256, 85% of 256 = 217.6, but as you'd be using integer maths on a small micro you would round this up to 217. 217/256 = 84.7%, probably sufficient.

The existing speed sensor would be connected to an external interrupt line on the micro. Every time the spped sensor output goes high the interrupt handler simply adds 217 to the phase accumulator and then checks if the accumulator has rolled over. If it has, then the output pin is set high, otherwise it's set low. That's all there is to it. This algorithm will automatically skip either 6 or 7 pulses to keep the average frequency at exactly 217/256 of the input frequency.


A digital Phase Locked Loop also uses a phase accumulator, but in this case the output frequency is asynchronous from the input, derived from a timer peripheral on the micro. The input waveform and output of the phase accumulator are averaged using a low pass filter (aka integrator), and a control loop varies the frequency of the output until the integrated values match. This gives you a continuous square wave output with no missing pulses, and which is exactly divided over time. A bit trickier to implement, and you'd have to deal with the stopped condition separately (because a timer can not be programmed for infinite time unless disabled).


A cheap development system like an Arduino would be more than adequate to develop either scheme, though ultimately it could be fitted into a small 6 or 8 pin micro.

[Edited on 25/6/14 by MikeRJ]

View User's Profile View All Posts By User U2U Member
tegwin

posted on 25/6/14 at 09:31 PM Reply With Quote
Thanks all. Thats really useful info. I think I need to do some reading as I have not written any code of that sort before.

Mike Rj, would you be willing to give me some pointers when I get to that stage?


Currently doing the actual transfer box change and adding some sound insulation but once that is done I will start playing with the cruise system in earnest.







------------------------------------------------------------------------------------------------------------------------
Would the last person who leaves the country please switch off the lights and close the door!

www.verticalhorizonsmedia.tv

View User's Profile Visit User's Homepage View All Posts By User U2U Member

New Topic New Poll New Reply


go to top






Website design and SEO by Studio Montage

All content © 2001-16 LocostBuilders. Reproduction prohibited
Opinions expressed in public posts are those of the author and do not necessarily represent
the views of other users or any member of the LocostBuilders team.
Running XMB 1.8 Partagium [© 2002 XMB Group] on Apache under CentOS Linux
Founded, built and operated by ChrisW.