SlideShare a Scribd company logo
1 of 18
Design and Implementation of an RPM Sensor and Power
System for the Study and Optimization of Small Propellers
Research Professor: Dr. Brian German
By Michael Lopez
December 13, 2014
2
Abstract
This document details and describes the process of designing and implementing a power
supply system and a system for the measurement and analysis of the rotational speed of a
small propeller attached to a fixed mount. These propellers are often used in small aircraft
and are particularly useful today in the expanding applications of drones, both conventional
airplane and rotorcraft configurations. Through the use of RPM sensors, the rotational
speed of the motor and propeller can be measured and then compared with the theoretical
values produced by stress analysis. In order to quickly and accurately certify multiple
propellers, it is important that these systems be designed to be robust and easy to use.
List of Figures
Figure 1: Jameco Sensor Pin Diagram .........................................................................................................................................4
Figure 2: Control RPM Voltage ....................................................................................................................................................5
Figure 3: White Ring with Black Band RPM Voltage..............................................................................................................5
Figure 4: Black Ring with White Band RPM Voltage..............................................................................................................6
Figure 5: Half Black and Half White Colored Ring RPM Voltage.........................................................................................7
Figure 6: Sensor Mount and Colored Motor Ring .....................................................................................................................8
Figure 7: Resistor Circuit Diagram...............................................................................................................................................8
Figure 8: Resistor Circuit and Jameco Optical RPM Sensor ...................................................................................................9
Figure 9: Arduino Uno....................................................................................................................................................................9
Figure 10: Brushless RPM Sensor..............................................................................................................................................10
Figure 11: Linear Power Supply .................................................................................................................................................11
Figure 12: E-Flite Electronic Speed Controller........................................................................................................................12
Figure 13: Astro Flight Inc. Servo Tester..................................................................................................................................12
Figure 14: E-Flite Brushless Motor............................................................................................................................................13
Figure 15: Sensor Output Signal versus Sample Index Example ..........................................................................................14
Figure 16: Propeller Testing ........................................................................................................................................................15
3
I. Introduction
In order to perform analysis and eventual optimization of propellers, a number of subsystems must be designed
and created to accurately measure the performance and structural response of the propeller during testing. One of
these subsystems is for a sensor which measures and analyzes the rotation speed of the propeller in rotations per
minute. This information is critically important during a live test because the propeller must be certified at a rotation
speed based on the previously performed theoretical structural analysis of the propeller. In this process, both a
certification rotation speed and a experimental testing rotation speed are determined. The values of the sensor during
testing are then observed to ensure that the rotation speed of the propeller does not exceed the previously determined
values.
II. RPM Sensor Design
The first step in the process of designing and implementing this subsystem is the choice of sensor to be used for
the measurement and observation of the rotational speed of the motor. There are several different ways to measure
this speed. For this design, one specific sensor will be explained in detail and the others possible alternatives will be
mentioned and briefly discussed.
A. Jameco Optical RPM Sensor
The main sensor used throughout the analysis of the rotational speed of the propeller was the Jameco Optical
RPM Sensor. This sensor uses an infrared emitting diode and an NPN silicon photodarlington to measure the
response of reflecting the infrared beam off of a rotating surface. This sensor was mounted onto the test stand in a
fixed position and pointed directly down at the spinning motor. The sensor was oriented vertically at the motor
rather than horizontally at the propeller because the wooden or plastic material of the propeller is unreliable for
reflecting the infrared beam and in addition, the sensor provides much better data when the reflective surface is a
constant without gaps. The pin layout of the sensor is shown below in Fig. 1. The optical sensor is shown mounted
to the test stand in Fig. 6.
4
Figure 1: Jameco Sensor Pin Diagram
B. Colored Motor Ring
In addition to the mounting of the sensor, it was necessary to enhance and standardize the reflective properties of
the spinning motor. This was done to create a constant, periodic response from the sensor which could easily be
analyzed to produce a rotational speed. To achieve this, a specifically colored ring was attached to the motor. Four
different surfaces were analyzed: the control surface with just the motor, the motor with a black ring with a single
white band, the motor with a white ring with a single black band, and the motor with a half black and half white
colored ring. Each of these was analyzed without a propeller attached to determine which produced the most useful
results for analysis. The plot of the input voltage versus the converted RPM output voltage is shown below in Fig. 2.
5
Figure 2: Control RPM Voltage
The data for the control shows that even at a constant 3V input voltage, the output response is very erratic and
irregular. This is due to the fact that the motor surface is not regularly colored and will reflect the infrared beam
irratically and randomly. This is the reason for the use of a colored band.
Due to the reflective behavior of the color white and the absorbing behavior of the color black, the two colors
would produce different results when hit with the infrared beam. The first ring tested was a white ring with a single
black band. The results of this test are shown below in Fig. 3.
Figure 3: White Ring with Black Band RPM Voltage
3.80
3.85
3.90
3.95
4.00
4.05
4.10
4.15
4.20
0.50 1.00 1.50 2.00 2.50 3.00
RPMVoltage(V)
Potentiometer Voltage (V)
Control3 Volt Input
3.50
3.55
3.60
3.65
3.70
3.75
3.80
3.85
3.90
3.95
4.00
0.50 1.00 1.50 2.00 2.50 3.00
RPMVoltage(V)
Potentiometer Voltage (V)
White Ring with Black Band 3 Volt Input
6
The results of using the white ring with black band show that for a constant 3V input, the data is still very
difficult to interpret because the white color is constantly reflecting the infrared beam at various different output
signals. This behavior is disadvantageous because it makes the results very difficult to interpret and analyze. Ideally,
the white colored portion of the ring would reflect one output signal and the black colored portion of the ring would
reflect another output signal. To this end, ideally a black ring with a white band would show one output signal with
the white band reflecting a different output signal once per period. The results of using a black ring with a white
band are shown below in Fig. 4.
Figure 4: Black Ring with White Band RPM Voltage
These results again show that for a constant input voltage of 3V, the results are still very difficult to interpret.
This could be due to the sensitivity of the sensor or the inability of the sensor to distinguish between the black and
white colored sections of the ring. The final ring that was tested was a half black and half white ring. This gave the
best chance of producing two different constant output values. The plot of the output signal versus a sample indexis
shown below in Fig. 5.
3.90
3.95
4.00
4.05
4.10
4.15
4.20
0.00 0.50 1.00 1.50 2.00 2.50 3.00 3.50
RPMVoltage(V)
Potentiometer Voltage (V)
Black Ring with White Band 3 Volt Input
7
Figure 5: Half Black and Half White Colored Ring RPM Voltage
The results of testing using the half black and half white colored ring show two different constant values with a
small number of transient values in between. This result can be easily analyzed to determine a period and then a
rotational speed. In order to determine a period, a specific output sensor value was chosen and the time difference
between the first occurrence and the second occurrence of this value were noted. The two closest data points to this
sensor value were used to interpolate the time for the specific value using Eqn. 1 and Eqn. 2.
๐‘š =
๐‘ฆ2โˆ’๐‘ฆ1
๐‘ก2 โˆ’๐‘ก1
(1)
๐‘ก ๐‘ = ๐‘ก1 +
๐‘ฆ ๐‘โˆ’๐‘ฆ1
๐‘š
(2)
The difference between the two signal times are converted to a rotational speed using Eqn. 3.
๐‘…๐‘ƒ๐‘€ =
60
๐‘ก ๐‘,2โˆ’๐‘ก ๐‘,1
(3)
The mounted sensor and the half white and half black ring are shown below in Fig. 6.
500
550
600
650
700
750
800
850
0 20 40 60 80 100 120 140 160 180 200
SignalOutput
Sample Index
Optical Sensor on Half Black and Half White Colored Ring
8
Figure 6: Sensor Mount and Colored Motor Ring
C. Resistor Circuit
Before the data can be analyzed, the output signal must be amplified to widen the signal range and make the data
easier to interpret. For this optical sensor, the circuit diagram used is shown below in Fig. 7.
Figure 7: Resistor Circuit Diagram
The final soldered circuit with jumper cables to connect to the Arduino as well as the unmounted optical sensor
are shown below in Fig. 8.
9
Figure 8: Resistor Circuit and Jameco Optical RPM Sensor
D. Arduino Connection
The controller used to collect the signal data from the Jameco Optical RPM Sensor was an Arduino Uno
microcontroller. The resistor circuit was connected to the Arduino using jumper cables as shown in Fig. 7 and Fig. 8.
The Arduino was then connected to the computer using a USB B-type connector cable. The Arduino Uno is shown
below in Fig. 9.
Figure 9: Arduino Uno
10
E. Possible Alternatives
In addition to the Jameco Optical RPM Sensor, two additional sensors were examined and compared. These
RPM sensors were the Eagle Tree Optical RPM sensor and the Eagle Tree Brushless RPM Sensor. The Eagle Tree
Optical sensor was an improved optical sensor which would provide more accurate readings than the Jameco sensor
while the brushless RPM sensor measured the rotation speed of the propeller based on the voltage difference being
commanded by the electronic speed controller. However, when these two sensors were examined and used to
analyze the rotational speed of the spinning motor, it was observed that the sensoroutput data did not provide a wide
enough range of values to analyze for a potential periodic pattern. This is due to the fact that no resistor circuit was
used to amplify the difference in the output signal. In the future, it may be possible to use these two sensors by
designing and implementing a resistor circuit similar to the one used for the Jameco sensor. The Eagle Tree
Brushless RPM Sensor is shown below in Fig. 10.
Figure 10: Brushless RPM Sensor
11
III. Motor Control
The other important subsystem in the analysis of these propellers is the electrical power and motor system. This
system consists of a linear power supply, a servo tester, an ammeter, an electronic speed controller, and a brushless
motor.
A. Linear Power Supply
The power to the motor is provided by a linear power supply. This power supply converts the AC current coming
out of the wall to a DC current. In addition, it steps down the voltage. It does this using resistors instead of a more
conventional power supply, which would use transistors. The linear power supply used for this setup is shown in
Fig. 11 below.
Figure 11: Linear Power Supply
B. Ammeter
To measure the current coming out of the linear power supply, a a digital ammeter was connected in series
between the linear power supply and the electronic speed controller. The electronic speed controller and the motor
were both rated for 40 amps, so the ammeter was used to ensure that this value was never exceeded during testing.
12
C. Electronic Speed Controller
The ammeter attached to the linear power supply is connected to the electronic speed controller of the system.
This controller takes a commanded input signal and uses that to determine a voltage across the motor. The electronic
speed controller has two inputs from the ammeter, three outputs to the motor, and three inputs fromthe servo tester.
The E-Flite electronic speed controller used for this systemis shown below in Fig. 12.
Figure 12: E-Flite Electronic Speed Controller
D. Servo Tester
The servo tester in this system is used similarly to a potentiometer as a way to command the input signal to the
electronic speed controller. The servo tester is marked in milliseconds which signify the pulse length of the signals.
As the pulse length is increased, the current of the linear power supply is increased and the rotational speed of the
motor is increased as well. The Astro Flight Inc. servo tester used for this setup is shown in Fig. 13 below.
Figure 13: Astro Flight Inc. Servo Tester
13
E. E-Flite Brushless Motor
The final part of the power subsystem is the motor. The brushless motor takes the commanded signal from the
electronic speed controller and converts it into a mechanical, rotational motion. The motor is mounted onto the test
stand in a fixed position. The E-Flite brushless motor used for this setup is shown in Fig. 14 below.
Figure 14: E-Flite Brushless Motor
IV. RPM Sensor Analysis
Once the data has been collected, it must be analyzed to determine the average rotational speed of the motor
during the test. There are multiple ways to do this analysis but for the purposes of this test, one particular method
was used using an Arduino code, an Excel spreadsheet, and a MATLAB code.
F. Arduino Data Gathering Code
The first step in the data analysis is the code which gathers the data fromthe optical sensor. This is done by the
Arduino microcontroller. The data is gathered and then printed to the serial monitor in a column vector which is
displayed on the computer screen. The code for this process is shown in the appendix labeled as
Servo_RPM_read.ino.
G. Excel Spreadsheet
The next step in the data analysis process is to import the column vector data from the Arduino serial monitor
into an Excel spreadsheet. This data is then plotted versus a sample index. One example is shown below in Fig. 15.
14
Figure 15: Sensor Output Signal versus Sample Index Example
This plot is important because by examining the graphical data, a specific point can be chosen as the designated
point for the period analysis. In the plot shown above, the output signal value of 30 was chosen because it occurs on
a positively sloped portion of the graph and it only occurs once per period. This makes it simple to determine the
period between each time when the signal reaches that value.
The other step performed in the Excel spreadsheet is to take the column vector of output signals and transpose it
into a row vector. The row vector is much easier to import into MATLAB.
H. MATLAB Code
The final step in the analysis process is to take the data and the chosen signal value fromExcel and use these to
determine the average RPM of the motor. This is done using the RPManalysis.m code shown in the appendix. The
time at which the signal value occurs is calculated using the interpolation previously shown in Eqns. 1 and 2. The
RPM between each of these points is then calculated using Eqn. 3. Finally, these RPM values are averaged to
produce a final average RPM for the duration of the test. One other necessary value for this analysis is the sampling
time commanded by the Arduino. For the duration of this testing, the sampling time was assumed to be the Arduino
Unoโ€™s optimum sampling time of 10,000 samples per second. However, most likely, the actual sampling time is
slightly lower than this optimum value. In order for the data analysis to be accurate, the sampling time of the
Arduino must be exactly determined.
0
50
100
150
200
250
300
0 100 200 300 400 500
SensorOutputSignal(~)
Sample Index (~)
3D Printed 9x6 Propellerat 1.5 ms Throttle
Setting
15
I. Arduino Analysis Code
The only drawback to the previously described analysis process is that it requires three steps in three different
programs. One alternative to this lengthy process is to create a more complicated Arduino code which calculates the
RPM of the motor directly. The problem with this approach is that it can be difficult to predict where a suitable
chosen signal output value will occur. For each propeller and throttle setting, the range of suitable values can vary
greatly. The most current version of this code is shown in the appendix labeled as Servo_RPM_analysis.ino.
Currently, this code encounters problems with the Arduinoโ€™s tendency to round all numbers to integers.
V. Propeller Testing
Obviously, the purpose of all of this design work is to eventually produce some experimental results. Before any
propeller can be tested in a wind tunnel or other capacity, it must first be certified during a safety test. Using a
theoretical analysis, a maximum RPM value for each propeller based on stress analysis and a safety factor is
computed. The propeller is then placed inside the previously designed safety box environment and spun up to this
RPM value to ensure that the real propeller matches the performance predicted by the theoretical analysis. The setup
used for this testing was applied to a store bought propeller, a 3D printed 9x6 propeller, a wooden 9x6 propeller, and
a symmetrically curved 3D printed propeller. Each of these propellers was analyzed at throttle settings ranging from
minimum to maximum power. The final analyzed RPM versus current is shown below in Figure 16.
Figure 16: Propeller Testing
y = 255.16x + 5293.2
Rยฒ = 0.7482
0
2000
4000
6000
8000
10000
12000
14000
0 5 10 15 20 25 30
RPM
Current (amps)
Propeller Test RPM Response
16
The graph of RPM versus current shows a clear linear relationship. As the average RPM increases, the current
required to maintain this RPM increases as well. There is one outlier at the high current values which could be
attributed to variations in the performance motor, the electronic speed controller, or the power supply.
VI. Conclusion
The goal of these systems is to create a setup which can quickly and easily certify and eventually test the
performance of small, self-manufactured propellers. This certification process requires that the propellers be
mechanically proven to withstand the RPM value calculated using theoretical stress analysis as well as a built in
safety factor. Once these propellers are certified, they will be placed in a wind tunnel for the purposes of analyzing
the performance of the propllers in simulated flight situations.
VII. Appendix
Arduino Code: Servo_RPM_read
// initialize all variables, arrays, and the counter
int RPMPin = 0;
int RPMvalue;
int Nsamples = 512;
int RPMArray[512];
int count = 0;
// For all tests, to keep the test as constant as possible,
// the sensor was placed below .125 in below the bottomof the
// motor and the lights in the room were turned off
void setup() {
// initialize serial communication at 9600 bits per second:
Serial.begin(9600);
}
void loop() {
delay(250);
// read the RPM value from the sensor
for (int i=1; i<Nsamples; i++) {
RPMvalue = analogRead(RPMPin);
RPMArray[i-1] = RPMvalue;
}
for (int i=1; i<Nsamples; i++) {
Serial.println(RPMArray[i-1]);
}
// use an infinite while loop to stop the void loop
while(1<2){
}
}
MATLAB Code: RPManalysis.m
17
function avgRPM = RPManalysis
%input sample rate (samples per second)
SampleRate = 10000;
%input the RPM sensor signal data fromthe arduino. Data is transposed from
%a column vector to a row vector in Excel
Signal = [data is placed here];
%determine the number of data points
ArraySize = size(Signal);
num = ArraySize(2);
%create the corresponding array of time
Time = ones(1,num);
for n = 1:num
Time(n) = (n/SampleRate);
end
%choose a signal output value between 550 and 800
point = 180;
PointTimes = [];
%Interpolate to find all the time values when the signal crosses your
%chosen output value
for i = 1:num-1
if Signal(i) < point && Signal(i+1) > point
slope = (Signal(i+1)-Signal(i))/(Time(i+1)-Time(i));
tvalue = Time(i)+ (point-Signal(i))/slope;
PointTimes = [PointTimes, tvalue];
end
end
%Use these time values to find the period and convert to RPM
RPMArray = [];
ArraySize2 = size(PointTimes);
NumPoints = ArraySize2(2);
for j = 1:NumPoints-1
Period = PointTimes(j+1)-PointTimes(j);
RPM = (1/Period)*60;
RPMArray = [RPMArray RPM]
end
%Take an average of the calculated RPMs
avgRPM = mean(RPMArray)
end
Arduino Code: Servo_RPM_analysis.ino
// initialize all variables, arrays, and the counter
int SignalPin = 0;
int Signalvalue;
int Nsamples = 512;
int SignalArray[512];
int point = 700;
int TimeArray[10];
int SampleRate = 10000;
int count = 0;
int RPMArray[10];
int RPMsum = 0;
int RPMavg;
int Period;
int RPM;
int avgRPM;
18
int slope;
int time;
void setup() {
// initialize serial communication at 9600 bits per second:
Serial.begin(9600);
}
void loop() {
delay(250);
// read the RPM value from the sensor. place these sensor
// values into an array
for (int i=1; i<Nsamples; i++) {
Signalvalue = analogRead(SignalPin);
SignalArray[i-1] = Signalvalue;
}
// determine when the chosen value is crossed in the data.
// choose this crossing to be when the signal is increasing.
// interpolate between the two data points on either side of
// the chosen value to find the crossing time of that value
// place all of these times into an array
Serial.println('Chosen Point Crossing Times');
for (int i=1; i<Nsamples; i++) {
if(SignalArray[i-1] < point && SignalArray[i] > point) {
slope = (SignalArray[i]-SignalArray[i-1])/(1/SampleRate);
// multiply by 10000 because Arduino rounds all decimals
time = ((i/SampleRate) + (point-SignalArray[i-1])/slope)*10000;
TimeArray[count] = time;
Serial.println(time);
count = count + 1;
}
}
// calculate the RPM between each of the times in the time array
// place all of these RPMs into an array
Serial.println('RPM values');
for (int i=1; i<11; i++) {
Period = TimeArray[i]-TimeArray[i-1];
// when calculating RPM, multiply by 10000 again
RPM = 60*10000/Period;
Serial.println(RPM);
RPMArray[i-1] = RPM;
}
// take an average of the RPMs in the RPM array to get a final
// value for the average RPM of the test
Serial.println('Average RPM');
// add up all the RPM terms in the RPM array. then divide by
// the number of terms to get an average
for (int i=1; i<(count+1); i++) {
RPMsum = RPMsum + RPMArray[i-1];
}
RPMavg = RPMsum / count;
Serial.println(RPMavg);
// use an infinite while loop to stop the void loop
while(1<2){
}
}

