Rocket control panel finished!

I’ve basically finished my rocket control panel, except for a few software tweaks I have planned. It now has an LCD display to display pressure and status!

rocket_lcd1

I decided to have a round LCD gauge display. This is actually a rectangular 1.8″ TFT display with 160×128 resolution, mounted behind a circular 32mm diameter hole. To make a circular mask to hide the edges of the backlight, I printed a black circular frame onto an Inkjet Transparency, and sandwiched this between the LCD and the front panel. It also serves as a protective film for the LCD.

The display I’m using is the Hobbytronics TFT Serial, largely because I had one spare from another project. This display is unusual in having an on-board Arduino ATmega328 to control the display in response to a basic set of drawing commands sent over 9600 baud serial.

For this application, I wanted to have an analogue gauge effect, which meant filling circular arcs. To achieve this, I wrote a scanline polygon filling routine, which is used to draw small quads, for each 10 degree segment of the arc. To get good performance, I added this polygon fill to the LCD firmware, so that only the polygon coordinates need to be sent via serial.

The gauge is only selectively redrawn (only the parts that change) to improve performance. With these tweaks, the display is fast enough to produce a smoothly animated gauge.

The brains of the operation is a small Arduino Nano board (actually a cheap clone). This has a serial output to drive the display, and various analogue and digital I/O pins to control the rocket.

There are several switches used to operate the launcher:

  • Key switch to select low/high pressure modes (safety feature)
  • Fire button (push button, triggers the solenoid valve)
  • Arm switch (toggle switch, enables the fire button)
  • Pump switch (toggle switch, enables the compressor pump to pressurise the launcher) All switches are active low, and pull individual GPIO pins to ground. Internal GPIO pull-ups are used, rather than external resistors.

There’s a 2-channel relay board used to switch a 12V car tyre compressor (100psi maximum pressure) to pressurise the system, and a 12V solenoid valve to launch. These are controlled by two active low GPIO pins.

Pressure is measured using a car oil pressure gauge (rated 0-100psi and 18-126ohm). This is connected to an analogue input, with a 1K resistor to the 5V rail forming a potential divider. ADC raw values were recorded at several 10psi increments, and a straight line fitted in Excel to get the (hard coded) parameters needed to approximately convert ADC values to PSI.

All the connections between the controller and the main launcher go over a long 4 core screened cable, with 5-pin DIN connectors at both ends (5V, /Fire, /Pump, Pressure, Ground=Screen).

The code for the controller is up on Github here: nano-launcher. The TFT display firmware isn’t yet committed, pending a bit of clean up.

Making the Rocket Control Panel…

Heh heh, this is going to be the control panel for the rocket:

rocket_panel1

I wanted this thing to look the part, so I’ve got a toggle switch with a flip up cover to “arm” it, and the mandatory big red button to fire. The toggle switch at the bottom left will be for the pump, and the key switch at top left will limit the maximum pressure. The big black hole in the middle is for a display, yet to be fitted.

The case is made of black ABS with a brushed aluminium front panel. The front panel is fairly thin (about 1mm) and was drilled using a step drill, including the large 32mm hole in the centre.

The switches make a very satisfying clunk when toggled!

Compressed Air Rocket Launcher!

Inspired by an existing project I saw linked on Hackaday, I couldn’t resist having a go at building a compressed air rocket launcher. To keep the costs down, I tried to use commonly available plumbing fittings where possible (40mm solvent weld waste pipe). Originally I planned to use larger diameter pipe, but reducing fittings didn’t seem that easy to source locally.

Here’s my first prototype assembled, with the rocket (made of 15mm pipe insulation foam) in situ. The rocket is concealing a length of 15mm copper pipe which serves as the launch tube:

rocket_pipework

To get a reasonable volume of air in a small footprint, the pipework is folded into an S shape, rather than having one long length. The two parallel pipes at the left were intended to be closer together, but I accidentally welded in a longer pipe than I planned, and there was no going back 🙂

The 40mm pipe is solvent welded, and has two screw on access plugs at either end. These have been drilled through, and fitted with tank connectors, along with the various reducing fittings needed to connect the inlet and outlet valves.

This next shot shows a close-up of the outlet side which consists of a 12V solenoid valve (the black cylinder) which is normally closed, and fires a blast of compressed air when it opens. The other cylindrical component is an oil pressure sensor, which I plan to use to measure the air pressure. The pressure sensor has NPT thread, so an adaptor is needed for BSP thread. There’s also a 1/4 BSP female 3 way tee fitting used to connect the pressure sensor in circuit.

rocket_outlet

Various 1/4″ and 1/2″ brass hexagon busheshexagon nipples and other parts are needed to connect these together, with PTFE tape used on all joints. The final output is through a compression wallplate elbow, with a vertical 15mm copper pipe for the launch tube.

The inlet is a standard Schrader valve, so that a 12V car tyre pump compressor can be used to pressurise the system.

rocket_inlet

There was some guesswork in the design, because I didn’t bother to calculate what sort of volume of air was needed, and wasn’t sure if the solenoid valve would have a high enough flow rate (it has quite a narrow bore). I just decided to try it and see what happens.

Obligatory warning: if you build something like this, be aware that the plastic pipe could explode and shatter under pressure.

Having built it, I donned safety glasses, retired to a safe distance and pressurised it. At the first attempt I managed to get it up to 30psi, due to a slow air leak. The first launch was pretty impressive, and the foam rocket (lacking flights at this point) narrowly missed landing on the roof of the house! Adding some cardboard flights to the rocket improved the aim dramatically.

Some reassembly of the outlet joints cured the leak, and I’ve since had it up to 60psi. I’m going to box it up before pushing it to higher pressures. The compressor is rated for 100psi (just under 7 bar) so it will be interesting to see how high this thing can go 🙂

Next steps are to build a box for it, and to make the control unit. I’m planning to give it a mission control look with key switch, flip up covered toggle switch and big red button to launch… to be continued!