Sie sind auf Seite 1von 20

FIDO: Project Report

Flying Information Downloading Object

Jimi Huard
DigiPen Institute of Technology
Department of Electrical and Computer Engineering

December 4, 2015

Abstract
Space and near-space science is a quickly expanding field. Studies at high
altitude can include a wide variety of topics, from cosmic-ray positron scattering to real-time monitoring of seismic activity [1, 2]. In these fields, there
is a set of problems common between all: communication and payload tracking. This paper proposes a generic solution to these common problems; a
platform for further scientific inquiry. To accomplish this, three functions
are provided: tracking, communication, and sensor interfacing. Tracking
will be accomplished through the APRS protocol, allowing for semi-real time
position reporting. Communication will be available through two-way radio
frequency telecommunication, allowing for an up-link and down-link at any
time during the experiment. Sensors will be outfit to the payload through
5V analog to digital samplers, allowing for streaming of the sensors to the
ground station in-flight.

Contents
1 Introduction

2 Design
2.1 APRS Tracking System . .
2.1.1 The Protocol . . .
2.1.2 AFSK Modulation
2.1.3 Implementation . .
2.2 Sensor Platform . . . . . .
2.2.1 Sampling . . . . .
2.2.2 Transmitter . . . .

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

3
3
3
6
6
8
10
11

3 Discussion
3.1 APRS Tracking System
3.1.1 New Design . .
3.1.2 Test Flight . . .
3.1.3 APRS Rev. 2 .
3.2 Transceiver Evaluation

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

11
11
11
13
13
13

.
.
.
.
.

.
.
.
.
.

4 Schedule

14

5 Parts List

17

References

17

Introduction

High altitude science is a blossoming field, with numerous experiments using


balloons and rocketry to test hypothesis, and as a stepping stone to space
exploration. In this endeavor, often things go wrong that are not related to
the experiment, but instead in its implementation the platform for discovery
is often the first (and most fatal) component to fail.
Stephen Horan of NASA, with Lawrence Alvarez and Robert Hull of
New Mexico State University, developed and tested a Nano-Satellite platform for use in space [3]. To test their system, the platform was assembled
on a balloon and launched high into the atmosphere [3]. The system was
very sophisticated, with a complete flight computer, command module, and
equipped with a GPS unit [3]. Over the entire flight, the system suffered
from link quality issues [3]. In order to test their communications module,
they attempted to transmit JPEG thumbnail images to their ground station,
however they were unable to receive any of the transmitted pictures [3]. After reaching an altitude of 40,000ft, the team lost the GPS lock, and were
no longer able to track the payload [3]. The team speculated that this was
due to the thermal limits of the GPS antenna being reached, however this
could also be due to federal regulation of GPS devices, which states that
consumer-grade GPS units should not function when the unit detects it has
exceeded 40,000ft and is moving faster than 515m/s, called the COCOM
limits [2, 3]. Some GPS manufacturers, however, interpret this as 40,000ft
or 515m/s, which could have caused the failure of the GPS unit on board
the payload [2]. The hurdles faced by this team are not uncommon in high
altitude sciences, and often need to be overcame again and again.
The PEBS, or Positron Electron Balloon Spectrometer is a proposed tool
for studying cosmic rays as they enter the atmosphere [1]. The best measurement of the cosmic ray positron flux available today was performed by
the HEAT balloon experiment more than 10 years ago, P. von Doetinchem
et al. state in their abstract, outlining the need for more near-space studies.
The paper goes into great detail describing the process of building their very
sensitive sensor, however does not cover how the sensor will actually be deployed, or how data will be recorded or transmitted to a ground station [1].
These problems are faced by every experiment pertaining to near-space and
space science, and must be answered.
Timothy J. Schneeberger and Ken W. Barker developed a near space balloon platform, similar in nature to project FIDO, called the High-Altitude
2

Balloon Experiment (HABE) [4]. The system described in their design is


