Transcript ppt
Lock, Stock, and Three Smoking Coils:
The Electric Musket
Ryan Eder
David Grothe
Jason Kamuda
Thomas Minor
Introduction
Gauss Rifle
Features:
Charge status/readiness
Three stages
Store previous shot records and statistics
Design Constraints
Power
Projectile velocity vs. energy control
Weight/Portability
Hand-held, or Jeep-mounted?
Speed/Timer resolution
Speed/accuracy of calculation vs. overkill on I/O
Coils & Capacitors
Coils will be made of 14-AWG copper magnet
wire
Provide high conductance, and large force on
projectile
Concerned about weight
Tentatively three banks of 15 photo-flash
capacitors each.
All that power! How do we control
it?
SCRs?
Provide very high voltage isolation and very high
current.
Can’t switch them off mid-pulse
Exactly what we need!
No good
IGBTs
Very fast switching time (MOS-speed)
Not many hobbyist coil guns have used them
Relatively new (~10 years)
All that power! How do we control
it?
High-current diodes
Used for inductor energy recapture
Similar to inductive kickback dissipation, but
we’re actually getting the energy back to the
capacitors
Microcontroller/LCD on a completely separate,
low-voltage circuit from separate 9V battery
All communication goes through optocouplers
How do we store the energy in the
first place?
Use a DC-DC converter
9V battery input (really only 4.8V), 990V output
@1A draw, provides 700mAh, or 42 minutes of
continuous charging
Won’t actually need continuous charging except for
boot-up
Need PWM to drive transformer
Sensors
Want to measure velocity, estimate IGBT switch
times
Essentially, use optocoupler with light path
crossing projectile path
Hopefully BBs ≠ Black Cats
Want high precision for accurate reporting/control
Need fast microcontroller clock!
Want lots of input captures ports, need at least
one.
Program Requirements
Program shouldn’t be too big
Store lots of statistics
Help with determining timing
Interesting to user: “How well did we kill ‘em?”
Want lots of Flash!
Single point of data can’t give velocity
Want fast arithmetic, including multiply/divide
Want SPI to interface with cheap LCD
Pushbutton User Interface (PUITM) needs GPIO
Microprocessors
Freescale MCF51QE128 Series
50.33MHz @ 2.4-3.6V
32-bit
1 6-channel, 2 3-channel Input Capture/PWM, SPI
24-channel 12-bit ADC
71 GPIO
FPU
Microprocessors
Microchip PIC32MX Family
80MHz @ 2.3V-3.6V
32-bit
5 Input Capture, PWM, SPI
16-channel 10-bit ADC
Unknown GPIO, 100-pinout
No FPU
Single-clock multiply, fast divide
Better support?