More Related Content

What's hot

Investigation of Artificial Neural Network Based Direct Torque Control for PM...
Investigation of Artificial Neural Network Based Direct Torque Control for PM...Investigation of Artificial Neural Network Based Direct Torque Control for PM...
Investigation of Artificial Neural Network Based Direct Torque Control for PM...cscpconf
ย 
Advance Current Monitoring Techniques to Detect and Diagnosis the Inter-Turn ...
Advance Current Monitoring Techniques to Detect and Diagnosis the Inter-Turn ...Advance Current Monitoring Techniques to Detect and Diagnosis the Inter-Turn ...
Advance Current Monitoring Techniques to Detect and Diagnosis the Inter-Turn ...theijes
ย 
โ€ข Sensorless speed and position estimation of a PMSM (Masterยดs Thesis)
โ€ข	Sensorless speed and position estimation of a PMSM (Masterยดs Thesis)โ€ข	Sensorless speed and position estimation of a PMSM (Masterยดs Thesis)
โ€ข Sensorless speed and position estimation of a PMSM (Masterยดs Thesis)Cesar Hernaez Ojeda
ย 
An investigation on switching
An investigation on switchingAn investigation on switching
An investigation on switchingcsandit
ย 
Simulation of Direct Torque Control of Induction motor using Space Vector Mo...
Simulation of Direct Torque Control of Induction motor using  Space Vector Mo...Simulation of Direct Torque Control of Induction motor using  Space Vector Mo...
Simulation of Direct Torque Control of Induction motor using Space Vector Mo...IJMER
ย 
Simulation of Fuzzy Sliding Mode Controller for Indirect Vector Control of In...
Simulation of Fuzzy Sliding Mode Controller for Indirect Vector Control of In...Simulation of Fuzzy Sliding Mode Controller for Indirect Vector Control of In...
Simulation of Fuzzy Sliding Mode Controller for Indirect Vector Control of In...ijsrd.com
ย 
Power optimisation scheme of induction motor using FLC for electric vehicle
Power optimisation scheme of induction motor using FLC for electric vehiclePower optimisation scheme of induction motor using FLC for electric vehicle
Power optimisation scheme of induction motor using FLC for electric vehicleAsoka Technologies
ย 
Study on Current Sensorless Vector Control Method for Electric Vehicle Drive ...
Study on Current Sensorless Vector Control Method for Electric Vehicle Drive ...Study on Current Sensorless Vector Control Method for Electric Vehicle Drive ...
Study on Current Sensorless Vector Control Method for Electric Vehicle Drive ...Nooria Sukmaningtyas
ย 
Analysis and experimental investigation to mitigate
Analysis and experimental investigation to mitigateAnalysis and experimental investigation to mitigate
Analysis and experimental investigation to mitigateeSAT Publishing House
ย 
Speed Tracking of Field Oriented Control Permanent Magnet Synchronous Motor U...
Speed Tracking of Field Oriented Control Permanent Magnet Synchronous Motor U...Speed Tracking of Field Oriented Control Permanent Magnet Synchronous Motor U...
Speed Tracking of Field Oriented Control Permanent Magnet Synchronous Motor U...IJPEDS-IAES
ย 
Continuous &amp; discontinuous conduction
Continuous &amp; discontinuous conductionContinuous &amp; discontinuous conduction
Continuous &amp; discontinuous conductionDr. Bilal Abdullah Nasir
ย 
A robust diagnosis method for speed sensor fault based on stator currents in ...
A robust diagnosis method for speed sensor fault based on stator currents in ...A robust diagnosis method for speed sensor fault based on stator currents in ...
A robust diagnosis method for speed sensor fault based on stator currents in ...IJECEIAES
ย 
Pi3426832691
Pi3426832691Pi3426832691
Pi3426832691IJERA Editor
ย 
A NEW FUZZY LOGIC BASED SPACE VECTOR MODULATION APPROACH ON DIRECT TORQUE CON...
A NEW FUZZY LOGIC BASED SPACE VECTOR MODULATION APPROACH ON DIRECT TORQUE CON...A NEW FUZZY LOGIC BASED SPACE VECTOR MODULATION APPROACH ON DIRECT TORQUE CON...
A NEW FUZZY LOGIC BASED SPACE VECTOR MODULATION APPROACH ON DIRECT TORQUE CON...csandit
ย 

