# Voltage to Frequency Conversion - Labivew + Arduino

Hi Everyone.

I am trying to setup a rig with my arduino and a ADXL335 accelerometer to measure vibratory frequencies of some DC ERM pancake motors. I'd like to accomplish this by measuring the analog voltage from the X, Y, Z directions of the accelerometer and then convert this voltage to frequency using FFT analysis or something similar.

I have the Arduino toolkit installed which has greatly helped me code in Labview. Unfortunately when it comes to using the Arduino Analog Read Pin Vi which outputs voltage, I can't connect this directly to either FFT analysis VI or the Spectrum Analysis Vi with the Power Spectrum selected.

In both cases I get a mismatch error saying that the source is Double 64-bit real precision not the same as the sink Double 64 bit real 1-D array.

I see it has to do something with how the Analog Read Pin Vi is outputting the Voltage as a form of array, but confused.

Here is what I got:

I'd like to accomplish this by measuring the analog voltage from the X, Y, Z directions of the accelerometer and then convert this voltage to frequency using FFT analysis or something similar.

Seems to me that you do not understand what an accelerometer measures.

I see it has to do something with how the Analog Read Pin Vi is outputting the Voltage as a form of array, but confused.

The Arduino's analogRead() function does no such thing.

Labview's Arduino Analog Read pin actually converts the analog bits to voltage so I know for a fact that its spitting out voltage, and I was checking that.

Had some progress, but now I am stuck getting the frequency parameter out of the LabView output from the Spectral Measurements. Its not updating the X-axis but only the Y-axis with magnitude.

Any help?

If I'm looking at your diagram correctly it says you are finding the results for an FFT-(RMS). That will result in a scalar value because RMS is Root Mean Square or in more general terms it is the average frequency error found by taking the sum of the squares for all the frequencies found.

mstanley:
If I'm looking at your diagram correctly it says you are finding the results for an FFT-(RMS). That will result in a scalar value because RMS is Root Mean Square or in more general terms it is the average frequency error found by taking the sum of the squares for all the frequencies found.

yes that is correct.

still confused how to get frequency on the x-axis

I tried posting this on the Labview forum, but I am not getting any replies =/

OK, so looking at just the Spectral Measurements block under the word Phase is a double down arrow. That generally means additional menu choices. If there are more choices then you should just look for a plain FFT. If that is not a drop-down menu then you need to find out how to configure the Spectral Measurements block. Maybe a right-click?

mstanley:
OK, so looking at just the Spectral Measurements block under the word Phase is a double down arrow. That generally means additional menu choices. If there are more choices then you should just look for a plain FFT. If that is not a drop-down menu then you need to find out how to configure the Spectral Measurements block. Maybe a right-click?

i tried using the FFT (peak) as well but no luck

I did some more reading on using FFT etc and revamped by Labview code a bit:

still no go, i hoped the array i placed would create enough samples so when I hit stop the FFT would compute, but still not getting anything...