High Speed Digitally Controlled Strobe
I worked part time in a physics lab where the main objective was presenting physics principles in a way that helps students of all ages to understand visually. This lead to a lot of fun projects and demonstrations were always in need of design, building and rebuilding.
One of the projects I spear-headed was a digital strobe bar, made of white LED's and controlled with a set of Arduino boards. To preserve timing, and prevent interrupts from delaying pulses, one Arduino Mega is used to run menu commands and manage user input, and output a digital number representing the desired delay time of one full pulse cycle.
User inputs are obtained from arrow keys and a select button along with an LCD display to provide feedback, particularly the current frequency at which the strobe is flashing. A cursor is displayed above the frequency, and can be moved left and right to represent incrementing by tens, ones, tenths or hundreds of Hertz. Once this frequency is digitized, the inter-pulse delay time is found by inverting the frequency and subtracting the pulse width. Since menu commands would occasionally interrupt this relatively slow processor, this pulse width time value is then sent via wire to another Arduino (an Arduino nano) board, which generates the desired pulse pattered and outputs a high speed digital signal.
The output signal is used to switch a MOSFET, which is essentially a high power transistor. This allows for very high currents and higher voltage to be switched on and off almost instantaneously. This particular MOSFET is used to provide power to the LED bars.
When the Arduino nano is providing these pulses at high enough speed, and the pulses have a sufficiently short pulse width, the lights generate a powerful strobing effect that illuminates quickly and clearly whatever the LED's point at.
The Arduino Mega also receives power from the main bread board, and shares a common ground with the rest of the circuitry.
Two resistors are in connecting the MOSFET, one to limit the current that can flow from the Arduino into the gate pin. This one is not necessary for normal operation as the Arduino will generally never provide very much current, but it is used to protect both the Arduino and the MOSFET in the event that it did. The other resistor is used as a 'pull-down' resistor, which brings the gate pin of the MOSFET down to 0 volts whenever a signal is not present from the Arduino
Here are a few pictures of the menu displays.
Because the LED's will only be on for very brief periods, around 200 micro seconds, they won't produce the same level of visible brightness as when the are run continuously. Fortunately, LED's current ratings are given for continuous operation, and reflect the ability of the LED to dissipate heat during normal operation. Since the pulse will be so short, the heat dissipation will be much greater thanks to the long 'off' periods in between pulses. This being the case, the LED's can take much more current than stated provided it's in short pulses.
Modifying the LED circuit to accept more current than it was designed for is a process called "over-currenting" and does exactly that. A lower resistor value allows more current through the LED's during their pulses means more light is generated. The long cool-down periods in between these short pulses means that the LED's won't over heat, and everything runs smoothly.
In this case, I de-soldered the existing current limiting resistor and replaced it with a 2 ohm resistor on each of the LED mounting boards.
These LED bars were then mounted on a temporary bar to test their illuminating capabilities.
This bar was originally designed for a bubble-drop machine used to illustrate acceleration due to gravity by catching falling bubbles in different flashes of a strobe light. Below is a video of testing this LED bar on the bubble-drop demonstration.
Another equally interesting demonstration uses a flexible metal belt with one end fixed and the other connected to a modified Jig-Saw to show how high-speed vibrations cause nodes and antinodes to appear at certain places on the line. This one is normally shown with regular lighting, but the strobe bar makes the vibrating line appear to move in super slow motion, as the pulses catch the belt in about the same position with each flash.
One of the projects I spear-headed was a digital strobe bar, made of white LED's and controlled with a set of Arduino boards. To preserve timing, and prevent interrupts from delaying pulses, one Arduino Mega is used to run menu commands and manage user input, and output a digital number representing the desired delay time of one full pulse cycle.
User inputs are obtained from arrow keys and a select button along with an LCD display to provide feedback, particularly the current frequency at which the strobe is flashing. A cursor is displayed above the frequency, and can be moved left and right to represent incrementing by tens, ones, tenths or hundreds of Hertz. Once this frequency is digitized, the inter-pulse delay time is found by inverting the frequency and subtracting the pulse width. Since menu commands would occasionally interrupt this relatively slow processor, this pulse width time value is then sent via wire to another Arduino (an Arduino nano) board, which generates the desired pulse pattered and outputs a high speed digital signal.
The output signal is used to switch a MOSFET, which is essentially a high power transistor. This allows for very high currents and higher voltage to be switched on and off almost instantaneously. This particular MOSFET is used to provide power to the LED bars.
When the Arduino nano is providing these pulses at high enough speed, and the pulses have a sufficiently short pulse width, the lights generate a powerful strobing effect that illuminates quickly and clearly whatever the LED's point at.
The Arduino Mega also receives power from the main bread board, and shares a common ground with the rest of the circuitry.
Two resistors are in connecting the MOSFET, one to limit the current that can flow from the Arduino into the gate pin. This one is not necessary for normal operation as the Arduino will generally never provide very much current, but it is used to protect both the Arduino and the MOSFET in the event that it did. The other resistor is used as a 'pull-down' resistor, which brings the gate pin of the MOSFET down to 0 volts whenever a signal is not present from the Arduino
Here are a few pictures of the menu displays.
Because the LED's will only be on for very brief periods, around 200 micro seconds, they won't produce the same level of visible brightness as when the are run continuously. Fortunately, LED's current ratings are given for continuous operation, and reflect the ability of the LED to dissipate heat during normal operation. Since the pulse will be so short, the heat dissipation will be much greater thanks to the long 'off' periods in between pulses. This being the case, the LED's can take much more current than stated provided it's in short pulses.
Modifying the LED circuit to accept more current than it was designed for is a process called "over-currenting" and does exactly that. A lower resistor value allows more current through the LED's during their pulses means more light is generated. The long cool-down periods in between these short pulses means that the LED's won't over heat, and everything runs smoothly.
In this case, I de-soldered the existing current limiting resistor and replaced it with a 2 ohm resistor on each of the LED mounting boards.
These LED bars were then mounted on a temporary bar to test their illuminating capabilities.
This bar was originally designed for a bubble-drop machine used to illustrate acceleration due to gravity by catching falling bubbles in different flashes of a strobe light. Below is a video of testing this LED bar on the bubble-drop demonstration.
Another equally interesting demonstration uses a flexible metal belt with one end fixed and the other connected to a modified Jig-Saw to show how high-speed vibrations cause nodes and antinodes to appear at certain places on the line. This one is normally shown with regular lighting, but the strobe bar makes the vibrating line appear to move in super slow motion, as the pulses catch the belt in about the same position with each flash.
No comments:
Post a Comment