What's hot (19)

Novel DTC induction machine drive improvement using controlled rectifier for ...
Novel DTC induction machine drive improvement using controlled rectifier for ...Novel DTC induction machine drive improvement using controlled rectifier for ...
Novel DTC induction machine drive improvement using controlled rectifier for ...
ย 
Investigation of Artificial Neural Network Based Direct Torque Control for PM...
Investigation of Artificial Neural Network Based Direct Torque Control for PM...Investigation of Artificial Neural Network Based Direct Torque Control for PM...
Investigation of Artificial Neural Network Based Direct Torque Control for PM...
ย 
Advance Current Monitoring Techniques to Detect and Diagnosis the Inter-Turn ...
Advance Current Monitoring Techniques to Detect and Diagnosis the Inter-Turn ...Advance Current Monitoring Techniques to Detect and Diagnosis the Inter-Turn ...
Advance Current Monitoring Techniques to Detect and Diagnosis the Inter-Turn ...
ย 
โ€ข Sensorless speed and position estimation of a PMSM (Masterยดs Thesis)
โ€ข	Sensorless speed and position estimation of a PMSM (Masterยดs Thesis)โ€ข	Sensorless speed and position estimation of a PMSM (Masterยดs Thesis)
โ€ข Sensorless speed and position estimation of a PMSM (Masterยดs Thesis)
ย 
An investigation on switching
An investigation on switchingAn investigation on switching
An investigation on switching
ย 
Simulation of Direct Torque Control of Induction motor using Space Vector Mo...
Simulation of Direct Torque Control of Induction motor using  Space Vector Mo...Simulation of Direct Torque Control of Induction motor using  Space Vector Mo...
Simulation of Direct Torque Control of Induction motor using Space Vector Mo...
ย 
Simulation of Fuzzy Sliding Mode Controller for Indirect Vector Control of In...
Simulation of Fuzzy Sliding Mode Controller for Indirect Vector Control of In...Simulation of Fuzzy Sliding Mode Controller for Indirect Vector Control of In...
Simulation of Fuzzy Sliding Mode Controller for Indirect Vector Control of In...
ย 
Reduced-order observer for real-time implementation speed sensorless control ...
Reduced-order observer for real-time implementation speed sensorless control ...Reduced-order observer for real-time implementation speed sensorless control ...
Reduced-order observer for real-time implementation speed sensorless control ...
ย 
Power optimisation scheme of induction motor using FLC for electric vehicle
Power optimisation scheme of induction motor using FLC for electric vehiclePower optimisation scheme of induction motor using FLC for electric vehicle
Power optimisation scheme of induction motor using FLC for electric vehicle
ย 
Study on Current Sensorless Vector Control Method for Electric Vehicle Drive ...
Study on Current Sensorless Vector Control Method for Electric Vehicle Drive ...Study on Current Sensorless Vector Control Method for Electric Vehicle Drive ...
Study on Current Sensorless Vector Control Method for Electric Vehicle Drive ...
ย 
Analysis and experimental investigation to mitigate
Analysis and experimental investigation to mitigateAnalysis and experimental investigation to mitigate
Analysis and experimental investigation to mitigate
ย 
Torque ripples improvement of direct torque controlled five-phase induction m...
Torque ripples improvement of direct torque controlled five-phase induction m...Torque ripples improvement of direct torque controlled five-phase induction m...
Torque ripples improvement of direct torque controlled five-phase induction m...
ย 
Speed Tracking of Field Oriented Control Permanent Magnet Synchronous Motor U...
Speed Tracking of Field Oriented Control Permanent Magnet Synchronous Motor U...Speed Tracking of Field Oriented Control Permanent Magnet Synchronous Motor U...
Speed Tracking of Field Oriented Control Permanent Magnet Synchronous Motor U...
ย 
Continuous &amp; discontinuous conduction
Continuous &amp; discontinuous conductionContinuous &amp; discontinuous conduction
Continuous &amp; discontinuous conduction
ย 
A robust diagnosis method for speed sensor fault based on stator currents in ...
A robust diagnosis method for speed sensor fault based on stator currents in ...A robust diagnosis method for speed sensor fault based on stator currents in ...
A robust diagnosis method for speed sensor fault based on stator currents in ...
ย 
F010214352
F010214352F010214352
F010214352
ย 
Pi3426832691
Pi3426832691Pi3426832691
Pi3426832691
ย 
D011113035
D011113035D011113035
D011113035
ย 
A NEW FUZZY LOGIC BASED SPACE VECTOR MODULATION APPROACH ON DIRECT TORQUE CON...
A NEW FUZZY LOGIC BASED SPACE VECTOR MODULATION APPROACH ON DIRECT TORQUE CON...A NEW FUZZY LOGIC BASED SPACE VECTOR MODULATION APPROACH ON DIRECT TORQUE CON...
A NEW FUZZY LOGIC BASED SPACE VECTOR MODULATION APPROACH ON DIRECT TORQUE CON...
ย 

