By introducing the relay switching circuit, I introduced a delay in the start-up of the light source. By checking the relays data sheet, I discovered that the operation time (switching time) of the relay was about 10 milliseconds. ()
This has no tangible effect on the investigation. This is because only light sources available before data logging begins will effect measured response times of the cell; If the light starts before voltage logging begins, the nominal voltage from the cell will be reached faster. However, this delay would only serve to introduce the light after the data logging has begun, which would make response times appear longer. Luckily, this can be calibrated out in software:
In the excel spread sheet I created for results, I introduced a variable for the data, which would correspond to the first time value that the voltage increased; any data points before this first voltage spike would be eliminated. (Not used for gradient calculation)
Ultimately, I wish to only alter the wavelength of light I aim at the solar cell, but only modifying one variable means that many others must remain constant. Since I am only changing the photons energy, it is imperative that the number of photons emitted from the LED are constant between different wavelength LED’s.
The LEDs will therefore have to be calibrated,. Manufacturer tolerances of LED’s range from +- 10% on this factor so to attempt to maintain this value, I will have to measure the brightness of each LED and adjust its drive voltage until they are roughly constant. Drive voltage was measured across power supply with a DMM.
Rate of data transfer
Data enters the computer at 115200 bits per second, which makes data transfer rate a limiting variable:
Roughly 12 numbers are sent for every measurement taken, therefore 96 bits are required (12 numbers, 8 bits per number (ASCII) 8*12=96).
In a best case scenario, we would see 10,000 values returned over the USB connection, as the code is set to delay each voltage read by 100 micro seconds (1 Second/100x10-6 =10,000). This would mean we would need bandwidth for 960,000 bits per second, whereas we only have 115200 available.
This reduces the data output of the microcontroller by roughly a tenth, and so the actual number of measurements that will be sent will be (in a best-case scenario 1200: 115200/96=1200
To avoid saturating the connection, I recalculated the delay time by dividing 1 second by 1200 measurements
I then implemented this in the program code. This provided a roughly equal amount of data points but without saturating the bandwidth of the serial link, meaning the time delays between the “Time elapsed” were more constant. This served to make the data set more comparable between data collection across different LED’s.
Experiment Layout Explanation
The variable power supply exists on a separate circuit to everything else, connected only to the 9 volt LED. The relay terminals you see the ground and +- 9v wires leading into provide a means of controlling whether the circuit is open or closed. When closed, the LED is lit.
Pulling digital pin 10 on the Microcontroller to Ground controls the relay circuitry. When the pin is HIGH, the LED driving circuit is closed.
The LED is 15 centimetres away from the panel, to provide a constant distance I can use to compare all LED’s.
Voltages from the solar panel are read in via an analogue pin on the microcontroller. The negative connection from the solar panel is fed to Ground on the Arduino.
The Arduino concatenates the time elapsed since the LED was activated with the voltage readout from the solar panel, and this is sent over a USB serial connection to the laptop.
- The voltage on the power supply is adjusted until the LED lights. As the LED will not be lit when the relay is not activated, the relay is shorted with a piece of wire whilst the supply voltage is adjusted.
- The short across the relay is removed so that the relay is now in control of the LED’s on/off state.
- The LED is moved 15cm horizontally away from the solar panel
- The data logging begins via startup of the serial monitor on the computer.
- Data is exported to an excel document via a tab delimited text document.
- LED colour is changed.
- Adjust LED drive voltage to established value.
I intended to collect 4 sets of results from each LED wavelength, average them to 3 significant figures and then calculate the gradient from this data. These results would be in a table consisting of a column for ‘time elapsed (µ)’ and another for ‘Output voltage (v)’:
The results will then be plotted onto a scatter graph with the X-axis representing the time elapsed, and the Y-axis representing the solar cells output voltage. A scatter graph was chosen so as not to indicate directly linear voltage increases where none exist. The point that the voltage plateaus (stabilises) will represent the response time. This value will inevitably be lower for lower wavelengths (as lower voltages are produced). This is why gradient is being used as a consistent measure across LED’s; it remains unaffected by higher/lower output voltages provided by the solar panel from different wavelength LED’s.
I would then repeat this 10 more times to have 10 different values for the gradient (rate of voltage increase). Due to the sheer volume of data collected, I will have the appendix stored on a Compact disc.
Gradient outliers will be identified and eliminated by establishing whether they lie outside 1.5 x IQR of the data set.
Trial runs of data collection have provided 992 data points, however it is apparent that the voltage is stable onwards from the 100th data point. To make data handling an easier task, the data set will be trimmed past this point.
I will take the region of the graph that is roughly linearly increasing, and calculate the gradient of it from its minimum and maximum values to find the rate at which the response time is reached. A line of best fit will not be plotted through this data as it could be significantly skewed away from the true response rate gradient. This is because a ‘best fit’ is not needed; it would serve only to obscure the true values for rate of response. Here is the Red LED dataset gradient as shown by the trendline and by manual gradient calculation from Max/Min values:
This would have introduced an uncertainty of -3% (((118.43-122.4)/122.4) x100)
The gradient will provide a comparable metric that I can use to prove whether or not the photons energy increases the speed at which electrons are freed from their bonds. The higher the gradient, the faster the electrons are released; the lower the gradient proving the opposite.
Preliminary Experimentation Data
I collected the 4 sets of results for all LED’s and then calculated the average output voltage at every elapsed time measurement. The individual data sets are what you will see in the appendix disc (Disc://Preliminary), though the graphs will be shown here:
Change in Y = 2.1 – 0.1 = 2.0
Change in X = 16404x10-6 – 3628x10-6 = 0.012776
Gradient = 2.0/0.012776 = Increase of 157 Volts per second
Change in Y = 1.7– 0.1 = 1.6
Change in X = 16404x10-6 – 3628x10-6 = 0.012776
Gradient = 1.6/0.012776 = Increase of 125 Volts per second
Change in Y = 1.8 – 0.1 = 1.7volts
Change in X = 21152x10-6 – 3628x10-6 = 0.017524 seconds
Gradient = 1.7/0.017524= Increase of 97 Volts per second
I reduced uncertainty in the experiment in a number of ways, namely by repeating the experiment multiple times. Though this helps to eliminate random error, systematic errors could have repeatedly appeared. To resolve this, I set about analysing every aspect of my method for faults:
Limitations of Method
LED Centering on Solar Panel
When an LED was placed in the crocodile clip mount, its beam did not always directly line up with the centre of the solar cell. This reduced the nominal voltage the panel was capable of outputting when subjected to the LED’s light, and so reduces the consistency of my results. Results would not be repeatable after placing the LED back into the crocodile clips. To correct for this, I bypassed the relay mechanisms and left the LED powered whilst I adjusted the centre of its beam to the centre of the solar cell. I then unshorted the relay.
It is important to note that this uncertainty will have a minimal impact on my results; the gradient will remain unchanged regardless of the lower/higher peak voltages. This is only being accounted for to increase the consistency across my data set, so as to firm up the reliability of the conclusions I draw from it.
Distance between LED and Solar panel not kept completely constant
Whilst the LED mount was taped to a table, the solar panel was not. Securing both the LED mount and solar panel to a 15cm ruler with duct tape quickly rectified this. The photons energy would not be impacted at all across such a small distance change, and as the LED’s are so focussed, all of the light arrives at the same point regardless of distance. Again, this was only corrected so that the results would be consistent across LED’s.
Limitations of Instrumentation
Resolution of Arduino
The resolution of my Arduino Uno’s voltage data logger is to 2 decimal places (e.g. 1.2v). The significance of this is that I am hindered when identifying the response time. I must first find the mode output voltage of the solar panel, and read downwards to the X-axis to find out the response time of the solar panel. However, as the voltage is rounded to 1 d.p, the actual response time of the cell may be lower than that which is identifiable from the rounded voltage. As I will be calculating gradient from the change response time and the voltage increase, I want to be sure these values are as accurate as possible to reduce any ill effects on my results. I replaced the Arduino Uno with an Arduino Mega, which makes use of a 10bit Analogue to Digital converter (ADC), allowing me to get higher resolution data.
By repeating the above Green LED results with the Mega, the rounding effect demonstrated by the Uno was shown to add up to ±9.4x10-4 seconds (12784-11844 microseconds) to my response time values.
The uncertainty introduced to my gradient was calculated using:
(Incorrect value - Actual value) / Actual value x 100= Percentage error value
These uncertainties are specific to every data set and, as they have been eliminated by the use of higher resolution equipment, are now irrelevant to the rest of this investigation.
Uncertainty of LED Wavelength
When it finally comes down to plotting the final rates of voltage increase against the LED wavelengths, there will be an uncertainty in the wavelength of the LED. Manufacturing tolerances of these LED’s range from ±5% in terms of wavelength. The brightness of the LED can be calibrated out, but nothing short of purchasing higher tolerance LED’s will rectify the range of wavelengths. This can therefore not be rectified. I will express this uncertainty on my final graph with error bars. The LED uncertainties will be 0.05 multiplied by the stated wavelength, to get ±5%:
Green : 550±27.5
Largest Uncertainty: Response Time Accuracy
The data sheet from the Arduino Mega specs the microcontroller at a 16mhz clock speed. When booted, the bootloader loads the code and this has an overhead that can range wildly (±20 microseconds). As such, the micros() function I am using to represent response time in my code has an uncertainty of ±20 microseconds. The real response time could lie anywhere ±20 microseconds from the stated value. There is nothing I can do to eliminate this uncertainty, so it will have to be expressed in the form of error bars in my graphs.
This uncertainty forms a part of my gradient result, and so will have to be expressed as a part of that gradient. One can find the percentage uncertainty in a result by adding together the percentage uncertainties in each individual measurement. I will therefore calculate the uncertainty percentage individually in every response time for maximum voltage, add the response time uncertainty percentage for minimum, and write it down as a part of the gradients uncertainty. This will be presented in a table such as this:
Final Results and Data Manipulation
Green (Data and Graphs on disc: disc:/Results/Green)
None of these values lie outside of 1.5 x IQR and hence none are labelled as outliers. The standard deviation of the data set is 1.16 as determined by the equation:
Given the excessive amount of precise data (all data lie relatively close to one another) I have collected, I am able to use the mean average of the values, to obtain the most reliable piece of data. Adding all values and dividing by 10 calculates the mean of this data set:
The uncertainty within the data set is calculated by taking the maximum value away the minimum value and dividing this by the max value, then multiplying by 100:
((117.5-114.42)/117.5) x 100 = ±%2.6
This will have a place in the uncertainty table for the LED under Data set Gradient uncertainty.
As response times remained constant across all trials, I only had to calculate the uncertainties for the maximum and minimum voltage responses once. Here is data from the first trial:
Min Voltage Uncertainty: (20/3628) x 100 = 0.55%
Max Voltage Uncertainty (20/16388) x 100 = 0.12%
Total uncertainty percentage was the response time uncertainty added to the Gradient data set uncertainty: 2.6+0.67=3.27%
This was finally converted into a ± value by calculating 3.27% of 116.61:
0.0327 x 116.61 = 3.8
Violet (Data and Graphs on disc: disc:/Results/Violet)
None of these values lie outside of 1.5 x IQR, and so again I have no outliers. The standard deviation of this data set is 0.45 (using the same equation as for the Green LED), indicating that these results all lie very close to one another. This strengthens the reliability of my data as there is very little random error. The mean of the data is 67.62 and I will take this as my final gradient value.
The uncertainty within the data set is ((68.29-67.08)/68.29) x 100) = 1.8%
Again, response times remained constant across all trials; I only had to calculate the uncertainties for the maximum and minimum voltage responses once. Here is data from the first trial:
Min Voltage Uncertainty: (20/3628) x 100 = 0.55%
Max Voltage Uncertainty (20/20176) x 100 = 0.1%
Using the same methods as described for the Green LED, here are my violet LED uncertainties:
Red (Data and Graphs on disc: disc:/Results/Red)
Again, none of these values lie outside of 1.5 x IQR, so I have no outliers in any of my data sets. The standard deviation for this data set is 1.13, indicating that all of the values are precise. The mean of this data is 191.01 and I will take this as my final gradient value.
The uncertainty within the data set is ((192.11-188.73)/192.11) x 100) = 1.76%
No surprises here, again response times remained constant across all trials; I only had to calculate the uncertainties for the maximum and minimum voltage responses once. Here is data from the first trial:
Min Voltage Uncertainty: (20/3628) x 100 = 0.55%
Max Voltage Uncertainty (20/15444) x 100 = 0.13%
Using the same methods as described for all previous LED’s, here are my red LED uncertainties:
Effect of performing a preliminary to identify uncertainties
Performing a preliminary served well in ironing out the flaws in my method and equipment, as is visible from the percentage errors between Preliminary results and final values:
Had I not performed a preliminary, my results would show no correlation at all, which would jeopardise the entire investigation. This highlights the importance of trial runs in any scientific venture. The preliminary results were off by a lot, between 20 and 60 percent. The changes outlined in my ‘Reducing Uncertainty’ section helped to increase the precision and accuracy of my results significantly.
Graphs, discussion of accuracy and Conclusion
As my investigation involves analysing and investigating whether any correlation exists between the wavelength of an LED and the rate of response of a solar cell, I would have to plot the two against each other in a graph to graphically represent the data. I used a scatter graph so that each LED’s wavelength could be displayed independently as a point, with appropriate error bars based upon previously established margins of error. This graph is located on the next page and on disc at Disk://Final/Overall
The data’s product moment correlation coefficient, as calculated in excel using the =PEARSON function, is 0.98. This indicates an extremely strong correlation exists (due to its proximity to 1).
This leads me to believe that without a doubt, the wavelength of an LED is directly linked to the response time of the solar panel. The higher the wavelength of light, the faster the cell will reach its nominal voltage. Whether this transfers down to the speed at which electrons are released from their bonds is unclear without significantly more advanced investigations. When abstracted away from the atom and electron, my results stand in good stead. I am extremely confident in my conclusions due to the small standard deviations in my data sets, and resulting minute uncertainties. No doubt, this would have been impossible to achieve without the inclusion of a preliminary investigation. My careful use of data logging equipment, and ability to keep other variables constant, produced results which lack systematic error and contain incredibly small random errors. When you consider the scale at which my results are at (in the microsecond range), achieving any better would require far more advanced lab equipment which a 16 year old boy can neither afford nor operate (yet).
Possible Improvements to method
Use of dedicated circuitry
Rather than relying on a microcontroller that plays host to a bootloader and other background I/O, I would develop dedicated circuitry to trigger exactly on time and produce higher resolution data at smaller intervals. I would incorporate shielding into the design to minimise external influence on the data and use transistors to trigger data logging. The solution would run at a higher clock rate to achieve data at smaller intervals. These would all serve to reduce the random error visible in my gradient results, which can be up to ±2%. Reducing this would help to increase the product moment correlation coefficient of my data, so as to increase the strength of my conclusion.
Use of permanent mounting mechanisms
To reduce any uncertainties introduced by positioning of equipment, I would have a dedicated mounting rig set up that cannot be moved. This would help to maintain the LED at a constant distance, reducing any chance of error. It would also allow the LED to always be focussed directly on the solar panel.
Use of higher tolerance LED’s
The LED’s I purchased were manufactured cheaply in a Chinese factory in bulk. The resulting manufacturing tolerances stated on the LED’s datasheet were ±5-10%. I would make sure to purchase more expensive LED’s which match the datasheet exactly, meaning the wavelength I was given would have no (or very little) uncertainty. This would, again, reduce the uncertainty of my results and put more strength in an already strong conclusion.
Please find attached to this document the appendix disc.