Shop OBEX P1 Docs P2 Docs Learn Events
Building a Tach. Adaptor — Parallax Forums

Building a Tach. Adaptor

ArchiverArchiver Posts: 46,084
edited 2000-11-28 21:51 in General Discussion
I need to build a tacho adaptor for a car. What it needs to do input a rpm
source, which is already setup, and then output it to the tach driver circuit.
The characteristic of the adaptor is the following:

Input:
There is already a magnetic trigger wheel on the engine, with a "signal
conditioner". This input signal (or output of the "signal conditioner") will be
a square constant duty pulse at 1 pulse per revolution of the engine.
I was thinking of using the tach input demo program from the Stamp App. Book.
This involves the measuring the flip-flop using the pulsin command.

Output:
The adaptor output needs to be 2 pulses per revolution. I believe it will need
to be a square wave, but it seems not to matter if it is constant duty or not.
The tach seems to drive on the rising edge. This will drive a 4cylinder engine
tach.

I have characterized the rpm vs pulsout amount with the following program.
(note w0 is the pulsout amount) The chart is as follows:

Tach: pulsout 0,w0
goto Tach

rpm w0
500 23500
1000 13500
1500 9835
2000 7500
2500 6100
3000 5020
3500 4252
4000 3695
4500 3255
5000 2900
5500 2600
6000 2350
6500 2155
7000 1980
7500 1822
8000 1684

I plotted this out on excel and it curve fitted to a 3rd order polynomial
equation. The fit is not as nice as I like it tho.
Would a lookup table be appropriate for this application??

I have also tested the sweep of the tach by this simple program:

Loop: for w0=5000 to 1600
pulsout 0,w0
next
goto Loop

The w0 will need to vary from the table because of the in-between processing
time of the stamp.

I realize these programs are not generating a constant duty wave because the
"off-time" of each cycle is the time for the program to run the loop. The tach
does not seem to mind, so I believe it does not need a constant duty wave.

I don't know if the BASIC stamp would be the best solution for this project,
because it will require fast conversions and I believe the non-interrupt
architecture will not be suitable. I don't have the EE experience to build an
analog circuit.

Any assistance on this project is welcomed.

--
Paul Ko
pko@m...
www.mindspring.com/~pko