Similar to Design and Implementation of an RPM Sensor and Power System for the Study and Optimization of Small Propellers

Valve_Spring_Fault_Detection_Final_1.pdf
Valve_Spring_Fault_Detection_Final_1.pdfValve_Spring_Fault_Detection_Final_1.pdf
Valve_Spring_Fault_Detection_Final_1.pdfandreikeino1
ย 
Vibration analysis applied to conveyor belt.
Vibration analysis applied to conveyor belt.Vibration analysis applied to conveyor belt.
Vibration analysis applied to conveyor belt.IRJET Journal
ย 
Condition monitoring of induction motor with a case study
Condition monitoring of induction motor with a case studyCondition monitoring of induction motor with a case study
Condition monitoring of induction motor with a case studyIAEME Publication
ย 
Condition monitoring of induction motor with a case study
Condition monitoring of induction motor with a case studyCondition monitoring of induction motor with a case study
Condition monitoring of induction motor with a case studyIAEME Publication
ย 
Performance Evaluation of Three Phase Induction Motor using MOSFET & IGBT Bas...
Performance Evaluation of Three Phase Induction Motor using MOSFET & IGBT Bas...Performance Evaluation of Three Phase Induction Motor using MOSFET & IGBT Bas...
Performance Evaluation of Three Phase Induction Motor using MOSFET & IGBT Bas...IRJET Journal
ย 
Experimental investigation of damping force of twin tube shock absorber
Experimental investigation of damping force of twin tube shock absorberExperimental investigation of damping force of twin tube shock absorber
Experimental investigation of damping force of twin tube shock absorberIJERA Editor
ย 
TRIUMF Technical report- Benjamin Tsai
TRIUMF Technical report- Benjamin TsaiTRIUMF Technical report- Benjamin Tsai
TRIUMF Technical report- Benjamin TsaiBenjamin Tsai
ย 
IRJET- Vibration Analysis and Design Modification of Automobile Silencer
IRJET- Vibration Analysis and Design Modification of Automobile SilencerIRJET- Vibration Analysis and Design Modification of Automobile Silencer
IRJET- Vibration Analysis and Design Modification of Automobile SilencerIRJET Journal
ย 
Comparing of switching frequency on vector controlled asynchronous motor
Comparing of switching frequency on vector controlled asynchronous motorComparing of switching frequency on vector controlled asynchronous motor
Comparing of switching frequency on vector controlled asynchronous motorijscai
ย 
Multiple Sensors Soft-Failure Diagnosis Based on Kalman Filter
Multiple Sensors Soft-Failure Diagnosis Based on Kalman FilterMultiple Sensors Soft-Failure Diagnosis Based on Kalman Filter
Multiple Sensors Soft-Failure Diagnosis Based on Kalman Filtersipij
ย 
Development of an electronic control unit for fuel injection of an ic engine
Development of an electronic control unit for fuel injection of an ic engineDevelopment of an electronic control unit for fuel injection of an ic engine
Development of an electronic control unit for fuel injection of an ic engineeSAT Journals
ย 
Development of an electronic control unit for fuel injection of an ic engine
Development of an electronic control unit for fuel injection of an ic engineDevelopment of an electronic control unit for fuel injection of an ic engine
Development of an electronic control unit for fuel injection of an ic engineeSAT Journals
ย 
IJSRED-V2I3P38
IJSRED-V2I3P38IJSRED-V2I3P38
IJSRED-V2I3P38IJSRED
ย 
Controls Based Q Measurement Report
Controls Based Q Measurement ReportControls Based Q Measurement Report
Controls Based Q Measurement ReportLouis Gitelman
ย 
Dynometer project data acquisition filtering
Dynometer project data acquisition filteringDynometer project data acquisition filtering
Dynometer project data acquisition filteringRa'uf Tailony
ย 
Report on speed control of d.c. motor using pwm method
Report on speed control of d.c. motor using pwm methodReport on speed control of d.c. motor using pwm method
Report on speed control of d.c. motor using pwm methodshivam singh
ย 
PREDICTION OF TOOL WEAR USING ARTIFICIAL NEURAL NETWORK IN TURNING OF MILD STEEL
PREDICTION OF TOOL WEAR USING ARTIFICIAL NEURAL NETWORK IN TURNING OF MILD STEELPREDICTION OF TOOL WEAR USING ARTIFICIAL NEURAL NETWORK IN TURNING OF MILD STEEL
PREDICTION OF TOOL WEAR USING ARTIFICIAL NEURAL NETWORK IN TURNING OF MILD STEELSourav Samanta
ย 
Fq3510001006
Fq3510001006Fq3510001006
Fq3510001006IJERA Editor
ย 
En34855860
En34855860En34855860
En34855860IJERA Editor
ย 