considerably more sophisticated; it contains spacecraft design considerations
from gimbal pointing to infrared and passive tracking, and line of sight stabilization methods [4]. HABEs development uses a survey of different platform
approaches, and is aimed towards using high altitude balloons as a testbed
for space craft [4]. This differs from the goal of FIDO, as FIDO is targeted to
high altitude science. Many of the complex systems, such as auto-alignment
of the payload using infrared tracking, isnt necessary for many high altitude
balloon experiments.
This paper proposes designing and building a platform that could be used
in conjunction with other experiments: a platform for more innovative science. To offer this service adequately, the platform must have a recovery
mechanism, a telemetry system, and a defined interface for use. To handle this, the APRS protocol for position reporting is to handle tracking,
telemetry is achieved through a radio frequency (RF) transmitter, and several analog inputs will be available for sensors to interface with.

Design

2.1

APRS Tracking System

APRS stands for the Automatic Position Reporting System, and is a widely
used and supported protocol for sending telemetry over the internet [5].
APRS is a framework built on top of the AX.25 frame specification, and
has a very high frequency (VHF) radio spectrum counterpart for capturing
these packets out in the field [5].
2.1.1

The Protocol

APRS uses a non-return to zero (NRZ) encoded bit-stream protocol that sits
on top of an 8-byte AX.25 frame with bit stuffing [5]. What this means is
that for each 1 that is broadcast, the output signal is held steady, and when
a 0 is transmitted, the broadcast swaps the signal output. The protocol was
designed to be easily interfaced with GPS NMEA devices, and as such allows
for these strings to be transmitted directly [5]. The AX.25 frame consists of
three major components:
1. The Header
3

Figure 1: APRS systems overview. The system is driven by a PIC12F1572


microcontroller. A Venus GPS sparkfun breakout board supplies position
information through a serial port (buad 9600) to the PIC. The PIC then
assembles this information into an AX.25 frame packet and primes it for
transmission. The PIC12F1572 generates the AFSK signal using a built in
DAC, which then is wired to the HX-1 transmitter. The transmitter then
broadcasts this signal on the 144.39 MHz RF band, which is received by
HAM radio network stations in the local area.

Table 1: AX.25 Frame Description


Field
Bytes
Flag (0x7E)
1
Destination Address
7
Source Address
7
Digipeater Address
0-56
Control Field UI
1
Protocol ID
1
Information Field
1-256
FCS
2
Flag (0x7E)
1
The header portion of the AX.25 frame begins with a flag byte, 0x7E.
Following this, the destination and source addresses are encoded. This
allows the end-points to properly forward the AX.25 frames to the
proper destinations, and for packet transmissions to be tracked back to
a source. Finally, a few flags (UI, ID) are set to tell the AX.25 receivers
to handle the packet as an APRS packet.
2. Information Field
The information field is what the APRS protocol specifies. For this
implementation the raw NMEA GPS sentences are here.
3. Cyclical Redundancy Check (CRC) Checksum
The CRC, or Frame Check Sequence (FCS) goes by many names. Simply put, the FCS is a checksum at the end of the packet, in this case
a 16-bit (2 byte) polynomial checksum used to validate the integrity of
the packet [5]. This specific FCS implementation (for the AX.25 frame)
is a CRC (cyclical redundancy check) checksum [5]. The calculation
can be summarized in four steps [6]:
(a) Invert the first 16 bits of the frame to be transmitted, 1s become
0s and 0s become 1s.
(b) Add 16 zeros to the end of the frame.
(c) Divide the frame by the generator polynomial. This step involves
XORing the remainder repeatedly with the 17 bit generator polynomial until the remainder is 16 bits long.
5

(d) The FCS is the 1s compliment of the remainder, R(x).


The protocol also implements another layer of data parity; a form of bitstuffing called data whitening ensures that the average number of changes
between one frequency to another is high, so that the bit-error rate is reduced [5]. If there is a sequence of five of the same bit (11111), then an extra
bit change is encoded (111110) to force the stream to change frequencies [5].
Note that the flag byte then theoretically may not be transmitted. This is
the exception to the rule: flag bytes are not bit stuffed, so that frames may
be synced at the end-point receiver.
2.1.2

AFSK Modulation

APRS uses audio-frequency shift-keying (AFSK) for radio frequency modulation [5]. This is a form of binary frequency shift keying (BFSK), where
two audio tones are used to represent a mark and a space, or one and zero
respectively. For APRS, this is a 2200 Hz tone, and a 1200 Hz tone [5].
2.1.3

Implementation

