LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

accelerometer pitfalls?

disclaimer: i'm new at this...

any good tips on getting accelerometer data through labview?
i've got labview taking a single channel scan during each
while loop... (while a subVI alters the stimulus)
for approximately "5 minutes" but the data i'm
seeing doesn't *feel* right.

ie..like i'm loosing time domain info

(the loop is actually written to take a running average of
last 10 data points)

if i'm running a 100Mhz daq card shouldn't i be getting
100,000 data points per second? ( per loop iteration)

i'm not using an NI board and dont have access to aquire
waveform vi's or my card's internal clock info (at least not
easily)
0 Kudos
Message 1 of 3
(2,844 Views)
tony wrote:
> disclaimer: i'm new at this...
>
> any good tips on getting accelerometer data through labview?
> i've got labview taking a single channel scan during each
> while loop... (while a subVI alters the stimulus)
> for approximately "5 minutes" but the data i'm
> seeing doesn't *feel* right.
>
> ie..like i'm loosing time domain info
>
> (the loop is actually written to take a running average of
> last 10 data points)
>
> if i'm running a 100Mhz daq card shouldn't i be getting
> 100,000 data points per second? ( per loop iteration)
>
> i'm not using an NI board and dont have access to aquire
> waveform vi's or my card's internal clock info (at least not
> easily)
>
>
>
Hi,
I would imagine you are simply reading one sample per loop, what I would
ca
ll software controlled sampling. The sample rate will be limited by
the speed of operation of the software and the time it takes to set the
board up every time for reading a sample.
Putting a 'wait until next ms multiple' in the loop should help set the
speed of the loop to a known value but it won't be able to speed the
loop up; you may already have tried this. At the end of the day it's
going to come down to what minimum sample rate you actualy need to use

In order to get the kind of sample rate you are talking about you will
have to use some kind of DMA or buffered controlled sampling where you
will need some more advanced control of your board (yes clocks etc!).
Maybe if you could post the type of board you are using somebody here
might be able to help you.
First do some reading up on your board and any software drivers it has,
if you have no helpful documentation check with the boards manufacturer
they may be able to point you in the right direction.

Regards,

DaveR.
0 Kudos
Message 2 of 3
(2,844 Views)
....

> ie..like i'm loosing time domain info
>
> (the loop is actually written to take a running average of
> last 10 data points)
>
> if i'm running a 100Mhz daq card shouldn't i be getting
> 100,000 data points per second? ( per loop iteration)
>
> i'm not using an NI board and dont have access to aquire
> waveform vi's or my card's internal clock info (at least not
> easily)

Using a 100MHz card, you could be retrieving as many as 100,000,000 pts
per second, but that is almost certainly going to be possible only if
you are using HW timing and DMA. If you are doing SW timed I/O, then
the OS and other tasks in LV will affect the point in time when the
readings take place. If it is important to have the readings sampled at
evenly spaced intervals, li
ke if you are looking for frequency
information, then you should look to use the HW timings on your card or
move to a card where you can do HW timing.

Greg McKaskle
0 Kudos
Message 3 of 3
(2,844 Views)