Similar to Design and Implementation of an RPM Sensor and Power System for the Study and Optimization of Small Propellers (20)

Valve_Spring_Fault_Detection_Final_1.pdf
Valve_Spring_Fault_Detection_Final_1.pdfValve_Spring_Fault_Detection_Final_1.pdf
Valve_Spring_Fault_Detection_Final_1.pdf
ย 
Vibration analysis applied to conveyor belt.
Vibration analysis applied to conveyor belt.Vibration analysis applied to conveyor belt.
Vibration analysis applied to conveyor belt.
ย 
Condition monitoring of induction motor with a case study
Condition monitoring of induction motor with a case studyCondition monitoring of induction motor with a case study
Condition monitoring of induction motor with a case study
ย 
Condition monitoring of induction motor with a case study
Condition monitoring of induction motor with a case studyCondition monitoring of induction motor with a case study
Condition monitoring of induction motor with a case study
ย 
Performance Evaluation of Three Phase Induction Motor using MOSFET & IGBT Bas...
Performance Evaluation of Three Phase Induction Motor using MOSFET & IGBT Bas...Performance Evaluation of Three Phase Induction Motor using MOSFET & IGBT Bas...
Performance Evaluation of Three Phase Induction Motor using MOSFET & IGBT Bas...
ย 
Experimental investigation of damping force of twin tube shock absorber
Experimental investigation of damping force of twin tube shock absorberExperimental investigation of damping force of twin tube shock absorber
Experimental investigation of damping force of twin tube shock absorber
ย 
TRIUMF Technical report- Benjamin Tsai
TRIUMF Technical report- Benjamin TsaiTRIUMF Technical report- Benjamin Tsai
TRIUMF Technical report- Benjamin Tsai
ย 
IRJET- Vibration Analysis and Design Modification of Automobile Silencer
IRJET- Vibration Analysis and Design Modification of Automobile SilencerIRJET- Vibration Analysis and Design Modification of Automobile Silencer
IRJET- Vibration Analysis and Design Modification of Automobile Silencer
ย 
Comparing of switching frequency on vector controlled asynchronous motor
Comparing of switching frequency on vector controlled asynchronous motorComparing of switching frequency on vector controlled asynchronous motor
Comparing of switching frequency on vector controlled asynchronous motor
ย 
Multiple Sensors Soft-Failure Diagnosis Based on Kalman Filter
Multiple Sensors Soft-Failure Diagnosis Based on Kalman FilterMultiple Sensors Soft-Failure Diagnosis Based on Kalman Filter
Multiple Sensors Soft-Failure Diagnosis Based on Kalman Filter
ย 
Development of an electronic control unit for fuel injection of an ic engine
Development of an electronic control unit for fuel injection of an ic engineDevelopment of an electronic control unit for fuel injection of an ic engine
Development of an electronic control unit for fuel injection of an ic engine
ย 
Development of an electronic control unit for fuel injection of an ic engine
Development of an electronic control unit for fuel injection of an ic engineDevelopment of an electronic control unit for fuel injection of an ic engine
Development of an electronic control unit for fuel injection of an ic engine
ย 
IJSRED-V2I3P38
IJSRED-V2I3P38IJSRED-V2I3P38
IJSRED-V2I3P38
ย 
Controls Based Q Measurement Report
Controls Based Q Measurement ReportControls Based Q Measurement Report
Controls Based Q Measurement Report
ย 
Dynometer project data acquisition filtering
Dynometer project data acquisition filteringDynometer project data acquisition filtering
Dynometer project data acquisition filtering
ย 
Report on speed control of d.c. motor using pwm method
Report on speed control of d.c. motor using pwm methodReport on speed control of d.c. motor using pwm method
Report on speed control of d.c. motor using pwm method
ย 
PREDICTION OF TOOL WEAR USING ARTIFICIAL NEURAL NETWORK IN TURNING OF MILD STEEL
PREDICTION OF TOOL WEAR USING ARTIFICIAL NEURAL NETWORK IN TURNING OF MILD STEELPREDICTION OF TOOL WEAR USING ARTIFICIAL NEURAL NETWORK IN TURNING OF MILD STEEL
PREDICTION OF TOOL WEAR USING ARTIFICIAL NEURAL NETWORK IN TURNING OF MILD STEEL
ย 
Servo 2.0
Servo 2.0Servo 2.0
Servo 2.0
ย 
Fq3510001006
Fq3510001006Fq3510001006
Fq3510001006
ย 
En34855860
En34855860En34855860
En34855860
ย 

