Help finding hardware for angular encoder problem

Discussion in 'The Projects Forum' started by ngio, Jul 25, 2011.

  1. ngio

    Thread Starter New Member

    Jul 25, 2011

    I am very new to programming hardware although I am hoping this problem I'm having will not be too difficult. Basically I will need help trying to figure out firstly if its even possible to perform the task with hardware, and secondly what will I be needing to get it done.

    Here's the problem

    Currently I am using some data acquisition software (labview - National Instruments) although computer communications are too slow to react to my problem. I have a gas engine rotating at approximately 1500rpm, attached to the crankshaft I have an incremental encoder that measures 1000 pulses per revolution. The encoder has three channels (A and B) for position forwards and backwards as well there is channel Z which is the index for the rotation. I need to trigger the ignition module at a precise point in the revolution, so for example at pulse number 275 i need to output a trigger voltage (5V)

    I have some experience in C++ programming as well as some in other programming software (matlab). So I know the structure of the programming, this isn't my major concern, what I'm really seeking for is help in finding out if some kind of microcontroller will be able to do what I'm asking.

    Any help will be greatly appreciated.
  2. Kermit2

    AAC Fanatic!

    Feb 5, 2010
    If I'm remebering my binary math correctly you only need 10 bits to count to 1024, so, with some small amount of peripheral logic(counter/shift registers) an 8 bit controller should be able to handle this.

    If you only need to generate one pulse per revolution, you shouldn't need the 1000 pulse per rev resolution at all. Something as simple as an opto transistor; a shiny spot on a black painted shaft and some fiber optic cable carrying a light beam would provide you a one pulse per rev output.

    The computer should be easy to program to count the pulses(1000) and output a trigger pulse once per rev. Your maximum freq would be 1.5 kHz, and I find it hard to believe a computer running software cannot manage this level of speed.