jShow -- Pyromusical System I decided to donate some labor to my home town fireworks display. I am an electrical engineer and I like building things. I decided to build a computerized system for shooting fireworks synchronized to music -- a pyromusical system. Such systems already exist commercially but they are far outside the price range of your typical small town fireworks display. I was willing to trade my labor to bring the price down (plus it was fun!). My design goals were - Uncompromising safety
- Lowest possible cost
- High reliability
- Simple operation
The system passed its first test on July 4, 2004 with flyingcolors, literally. It currently supports more than 400 cues and the bill-of-material cost is less than $3 per cue. More details are referenced below.
Safety I took a class, and passed a test, on NFPA 1123 which is the code for fireworks displays from the National Fire Protection Agency. This code covers the requirements of electrical firing systems among many other aspects of shooting fireworks. I designed this pyromusical system in accordance with those requirements. Some of the safety measures employed include - A dead-man switch must be held closed for cues to fire.
- A fuse must be installed to arm the firing circuits.
- Continuity tests occur at only 1 mA.
- Matches are connected to terminals while no power source is present.
When used properly, an electrical firing system can make a fireworks display more safe for everyone involved. Fireworks, fire, and people never have to be at the same place at the same time.
HardwareThe pyromusical system is comprised of 3 main hardware components As you look at pictures of my work, you will see a mix of high-tech and some serious low-tech. Keep in mind that my goal here was a safe, cheap, and reliable system, not a pretty one. System Block Diagram
Hardware components
Bus Controller The laptop computer needs to be able to communicate with the SmartRails. However, the laptop has an RS232 interface and the SmartRails have an RS485 interface. It is the job of the bus controller to convert signals from one interface to the other. The Bus Controller is a simple microprocessor system, very similar to those in the SmartRails. The Bus Controller can receive commands from the laptop and can send data back to the laptop too. This allows us to remotely measure the battery voltage on the Bus Controller from the laptop. We don't want to start the show with a weak battery. Additionally, the Bus Controller generates the heartbeat signal that is routed through the dead-man switch.
SmartRails This pyromusical system, like most, is a collection of firing modules. I have given these modules the name "SmartRail" because the way I built them they look like rails/slats with a built-in microprocessor board. See a SmartRail during construction and another after completion. Hillbilly engineering at its best -- microprocessors and duct tape. Each SmartRail - Has a built-in microprocessor board
- Is powered by a cheap 9 Volt battery
- Has terminal connections for 16 cues
- Includes a firing circuit utilizing a 1 Farad, 5 Volt capacitor
- Has a fuse that must be installed to enable cues to fire
- Utilizes a 1 mA continuity test circuit for each cue
- Communicates over an RS485 bus
- Will cease firing within 1/1000 second of the release of the deadman switch
The microprocessor board on the SmartRail is controlled remotely by the laptop computer. It receives commands from the laptop and sends data back to the laptop as requested. With this design we can use the laptop to remotely control the firing circuits, the continuity circuits, and can even measure the voltage on the 9 Volt battery and the 5 Volt capacitor to make sure they are at acceptable levels. This microprocessor board also has a non-volatile memory that defines when each cue should fire. When the show starts, the laptop will send a command to the SmartRail to start its internal firing clock. This clock is synchronized with the laptop's own internal clock. As the clock reaches the appropriate time to fire each cue, the microprocessor will check for a heartbeat and then fire the cue.
Software The system software includes - a simulation capability that allows me to choreograph the show weeks in advance
- a test capability allows me to verify the hardware is in full working order prior to the show { battery voltages, cue continuity, etc.}
- a normal operation during the show where the laptop plays the music and sends a timing synchronization signal to the SmartRails
Choreography Early in this project I realized I was going to need help with choreography. Engineers are not exactly known for their artistic expression, unless you actually like taped glasses and pocket protectors. I decided that I would need a simulation environment where I could try out ideas and see how they look. This same simulation provides the timing information I need to actually shoot the show. Additionally, there was an unexpected side-benefit of this software. It is a great way to demonstrate our planned show to our sponsors and to encourage them to donate to the cause.
Design considerations Some concepts had considerable influence on my design. Including Large firing area
Consider a show where we want to fire aerial shells ranging in size from 3 inches to 10 inches in diameter. According to NFPA 1123 we must keep mortars at least 70 feet from the audience per inch of diameter. Our 3 inch mortars must be located at least 210 feet from the audience and our 10 inch mortars must be located at least 700 feet from the audience. Why should we put all our 3 inch mortars back at 700 feet where our 10 inch mortars are located? They're gonna look pretty small from that distance. Instead, we will opt for a system that allows for mortars to be spread out over a large area.
Twisted-pair wiring (Large firing area) The system utilizes RS485 to allow for a large firing area. When I demonstrate my system, some people are surprised to learn that a single (twisted-pair) wire connects to all the SmartRails. This is a technique called daisy chaining .
So, even though we can have many SmartRails in the system, and they can be spread out over a large area, the total amount of wiring required is quite small. A total of 1000 feet of (24 AWG twisted-pair) wire at a total cost of $45 ( from Jameco Electronics is more than enough.
Why not wireless? I do wireless digital communications on my day job. I have absolutely no doubt that I could design a wireless system that has the range and reliability of my current wired design. However, it would be more expensive and would only save me the trouble of running 1 cheap (twisted-pair) wire. If there were a real benefit to wireless I would do it. I'm not going to do it just for fun though.
Total capacity (Expandability)
An obvious question is "How many cues does your system support?". The short answer is infinite. Each SmartRail supports 16 cues and we can add as many SmartRails as we want. However, there are some caveats. The system gets a little more complicated once you get above 400 cues. The RS485 bus will require a repeater unit to extend to more SmartRails. I probably shouldn't make any promises above 400 cues until I test the repeater unit, but I'm pretty sure it will be straightforward. The system gets even more complicated above 10,000 cues but until and unless someone wants more than 10,000 cues I won't give it much thought.
Operation (Timing accuracy) A timing signal is sent once per second throughout the show to all the SmartRails. Even though the SmartRails have different clocks, each with up to 1% errors, they are all re-synchronzed once per second so they never differ by more than 1/100 second.
Audio (Timing accuracy) The headphone jack on the laptop is connected to either a small FM transmitter ( Ramsey Electronics ) or an amplified sound system. The laptop plays the audio for the show and sends a timing synchronization signal to the SmartRails to keep them in sync with the music. Improved accuracy (Timing accuracy) I know how to improve the timing accuracy to 1/1000 second. I can calibrate the one clock on the bus controller that generates the heartbeat signal and then use the heartbeat itself to drive the clocks on the SmartRails. I could have done that last year but was reluctant because of some technical details. Now I have those details better understood but I am still reluctant to change because the difference between 1/100 accuracy and 1/1000 accuracy seems moot. I have personally measured variation in lift times among identical shells to be in the 1/10 second range. Power (Low voltage) The bus controller and all the SmartRails are powered by standard 9V batteries, one per each unit. The cheapest 9V batteries I can find cost less than $0.50 each. Even those will provide power all day if necessary. In practice though, the batteries are only installed if we need to do a continuity test or to fire the show. Otherwise, I keep them in storage for safety.
Firing circuit (Low voltage) The ultimate goal of the SmartRail is to fire electric matches. Manufacturer specifications for these matches vary as do their recommendations for how to fire them. A very conservative approach is to supply 1 Amp for 40 msec to each match that has nominally 2 Ohms of resistance. The basic core of the design is the firing circuit that provides this current. I opted for a capacitive discharge design like many others with one exception. I use a very low 5 Volt design. Some in the pyrotechnics industry will be surprised by that, because their experience is almost exclusively with 12/24 Volt battery powered systems or high-voltage (200+ Volts) capacitive discharge systems. This 5 Volt design does work, it is a simple matter of Ohm's Law. The key is that the power source has to be located close to the electric matches to minimize the amount of wire and associated resistance. In my design there is a huge (1 Farad) capacitor on each SmartRail and less than 0.5 Ohms of wire resistance between the capacitors and the matches, including the leads of the matches themselves. The capacitor is charged over a 15 minute period from the 9V battery via a 5 Volt regulator. Once fully charged it can deliver 16 separate pulses of 1 Amp and 50 msec duration each to the 16 cues on the SmartRail. The cues cannot fire exactly simultaneously on this one SmartRail. They must fire sequentially, separated by at least 50 msec. All 16 cues can fire in 800 msec total. Note: The 50 msec separation between cues applies only to cues on the same SmartRail. Cues on two different SmartRails are completely independent and can indeed fire simultaneously. One match per cue The decision to utilize a 5 Volt capacitive discharge design was not without consequence. It certainly does guarantee the 1 Amp and 40 msec duration for each match but only if we fire 1 match per cue. This was no doubt my most difficult design choice. I agonized over this and weighed the pros and cons. Ultimately, I stand by my decision. Consider - My "small-town" shows have a very, very limited budget and the audience expects a long-duration show (20+ minutes). We simply cannot afford to shoot lots of aerial shells on each cue. We basically shoot one shell at a time.
- Any method of increasing the number of matches per cue results in an increase in cost, an increase in complexity, a decrease in reliability, or some combination of all three.
Furthermore, there are actually some nice benefits to limiting each cue to one match, including - No parallel circuits, series circuits, or combinations thereof to worry about. No calculations required to ensure adequate current to each match. This is good because not all shooters working at a display will have degrees in electrical engineering. Wiring the show is very fast.
- No dependencies between matches. If matches are wired in series then one match that fires early can cause the others to fail.
- Continuity is meaningful. If matches are wired in parallel, you could read good continuity on 1 match and miss the bad continuity on several others.
- No extra wire. The professional guys often have to add a lot of extra wire to accomplish their series/parallel circuits because the matches they want to fire on the single cue are in different locations.
Videos Videos from 2005 that demonstrate the system in action. The live action videos are courtesy of Lucas Myer . He is apparently unaware that photographing fireworks is supposed to be difficult. He makes it look easy. You can see more of his stills here . This is a video screen capture of my simulation software for an important element of the show. Please forgive the slight jumps in the video/audio, that is an artifact of the screen capture process. It isn't there otherwise. For months I was telling people "The audience is going togasp, right here." I was right! Here is the same section of the show in reality. Note: I rarely try to simulate a particular shell. I use the simulation for timing, pacing, and sizing of shells. In some cases, Red/White/Blue, Gold Willow, Mines, etc., I'll insist on a particular shell at a particular cue. In this video only the cake really mattered, everything else was just assorted. Enjoy.
Pictures System picture(s) Bus controller picture(s) SmartRail picture(s) Other picture(s)
Upcoming shows - Sat. July 2, 2005, Noel, MO
Noel is having a "Down on Main Street" celebration. They will stop traffic on Main Street for the day to allow for a carnival, food, music, etc. Fireworks will be shot from the river bank in North Noel. The fireworks are choreographed to a patriotic selection of music transmitted over an FM radio signal. There is a little something for everyone, country, rock, classical, christian. Don't forget to bring a radio so you can listen in. I don't know the FM frequency yet, look for the signs when you get there. - Mon. July 4, 2005, Huntsville, AR
Independence Day celebration at Mitchusson Park near the Airport. The fireworks are choreographed to a patriotic selection of music transmitted over an FM radio signal. There is a little something for everyone, country, rock, classical, christian. Don't forget to bring a radio so you can listen in. I don't know the FM frequency yet, look for the signs when you get there.
About Lance Porter Personal My name is Lance Porter. I live in West Fork, AR with my wife, Shelly, and our three wonderful boys, Dirk 15, Eric 13, and Ryan 10. We moved to West Fork a few years ago when the economy was hot and companies were willing to do anything to keep employees happy. What makes me happy is doing the work I love (electrical engineering) while living in the area I call home (Ozarks) and raising my boys right -- hunting, fishing, driving pickup trucks... We were really tired of city life. Anyway, my company allowed me to move anywhere I wanted and work from home. The story is a little more complicated than that but you get the idea.
Work I have been an electrical engineer for the past 15 years. I currently write software for cell phones. You know the cool ring tones? That wasn't me. You know the games and pictures and stuff? Not me either. You know how sometimes, for no reason at all, your phone call ends abruptly when you are in mid-sentence? Yep. That is my fault.
History with fireworks For many years we would spend the 4th of July with my family in Huntsville, AR. We would go to my uncle's house and shoot fireworks in his backyard. Every year the shows got bigger and bigger, until eventually we outgrew the backyard. We were shooting exclusively commercial fireworks (1.4G) and I was primarily just a spectator until 2003 when my uncle went to fireworks school with some of his Fire Department buddies. That year we had the most amazing back yard fireworks display with the professional grade (1.3G) fireworks. Did I mention my uncle is the Fire Chief? He could basically write his own permits for fireworks displays back then. It was cool. Sigh. With the bigger (1.3G) fireworks I suddenly got interested. I struck up a conversation with my uncle about how I could help. Right then, while the fireworks were still overhead, we laid out the basic framework of the system we now use. Our backyard display that year was pretty hard to miss and several local businessmen contacted my uncle about having him shoot a show in 2004 for the entire town. I got busy researching, designing, writing, building, etc. and the rest is history.
Glossary - Firing fuse
This is an important safety feature. A firing fuse is required on each SmartRail before any cues can fire. These fuses are not intended as any current protection like most fuses. Instead, these fuses serve as a cheap but effective switch. These fuses are analogous to the keyed arming switches found on the firing modules of many professional systems. These fuses are kept in the possession of the lead operator until showtime.
- Heartbeat
Heartbeat refers to the signal that is routed through the deadman switch and then broadcast on the RS485 bus to all SmartRails. This heartbeat is considerably faster than a human heartbeat -- 1000 times per second. If the deadman switch is released then the heartbeat stops and no more cues can fire on any SmartRail.
- Non-volatile memory
The memory on-board a SmartRail will remain valid even if power is removed. This allows SmartRails to be programmed for a given show weeks in advance.
- RS485
RS485 is a communication standard that allows devices to be located great distances apart from each other. RS485 requires a twisted-pair of wires to achieve reliable transmission up to 4000 feet, or even farther with repeaters.
|