A functional overview of the APRS system is depicted in Figure 1. To generate the AFSK modulating signal, a PIC12F1572 is used. It has an on board
5-bit digital to analog converter (DAC), which can generate upwards of 100
kHz signals [7]. A timer module is used in conjunction with the DAC to
generate the 1200 Hz and 2200 Hz tone. To load the proper 5-bit value into
the DAC, a buffer containing pre-generated sine-wave values is indexed each
time the timer goes off. Then, to generate the different tones, the timers
count register is re-loaded with the time step for each tone. The physical
realization of this device is seen in Figure 2.
The positioning information including latitude, longitude, and altitude
are received through a sparkfun Venus GPS breakout board. The Venus
GPS then uses a serial communication protocol (UART, at 9600 buad) to
send this information to the PIC12F1572 in the form of NMEA sequences.
Each sequence, or sentence as they are often referred to, is a dollar sign $
character, followed by an identifier. This identifier corresponds to how the
remaining comma-separated values are to be parsed. For this platform, the
GPRMC and GPGGA sentence formats are used. GPRMC and GPGGA
sentence formats are given in Table 2. Each sentence is ended with a two
byte checksum.
6

Figure 2: APRS printed circuit board rev. 2. Contains two LED indicators: a
PPS indicator, which flashes once per second if the GPS contains a satellite
lock, and a running light. Power is supplied through a Wago wire clamp
connector. An on/off switch is used to deactivate the device while not in
use. Four mounting holes are placed at the corners of the board so that it
may be screw mounted securely to a 3D printed case. A Schottky diode offers
reverse battery protection from the input terminals. Two SMA connectors
are used: one located at the top of the board for the 144.39 MHz transmitter,
and the other protrudes from the bottom for the GPS antenna.
7

Table 2: GPRMC and GPGGA sentence formats


$GPRMC,
$GPGGA,
hhmmss.ss, hhmmss.ss,
A,
lll.ll,
llll.ll,
a,
a,
yyyyy.yy,
yyyyy.yy,
a,
a,
x,
x.x,
xx,
x.x,
x.x,
ddmmyy,
x.x,
x.x,
M,
xxxx
x.x,
M,
x.x,
xxxx
APRS packets are sent in a burst approximately every 50 seconds. As the
RMC and GGA sentence formats do not contain redundant information, the
tracking system sends out both sentences each update cycle (50 seconds).

2.2

Sensor Platform

The platform is centered around a microcontroller, similar in design to the


APRS tracking system. Instead of a PIC12F1572, a larger LPC1769 ARM
Cortex M3 is used. The LPC1769 was chosen as it offers more than the
minimum 6 ADC channels, and has a faster instruction rate [8]. As the
packets contain data from multiple ADC channels and are sent at a rate
higher than the APRS 50 second update cycle, the maximum instruction
cycle of the PIC12F1572 of 8 MHz is not quite fast enough for this application
[7]. As seen in Figure 3, sensors are attached to ADC modules on the LPC
microcontroller, formed into packets, and then transmitted with the OOK
transmitter.
The packet format for FIDO is made into three stages: the header, the
payload, and the footer. The header is mainly for synchronization. A valid
header is a known sequence, for example the binary series b10100101, repeated at least twice. This allows the ground station to begin packet inter8

Figure 3: FIDO platform: systems overview. Sensors are connected through


a 3 connection port, and then digitally sampled by an ADC module. An
LPC1769 Cortex M3 series microcontroller is used to convert the sampled
sensors into a digital packet. This packet is then NRZ encoded and sent to
an OOK transmitter. The OOK transmitter sends this data to the ground
station on the open HAM frequency 433/4 MHz.

Figure 4: Example FIDO sampler circuit with port diagram. Input signals
may be configured in one of two ways: through a pulse width modulation
protocol, or as a straight 5V analog signal. A 5V rail and a ground rail are
supplied for sensors to use. However, it is recommended that each sensor has
its own power system for redundancy, so that a short or other system failure
does not critically damage the entire system, and instead the 5V rail is for
reference only.
pretation. Next, the payload is a set of channel identifiers and corresponding
readings. If the channel is set to pulse width modulation (PWM) mode, then
the calculated pulse width or frequency is stored. Otherwise, the raw ADC
value is loaded into the data section. Finally, a footer containing a two-byte
cyclical redundancy check of the payload is transmitted, as well as an end
sequence (same as the header).
2.2.1

Sampling

