EspositoWang: Difference between revisions
imported>Projects221 |
imported>Projects221 |
||
| Line 53: | Line 53: | ||
<gallery widths=200px heights=200px caption="Simulation waveforms"> | <gallery widths=200px heights=200px caption="Simulation waveforms"> | ||
File:Royal_Blue_LED_circuit_simulation.png|Royal Blue (447.5nm) LED circuit (without super caps) | File:Royal_Blue_LED_circuit_simulation.png|Royal Blue (447.5nm) LED circuit (without super caps) | ||
File:Royal_Blue_LED_simulation.png|Royal Blue | File:Royal_Blue_LED_simulation.png|Royal Blue LED current waveform | ||
File: | File:Blue_LED_simulation.png|Blue (470nm) LED current waveform | ||
</gallery> | </gallery> | ||
</center> | </center> | ||
Revision as of 00:15, 12 March 2013
Back to Psych 221 Projects 2013
LED Flicker Super Capacitor Design
Background
This projects builds upon the 2012 LED Flicker project. Instead of controlling the LEDs via PWMs, which has properties of flicking between OFF and ON states, the goal of this project is to design a system that provides a constant current through each LED. The design will mimic a camera flash with the use of super capacitors and a 9V battery (to make the design as compact and portable as possible) to flash each LED with 1 amp of current. There are 7 different LEDs on the LED array module and each LED must be flashed so that no two LEDs are on at the same time.
High Level Device Specifications
- Should have at least 7 channels for controlling each LED
- The rate at which the LEDs flash should be adjustable
- To adjust the interval time between each LED flash
- The light intensity shall be constant and be set with ~1A of current
- System design should be modular to allow for quick modifications to system parameters
- Amount of charge caps can hold and amount of current through LED
- Should incorporate the use of super capacitors and a 9V battery for a compact portable design
Device Overview
Design
Components
- LED Array of primary lights
- For the final design : 7-in-1 round assembly LED Array
- Arduino Nano microcontroller [1]
- A circular flat top Heat Sink Diameter ~ 2 1/4th inches
- A perforated circuit board (for the intermediate design) and a breadboard (for making a prototype)
- Circuit components
- 10F and 50F super capacitors [2]
- Fairchild Semiconductor FDS6912A: N-Channel MOSFET [3]
- Fairchild Semiconductor 2N3904 NPN BJT [4]
- TI LM317 Adjustable Linear Regulator [5]
- 0.68 Ohm 7 Watt power resistors feedback resistances
- 1.82 KOhm resistors to connect control signals from the Arduino to the circuit.
- Lever switches
- 9V battery
Circuit

