I'm working on a project for my nephew's birthday and could some guidance. I'll be building a mobile-friendly website that he can use to enter a launch code and hit launch. Meanwhile, at the launch base, my laptop will be setup and connected to an Arduino that is constantly polling for the launch signal before actually triggering the launch and firing the ignition.
My question: can someone point me in the direction of how to build an Arduino-powered ignition that is capable of igniting an Estes engine? (how do you ignite the engines, what are the power requirements, how to create the switch, etc). This is the last component of the project I need to figure out.
Any help would be greatly appreciated! P.S. I'm a developer with some Arduino experience. Thanks!
A transistor driving a relay is about the simplest approach.
What sort of current do the ignitors take?
With that figure, you just need an appropriately-specced set of relay contacts.
Ah, Estes rockets, I've launched a few of those in my time and also designed a couple of (non-automated) launch controllers. The igniters are basically short lengths of 26-gauge nichrome wire. Not sure how much current they draw, but the launch button in my current controller is rated at 125V and 3A (it's powered by 12V from a vehicle electrical socket, cigarette lighter type). The plug that connects to the vehicle electrical has a 15A fast-blow fuse that I don't ever remember having to replace. Wiring from the vehicle to the controller and from the controller to the pad is just common 18-gauge lamp (zip) cord. I'd try a relay similar to this one.
I have an Estes brand launcher right here. It takes 4 AA's in series. Essentially all it does is close a circuit to an igniter shoved up the thrust end of the rocket motor. I don't really think you need to bother with a relay. I'd probably even power the Arduino off the same batteries brought in through the regulator. Arduino pin out to a transistor switching the 6v fire line. Common ground. Probably put a (220??) resistor or a diode between the transistor and the Arduino pin.
Edit: I found a pack of igniters as well. They say "Requires 6 to 12 volts", "Maximum no-fire current 500mA", and "Igniter resistance including lead wires 0.6904?".
I'd probably even power the Arduino off the same batteries brought in through the regulator. Arduino pin out to a transistor switching the 6v fire line. Common ground. Probably put a (220??) resistor or a diode between the transistor and the Arduino pin.
This is incredibly helpful. So If I understand the circuit correctly, it's: arduino pin out to transistor, transistor to battery, battery to engine, engine to ground? But what about powering the Arduino as well?
Voltage source (6-12v, I'd use 6v so the regulator doesn't have to work too hard) to VIN on Arduino (runs through regulator and makes it 5v) and to the igniter.
Igniter to collector of NPN transistor.
Arduino pin out to resistor (I was thinking 220, but Grumpy Mike has a circuit with 2K2, I defer to him and I guess try the bigger value first) to transistor base.
Arduino GND to voltage source ground.
Transistor emitter to voltage source ground.
Arduino writes to output pin, turns on transistor, completes igniter circuit, igniter burns, rocket goes whoosh.
I would connect it all up and waste an igniter with a test write in which the igniter was not in a rocket motor to verify it worked.
Actually I would probably do an initial test write with a voltage meter instead of an igniter to see what you are getting through the transistor.
Range safety. There, I said it. If you want to be safer, put a toggle switch in the circuit. When the switch is off, the system is not armed and Arduino can write all it wants and nothing will happen. Once you manually arm the system, then you can have electronic fire control. Range safety.
I'd use 6v so the regulator doesn't have to work too hard) to VIN on Arduino (runs through regulator and makes it 5v) and to the igniter.
No the regulator on the arduino will not handle the current. Also you need at least 7V to get a stable 5V.
You need to feed the arduino's Vin with 12V and use that as the source for the power for the igniter.
I'd use 6v so the regulator doesn't have to work too hard) to VIN on Arduino (runs through regulator and makes it 5v) and to the igniter.
No the regulator on the arduino will not handle the current. Also you need at least 7V to get a stable 5V.
You need to feed the arduino's Vin with 12V and use that as the source for the power for the igniter.
I must have missed something in there Grumpy Mike. The above looks like you are saying don't use 6 volts, the Arduino won't handle it, use 12v instead. That doesn't appear to make any sense, so I must be reading it wrong. I understand the drop that occurs with a voltage regulator. By "not handling it" do you mean 6v it isn't enough "headroom" to generate the 5v Arduino needs for operation and therefore use 7 or 9 or some number bigger? I think you do, but I wanted to clarify.
I think we agree to power the igniter direct from the voltage source and not from the Arduino.
Edit: Oh, and did you have an opinion on the value of the resistor to put on the transistor base in the circuit I outlined?
The above looks like you are saying don't use 6 volts, the Arduino won't handle it, use 12v instead.
Yes that is what I am saying.
By "not handling it" do you mean 6v it isn't enough "headroom" to generate the 5v Arduino needs for operation and therefore use 7 or 9 or some number bigger
Yes that is what I am saying.
I think we agree to power the igniter direct from the voltage source and not from the Arduino
Yes but direct from the power source and not the Vin pin of the arduino, because of the protection diode.
bigred1212 suggested a toggle switch to safe the firing line. I would, also, suggest that the person responsible for connecting the the igniter to the launch cable have the key to the launch panel in his possession so that only he can arm the panel. I worked in rocket testing and would never leave the firing panel without the only key in my pocket. It can be as simple as a wire between two contacts (like the old Estes launcher) or a keyswitch, but should prevent someone from accidentally initiating the igniter.
The above looks like you are saying don't use 6 volts, the Arduino won't handle it, use 12v instead.
Yes that is what I am saying.
At least some Arduinos (e.g. the Uno) are fitted with a low-dropout 5V regulator. This means that they will work quite happily with 6V applied to the Vin pin, provided you are not drawing much current from the 5V pin. If instead you apply power to the barrel jack, then you need an extra 0.65V for the diode that protects against reverse polarity, so 6V is unlikely to be sufficient.
However, in this instance you will be drawing a current of nearly 10A when you fire the igniter, and that is likely to cause the voltage to drop below 6V. Also, if you are using a darlington transistor such as TIP120 to fire the igniter, then it will have a voltage drop of around 3V, and the igniter will only get the remaining 3V - another reason why 6V won't be enough.
In fact you must not use a TIP120 for this application. It is rated at 5A max continuous collector current, or 8A for short pulses. With a 12V supply, even allowing for 3V voltage drop across the TIP120, the igniter will take up to about 13A, which is likely cause the transistor to fail (possibly short circuit) after a small number of shots. Use a mosfet rated at 30A or more instead, or a mechanical relay.
Finally, you must install a mechanical safety switch in series with the igniter circuit, and keep this off until everyone is at a safe distance, in case your igniter transistor has fused shorted, or your launch software malfunctions.