Input to the FIDO sensor platform is achieved through a 3 pin port. The
port is comprised of a 5V supply/reference pin, a ground pin, and a data
pin as depicted in Figure 4. The data pin is low pass filtered (to preserve
Nyquist), and then sampled on board the host microcontroller. Each channel
(port) can be configured in one of two modes: PWM, or raw. In PWM mode,
a signals pulse width or frequency is recorded, rather than the raw one or
zero. In raw mode, the port is treated as a direct analog sensor.

10

2.2.2

Transmitter

The transmitter uses amplitude modulation (AM) to broadcast data at the


433/434 MHz frequency. Digital input is given across a SAW resonator,
which activates a transistor feedback circuit to generate a carrier wave, see
Figure 5. This wave is output to an SMA connector, to either be broadcast
directly or power amplified and then sent out.
Data is received at the ground station by a high gain Yagi antenna. The
signal then is captured by a demodulator, and sent to a laptop or field station
through an audio port. The audio range signal is then fed into a decoding
program that logs and displays the information from a received packet. The
program is responsible for detecting when a packet is received, determining
whether or not it is valid, and logging information as necessary.

Discussion

While developing the APRS platform, a number of challenges were encountered. The first iteration had its own set of challenges during development.

3.1

APRS Tracking System

The first APRS board revision was loosely based off the board created in
project GARI. That board had a number of shortcomings, particularly in
weight and power consumption [9]. To overcome this a redesign was necessary.
3.1.1

New Design

To lower cost, size, and power consumption, the cortex M4 microcontroller


used in project GARI was replaced with a PIC12F1572 (as seen in Figure 2). However, the code for the cortex M4 would not function on the
PIC12F1572, causing the firmware to be completely re-written. On top of
this, the PIC12F1572 has only 256 bytes of RAM, requiring memory to be
used very sparingly [7]. When testing on project GARI, the GPS had an
third mode of operation in which the GGA sequences would not be filled
out properly with altitude information [9]. Instead of the adafruit ultimate
GPS, a sparkfun Venus GPS breakout was selected. This decision proved

11

Figure 5: On-Off Keyed (OOK) transmitter overview. A 5V binary input is


put across R1, allowing the circuit to resonate at the surface acoustic wave
(SAW) resonators frequency. When the value is high (5V) the circuit allows
the output to grow, creating a RF carrier wave. When the output is low
(0V), the SAW can not oscillate, as it is grounded on both sides. This causes
the carrier wave to shrink and disappear. These two extremes, on and off,
make the OOK signal.

12

fruitful, as altitude information was reported as expected in the consequent


test flight.
3.1.2

Test Flight

A test launch was conducted at Marymoor park in Redmond, Washington.


Due to poor weather conditions and weight issues, two balloons were necessary for attaining flight. However, the balloons used had been inflated
previously, and burst after about 15 minutes of flight. For the short duration
of the flight, latitude, longitude, velocity, and altitude were reported by the
board, with no visible packet loss.
3.1.3

APRS Rev. 2

As the test flight appeared to be a success, albeit a short one, a second revision was made to address issues on the first. The first iteration of the board
used a 2.5mm jack, which had to be removed for launch. While functional,
the jack would loose connection if jostled strongly enough. Instead of outfitting this with a large capacitor and further raising cost, the jack was replaced
with a Wago clamp connector. The Wago clamp also allows for more options
for powering the device. A reverse battery protection Schottky diode was
added to the design, to make the board more robust and user friendly. The
in circuit programmer pins were removed to make room for mounting holes
the board may now be securely fit to a 3D printed case. These changes are
displayed in Figure 2.

3.2

Transceiver Evaluation

Evaluated through a sparkfun breakout board, the RFM22B-S2 transceiver


module from hope-rf offers a myriad of features. Everything from hardware
checksum calculation and validation to automatic frequency tuning is offered
by this board and is on sale on sparkfun for less than 25 USD [10]. However,
operation of this device proved to be non-trivial. The module communicates
through an extended SPI interface, designed to allow for powering down the
system when not in use [10]. The device has a power on reset functionality, which may not be disabled [10]. Each time the device is powered on it
must be completely reconfigured for operation. This would not be an issue,
however the datasheet does not cover any particular initialization sequence,
13

and instead has a register description listing. Although time consuming,


