Now getting a decent scope signal. Two peaks, one slightly bigger than the other. Adding big washers to periphery of spinner do not alter them significantly. Then I spent most of yesterday learning about FFT. Programmed an Arduino Nano for prop balancing. Meanwhile I then found that my Rigol o'scope FFT function actually has the resolution I need at the frequencies I need. Going to try both next.
But for calibration, here is a question that has me stumped. How do you convert accelerometer readings to ips? One G is 386 inches/s/s. Do I just divide my G reading with 386 or is there a frequency involved. If so, why???
EDIT: Found this formula:
where acceleration is in Gs, velocity in ips and Frequency is cycles per minute (RPM).
Not sure I understand why, but I guess the faster you swing a mass around you the greater the force.
If running prop at 1000 RPM and want to detect 0.07 ips or less, we're looking for 0.015 Gs. If using the ADXL335, that has a sensitivity of 300 mV/G, that's 4.5mV!
Doubling the RPM to 2,000 we're looking to get the vibration below 9 mV from the ADXL335.
Using the FFT function of the o'scope I was not able to reliably detect a specific frequency. I have a 30Hz low pass filter after the output of the ADXL335. I thought I also had a 8.5 amplification using an op-amp, but that can't be true because it's DC coupled and DC input = DC output. As Brian wrote: "Signal preparation is the name of the game!"
If feeding the ADXL335 signal to an Adrduino Nano or Mega (has a 0 to 5V range and 4.9mV resolution) I'll probably first have to amplify the signal 100 to 200 times to get a reasonable resolution.
As for trimtab's "1. Collect data with a dummy channel indexed to an odd multiple greater than one of the rotating mass.", with the Arduino Nano program I'm trying to go a different route: make sure the sample period is one full rotation (beginning and end of sample same value: continuous). Then I won't have to apply a "window" to the FFT data.
Prop balancing software algorithm
0) Determine number of samples (512 for Mega and 128 for Nano)
1) Prompt user to press Start button when desired RPM has been stably reached.
2) Measure time from trigger pulse to trigger pulse 4 times, average and store as rotation period
3) Display as sample frequency and RPM
4) Take samples
5) Repeat sample taking, averaging with previous samples.
6) Perform FFT
7) Calculate amplitude and phase for rotational frequency (or 2 sets around rotational frequency bin)
8) Display amplitude and phase sets on 2x16 character LED display.
Currently in 7 the program finds max magnitude and displays phase and amplitude of that frequency, prior and following frequency bins. Should give same result, but may program it to alternate between the two methods to confirm results.
Finn