Category Archives: Launch Electronics

Launch Electronics

Rocket Radio Tracker

I decided to create a radio tracker for this rocket as I expect that it to travel quite far and high when it has the “real” large motors installed in it.

The Parts List

  • Arduino Pro Mini – 5 volt version
  • RFD900u modem
  • AdaFruit Ultimate GPS
  • 3 Amp/5 volt UBEC
  • 3-D printed “tray” to fit into the nose cone
  • Veraboard  + header pins + wire
  • 2 x 240mA LIPO batteries

The Design

The RFD900u modem

I connect the RFD900U modem on the rocket end to the Arduino – pins 4,5 and use Software Serial. I power the modem directly off the 5 volts from the UBEC as the power requirements of the RFD900u modem can exceed the maximum current the Arduino can supply.

I’ve loaded the modem with latest version of firmware 1.13 and after setting to the default settings I changed:-

  • ECC to on
  • TXPower to 17

I set the TXPower to 17 because life of the batteries is a big factor and 20 will suck the batteries dry. Tests have shown that every minute of operation, the batteries drop by 0.01 volts. So if the starting voltage is 8.30 volts and the final finish voltage is 7.5 volts, then we are looking at about 80 mins of operation. This is fine.

One of the issues I had was working out the antenna side of things. There is just not enough space to cram a 1/2 dipole antenna. So I have to go for a 1/4 dipole antenna. unfortunately, there really isn’t enough space for this either!! So I converted a cable for connecting an antenna INTO the antenna!

The Ultimate GPS

This device is connected to pins 2, 3. It chews about 20mA of power and is also powered directly from UBEC.

I’ve written the Arduino program to log GPS points to the internal logging area. Unfortunately, it only logs it every 15 seconds. That will have to do.

The Arduino Controller

There isn’t much to this. I choose to use a 5-volt version because all devices I’m connecting to it can operate at 5 volts. This controller doesn’t have much work to do. All it needs to do is read GPS data and send it to the Receiver via the RFD900u.

The mounting tray

I wanted to mount this inside the fibre-glass nose cone. This was quite tricky because of the limited space. One thing I wanted was for the tray to follow the contours of the inside of the nose cone. i.e. rub up against it. This will provide some stability in flight. It will also maximise area for mounting the components.

Construction

Here are some photos:-

 

Screen grab from FreeCad.
Screen grab from FreeCad.
All parts out ready for assembly.
All parts out ready for assembly.
Electronics Breakout Board side
Electronics Breakout Board side

 

Vera board side.
Vera board side.
Assembled in cylinder section that slides into the coupler.
Assembled in cylinder section that slides into the coupler.

I dislike Hot-Glue, but It came in handy for attaching:-

  • RFD900U modem
  • 2 x LIPO batteries
  • Keeping wires “safe”
  • Ensuring GPS and Arduino module can’t pop out.

People at AusRocketry forum recommended some tape to ensure that the modem doesn’t rattle off. This sounds like a wise idea.

Break-out board side.
Break-out board side.
Wiring side of Tracker Payload.
Wiring side of Tracker Payload.

See the photo below showing the various parts of the tracker.

Various parts in the tracker.
Various parts in the tracker.

The Ground Station

Sole RFD900U modem unit for connection to computer.
Sole RFD900U modem unit for connection to computer.
900MHz Yagi Antenna
900MHz Yagi Antenna

Range Testing

I reduced the power on both modems from TxPower = 20 to TxPower = 5. Then I did some tests about 100metres away. I still got RSSI of about 120, which isn’t too bad, considering it is low power.

I estimate it should be able to do about 2km no problems with this configuration; with optimal environment i.e. LOS and plenty of clearance. Probably able to get a few more km in ideal circumstances.

Creating the Payload Bay

We are creating a payload bay that will house the electronics and ultimately all the rest of the hardware. For now, we only require it to take the electronics, which will be all that is needed for the first few flights, to obtain sample data from the Gyroscope. We are leaving enough space so that we can later install stabilisation motors.

This of course is a smaller, cutdown version of the ultimate rocket we wish to launch. However, we want to get a smaller version of this rocket Stabilisation system working on a small one. A proof of concept.

Here are components that make up the electronics bay (just one part of the payload).

Payload tray on left, top payload tray cap above and bottom payload tray cap below.
Payload tray on left, top payload tray cap above and bottom payload tray cap below.

Below are some pictures of the payload bay, partially constructed.

View of partially built payload bay
View of partially built payload bay

 

A rotatary switch will be installed between the top two brackets. Holes will be drilled on either side of the tray, to which we will attach the PCB. Some of the PCB breakout boards will actually sit within the cut-out in the tray. i.e. this cut out is more then just a weight saving measure.

 

Looking down at bttom plate of payload tray. Notice holes for cable ties, electronic cables and fixing screws.
Looking down at bttom plate of payload tray. Notice holes for cable ties, electronic cables and fixing screws.

 

