Several antennas have been purchased for the purposes of ensuring the most ideal long range solution is obtained. While it is clear that some antennas (like the Mad Mushroom) should have good performance, this antenna is somewhat fragile and may not be able to maintain structural integrity during high accelerations. For this reason, we may need to compromise between signal strength/range and antenna type/robustness.
Much work has been done to the payload. Some pictures of what has been created are below.
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.
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.
We wish to test out the RLS systems and what better way than to do a real rocket launch. We hope to do a rocket launch next weekend of the Calliso Rocket and of another smaller rocket.
A lot of preparation has gone into this so far. We have done the following:-
Created a Checklist of things to bring
Done up a list of procedures/tasks
Charged batteries
Packed most of the ‘Launch Boxes’
Tested assembly of Rocket Launch pad
Trial pack into the car.
Reading up on documentation of fuel load for engine
I’ve sent off the “Relay PCB” design to pcbcart.com so that they can manufacture some Prototype PCB’s. A picture of Relay PCB is shown below.
A lot of work into this board. Special attention was made to the width of tracks because some parts of this system need to be able to cope with currents up to ~4amps. [Despite best efforts, I had a track blow-out on the ‘Test’ board; so this really pushed this point home].
We also wanted this board to be complete, in that we don’t need to have any auxiliary boards for connecting/joining wires. We also wanted to connect the RFD900 modem directly and do away wit the clumsy cables. Note, there is not enough room to lay the modem flat on the PCB. We will have external plastic structure which will have additional level to screw the modem to.
One of the concerns with this board is vertical height and the direction in which connectors ‘connect’. We want to keep height to a minimum to ensure it can fit in a 60mm diameter rocket tube. We also don’t want cables coming in from the side as this will result in un-due strain on wires and all other assets (cameras, antennas, batteries).
I’ve decided to share how we solved the problem with measuring the voltage of the groundstation battery. First question: Why would we want to know what the voltage is? It is absolutely critical that we know the health of our ground station during any launch. This includes the battery health. Lithium Ion batteries have a tenancy to suddenly stop working… for the voltage to suddenly dive south.
We choose to use a Rasberry-Pi Model 2 as the Groundstation computer; because it is extremely fast. The problem with the Rasberry Pi is that it does not have any ADC inputs. Not sure why these were not included on the Rasberry-Pi. Not to worry, what we did was get a very small Arduino (a Mini Pro Arduino 3.3 volt version) board and connected it up to the i2c on the Rasberry Pi. Then we created a program on the Arduino that configures it as a i2c Slave. Its sole purpose was to get the ADC reading on A0 input and provide that to the master i2c process on request.
We then created a C program on the Ardunio that connects to this Arduino device and requests the A0 value. We then adopted the PERL script to call this executable to get the A0 value. Within the PERL script we do the necessary conversions to convert the ADC value to the voltage.
The great thing is that if I need any more serial ports or Analogue portsow PWM outputs, then I can very easily just wire up another one and modify the programs to allow access to them!
Brilliant!
On the topic of ‘flight management’, I made created a new Alert based on the Groundstation voltage. If the voltage of the Groundstation falls below a certain level, we alerted of this fact. So there is no need to continually monitor voltage.
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.
I have recently received the PCB sensor board from the supplier and have started soldering components. A few pictures of this are shown below.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Below are some pictures of it in action.
This is a picture taken prior to the install of the new batteries
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.
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.