To get a system that produces a stable light output, the LED must be driven by a constant current. An approach to get a constant current is using the circuit to the right. The way this circuit works is that the Rfeedback resistor and BJT combination sense the amount of current flowing though the LED and feed this signal back to the MOSFET gate controlling its voltage and hence the current flowing through it.
The key parameter that must be selected with caution is the Rfeedback resistance since that controls the maximum amount of current flowing through the circuit. This page mentions that an empirical estimate to the maximum current flowing through the circuit is 0.5/Rfeedback. We performed some circuit simulations in SPICE to get a sense of the appropriate parameter values.
Seven copies of this circuit should be made to drive each LED, with the seven PWM output signals coming out from different channels of the Arduino microcontroller.
Method
Simulations
Various simulations in LTSpice was performed prior and in parallel with testing the prototype breadboarded version. The idea was to use the same circuit configuration as in the previous project since the MOSFET and BJT current limits the maximum amount of current through the LED.
- Simulation waveforms
-
Royal Blue (447.5nm) LED circuit (without super caps)
-
Royal Blue LED current waveform
-
Blue (470nm) LED current waveform
Initial Super Capacitor Testing
Although simulations were performed of the LED driver circuit, we wanted to examine the performance characteristics of the super capacitors since we have not used them before. The schematic below shows how the super capacitors were analyzed. The super caps (10F @ 2.5V) were placed in series, which effectively creates a 5F cap with a 5V voltage rating. A lever switch (single pole double throw) was connected in such a way that the supply source (9V regulated to 5V with an LM317) would charge the caps. Once the caps charged to a voltage of 5V, the switch was pressed, which disconnected the supply source and connected it to a resistor in series with a white LED to allow for discharging. An initial load of 40mA was being drawn from the caps and decreasing while the caps were discharging.
With a benchtop power supply, the caps took ~37 seconds to charge fully to 5V. With a load of 40mA and less, it took about 19mins to discharge the caps to around 3V (which effectively turns off the LED). From these observations, we hoped for a 9V alkaline battery would charge in approximately around the same ballpark while discharge time for a 1A load would be a few seconds. There is a significant tradeoff between battery life/capacity and charge time. Charging the battery with a low current supply will increase the longevity of the battery charge capacity, but if charging at a very high current (i.e. 1A), the battery charge will drain exponentially. Videos of the charging and discharging of the caps can be found in the Appendix.
Once the super caps were tested with a bench top power supply, we decided to test the caps charging and discharging time in the same configuration but with a 9V alkaline battery. A 9V battery performance is characterized by milliamp-hours capacity. As shown in the characteristic graphs below, for an energizer max 9V alkaline battery, with a discharge of 500mA, the capacity of the battery is approximately 300mAh. With the discharge trend, a discharge of 1A would have approximately 250mAh of capacity, giving the life of the battery to only 15 minutes for a continuous load of 1A. The 9V characteristic curves as shown below also indicate that the estimated 15 minutes of battery life for the system is an overestimation.
- Energizer Max 9V Alkaline Battery Performance Curves
-
9V battery mAh capacity
-
9V battery characteristic curves
Prototype Circuit
As a prototype for the final circuit, we designed the system on a breadboard. The circuits for each of the seven channels feeding the individual LEDs were small and compact. We modified the existing firmware to parametrize the number of output channels. Once the circuit was ready we connected it to the arduino and gave commmands to the Arduino through the USB port serial interface.

Intermediate Design
An intermediate version of the circuit was designed on a perforated circuit board using the 7 LED round-assembly configuration Luxeon LEDs. The purpose of this design was to run the system under actual operating conditions to verify that all the used circuit element ratings were appropriate for operation. Basically, check whether there were any faults like overheating in specific components.
The LED assembly was fastened with screws on to the flat round surface of the metallic heat sink, and separated by a thin layer of Heat Sink Paste. Wires were soldered onto the terminals of each LED. I color coded the wires as orange to represent positive and white to represent negative, for consistency. The perforated circuit board that I used had dimensions 7.5"x5.5" but this was larger than necessary. The heat sink average circular diameter was 2 5/16ths inch and so I used a hole saw of diameter 2 1/4ths inch to drill a hole in the middle of the circuit board to make the heat sink with the LED Assembly fit neatly through. I arranged and soldered all the circuit components in a circle around the central hole for compact connections to the LEDs.
All the individual circuit grounds were short-circuited and a common ground wire was exposed. Similarly all the positive terminals of the LEDs were short circuited and a common Vdd wire was exposed. The common ground and common Vdd were connected to a female Barrel connector terminal. The barrel connector was connected to the power supply using a standard power adapter. The Adapter specifications were Input: 100-240V 1A 50-60Hz, Output: 5V, 4A DC. The connector was a standard 2.5mm(ID)-5.5mm(OD) connector.
For each individual circuit the PWM signal input port was connected to a wire obtained from stripping an Ethernet Coaxial cable. The reason for this choice was because they could be easily wound together and made to emerge from the unit as a compact collection. The ends of the wires were soldered onto the pins of DIP male connectors so that they could just be slid into the Arduino connection sockets. To prevent the soldered wires from short-circuiting Heat Shrink was used to insulate exposed connections.
At this stage the Pins on the Arduino that were configured to provide the digital PWM output were (Digital) Pins 2,3,5,6,11,12,13.

