Rocket Launcher Data Acquisition System (RLDAQ)

Data collection system for Rocketry Division of Students’ Space Association

Similar projects worth following
Wireless system that collects data about rocket's launcher position (GPS, orientation, rail angle) and weather conditions (wind speed and direction, temperature, pressure), sends that data to PC.
I started working on this project in November 2015 and now it's around 90% finished. First tests were carried out during CanSat competition in April 2016 and the system proved effective.
There are still a few things to be fixed, but I hope to finish the project by the end of June.

System overview:

Full transmitter schematic:

Reveiver schematic:

Transmitter unit software class diagram (also showing interaction with hardware):

PC application block diagram

Example data collected by the system (during CanSat competition in April 2016):

  • I2C and watchdog problems

    Luke07/16/2016 at 18:46 0 comments

    I want the device to be as robust and reliable as possible.

    I noticed that the microcontroller inside transmitter sends wrong values from I2C device when it's disconnected and reconnected during operation. The microcontroller tries to read the sensor without initalizing it (because it was already initialized once during system startup).

    I added some code to detect when the device is disconnected and reconnected, so that it's reinitialized. I added software interface to the Compass and Accelerometer classes as they are kind of the same ("Disconnectable"), but the reading process is different for each device.

    Digging a little deeper showed that the microcontroller also hangs sometimes when I connect and disconnect one of the I2C devices during operation. The hanging happens when the device is disconnected during I2C transaction - I suspect that Wire library is not implementing timeouts and it's waiting for some kind of signal on I2C bus from the device.

    I had two options: modify Wire library or add watchdog to reset the device. I suppose that this hanging behaviour would never occur during normal operation (the connectors are pretty solid), but nevertheless it has to be eliminated somehow. I chose to try the watchdog path. Found some article online, setup the watchdog, test it and... it hangs! It turns out that standard Arduino bootloader (not the optiboot one) does not reset some register regarding watchdog, so during execution of bootloader code (after restart) the watchdog restarts the microcontroller again. And again. And again.

    I switched to optiboot bootloader. Uploaded the sample code and woohoo! it works. But after I upload my code (transmitter) and play with the I2C connector - it hangs again, resets and locks in bootloader section (just like before). And then something else broke, because now the code hangs during NRF module initialization...

    At that moment I had enough of this project for now and decided to call it a day. I'll try to fix it tomorrow.

  • New compass mount

    Luke07/08/2016 at 08:32 0 comments

    As i mentioned in previous log entry I tried to mount the magnetometer close to the anemoscope. This idea turned out to be wrong as the anemoscope has a megnt built-in.

    I moved the magnetometer further by designing and printing 15 centimeter long offsetting element.

    After calibration the compass works fine :)

    I'd also like to mention that current software (embedded and PC app) is available at GitHub.

    Embedded code:

    PC application:

  • Orientation measurement using magnetometer

    Luke06/20/2016 at 14:50 0 comments

    One of the information that needs to be collected by the system is launcher's orientation relative to Earth's magnetic field.

    To achieve that I used HMC5883L magnetometer. Initially I mounted it inside main case, together with all the other electronics. It turned out to be a bad decision as the batteries distorted the magnetic field so much that it was impossible to calibrate the device.

    Then I tried moving the compass to weather station's arm:

    But I totally forgot about magnet inside anemoscope! It influences the readings as well. It's not possible to fully compensate for the magnetic field changes from the magent by calibrating the compass, as the magnet is moving when the wind direction changes.

    I'll have to move the compass away from the anemoscope and anemometer (which has a magnet built-in as well) - back to Inventor again.

    BTW if anyone wondered what tools I use to calibrate the compass:

View all 3 project logs

Enjoy this project?



Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates