LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

incremental encoder rotational acceleration

I am trying to obtain acceleration velocity and displacement from an incremental encoder using labview 7.0. I am currently using an analogue input and a waveform measurement block to get a time period. The problem is that when the shaft is not rotating i get an error message saying the signal has not crossed the reference point enough times. Is there a way around this?
I know differentiating the signal produces inaccurate results.
I have have also tried connecting the signal to a edge count but cant obtain velocity and acceleration signals.
 
any suggestions
0 Kudos
Message 1 of 4
(3,188 Views)
Any system which looks at edges or transitions will have some practical lower limit on the frequency or speed which it can measure. How long are you willing to wait for the next edge? 10 ms? 1 second? Several centuries? You need to specify what the lowest frequency of interest is and the put in some extra tests to determine whether the data represents a signal below that frequency. If this is an issue, you may need to do a gated count rather than a period measurement. Or do both but ignore the period errors when the count is below the minimum.

As you are aware differentiation is a process which enhances the higher frequency components of the signal and thus tends to be noisy. There are smoothing techniques like moving averages which can help, but the choice of the best depends heavily on the nature of your signals and what you will be doing with the data.

Lynn
0 Kudos
Message 2 of 4
(3,165 Views)

Thanks.

We are setting up a moment of inertia experiment where a flywheel is accelerated by a mass attached to a cord which is wrapped around the axial. We are timing how long it takes for the mass to go from stationary to the time it touches the floor. The current experiment used stopwatches and assumes at time = 0sec velocity =0 seconds. Although I have been able to extract an initial velocity, my supervisor wanted it to start from zero to make calculation simpler for the students.

Because the experiment is over in around a minute the sampling has been set to 1 second obviously the longer the sample times the less results I get. I want to create some kind of loop that will trigger when the first edge counts the timer starts. I May have just answered my question with this but if you have any suggestions would be useful.

Do you know what the default number of pulses are that are required to for the waveform vi to work?

I’ll have a look at the gated count. How do you ignore errors when the period is below a set value and how do you overwrite the signal?

 Thank you for your help!

Tim

 

0 Kudos
Message 3 of 4
(3,156 Views)

struggling student wrote:
I am trying to obtain acceleration velocity and displacement from an incremental encoder using labview 7.0.

I have a test stand where I measure the speed of a shaft (0 to 15,000 RPM).  This stand has an incremental encoder (quadrature output) attached to the shaft.  I just measure the position vs. time of shaft and then use these VI's (see http://forums.ni.com/ni/board/message?board.id=170&message.id=103971) to calculate the first derivitave using the Savitsky-Golay algorithm.
 
Mark Moss
0 Kudos
Message 4 of 4
(3,147 Views)