frequency Shifting/Transposing - How ???

Discussion in 'The Projects Forum' started by Napoleon, Dec 25, 2008.

  1. Napoleon

    Thread Starter Active Member

    Dec 21, 2008
    45
    0
    Title fix: Meant "Shifting" not "Shiftin"

    Hello Everyone,

    So, here is another project for the bike.

    Problem:
    Speedometer is of by about 9% (reading high).

    Goal:
    Adjust it so it reads close to actual speed.

    Idea:
    Intercept the pulse train sent from the sensor on the transmission output shaft and change the frequency by a specific (adjustable) percent, thus obtaining an accurate speed reading on the speedometer.

    The sensor seems to be some sort of inductive pickup similar to the variable reluctance magnetic pickup shown on page 8 here:
    http://www.national.com/ds/LM/LM2907.pdf

    If you connect an oscillator to the speedometer, set at 525Hz 50% duty cycle, 0-5v square wave, it reads 60MPH.

    I am sure I missed some details, I usually do :(

    Please do ask and I will try to explain as much as I can so that you may be able to help

    Thanks for reading!!
     
    Last edited: Dec 25, 2008
  2. hgmjr

    Moderator

    Jan 28, 2005
    9,030
    214
    The bicycle speedometers that I am acquainted with have a builtin function that permits the owner to adjust the odometer measurement and so calibrate the speed measurement.

    Your model does not provide this feature I gather.

    hgmjr
     
  3. Napoleon

    Thread Starter Active Member

    Dec 21, 2008
    45
    0
    Hi!

    Sorry...
    It's a motor bike.
    There is no adjustment on this.


    Thanks!
     
  4. eblc1388

    Senior Member

    Nov 28, 2008
    1,542
    102
    I don't know if this will work but you can try making a counter that block the output pulse(effectively removing it from the pulse train going to the speedometer) when it reaches certain count value while letting on the next.

    The counter will increment continuously and roll over when it reach the top.
     
  5. Napoleon

    Thread Starter Active Member

    Dec 21, 2008
    45
    0
    Hmm,
    Thanks for the suggestion.
    I think there might be a more efficient way to do this.
    I just dont know how exactly.

    I dont know if the best approach is to intercept the pulse train, do some counting, and then re-generate a new pulse train.

    Or, if it would be cleaner to simply intercept the pulse train, modify it directly, and send it on its way.

    Either way, I would need a way to adjust the frequency change/shift somehow, so that it can be calibrated easily... with a trimmer, for example.

    I think the speedo will take either a square or sine wave on its input.

    Thanks for the help!
     
  6. Napoleon

    Thread Starter Active Member

    Dec 21, 2008
    45
    0
    Hi,

    Bump
    Sorry for the bother.

    Anybody have any ideas on how to go about this ?
    I dont.

    Thanks,
    And sorry for the bump.
    Not sure it this just got lost in the shuffle...
     
  7. DrNick

    Active Member

    Dec 13, 2006
    110
    2
    You could put a uC in-line with the speed signal, and tune you're pulse train via software. Or you could even add a pot, so that you CAN calibrate your instrument.

    Now here is another question. Is your speedometer analog or digital? If it is analog you could always just play with the mechanical components to correct the 9% error...
     
  8. Napoleon

    Thread Starter Active Member

    Dec 21, 2008
    45
    0
    Well, that sounds like it would work.
    But, I have no experience with micro controllers, or their programming.

    How complex would the circuit need to be ?
    Would the programming be easy to learn (probably not) ?

    As for the Speedo... Its an analog gauge, but electronically controlled.
    Doesnt have any adjustments.

    But, the idea here is to create a circuit so that the speedo gauge/electronics dont have to be tampered with.
     
  9. bertus

    Administrator

    Apr 5, 2008
    15,648
    2,347
    Hello,

    You could use the lm2907 circuit to convert it to a voltage dependend on the speed.
    This voltage can drive a voltage controlled oscillator that gives the correct frequency.
    You could use the VCO part of an cd4046 as the oscillator.

    Greetings,
    Bertus
     
    Last edited: Dec 27, 2008
  10. Napoleon

    Thread Starter Active Member

    Dec 21, 2008
    45
    0
    Ahh yes!
    That sounds like a good idea.
    Thanks!

    So, pulse train to voltage, then voltage to pulse train.
    Then make the adjustments on the voltage to get the desired change in frequency between input and output of the circuit.

    Could this be used instead of the 4046 as the VCO ?

    http://www.ecelab.com/circuit-vco-555.htm

    [​IMG]

    It seems though, that the frequency decreases as voltage is increased on its input.

    But, I think the LM2907, when used as a frequency to voltage converter works the other way.
    Im thinking about the top circuit on page 8 here: datasheet


    Some questions:

    1- Would there be a benefit/downside from using the 555 VCO as opposed to the LM4046 VCO in this application ?

    2- Can the 555 VCO be changed so the output frequency goes up as voltage goes up ?

    3- Coult the Tachometer example circuit on page 8 of the LM2907 datasheet be directly fed to the 555 VCO circuit ? Perhaps with minimal componets.

    Thanks!
     
  11. SgtWookie

    Expert

    Jul 17, 2007
    22,182
    1,728
    No, the 555 won't work for your application.
     
  12. Napoleon

    Thread Starter Active Member

    Dec 21, 2008
    45
    0
    Thanks.

    In the interest of learning, could you elaborate as to why ?
    (not immediately obvious to me)
     
  13. Ron H

    AAC Fanatic!

    Apr 14, 2005
    7,050
    657
    Napoleon, over what range of frequency does your correction circuit need to work? I have an idea that is different from what is being discussed here, but it may not work, depending on your frequency (RPM) range.
     
  14. Napoleon

    Thread Starter Active Member

    Dec 21, 2008
    45
    0
    Hi Ron,

    The speedo will indicate 60 MPH at 525Hz.
    So, about 1 MPH per every 8.75 Hz.

    So the range would be from 0 Hz to somewhere around 1750 Hz.
    50% duty cycle, 0-5v.

    And, I would like to be able to decrease the output frequency to be 0% to 20% of the input frequency. This would allow the calibration of the speedo to match the actual speed.

    Thanks for the help!
     
  15. Ron H

    AAC Fanatic!

    Apr 14, 2005
    7,050
    657
    For some reason, I was thinking it was a tach. I remember now that it's a speedo. I don't think my idea will work down to zero. Suppose it only worked down to 10 MPH?
    This idea is sorta half-baked, so it may never come out of the pan in one piece.:D
     
  16. Napoleon

    Thread Starter Active Member

    Dec 21, 2008
    45
    0
    Hehe.

    Yeah, need it to work down to 0.
    It is a speedo after all, and it should be able to display down to 0 MPH.

    The other project I am working on involves the RPM, but not this one.

    What did you have in mind ?
     
  17. Ron H

    AAC Fanatic!

    Apr 14, 2005
    7,050
    657
    I have a simulation running of a circuit that comprises two parts, connected together:
    1. A period-to-voltage converter (PVC).
    2. A voltage-to-period converter (VPC)

    A VPC is like a VFC, except the output voltage, instead of being a linear function of frequency, is a linear function of period (hyperbolic function of frequency).

    The PVC connects to the VPC, with a simple gain factor between them.

    The PVC and the VPC use the same principles, so they track each other. In your case, where your speedo reads high by 9%, you simply use a gain of ≈1.1 between the two, and the output period will be 110% of the input period, meaning the output frequency will be ≈0.9 times your input frequency. The scale factor is adjustable in either direction (high or low).
    The problem with measuring period, as you may have guessed, is that zero frequency equates to infinite period, which I can't measure. I think that somewhere around 20:1 period range is easily doable (a wider range is certainly possible). That's why I mentioned 10MPH. 200MPH:10MPH = 20:1.

    I'm doing this with analog circuitry. A microcontroller might be able to do a better job, and would certainly be simpler, from a hardware standpoint.

    The advantage of measuring period is there is almost no time lag (one cycle, or maybe 2). A frequency-to-voltage converter has lots of lag, especially if you want to work down to zero frequency.

    EDIT: IIRC, most car speedos don't work well near zero MPH.
     
  18. SgtWookie

    Expert

    Jul 17, 2007
    22,182
    1,728
    It won't work, because of what Ron_H alluded to; the frequency will not go all the way to zero. You might calibrate it to work at a couple of points, say 55MPH and 25MPH, but the response below that will be increasingly non-linear. For example, when you were completely stopped, your speedo may still indicate that you were travelling at several MPH.
     
  19. Napoleon

    Thread Starter Active Member

    Dec 21, 2008
    45
    0
    Oh got it!
    Thanks.

    It sort of makes sense in my slow head.

    How about using a micro controller ?
    How difficult would that circuit be ?
    How about the programming ?
    Is that something that could be done fairly easily ?
     
  20. SgtWookie

    Expert

    Jul 17, 2007
    22,182
    1,728
    You know, virtually ALL speedometers have SOME method of calibration.

    It sure would be easier (and more reliable) to simply calibrate the speedometer itself, than try to kludge in some makeshift circuit.

    It may be simply that water or other contamination has entered the speedo housing, and is causing a lower than normal resistance in a portion of the circuit. Careful cleaning the board with 91% isopropyl alcohol may simply make your problem go away.
     
Loading...