Design and Implementation of an RPM Sensor and Power System for the Study and Optimization of Small Propellers

  • 1. Design and Implementation of an RPM Sensor and Power System for the Study and Optimization of Small Propellers Research Professor: Dr. Brian German By Michael Lopez December 13, 2014
  • 2. 2 Abstract This document details and describes the process of designing and implementing a power supply system and a system for the measurement and analysis of the rotational speed of a small propeller attached to a fixed mount. These propellers are often used in small aircraft and are particularly useful today in the expanding applications of drones, both conventional airplane and rotorcraft configurations. Through the use of RPM sensors, the rotational speed of the motor and propeller can be measured and then compared with the theoretical values produced by stress analysis. In order to quickly and accurately certify multiple propellers, it is important that these systems be designed to be robust and easy to use. List of Figures Figure 1: Jameco Sensor Pin Diagram .........................................................................................................................................4 Figure 2: Control RPM Voltage ....................................................................................................................................................5 Figure 3: White Ring with Black Band RPM Voltage..............................................................................................................5 Figure 4: Black Ring with White Band RPM Voltage..............................................................................................................6 Figure 5: Half Black and Half White Colored Ring RPM Voltage.........................................................................................7 Figure 6: Sensor Mount and Colored Motor Ring .....................................................................................................................8 Figure 7: Resistor Circuit Diagram...............................................................................................................................................8 Figure 8: Resistor Circuit and Jameco Optical RPM Sensor ...................................................................................................9 Figure 9: Arduino Uno....................................................................................................................................................................9 Figure 10: Brushless RPM Sensor..............................................................................................................................................10 Figure 11: Linear Power Supply .................................................................................................................................................11 Figure 12: E-Flite Electronic Speed Controller........................................................................................................................12 Figure 13: Astro Flight Inc. Servo Tester..................................................................................................................................12 Figure 14: E-Flite Brushless Motor............................................................................................................................................13 Figure 15: Sensor Output Signal versus Sample Index Example ..........................................................................................14 Figure 16: Propeller Testing ........................................................................................................................................................15
  • 3. 3 I. Introduction In order to perform analysis and eventual optimization of propellers, a number of subsystems must be designed and created to accurately measure the performance and structural response of the propeller during testing. One of these subsystems is for a sensor which measures and analyzes the rotation speed of the propeller in rotations per minute. This information is critically important during a live test because the propeller must be certified at a rotation speed based on the previously performed theoretical structural analysis of the propeller. In this process, both a certification rotation speed and a experimental testing rotation speed are determined. The values of the sensor during testing are then observed to ensure that the rotation speed of the propeller does not exceed the previously determined values. II. RPM Sensor Design The first step in the process of designing and implementing this subsystem is the choice of sensor to be used for the measurement and observation of the rotational speed of the motor. There are several different ways to measure this speed. For this design, one specific sensor will be explained in detail and the others possible alternatives will be mentioned and briefly discussed. A. Jameco Optical RPM Sensor The main sensor used throughout the analysis of the rotational speed of the propeller was the Jameco Optical RPM Sensor. This sensor uses an infrared emitting diode and an NPN silicon photodarlington to measure the response of reflecting the infrared beam off of a rotating surface. This sensor was mounted onto the test stand in a fixed position and pointed directly down at the spinning motor. The sensor was oriented vertically at the motor rather than horizontally at the propeller because the wooden or plastic material of the propeller is unreliable for reflecting the infrared beam and in addition, the sensor provides much better data when the reflective surface is a constant without gaps. The pin layout of the sensor is shown below in Fig. 1. The optical sensor is shown mounted to the test stand in Fig. 6.
  • 4. 4 Figure 1: Jameco Sensor Pin Diagram B. Colored Motor Ring In addition to the mounting of the sensor, it was necessary to enhance and standardize the reflective properties of the spinning motor. This was done to create a constant, periodic response from the sensor which could easily be analyzed to produce a rotational speed. To achieve this, a specifically colored ring was attached to the motor. Four different surfaces were analyzed: the control surface with just the motor, the motor with a black ring with a single white band, the motor with a white ring with a single black band, and the motor with a half black and half white colored ring. Each of these was analyzed without a propeller attached to determine which produced the most useful results for analysis. The plot of the input voltage versus the converted RPM output voltage is shown below in Fig. 2.
  • 5. 5 Figure 2: Control RPM Voltage The data for the control shows that even at a constant 3V input voltage, the output response is very erratic and irregular. This is due to the fact that the motor surface is not regularly colored and will reflect the infrared beam irratically and randomly. This is the reason for the use of a colored band. Due to the reflective behavior of the color white and the absorbing behavior of the color black, the two colors would produce different results when hit with the infrared beam. The first ring tested was a white ring with a single black band. The results of this test are shown below in Fig. 3. Figure 3: White Ring with Black Band RPM Voltage 3.80 3.85 3.90 3.95 4.00 4.05 4.10 4.15 4.20 0.50 1.00 1.50 2.00 2.50 3.00 RPMVoltage(V) Potentiometer Voltage (V) Control3 Volt Input 3.50 3.55 3.60 3.65 3.70 3.75 3.80 3.85 3.90 3.95 4.00 0.50 1.00 1.50 2.00 2.50 3.00 RPMVoltage(V) Potentiometer Voltage (V) White Ring with Black Band 3 Volt Input
  • 6. 6 The results of using the white ring with black band show that for a constant 3V input, the data is still very difficult to interpret because the white color is constantly reflecting the infrared beam at various different output signals. This behavior is disadvantageous because it makes the results very difficult to interpret and analyze. Ideally, the white colored portion of the ring would reflect one output signal and the black colored portion of the ring would reflect another output signal. To this end, ideally a black ring with a white band would show one output signal with the white band reflecting a different output signal once per period. The results of using a black ring with a white band are shown below in Fig. 4. Figure 4: Black Ring with White Band RPM Voltage These results again show that for a constant input voltage of 3V, the results are still very difficult to interpret. This could be due to the sensitivity of the sensor or the inability of the sensor to distinguish between the black and white colored sections of the ring. The final ring that was tested was a half black and half white ring. This gave the best chance of producing two different constant output values. The plot of the output signal versus a sample indexis shown below in Fig. 5. 3.90 3.95 4.00 4.05 4.10 4.15 4.20 0.00 0.50 1.00 1.50 2.00 2.50 3.00 3.50 RPMVoltage(V) Potentiometer Voltage (V) Black Ring with White Band 3 Volt Input
  • 7. 7 Figure 5: Half Black and Half White Colored Ring RPM Voltage The results of testing using the half black and half white colored ring show two different constant values with a small number of transient values in between. This result can be easily analyzed to determine a period and then a rotational speed. In order to determine a period, a specific output sensor value was chosen and the time difference between the first occurrence and the second occurrence of this value were noted. The two closest data points to this sensor value were used to interpolate the time for the specific value using Eqn. 1 and Eqn. 2. ๐‘š = ๐‘ฆ2โˆ’๐‘ฆ1 ๐‘ก2 โˆ’๐‘ก1 (1) ๐‘ก ๐‘ = ๐‘ก1 + ๐‘ฆ ๐‘โˆ’๐‘ฆ1 ๐‘š (2) The difference between the two signal times are converted to a rotational speed using Eqn. 3. ๐‘…๐‘ƒ๐‘€ = 60 ๐‘ก ๐‘,2โˆ’๐‘ก ๐‘,1 (3) The mounted sensor and the half white and half black ring are shown below in Fig. 6. 500 550 600 650 700 750 800 850 0 20 40 60 80 100 120 140 160 180 200 SignalOutput Sample Index Optical Sensor on Half Black and Half White Colored Ring
  • 8. 8 Figure 6: Sensor Mount and Colored Motor Ring C. Resistor Circuit Before the data can be analyzed, the output signal must be amplified to widen the signal range and make the data easier to interpret. For this optical sensor, the circuit diagram used is shown below in Fig. 7. Figure 7: Resistor Circuit Diagram The final soldered circuit with jumper cables to connect to the Arduino as well as the unmounted optical sensor are shown below in Fig. 8.
  • 9. 9 Figure 8: Resistor Circuit and Jameco Optical RPM Sensor D. Arduino Connection The controller used to collect the signal data from the Jameco Optical RPM Sensor was an Arduino Uno microcontroller. The resistor circuit was connected to the Arduino using jumper cables as shown in Fig. 7 and Fig. 8. The Arduino was then connected to the computer using a USB B-type connector cable. The Arduino Uno is shown below in Fig. 9. Figure 9: Arduino Uno
  • 10. 10 E. Possible Alternatives In addition to the Jameco Optical RPM Sensor, two additional sensors were examined and compared. These RPM sensors were the Eagle Tree Optical RPM sensor and the Eagle Tree Brushless RPM Sensor. The Eagle Tree Optical sensor was an improved optical sensor which would provide more accurate readings than the Jameco sensor while the brushless RPM sensor measured the rotation speed of the propeller based on the voltage difference being commanded by the electronic speed controller. However, when these two sensors were examined and used to analyze the rotational speed of the spinning motor, it was observed that the sensoroutput data did not provide a wide enough range of values to analyze for a potential periodic pattern. This is due to the fact that no resistor circuit was used to amplify the difference in the output signal. In the future, it may be possible to use these two sensors by designing and implementing a resistor circuit similar to the one used for the Jameco sensor. The Eagle Tree Brushless RPM Sensor is shown below in Fig. 10. Figure 10: Brushless RPM Sensor
  • 11. 11 III. Motor Control The other important subsystem in the analysis of these propellers is the electrical power and motor system. This system consists of a linear power supply, a servo tester, an ammeter, an electronic speed controller, and a brushless motor. A. Linear Power Supply The power to the motor is provided by a linear power supply. This power supply converts the AC current coming out of the wall to a DC current. In addition, it steps down the voltage. It does this using resistors instead of a more conventional power supply, which would use transistors. The linear power supply used for this setup is shown in Fig. 11 below. Figure 11: Linear Power Supply B. Ammeter To measure the current coming out of the linear power supply, a a digital ammeter was connected in series between the linear power supply and the electronic speed controller. The electronic speed controller and the motor were both rated for 40 amps, so the ammeter was used to ensure that this value was never exceeded during testing.
  • 12. 12 C. Electronic Speed Controller The ammeter attached to the linear power supply is connected to the electronic speed controller of the system. This controller takes a commanded input signal and uses that to determine a voltage across the motor. The electronic speed controller has two inputs from the ammeter, three outputs to the motor, and three inputs fromthe servo tester. The E-Flite electronic speed controller used for this systemis shown below in Fig. 12. Figure 12: E-Flite Electronic Speed Controller D. Servo Tester The servo tester in this system is used similarly to a potentiometer as a way to command the input signal to the electronic speed controller. The servo tester is marked in milliseconds which signify the pulse length of the signals. As the pulse length is increased, the current of the linear power supply is increased and the rotational speed of the motor is increased as well. The Astro Flight Inc. servo tester used for this setup is shown in Fig. 13 below. Figure 13: Astro Flight Inc. Servo Tester
  • 13. 13 E. E-Flite Brushless Motor The final part of the power subsystem is the motor. The brushless motor takes the commanded signal from the electronic speed controller and converts it into a mechanical, rotational motion. The motor is mounted onto the test stand in a fixed position. The E-Flite brushless motor used for this setup is shown in Fig. 14 below. Figure 14: E-Flite Brushless Motor IV. RPM Sensor Analysis Once the data has been collected, it must be analyzed to determine the average rotational speed of the motor during the test. There are multiple ways to do this analysis but for the purposes of this test, one particular method was used using an Arduino code, an Excel spreadsheet, and a MATLAB code. F. Arduino Data Gathering Code The first step in the data analysis is the code which gathers the data fromthe optical sensor. This is done by the Arduino microcontroller. The data is gathered and then printed to the serial monitor in a column vector which is displayed on the computer screen. The code for this process is shown in the appendix labeled as Servo_RPM_read.ino. G. Excel Spreadsheet The next step in the data analysis process is to import the column vector data from the Arduino serial monitor into an Excel spreadsheet. This data is then plotted versus a sample index. One example is shown below in Fig. 15.
  • 14. 14 Figure 15: Sensor Output Signal versus Sample Index Example This plot is important because by examining the graphical data, a specific point can be chosen as the designated point for the period analysis. In the plot shown above, the output signal value of 30 was chosen because it occurs on a positively sloped portion of the graph and it only occurs once per period. This makes it simple to determine the period between each time when the signal reaches that value. The other step performed in the Excel spreadsheet is to take the column vector of output signals and transpose it into a row vector. The row vector is much easier to import into MATLAB. H. MATLAB Code The final step in the analysis process is to take the data and the chosen signal value fromExcel and use these to determine the average RPM of the motor. This is done using the RPManalysis.m code shown in the appendix. The time at which the signal value occurs is calculated using the interpolation previously shown in Eqns. 1 and 2. The RPM between each of these points is then calculated using Eqn. 3. Finally, these RPM values are averaged to produce a final average RPM for the duration of the test. One other necessary value for this analysis is the sampling time commanded by the Arduino. For the duration of this testing, the sampling time was assumed to be the Arduino Unoโ€™s optimum sampling time of 10,000 samples per second. However, most likely, the actual sampling time is slightly lower than this optimum value. In order for the data analysis to be accurate, the sampling time of the Arduino must be exactly determined. 0 50 100 150 200 250 300 0 100 200 300 400 500 SensorOutputSignal(~) Sample Index (~) 3D Printed 9x6 Propellerat 1.5 ms Throttle Setting
  • 15. 15 I. Arduino Analysis Code The only drawback to the previously described analysis process is that it requires three steps in three different programs. One alternative to this lengthy process is to create a more complicated Arduino code which calculates the RPM of the motor directly. The problem with this approach is that it can be difficult to predict where a suitable chosen signal output value will occur. For each propeller and throttle setting, the range of suitable values can vary greatly. The most current version of this code is shown in the appendix labeled as Servo_RPM_analysis.ino. Currently, this code encounters problems with the Arduinoโ€™s tendency to round all numbers to integers. V. Propeller Testing Obviously, the purpose of all of this design work is to eventually produce some experimental results. Before any propeller can be tested in a wind tunnel or other capacity, it must first be certified during a safety test. Using a theoretical analysis, a maximum RPM value for each propeller based on stress analysis and a safety factor is computed. The propeller is then placed inside the previously designed safety box environment and spun up to this RPM value to ensure that the real propeller matches the performance predicted by the theoretical analysis. The setup used for this testing was applied to a store bought propeller, a 3D printed 9x6 propeller, a wooden 9x6 propeller, and a symmetrically curved 3D printed propeller. Each of these propellers was analyzed at throttle settings ranging from minimum to maximum power. The final analyzed RPM versus current is shown below in Figure 16. Figure 16: Propeller Testing y = 255.16x + 5293.2 Rยฒ = 0.7482 0 2000 4000 6000 8000 10000 12000 14000 0 5 10 15 20 25 30 RPM Current (amps) Propeller Test RPM Response
  • 16. 16 The graph of RPM versus current shows a clear linear relationship. As the average RPM increases, the current required to maintain this RPM increases as well. There is one outlier at the high current values which could be attributed to variations in the performance motor, the electronic speed controller, or the power supply. VI. Conclusion The goal of these systems is to create a setup which can quickly and easily certify and eventually test the performance of small, self-manufactured propellers. This certification process requires that the propellers be mechanically proven to withstand the RPM value calculated using theoretical stress analysis as well as a built in safety factor. Once these propellers are certified, they will be placed in a wind tunnel for the purposes of analyzing the performance of the propllers in simulated flight situations. VII. Appendix Arduino Code: Servo_RPM_read // initialize all variables, arrays, and the counter int RPMPin = 0; int RPMvalue; int Nsamples = 512; int RPMArray[512]; int count = 0; // For all tests, to keep the test as constant as possible, // the sensor was placed below .125 in below the bottomof the // motor and the lights in the room were turned off void setup() { // initialize serial communication at 9600 bits per second: Serial.begin(9600); } void loop() { delay(250); // read the RPM value from the sensor for (int i=1; i<Nsamples; i++) { RPMvalue = analogRead(RPMPin); RPMArray[i-1] = RPMvalue; } for (int i=1; i<Nsamples; i++) { Serial.println(RPMArray[i-1]); } // use an infinite while loop to stop the void loop while(1<2){ } } MATLAB Code: RPManalysis.m
  • 17. 17 function avgRPM = RPManalysis %input sample rate (samples per second) SampleRate = 10000; %input the RPM sensor signal data fromthe arduino. Data is transposed from %a column vector to a row vector in Excel Signal = [data is placed here]; %determine the number of data points ArraySize = size(Signal); num = ArraySize(2); %create the corresponding array of time Time = ones(1,num); for n = 1:num Time(n) = (n/SampleRate); end %choose a signal output value between 550 and 800 point = 180; PointTimes = []; %Interpolate to find all the time values when the signal crosses your %chosen output value for i = 1:num-1 if Signal(i) < point && Signal(i+1) > point slope = (Signal(i+1)-Signal(i))/(Time(i+1)-Time(i)); tvalue = Time(i)+ (point-Signal(i))/slope; PointTimes = [PointTimes, tvalue]; end end %Use these time values to find the period and convert to RPM RPMArray = []; ArraySize2 = size(PointTimes); NumPoints = ArraySize2(2); for j = 1:NumPoints-1 Period = PointTimes(j+1)-PointTimes(j); RPM = (1/Period)*60; RPMArray = [RPMArray RPM] end %Take an average of the calculated RPMs avgRPM = mean(RPMArray) end Arduino Code: Servo_RPM_analysis.ino // initialize all variables, arrays, and the counter int SignalPin = 0; int Signalvalue; int Nsamples = 512; int SignalArray[512]; int point = 700; int TimeArray[10]; int SampleRate = 10000; int count = 0; int RPMArray[10]; int RPMsum = 0; int RPMavg; int Period; int RPM; int avgRPM;
  • 18. 18 int slope; int time; void setup() { // initialize serial communication at 9600 bits per second: Serial.begin(9600); } void loop() { delay(250); // read the RPM value from the sensor. place these sensor // values into an array for (int i=1; i<Nsamples; i++) { Signalvalue = analogRead(SignalPin); SignalArray[i-1] = Signalvalue; } // determine when the chosen value is crossed in the data. // choose this crossing to be when the signal is increasing. // interpolate between the two data points on either side of // the chosen value to find the crossing time of that value // place all of these times into an array Serial.println('Chosen Point Crossing Times'); for (int i=1; i<Nsamples; i++) { if(SignalArray[i-1] < point && SignalArray[i] > point) { slope = (SignalArray[i]-SignalArray[i-1])/(1/SampleRate); // multiply by 10000 because Arduino rounds all decimals time = ((i/SampleRate) + (point-SignalArray[i-1])/slope)*10000; TimeArray[count] = time; Serial.println(time); count = count + 1; } } // calculate the RPM between each of the times in the time array // place all of these RPMs into an array Serial.println('RPM values'); for (int i=1; i<11; i++) { Period = TimeArray[i]-TimeArray[i-1]; // when calculating RPM, multiply by 10000 again RPM = 60*10000/Period; Serial.println(RPM); RPMArray[i-1] = RPM; } // take an average of the RPMs in the RPM array to get a final // value for the average RPM of the test Serial.println('Average RPM'); // add up all the RPM terms in the RPM array. then divide by // the number of terms to get an average for (int i=1; i<(count+1); i++) { RPMsum = RPMsum + RPMArray[i-1]; } RPMavg = RPMsum / count; Serial.println(RPMavg); // use an infinite while loop to stop the void loop while(1<2){ } }