eventually a proper initialization sequence was uncovered. Once initialized
the RFM22B would inconsistently receive packets, even in the lab setting.
While many of the characteristics of the transceiver module appear near
ideal (100mW transmit power, -54dBm spurious emissions), interfacing consistently with the device proved to be quite time consuming [10]. Realizing
that two way radio communications drastically increased the complexity of
system implementation while offering little benefits, the decision was made
to move to a simpler transmit only payload system. This led to the design
of the AM OOK transmitter design.

Schedule

The schedule is presented in Figure 6. One of the major set backs for this
semester was losing the first few weeks to a project proposal rejection. This
caused all of the consequent weeks to be pushed forward, and the proposal
process work was literally doubled. Following the schedule is a diagram
outlining the different levels of expected success, or success metrics. These
metrics can be seen in Figure 7. These were defined on project conception,
and as such do not reflect changes in project design. One major difference
is the Transceiver section. This refers to the use of a transceiver module,
which is no longer part of the design. As such, the packet decoding/encoding
process does not necessarily make sense packets are not going to be decoded
on the payload, only at the ground station.

14

15
Figure 6: Fall 2015 Semester Schedule.

Figure 7: Success Metrics. Thick black bar indicates level of completion.


Note that the transceiver section no longer applies in the same way. Also,
the APRS section has been tested, which is not included in this metric.

16

Parts List

Below are the parts required for populating version 2 of the APRS board.
Part
Part Number
Distributor Count USD
HX-1 FSK Transmitter
HX1
RadioMetrix
1
39.24
PIC12F1572
PIC12F1572-I/P
Mouser
1
0.83
330 Ohm SMD Resistor
DSC2512-330RJT18
Mouser
2
2.14
LDO 5,3.3V Regulator
TLE4476DATMA2
Mouser
1
3.03
22uF SMD Capacitor
GRM32ER71E226KE5L
Mouser
3
6.12
1N5819 Schottky Diode
1N5819
Mouser
1
0.47
Right Angle SMA F Port
CONSMA002-L
Mouser
1
4.41
Standard LED
C503B-RCN-CW0Z0AA1
Mouser
2
0.30
SPDT 2POS Slide Switch
SSA12
Mouser
1
1.78
Sparkfun Venus GPS
GPS-11058
Sparkfun
1
49.95
Sparkfun 3V GPS Antenna
GPS-00464
Sparkfun
1
12.95
Total
121.22

References
[1] P. von Doetinchem, H. Gast, T. Kirn, G. R. Yearwood, and S. Schael,
{PEBS} positron electron balloon spectrometer, Nuclear Instruments
and Methods in Physics Research Section A: Accelerators, Spectrometers, Detectors and Associated Equipment, vol. 581, no. 12, pp. 151
155, doi:10.1016/j.nima.2007.07.053, 2007. {VCI} 2007 Proceedings of
the 11th International Vienna Conference on Instrumentation.
[2] SkyTraq Technology, Inc., Venus638FLPx GPS Receiver Datasheet,
2014.
[3] L. A. Stephen Horan, Robert Hull, Using a balloon flight for end-to-end
testing of a nanosatellite mission, Journal of Small Satellites, vol. 1(1),
January 2012.
[4] Timothy J. Schneeberger and K. W. Barker, High-altitude balloon experiment: a testbed for acquisition, tracking, and pointing technologies,
Proc. SPIE 1950, Acquisition, Tracking, and Pointing, vol. VII, October
1993.

17

[5] The APRS Working Group, Aprs protocol reference, Technical Specification 1.0.1, APRS Working Group, August 2000.
[6] NTCIP and AB 3418 protocol developers, Frame
sequence (fcs) calculation explained. Online PDF,
http://cs.nju.edu.cn/yangxc/dcc teach/fcs-calc.pdf.

check
2015.

[7] Microchip Technology, Inc., PIC12F1571/2 DataSheet, 2009.


[8] NXP
Semiconductors,
Datasheet, 18 August 2015.

LPC1769/68/67/66/65/64/63

Product

[9] James Huard et al., Project gari. DigiPen Institute of Technology,


Department of Electrical and Computer Engineering, Third Year Project
Course, 2014.
[10] HopeRF Electronic, RFM22B/23B ISM Transceiver Module Datasheet,
2015.

18

Das könnte Ihnen auch gefallen