We hope to get the electronics components later in the week and start building and attaching to the payload tray. We will provide a new Post when this is complete.

The payload – summary of where we are up to

Much work has been done to the payload. Some pictures of what has been created are below.

 

Right side view of payload
Right side view of payload

 

Left side view of payload
Left side view of payload

There has been a lot of work on the code side of things for the payload including the inclusion of SSDV code to send the pictures taken in packets of 256 Bytes. SSDV is a sophisticated method of sending pictures with error correction. It is well suited for slow links, such as rtty connections from high altitude balloons. In the case of this payload, we wish to share the bandwidth with other data, i.e. we don’t want to use x-modem like what was done in the HAB, because when we do, we get no other data.

Other work has been on the GroundStation where we have replaced SQLITE3 database with Postgres because of locking issues with SQLITE3. SQLITE3 is good for non-critical, low data situations. We saw a marked improvement wit the use of Postgres.

A week ago, we got to use this the above hardware to launch a Model Rocket. The launch itself was perfect, but the electronics had a few issues…issues we were able to diagnose and overcome on the launch day. We believe these have since been resolved.

For those interested, below are a few pictures of the rocket launch.

 

 

Rocket Landing site - Notice the imprint of the motor in mud
Rocket Landing site – Notice the imprint of the motor in mud

IMU – Inertial Measurement Unit

IMU stands for “Intertial Measurement Unit”. It measures accerations, angular velpcity and magnetic field. From these measurements and with some clever Mathematics, we can calculate the orientation of a device in a Gravitational field (Earth) and the direction it is pointing in (using the Magnetometer).

Why do we want an IMU?

It is important to know what state the rocket is in:-

  • Immediately before launch – i.e. is its movement within prescribed safety limits?
  • During launch  – i.e. what is the acceleration that it is experiencing, in what direction is it accelerating?
  • And after launch – i.e. how long is it in freefall? Has the parachute deployed?

This IMU will give us a very good idea of how it is behaving. The groundstation will receive all raw IMU data as well as pitch, roll and yaw and will save this to the local database. We have created several alerts that feed on this data to advise us of particular states. e.g. excessive rotation,  acceleration milestones, freefall detection.

We will also have a 3-D representation of the rocket, so we can quickly picture its orientation and motion. Below is a Youtube clip of us testing out an initial release of the code. It works, but there is much to be done.

 

 

The IMU is not mounted in the normal sense, with Z up, X and Y in the horizontal plane. We have it mounted with positive X axis up instead. We expect the rocket to be predominantly in X axis. So we are low risk of Gimbal Lock. As it goes up we expect certain amount of swaying from this position. As it is accelerated, (for that few seconds), the acceleration will far exceed the gravitational acceleration, so the routines for measuring orientation will not be of much use. While the rocket is coasting, the IMU will detect ‘freefall’ state. We won’t be able to sense its orientation too well at this point. Once the drogue parachute is deployed we should get some good data on orientation…because the rocket/parachute will more or less be falling at a constant velocity.

The Launch Systems

Good progress has been made on the Launch System Electronics. We have managed to perform a test ignition of a model rocket igniter. This itself is no great feat, but integrating all the technology together is certainly no easy task.

A video demonstrating the Launch System is shown below. Since this video was created, changes have been made to make the app to significantly reduce the delays when going through the launch sequence. The display is almost in sync with the relays as they do their work!

 

 

Our hope is to perform a real model rocket launch in the next few weeks.

 

 

Sensor Board

I have recently received the PCB sensor board from the supplier and have started soldering components. A few pictures of this are shown below.

Bare PCB - Ready for soldering
Bare PCB – Ready for soldering

 

Five boards were received in total. (These are “prototype” boards and the minimum order quantity is five). As you can see, the quality of these is exceptional….much better than anything I could do at home.

 

Top view: Some of breakout boards soldered on
Top view: Some of breakout boards soldered on

Above is the GPS module (capable of operation up to 50km) and a Level converter. The Level converter is used by the GPS module and the IMU module. These two modules use 3.3 volts. The Arduino EtherMega operates at 5 volts.

Bottom View: IMU soldered on
Bottom View: IMU soldered on

 

We put this on the bottom for space reasons. This just misses a few pins on the EtherMega by a few mm. So things are tight!

 

The REAL work beings soon…programming all these sensors. I expect the IMU to be particularly difficult.

 

The Igniter – Power/Current Calculations

We will start using this launch system for small Estee engines/igniters. So the first thing I wanted to do was model an Estes Igniter to find out how the battery would perform.

Below is a picture of a typical igniter.

Typical Estes Igniter
Typical Estes Igniter

 

The resistance was measured to be approximately 3.5 ohms.

If we assume resistance of battery and wires combined is approximately 0.5 ohms, we are looking at a total resistance of ~4 ohms. With an igniter battry of 12 volts, we are then looking at a current of approximately 3 Amps. This is well below the maxiumum current the relays can take (5Amps) and the wiress, connectors should be able to handle this current.

