Practical Coilgun Design

Control Loop

What should work better: open-loop or closed-loop control?

An open-loop design fires the coils in sequence without regard to the actual position of the projectile. A closed-loop design has some method to detect the projectile and fire the coils when it's in certain positions. It is so-called because it is a feedback control system.

Open-Loop vs. Closed Loop Control

I think this is really the key part of all coilgun designs: How to make it simple/easy to sequence the coils. If you run it open-loop (like mine) then it requires carefully designed timing logic. If you run it closed-loop (using some type of position-detection system) then it requires carefully designed optical detectors.

Seems to me there's the "conservation of complexity" at work. It's going to take some careful design somewhere in the system to fire the coils at just the right time. I had an experience building a little linear motor along HO train track last year. The moving cart tripped leaf-spring micro switches along the side of the track. When I was done I vowed I would never again spend so much time on fiddling with little mechanical adjustments. So I run my coilgun in open-loop mode, with nice reliable (digital) dip switches to adjust the timing in dependable increments.

I don't know yet how successful the open-loop mode will be. I'm close, but haven't made a successful firing yet. Right now my regulated power supply cuts out when given a load of two 5-ohm coils in parallel.

Sensitivity to Initial Conditions

I believe there's an inherent problem in open-loop coilguns such as mine: Sensitivity to initial conditions.

To work at full potential, the projectile must have a precise position and velocity at the instant each coil is energized. More precision is required as its speed increases travelling down the tube. But! If it's not exactly right, the errors build up in increasing amounts. It will be sensitive to anything that affects the acceleration: initial position, coil current, sliding resistance, timing variations, oscillator drift, etc.

In open-loop designs this means later coils are increasingly ineffective (or even counter-productive). This presents a very real limit on the maximum achievable performance, as well as reducing the repeatability of multiple firings. It also limits the number of coils you may add to an open-loop design.

One way to do sensitivity analysis is via computer modeling. On my spreadsheet of position versus time, you could re-compute the exit speed many times. In each model, start with a different initial position. Keep track of each initial position and the resulting exit speed. Draw a graph of exit speed versus initial position. How does it look?


I firmly believe that closed-loop control is always better. It automatically takes care of small variations in the system from one shot to the next.

  < Previous Page 8 of 11 Next >