Comments

  • ArchiverArchiver Posts: 46,084
    edited 2000-11-28 21:36
    Last year I was working on the same kinda of circuit for a race car
    application. I got some good responses from this group. I'll dig
    them up and forward them to ya.

    A EE friend of mine (I'm really a S/W developer not a EE) did a
    design for me using some counters. It will deliver a 16 bit number
    via shift registers (serial) on request (data signal). I been too
    busy to build and test it yet (figure I'd do it this winter). It
    works off of the low-voltage (150v+) tach output on the car's coil.
    I'll dig up the design and post it to this group in a couple of days
    (just moved and it's in a box somewhere).

    Another way to do it in some cars... many car's ingnition systems
    have a 12v tach output signal. 0v=zero rpm, 12v=max readout on the
    tach gauge. A simple A/D converter would work in that application
    (opto-isolated of course).

    --ScottLe

    --- In basicstamps@egroups.com, Paul Ko <pko@m...> wrote:
    > I need to build a tacho adaptor for a car. What it needs to do
    input a rpm
    > source, which is already setup, and then output it to the tach
    driver circuit.
    > The characteristic of the adaptor is the following:
    >
    > Input:
    > There is already a magnetic trigger wheel on the engine, with
    a "signal
    > conditioner". This input signal (or output of the "signal
    conditioner") will be
    > a square constant duty pulse at 1 pulse per revolution of the
    engine.
    > I was thinking of using the tach input demo program from the Stamp
    App. Book.
    > This involves the measuring the flip-flop using the pulsin command.
    >
    > Output:
    > The adaptor output needs to be 2 pulses per revolution. I believe
    it will need
    > to be a square wave, but it seems not to matter if it is constant
    duty or not.
    > The tach seems to drive on the rising edge. This will drive a
    4cylinder engine
    > tach.
    >
    > I have characterized the rpm vs pulsout amount with the following
    program.
    > (note w0 is the pulsout amount) The chart is as follows:
    >
    > Tach: pulsout 0,w0
    > goto Tach
    >
    > rpm w0
    > 500 23500
    > 1000 13500
    > 1500 9835
    > 2000 7500
    > 2500 6100
    > 3000 5020
    > 3500 4252
    > 4000 3695
    > 4500 3255
    > 5000 2900
    > 5500 2600
    > 6000 2350
    > 6500 2155
    > 7000 1980
    > 7500 1822
    > 8000 1684
    >
    > I plotted this out on excel and it curve fitted to a 3rd order
    polynomial
    > equation. The fit is not as nice as I like it tho.
    > Would a lookup table be appropriate for this application??
    >
    > I have also tested the sweep of the tach by this simple program:
    >
    > Loop: for w0=5000 to 1600
    > pulsout 0,w0
    > next
    > goto Loop
    >
    > The w0 will need to vary from the table because of the in-between
    processing
    > time of the stamp.
    >
    > I realize these programs are not generating a constant duty wave
    because the
    > "off-time" of each cycle is the time for the program to run the
    loop. The tach
    > does not seem to mind, so I believe it does not need a constant
    duty wave.
    >
    > I don't know if the BASIC stamp would be the best solution for this
    project,
    > because it will require fast conversions and I believe the non-
    interrupt
    > architecture will not be suitable. I don't have the EE experience
    to build an
    > analog circuit.
    >
    > Any assistance on this project is welcomed.
    >
    > --
    > Paul Ko
    > pko@m...
    > www.mindspring.com/~pko
  • ArchiverArchiver Posts: 46,084
    edited 2000-11-28 21:51
    Opps, sorry, I was on drugs or something. I completely ignored your
    question.

    As a S/W programmer a look-up table is preferred over calculations,
    especially on the BS2 which doesn't do 3rd order polynomials very
    well (although Al Williams's math paks probably can!).

    The BS2 should be fine (the 2SX), as I've done the calculations, it
    can read the RPM, process several hundres instructions before needing
    to be ready to read the RPM again on the next TDC for cylinder #1 (I
    was calculating for a 6 cyl engine).

    The counter circuit I indicated in my last email might also work for
    your application with some modifications as it deals with analog
    pulses and counts/times them. I'm still digging it up.

    Other options... If the trigger wheel is iron, put a magnetically
    biased hall effect sensor on the wheel (you'll have two sensors now)
    and read the pulses directly on the stamp (works great) or buffer
    with counters & shift registers. If the trigger wheel has magnets on
    it, use a normal hall effect sensor.

    Another idea, I know a guy that put an optical encoder on the output
    end of a cam shaft (with a reduction gear) to determine engine speed,
    nice trick actually). Could work on the crank too I suspect. I'd be
    OK if you only want speed. In my application I had to know when #1
    cylinder was at TDC (ignition system).

    OK I'm digging out the info.

    --ScottLe

    --- In basicstamps@egroups.com, Paul Ko <pko@m...> wrote:
    > I need to build a tacho adaptor for a car. What it needs to do
    input a rpm
    > source, which is already setup, and then output it to the tach
    driver circuit.
    > The characteristic of the adaptor is the following:
    >
    > Input:
    > There is already a magnetic trigger wheel on the engine, with
    a "signal
    > conditioner". This input signal (or output of the "signal
    conditioner") will be
    > a square constant duty pulse at 1 pulse per revolution of the
    engine.
    > I was thinking of using the tach input demo program from the Stamp
    App. Book.
    > This involves the measuring the flip-flop using the pulsin command.
    >
    > Output:
    > The adaptor output needs to be 2 pulses per revolution. I believe
    it will need
    > to be a square wave, but it seems not to matter if it is constant
    duty or not.
    > The tach seems to drive on the rising edge. This will drive a
    4cylinder engine
    > tach.
    >
    > I have characterized the rpm vs pulsout amount with the following
    program.
    > (note w0 is the pulsout amount) The chart is as follows:
    >
    > Tach: pulsout 0,w0
    > goto Tach
    >
    > rpm w0
    > 500 23500
    > 1000 13500
    > 1500 9835
    > 2000 7500
    > 2500 6100
    > 3000 5020
    > 3500 4252
    > 4000 3695
    > 4500 3255
    > 5000 2900
    > 5500 2600
    > 6000 2350
    > 6500 2155
    > 7000 1980
    > 7500 1822
    > 8000 1684
    >
    > I plotted this out on excel and it curve fitted to a 3rd order
    polynomial
    > equation. The fit is not as nice as I like it tho.
    > Would a lookup table be appropriate for this application??
    >
    > I have also tested the sweep of the tach by this simple program:
    >
    > Loop: for w0=5000 to 1600
    > pulsout 0,w0
    > next
    > goto Loop
    >
    > The w0 will need to vary from the table because of the in-between
    processing
    > time of the stamp.
    >
    > I realize these programs are not generating a constant duty wave
    because the
    > "off-time" of each cycle is the time for the program to run the
    loop. The tach
    > does not seem to mind, so I believe it does not need a constant
    duty wave.
    >
    > I don't know if the BASIC stamp would be the best solution for this
    project,
    > because it will require fast conversions and I believe the non-
    interrupt
    > architecture will not be suitable. I don't have the EE experience
    to build an
    > analog circuit.
    >
    > Any assistance on this project is welcomed.
    >
    > --
    > Paul Ko
    > pko@m...
    > www.mindspring.com/~pko
Sign In or Register to comment.