Results
Circuit Measurements
We performed tests to measure and verify various aspects of our design. We wanted to verify that our circuit design did match the simulation, therefore part of the tests done were to verify the voltage and current. We also did tests to verify the stability of the output from the circuit over time. Finally we analyzed the spectral characteristics of the light emitted from the LEDs.
Circuit voltage and current measurements
We took voltage measurement across the LED and measured the current being drawn from our power supply, which in this case was the Arduino. The results showed that we had a 1.1V drop across the LED and that the total current being drawn from our power supply was approximately 90mA.
We also measured the voltage that was generated from a solar cell that was placed directly over one of the LED's. The voltage measure across the solar cell was 0.2V.
Note the PWM input from the Arduino was a square wave running at 2Khz and was modulated by a sinusoidal was that was at a 3Hz freq. See the following video to get a better idea of how the input wave looks like. [[6]].
Circuit temporal measurements
The LED Flicker device was left to run for 1 hour after the initial measurements were taken. We then remeasured the voltages and currents. The goal of this test was to verify the stability of the circuit.
After 1 hour the voltage drop across the LED was 1.1V and the maximum current drawn by the circuit was 90mA. The measured voltage across the solar cell was still 0.2V. This results did show that the circuit was stable after a 1 hour period.
LED Measurements
We obtained the LED spectral properties using a spectrophotometer. We got measurements for all the seven LED's that we were using. The graph below shows the spectral power distribution on the LED's. The second graph is the normalized version of the first graph. As you can see from the SPD curves the bandwidth of most of the LED's was narrow, apart from the white LED. Also the intesity of the blue and red LED seemed to be the greatest as shown by their SPD curves. We were expecteing to get high intensities and narrow bandwidths with the shorter wavelength LED's and lower intensities and wider bandwidths with the larger wavegth LED's. Our results did not show this and we attribute this mainly to the fact that we were not using the Luxeon 7 pack LED module that we had planned to use. This module has well matched LED's that will give SPD's that would be similar to what we expected. Also another fact is that our resistance values were not matched well with our LED's and this can be attributed to the fact that we did not have the right circuit models for the LED's to do a simulation and get the right resistance values.
- Spectral power distribution
-
Spectral Power Distribution
-
Normalized Spectral Power Distribution
The last set of spectral measurements we performed on the LED's was to capture the maximum intensity as we decreased the mean input voltage/power to the LED. We obtained a linear curve for all the LED's apart from one as shown in the curves below. We believe the curve that was not linear was as a result of that specific LED getting to it's saturation point before the peak power that was being provided.

System Optics (Future work)
The electronic circuitry design and assembly has been completed, however the design and integration of the optics of the system is still pending. This is an interesting challenge. The requirement is a system that is capable of transporting the light from the assembly to a remote location (this will likely be to an fMRI machine).
An idea is the use of a bundle of Optical fibers packed together and sheathed in a plastic tube coating. This would form a reliable and flexible transportation medium. A feature of this design is that bundles from the distinct 7 channel assemblies could be taken and combined in any pattern within the sheath for final delivery. A sample of something that might be possible to do is:

Conclusions
References
[Original Firmware(With 6 channel support)]
[Forked and updated firmware with 12 channel support]
Appendix I - Code and Data
Code
Spice code for simulated circuit: File:Circuit.sp.zip
Arduino code for driving LED circuit: File:LEDFlicker 12channel.zip
Prototype Data
Video of sinusoidal modulated PWM File:PWM modulated.zip
Video of test being run File:OneHourTest.zip
Appendix II - Work partition
Hardware assembly - Tirthankar Chatterjee
Schematic and PCB Layout Design - Tirthankar Chatterjee
Firmware edits - Isaac Chepkwony, Tirthankar Chatterjee
Help and advice from Robert Dougherty, Research Director Stanford Center for Neurobiological Imaging.