NOTE: When we get the relay board made to replace the current prototype, we will get 2Oz Copper board produced…which should double the current it can handle.

We really wanted to measure the resistance of the battery and the power dissapated by the battery. We do this because want to be sure the battery is not under too much ‘stress’. We know it _should_ be able to handle this current draw. It is rated as 10c (8Amp) continuous dis-charge and Max Burst ate of 20C (16Amp) so it should have absolutely no problems.

 

The Battery we will use to ignite rocket igniters.
The Battery we will use to ignite rocket igniters.

Nethertheless, we wish to understand its operation completely so that we are sure we don’t ignite the battery instead!

We decided to perform a small experiment to calculate the internal resistance when a current of 3Amps flows.  Below is a picture of the test load.

Resistance load
Resistance load

 

Each resistor is a 10Watt resistor with a restance of 4 Ohms.

This means the total resistance of the load is 4 Ohms and it can dissapate a maximum of 40Watts (without exceeding specification of resistors).

We measure the open-circuit resistance of the battery and the closed-circuit resistance of the battery (when connected to the load). The values we got were:-

Vo = 12.15 V

Vc = 11.67 V

We then computed the internal resistance to be roughly 0.14ohms

 

So the power dissipated through the battery at a rate as shown below:-

P = VI = (12.15 – 11.67) ^2 / 0.14 = 1.6Watts

The power dissipated through the igniter is:-

P = VI = 11.67 ^2 / 3.5 = 38.9 Watts.

This is what we hoped for and expected. The igniter because of its much lesser mass should heat up significantly, exceedingly faster then the battery and ignite the pyrogen.

Launch Electronics – Progress

A lot of work has been done to date. This is the reason for very little activity on the Blog. Below are some some high level pictures.

Drawing1
Rocket Launch System Components

The above picture is supposed to show that there are 2 boards stacked on top of the EtherMega Arduino board. The sensor board is a WIP. There is a huge amount of work still to do. The good thing is that the Sensor board is not required to use this purely as a wireless rocket launch system.

Ground Systems Components
Ground Systems Components

Below are some pictures of it in action.

Rocket Launch System. Still a WIP
Rocket Launch System. Still a WIP

This is a picture taken prior to the install of the new batteries

Ground Station - A WIP.
Ground Station – A WIP.

We can plug an Ethernet connection in to allow easy putty access into the Rasberry Pi to do our development. It is not required in normal operation. Below is a picture taken of back showing the Wireless dongle.

Showing wireless dongle
Showing wireless dongle

The two units can now commnicate across wireless link (900MHZ) while the ground station can communicate with an iPad, iPhone or other wireless device. Example of launch console screen is shown below.

Launch Console screen - Ready to Launch!
Launch Console screen – Ready to Launch!

Designing Launch Electronics

The Launch Electronics sole purpose initially is to provide a safe reliable means of launching our current model rockets. We could easily go for a wire based method with a box with some buttons…a very simple, but effective approach.

…However  it was decided that this is not the best approach because we need to look at developing some of the technology required in later launches, including the Rockoon. We don’t wish to however build everything right now, but, but start building something that can be added and extended later.  The High Altitude Balloon Electronics worked very well, so decided to draw from that.

The High Level Design

The solution will consist of three components:-

1. The End user device (ipad or iphone), which we will refer to as the Launch Console.

2. The Ground Station is the system the iphone/ipad connects to. The Ground Station will connect to the Remote Launch System via the radio modems

3. The Remote Launch System which will have all the necessary electronics to power, up, test, arm and launch the model rocket.

More information on each of these components is below.

Launch Console

The operator will only require an ipad which can connect to the Ground Station which will act as a Wirelss Access Point. The operator will be able to use a browser to access the Launch System Software.

Ground Station

This will be a small computer, looking at using a Rasberry-Pi 2 Model B. It will have its own RTC module, USB Wifi dongle and be connected to a RFD868 radio modem via serial. It will run PHP/Apache and use SQLLite3 database to store data.  The systems used in the balloon launch used a BeagleBone Black. OpenStreetView was a bit sluggish, and so we hope/expect to perform a little better this time. with the Rasberry-Pi.

NOTE: Open Streetview is not required initially for our launch systems, but will be required later down the track.

Remote Launch System

Using something light and something that isn’t power hungry and has lots of GPIO is very important. That is why we have decided to go for EtherMega 2560. A picture of this is below:-

 

Picture of controller used for Remote Launch System
Picture of controller used for Remote Launch System

 

We will initially create a single PCB with relays and Switch Mode PSU to power the relays and RFD868a modems. Later we will add another PCB (sandwiched in between) with GPS, RTC, Air pressure sensor and IMU and Camera.

Two PSU will be required, one to power the micro Electronics and another to power the Igniters.

 

Below is a picture of how I envisage everything will ‘fit’ together.

High level design
High level design

Summary

One of the great things is that as we progress with bigger model rockets, the launch system will get more and more testing, which will help give us the confidence when the Rockoon is ultimately launched.