Musical Tesla Coils

created 6/19/07

    In the past many Tesla coilers experimented with audio modulation of the output sparks from their solid state (or vacuum tube) tesla coils.  Solid state coils are particularly well suited to audio modulation because of the very high level of control over the operation of the tesla system.  There are many ways of modulating a SSTC (solid state tesla coil), the 2 most popular being AM (amplitude modulation) and what i will call "PRF Modulation".  PRF stands for pulse repitition frequency.  The reason these 2 modulations exist, is because there are 2 (actually more) distinct types of SSTC.  Those that can produce a continuous spark output (that is, a flame like plasma that exists at 100% duty cycle) and those that make what appear to be a continuous spark, but are rather producing sparks at several hundred times per second with a rest between each spark event.  The first (continuous) type of SSTC lends itself to audio modulation.  Normally the output spark is a silent plasma flame.  By modulating the amount of power put into the plasma flame, we can modulate the physical volume of the plasma.  Modulating the size of the plasma will cause the expansion/relaxation of air surrounding the plasma, thus producing sound waves.  These have actually been around for decades using vacuum tube drive.  See this link for more details:

http://www.richieburnett.co.uk/cwsstc.html

    The other main type of modulating your SSTC is the PRF modulation.  Normally, a tesla coil might produce sparks at exactly 120 times per second, or in the case of a SSTC, you can choose this frequency to be just about whatever you desire.  So, why not make the coil play a low C at 130.8hz?  Or, why not allow it to play the entire scale?  The idea is simple really, fire off sparks at a rate equal to the frequency of the musical note you want to play.  The controls behind it is the tricky part.  The remote control for my SSTCs could easily sweep a wide range of frequencies, but this isnt music yet, since its a continuous spread of frequencies as i turn the frequency knob up and down.  But, using a micro controller, a program  can be written to make this continuous frequency range into a discrete set of frequencies: musical notes as we know them. 

VIDEOS:

http://www.youtube.com/watch?v=9X_NbBWvJZk

http://www.youtube.com/watch?v=3GlLO9rC0qU

http://www.youtube.com/watch?v=jVRvqhjtMWM

http://www.youtube.com/watch?v=2M3Kxh7BqHY

(there are others out there, but these are quick access you tube videos).

Mark 1:

Get a micro controller to behave around the massive E-M field of a tesla coil.  Simple enough, stuff the micro in an aluminum box, power it from an isolated power supply (battery) and send its output optically, so there is no electrical connection from the micro controller to the world outside of its nice faraday shield. 

Mark 2:

Program in a table of musical tones for the micro controller to spit out to the SSTC.  The SSTC basically has a 1 bit input, which is either ON or OFF.  Likewise, the coil is either producing a spark while this bit is a 1, or is "dead" while 0.  These bits are sent out at a specific frequency, to produce sparks at that frequency.  Each time the coil is "ON" a single spark is produced.  That's right... if you left the output ON indefinitely, you would only hear 1 pop, and then see a plasma flame produced from the coil (unless of course the thing just explodes from too much power).  Ok, so set up an array in the software to have the timer's pick from a list of pre-programmed notes. 

Mark 3:

Write a routine (in software) to play "music".  Basically, pick a note to play, tell it how long it is to play that note, and then move on to the next note (or rest).  This is a real brute force method, but allowed me to put a few sampler "songs" right into my control box without needing any external sources to supply the musical sequences.  The problem is that 1) programming in complex music is extremely tedious, and 2) micro controllers don't usually have more than a few 10kB of program memory (so you run out of memory fast).  But, on the plus side, this method allows me to set the tempo, volume and octave on the fly (which can be heard in the videos).

Mark 4: (current status of project)

Connect a MIDI source to my control box.  This MIDI source can be either an instrument with MIDI output or a computer.  I bought a laptop, mostly motivated by this project.  MIDI data is fed into the micro-controller's USART and decoded in software.  Each MIDI note is stored in an array on the micro controller, it simply must play whatever note the MIDI instruction calls for.  Pretty straight forward once all the supporting routines were programmed from before.

Realizing that I have many SSTCs around (2 rather large ones, which can produce 12 foot sparks ant 6 foot sparks each) I decided to upgrade my control box with a secondary micro-controller, giving me the ability to control 2 SSTCs at the same time.  They can either be run synchronously (where both coils receive the same ON/OFF commands) or can be run complimentary, where each coil is assigned 1 channel of MIDI data.  I have currently reached this point in testing with 2 very small SSTCs and the results are exciting!

For those who are curious, I am running atmel microcontrollers, in particular the ATmega16 (master) and ATmega88(slave). 

Below are some pictures of the control box so far:

The smaller box (located at the tesla coil) is simply a converter from the fiber-optic signal to an actual electrical signal that my SSTCs all require standard.

Please check back for more updates (including higher quality videos) on this project.  Thanks for visiting!