Transcript
Page 1: Flight Computer Instruction Manual - iPrimus

Flight Computer Instruction Manual

Manual rev 0.6

To suit – Hardware rev 1.1 & Firmware rev 1.35,

Hardware rev 2.0 & Firmware rev 1.35

Author : Craig Strudwicke

Date : 5/2/2011

Page 2: Flight Computer Instruction Manual - iPrimus

Table of Contents

1 Introduction .................................................................................................................................... 4

2 Specifications .................................................................................................................................. 4

2.1 Electrical .................................................................................................................................. 4

2.2 Processing & Comms ............................................................................................................... 4

2.3 Sensor performance ................................................................................................................ 5

3 Hardware Description & Layout ...................................................................................................... 6

3.1 Version 1.0 (50 x 50mm format) ............................................................................................. 6

3.2 Hardware version 2 ............................................................................................................... 15

4 Command Interface ...................................................................................................................... 20

4.1 Command list ........................................................................................................................ 20

4.2 Example terminal interaction ............................................................................................... 24

5 Modes of operation ...................................................................................................................... 25

5.1 Flight Mode ........................................................................................................................... 25

5.2 Ground Mode ........................................................................................................................ 26

5.3 Test Stand Mode ................................................................................................................... 26

5.4 Free Running Logger Mode ................................................................................................... 26

5.5 Streaming Mode ................................................................................................................... 26

5.6 Command Interface Mode .................................................................................................... 27

6 Parameters .................................................................................................................................... 28

7 Logged Data .................................................................................................................................. 29

7.1 Flight Data format (opmode 0) ............................................................................................. 29

7.2 Free running logger data format (opmode 4) ....................................................................... 31

7.3 Accessing logged data ........................................................................................................... 31

7.4 Converting, plotting & analysing the logged data ................................................................ 31

7.5 Examples of logged data ....................................................................................................... 32

8 Updating Firmware ....................................................................................................................... 33

8.1 Firmware update process ..................................................................................................... 33

List of Figures

Figure 1 - Hardware V1.1 Topside ........................................................................................................... 6

Figure 2 Input terminal block .................................................................................................................. 7

Figure 3 Serial comms connector ............................................................................................................ 8

Figure 4 Expansion Header ..................................................................................................................... 9

Figure 5 Output terminals ..................................................................................................................... 10

Figure 6 Hardware V1.1 bottom side .................................................................................................... 11

Figure 7 HW V1 Minimalist Configuration ............................................................................................ 12

Figure 8 HW V1 Intermediate configuration ......................................................................................... 12

Figure 9 HW V1 Booster configuration ................................................................................................. 13

Page 3: Flight Computer Instruction Manual - iPrimus

Figure 10 HW V1 Wireless control configuration ................................................................................. 13

Figure 11 Hardware V2 topside ............................................................................................................ 15

Figure 12 Hardware V2 bottom side ..................................................................................................... 16

Figure 13 Serial port connector J3 HW V2 ............................................................................................ 18

Figure 14 Example configurations for HW V2 ....................................................................................... 18

Figure 15 Serial parameter setup ......................................................................................................... 24

Figure 16 Example terminal session ..................................................................................................... 24

Figure 17 Mode 0 State Transition Diagram ......................................................................................... 25

Figure 18 - Example chart from logged data ........................................................................................ 32

List of Tables

Table 1 - Electrical Specifications ........................................................................................................... 4

Table 2 – Processor and comms specifications ....................................................................................... 4

Table 3 – Sensor specifications ............................................................................................................... 5

Table 4 - Components on topside of Hw V1.1 ........................................................................................ 7

Table 5 - Input terminal block Hw V1.1 .................................................................................................. 7

Table 6 - Output terminal description Hw V1 ....................................................................................... 10

Table 7 - Components on Bottom of Hw V1.1 ...................................................................................... 11

Table 8 - Topside components Hw V2 .................................................................................................. 16

Table 9 - Bottom side components Hw V2 ........................................................................................... 17

Table 10 - Power & Output terminal block Hw V2 ................................................................................ 17

Table 11 - Topside components Hw V2 ................................................................................................ 17

Table 12 - Configuration Parameters .................................................................................................... 28

Table 13 - Logged data formatting ........................................................................................................ 30

Table 14 – Logged parameters formatting ........................................................................................... 31

Page 4: Flight Computer Instruction Manual - iPrimus

1 Introduction This “Flight Computer” is designed predominately for the purpose of providing recovery functions

for model, HPR and Amateur rockets with some additional functionality. The additional functions

include high speed logging of all parameters and variables to onboard non-volatile memory, staging

output, remote override commands amongst a number of other useful features.

In ‘ground mode’ it can be used for other purposes (such as testing, special purpose logging) if a

serial link is implemented such as a radio modem or similar.

2 Specifications

2.1 Electrical

Hardware V1

(50 x 50mm)

Hardware V2

(36 x 58.3mm)

Units Comments

Supply voltage 4.0 to 12.0 4.0 to 12.0 V

Supply current 27 27 mA Not driving loads

Output current

capacity

2A for 1s 2A for 1s Fets rated @5.7A

Digital Inputs 2 2 Non –isolated or

protected

Additional Analog

inputs

3 1 0 to 3.6V range

Additional Digital

Outputs

1 0 20mA capacity @

3.6V Table 1 - Electrical Specifications

2.2 Processing & Comms

Main loop

execution time

< 1ms

Processor

execution rate

16MIPS

Clock source 16MHz Internal

oscillator + x4 PLL

giving 64MHz

Program flash

capacity

32kB

Ram 1.5kB

Default Baud Rate 115200

Available baud

rates

921600,115200,

57600, 9600

Nb : 9600 is made

available for radio

modem operation if

required

Flash capacity for

logging

4Mbytes Equates to 194304

samples

Table 2 – Processor and comms specifications

Page 5: Flight Computer Instruction Manual - iPrimus

2.3 Sensor performance

Resolution Accuracy range Units

Pressure 0.1 ±1.5% 1013 to 1 mBar

Acceleration 0.109 ±0.25% +350 to -350 ms-2

Altitude (derived) 1 ** -1000 to 100000 ft (ASL)

Velocity (derived

from pressure)

1 ** +-32767 ft/s

Velocity (derived

from accel)

0.1 ±1%* ±3276 m/s

Table 3 – Sensor specifications

*indicating not as yet confirmed

**indicating not as yet determined

Page 6: Flight Computer Instruction Manual - iPrimus

3 Hardware Description & Layout

3.1 Version 1.0 (50 x 50mm format)

3.1.1 Topside

Figure 1 - Hardware V1.1 Topside

1 2 3

4 5 6

13

7

8

9 10 11 12

Page 7: Flight Computer Instruction Manual - iPrimus

Item # Description

1 Status LED

2 Input & Power terminal block

3 Pushbutton

4 Serial interface connector

5 Flash Memory

6 Pressure Transducer

7 Expansion Header

8 Instrumentation Amplifier

9 Single axis Accelerometer

10 Microcontroller

11 ICSP header

12 Output terminal Block

13 Buzzer Table 4 - Components on topside of Hw V1.1

3.1.2 LED

The LED is used to indicate the cycling of the main loop hence the status of the controller. It is

toggled on each scan of the state machine, hence flashes at half the execution rate.

3.1.3 Input Terminal Block

The input terminal block is used to connect power to the FC and provides access to additional inputs.

Figure 2 Input terminal block

Terminal # Description

1 +ve supply connection, 3.7 -> 9V

2 -ve supply connection, GND common

3 GND common

4 Input #3

5 GND Common

6 Input#2 (Trigger)

7 GND Common

8 Input#1 (ARM/pushbutton)

Table 5 - Input terminal block Hw V1.1

1

Page 8: Flight Computer Instruction Manual - iPrimus

3.1.4 Pushbutton

This is utilised by the user to interact with the controller for simple tasks such as arming and

triggering data download. This signal is also broken out through the expansion header so that an

external or other switch can be connected.

3.1.5 Serial Interface Connector

Serial communication with the FC is the only way to perform some of the crucial setup functions

AND is the only way to extract data.

The signal level at this connector is 3.6V hence a level shifter is required to interface to a device such

as a PC or laptop.

3.1.6 Flash Memory

There is 4Mbytes of onboard flash memory

within this flash memory. It is available for download after a flight or on power up or by command.

3.1.7 Pressure Transducer

The pressure transducer is an absolute type with a range of 101kPa to 0kPa. This range allows the

FC to measure altitudes from sea level to 100,000ft.

3.1.8 Expansion Header

The expansion header is used to breakout additional signals and make

signals available at another location.

nteract with the controller for simple tasks such as arming and

This signal is also broken out through the expansion header so that an

external or other switch can be connected.

Serial Interface Connector

the FC is the only way to perform some of the crucial setup functions

AND is the only way to extract data.

The signal level at this connector is 3.6V hence a level shifter is required to interface to a device such

Figure 3 Serial comms connector

onboard flash memory. All data logged during flights or otherwise is stored

within this flash memory. It is available for download after a flight or on power up or by command.

The pressure transducer is an absolute type with a range of 101kPa to 0kPa. This range allows the

FC to measure altitudes from sea level to 100,000ft.

The expansion header is used to breakout additional signals and make some of the already available

signals available at another location.

GND Rx Tx

nteract with the controller for simple tasks such as arming and

This signal is also broken out through the expansion header so that an

the FC is the only way to perform some of the crucial setup functions

The signal level at this connector is 3.6V hence a level shifter is required to interface to a device such

. All data logged during flights or otherwise is stored

within this flash memory. It is available for download after a flight or on power up or by command.

The pressure transducer is an absolute type with a range of 101kPa to 0kPa. This range allows the

some of the already available

Page 9: Flight Computer Instruction Manual - iPrimus

Figure 4 Expansion Header

3.1.9 Instrumentation Amplifier

The pressure transducer has a strain gauge output which requires amplification. This amplifier is

used to convert the low level signals to a usable range which makes the best use of the ADC.

The gain resistor value of 911 ohms sets the amplifier gain to 244v/v.

3.1.10 Accelerometer

The accelerometer has a range of ±35G and an effective resolution of 0.0111 G.

3.1.11 Microcontroller

A Microchip PIC18F25K20 microcontroller is used to perform all of the control functions. It is

configured to operate at 64MHz, giving an instruction execution rate of 16MHz.

3.1.12 In Circuit Serial Programming header

This header is used in the event that there is a problem with the bootloader programming process. It

may also be used for internal debugging. It is not included by default.

GND

GND

AN3

RA7

RB0

GND

Tx

3.6V

AN2

RA4

AN4

RA6

IN0

Rx

1

14

Page 10: Flight Computer Instruction Manual - iPrimus

3.1.13 Output Terminal Block

Figure 5 Output terminals

Terminal # Description

1 Out 1

2 VSupp

3 Out2

4 VSupp

5 Out3

6 VSupp

7 Out4

8 VSupp

Table 6 - Output terminal description Hw V1

The outputs are connected to N-Channel FET’s which pull to ground. This means that the VSupp

terminals are connected directly to the battery positive supply whilst the Out n terminal(s) are

pulled to ground when turned on. It is important to note this when connecting up charges or similar

since if one wire is connected to VSupp, connecting the other to Gnd accidentally will cause current

to flow.

1

Page 11: Flight Computer Instruction Manual - iPrimus

3.1.14 Bottom side

Figure 6 Hardware V1.1 bottom side

Item Description

1 Mosfet for ch1

2 Mosfet for ch2

3 Mosfet for ch3

4 Mosfet for ch4

5 Mosfet for Buzzer

6 Voltage Regulator

Table 7 - Components on Bottom of Hw V1.1

1

2

3

4

5

6

Page 12: Flight Computer Instruction Manual - iPrimus

3.1.15 Example Configurations

An example of a minimalist configuration is shown below. There is no switch shown between the

battery and the FC and this is not essential since until armed by pressing PB1 onboard the FC is

unarmed and safe.

Figure 7 HW V1 Minimalist Configuration

The next example shows an intermediate configuration with additional sensors connected to the

expansion I/O , an external/additional pushbutton/switch connected for arming and a power switch

in series with the battery. This is a good option if at all possible.

Figure 8 HW V1 Intermediate configuration

Page 13: Flight Computer Instruction Manual - iPrimus

Next is a configuration used within a booster stage. Note that ‘apogee’ charge can be determined by

timer or baro apogee.

Figure 9 HW V1 Booster configuration

Finally a configuration utilising a Radio modem or wireless serial port.

Figure 10 HW V1 Wireless control configuration

Page 14: Flight Computer Instruction Manual - iPrimus

Arming pushbutton/switch is not required, additional ‘aux’ outputs can be added as backups or for

other functionality and driven remotely.

Significant functionality is gained by having the wireless interface.

• Remote deployment/backup

• Remote arming/disarming

• In flight telemetry

• Remote control parameter checking and editing

• Battery voltage monitoring prior to launch (if connected though expansion I/O)

Page 15: Flight Computer Instruction Manual - iPrimus

3.2 Hardware version 2

Hardware version 2.0 was created to suit smaller diameter airframes and hence is smaller in width.

The same components are installed in this version except for the fact it only has 3 output channels

and no expansion header. The terminal blocks are at the top and bottom of the board in an effort to

simplify the wiring for minimum diameter installations.

3.2.1 Topside

Figure 11 Hardware V2 topside

9

7

8

6

10

11

12

5

4 1

3

2

Page 16: Flight Computer Instruction Manual - iPrimus

Item # Description

1 Status LED

2 Power & output terminal block

3 Buzzer

4 Arming Pushbutton

5 Microcontroller

6 ICSP header (not included by default)

7 Single axis Accelerometer

8 Instrumentation Amplifier

9 Input terminal block

10 Pressure transducer

11 External Flash memory

12 Serial comms header

Table 8 - Topside components Hw V2

3.2.2 Backside

Figure 12 Hardware V2 bottom side

4

3

2

1

5

6

Page 17: Flight Computer Instruction Manual - iPrimus

Item Description

1 Mosfet for ch1

2 Mosfet for ch2

3 Mosfet for ch3

4 Voltage Regulator

5 Mosfet Buzzer

6 Voltage divider for

battery monitoring

Table 9 - Bottom side components Hw V2

3.2.3 Power & Output terminal block

Terminal # Description

1 GND

2 Vsupp (Battery connection)

3 Out1

4 VSupp

5 Out2

6 VSupp

7 Out3

8 VSupp

Table 10 - Power & Output terminal block Hw V2

Note that the same Nch FETS are used in this version of the hardware.

3.2.4 Input terminal block

Terminal # Description

1 In0 (parallel to arming button)

2 GND

3 In1 (alternative launch trigger)

4 GND

5 Spare DIO (to be implemented in future

firmware)

6 +3.6V

7 AN3 (additional Analog input 0 to 3.6V)

8 GND

Table 11 - Topside components Hw V2

Note to drive an input on, it must be connected to GND and not connected to 3.6v.

1

1

Page 18: Flight Computer Instruction Manual - iPrimus

3.2.5 Serial Connector J3

The serial port is an important interface for this board. It is named J3 and is shown below.

Figure 13 Serial port connector J3 HW V2

The signal levels at the Tx pin are 3.6V hence a level shifter or converter is required to interface to

either a PC serial port or USB port.

3.2.6 Example configurations

Three examples are shown here to provide some idea of how the FC HWV2 can be utilised.

Figure 14 Example configurations for HW V2

Tx

Rx

GND

Page 19: Flight Computer Instruction Manual - iPrimus

From left to right :

1. Basic

This configuration is the minimum required to operate the FC in dual deployment mode.

Of course if only operating in apogee deployment mode, only the single initiator is required

on terminals 3 & 4.

A power switch is preferred but not mandatory since the FC is safe until armed.

If it is difficult to access the arming pushbutton, the auto arm parameter may be used.

2. Booster config

This example shows the option of having and external pushbutton for an arming input.

Also added is an ignitor for a sustainer motor.

The most likely location for such a configuration would be in a booster stage where the FC

will be used as both the recovery device and the ignition controller for the sustainer motor.

3. Wireless config

Having the wireless serial connection allows all of the serial commands to be utilised

remotely, hence opening up a large number of options.

• Remote deployment/backup

• Remote arming/disarming

• In flight telemetry

• Remote control parameter checking and editing

• Battery voltage monitoring prior to launch

Not shown in these examples is the alternative launch detection method of a break wire. This will be

implemented in subsequent firmware revisions. When implemented, it will be a wire between

terminals 3 & 4 on the input terminal block ie trigger on open circuit.

.

Page 20: Flight Computer Instruction Manual - iPrimus

4 Command Interface The FC has a built in command interface which can be used to

- set & read parameters stored in EEPROM

- Trigger download from Flash memory

- Trigger events

- Reset the state machine

- Query state machine

- Set sensor zero offsets

- Arming

- Remote firing of outputs

All commands are in ASCII free text format.

4.1 Command list

A list of commands may be viewed at any time by sending the ‘?’ character to the FC.

The following table will be returned :

Cmd list arm - arm A - return ADCs bh, bl, bp, bx -> high, low, prog, xtreme baud rate s d - Dump Flash D - Dump Flash (pages, ascii) e - EEProm Dump E - Erase flash fa - Fire con arm fd - Fire con disarm f# - Fire channel # m - Set Mode r** - Reset Main SM R - Read EEPRom param s - Get states S - Set EEPROM Param V - Get FW & Flash size w - Last flight results z# - Zero offset ch# *** - micro reset

4.1.1 Cmd ‘arm’

This is the equivalent of pressing the arming push button. The main state machine will transition

from ‘initial’ to the state determined by the opmode selected.

4.1.2 Cmd ‘A’

The raw conversion result for ADC0 to ADC4 will be returned

Format: “A<CR>”

4.1.3 Cmd ‘b#’

bh – change to baud rate : 115200

Page 21: Flight Computer Instruction Manual - iPrimus

bl – change to baud rate : 9600

bp – change to prog baud rate : 57600

bx – change to baud rate : 921600

4.1.4 Cmd ‘d’

The contents of Flash memory will be dumped in ASCII format, equivalent to pressing the

pushbutton to trigger download at the end of a flight.

Format: “d<CR>”

4.1.5 Cmd ‘D’

This triggers the dumping of n ‘pages’ of Flash memory .

Format: “Dn,a<CR>” where ‘n’ is the number of pages (528 bytes) and ‘a’ is the ascii flag.

If the ‘ascii’ parameter is set, the data will be in ASCII form, otherwise it will be binary.

4.1.6 Cmd ‘E’

Erase flash memory. This completely erases all of the flash memory chip.

4.1.7 Cmd ‘f#’

These commands are related to the fire control mechanism. The # may be one of the following :

fa - This arms the asynchronous fire control mechanism. It will stay armed for 10s before

auto disarming.

fd - Disarms the asynchronous fire control mechanism.

fn – n where n is from 1 to 4 is used to turn on output channel n for 1.0s.

4.1.8 Cmd ‘m’

Sets the parameter controlling the mode of operation for the FC.

Format: “mx<CR>” where x is the mode in decimal format.

There are currently 5 modes of operation that are valid :

- 0 : Std Flight mode

- 1 : ground mode (not implemented)

- 2 : test stand mode (not implemented)

- 3 : Free Running logger mode

- 4: Streaming mode

- Any other value : Command Interface mode

These modes of operation are described in section 5.

4.1.9 Cmd ‘r**’

Reset of main state machine. Effectively reboots the state machine, irrespective of current operation

or state.

Page 22: Flight Computer Instruction Manual - iPrimus

Format: “r**<CR>”

4.1.10 Cmd ‘R’

Allows the reading of an EEPROM memory location.

Format : “Rx<CR>” where x is a value from 0 to 255 expected in decimal form.

4.1.11 Cmd ‘s’

Returns the current value of all state machines. Currently only one state machine exists ie main loop.

Format: “s<CR>”

4.1.12 Cmd ‘S’

Allows the setting of an EEPROM memory location.

Format: “Sx,y<CR>” where ‘x’ is the address (0 to 255) and ‘y’ is the value (0 to 255) expected in

decimal form. This command can only be run successfully from the ground_command state. To get

into this state, change the opmode to 5 and then arm.

4.1.13 Cmd ‘V’

Returns version of firmware and flash memory library version.

4.1.13.1 Cmd ‘w’

Returns three results from the last flight

• Max altitude (ft)

• Max Acceleration (0.1 m/s/s)

• Max Velocity (0.1m/s)

4.1.14 Cmd ‘z’

Allows the zeroing of sensors.

Format : “zx<CR>” where x is the ADC channel associated with the sensor.

Currently the allocations are :

- 0 : Acceleration

- 1 : Pressure (baro)

This should not be required unless a sensor is replaced or the EEPROM had been erased or corrupted.

Note that changing the zero of the pressure channel will effectively offset the Sea Level or 1 bar

value.

An alternative method of zeroing the acceleration channel has been added. After orienting the FC

vertically up, the command ‘za<CR>’ is sent starting the positive offset reading. Next a message is

displayed asking for the board to be inverted ie pointing down vertically before pressing the arm

pushbutton to continue. The idea is that it should provide for a more accurate acceleration zero than

trying to hold the board perfectly level whilst running the ‘z0<CR>’ command.

Page 23: Flight Computer Instruction Manual - iPrimus

4.1.15 Cmd ‘***’

Causes a low level reset of the micro controller. Not generally required but is used in the

bootloading process.

Page 24: Flight Computer Instruction Manual - iPrimus

4.2 Example terminal interaction

The following is an example using Terraterm.

Serial port settings used :

Figure 15 Serial parameter setup

Figure 16 Example terminal session

Page 25: Flight Computer Instruction Manual - iPrimus

5 Modes of operation There are a number of modes of operation for the FC, this being selected by the EEProm Parameter

‘Mode’ at address 0.

5.1 Flight Mode

This section describes the operation of the FC for the normal mode of operation ie Flight Mode,

mode parameter is set to 0.

Figure 17 Mode 0 State Transition Diagram

Power

off

Initialisati

on

Dump

Flash PB Power

Standby

PB not set

Zeroing

(cont

beep) PB set OR

‘arm’ cmd

Armed zeroed

Boost

Launch

detected

Apogee

(fire pyro

ch0)

Apogee

detected

OR Backup

timer OR

Cmd

overide

Separate

d

Main

Deploy (fire pyro

ch1)

Main deploy Alt

detected OR Cmd

overide

Pyro

dwell

Pyro

dwell Under

Main

Ground

Detected

OR

Timeout

Commit

Boost

Data

Waiting

to

Dump

Data

committed

Dump

Flash

PB set

OR Cmd

‘d’

Dump complete

‘d’ cmd

Page 26: Flight Computer Instruction Manual - iPrimus

There are a few exceptions not shown on this diagram which are important to know.

5.1.1 Exception - Failure to achieve Flight

If launch is detected but subsequently the vehicle does not achieve >= 200ft AGL AND >= 27m/s then

it is not considered in flight. If after 60s these conditions are still not met, the flight is considered

aborted and the FC will go into ‘Waiting to Dump’ state.

5.1.2 Exception – Serial command(s)

A serial command driving an output channel will over ride what is occurring in the state machine.

This will not however change the behaviour of the state machine directly but there will obviously be

indirect effects.

5.1.3 Exception – Mach Inhibit

If the Mach Inhibit parameter is >0s, the apogee detection logic will be ‘inhibited’ for this time.

Important to note that the backup timer will override this ie if the Backup timer parameter is shorter

than the Mach inhibit time, it will still fire the apogee channel and progress the state machine.

5.2 Ground Mode

Mode parameter set to 1. Currently same behaviour as per Command Interface Mode (sec 5.6)

5.3 Test Stand Mode

Mode parameter set to 2.

This mode is not currently implemented fully and is the same as Command Interface Mode (sec 5.6)

5.4 Free Running Logger Mode

This mode is run when the opmode parameter set to 3.

Relevant parameters are :

- Sample time

- Sample time units

- Max pages (528bytes / page)

The logger begins logging when either the arm button is pressed OR the arm digital input is pulled

low OR the ‘arm’ command is given through the serial interface. Logging will continue until the page

limit is reached or power is cut off. Data may be ‘downloaded’ from the FC in the same manner as

per mode 0.

5.5 Streaming Mode

Mode parameter set to 4 to run in streaming mode. In this mode, the raw ADC results are

transmitted out of the serial port continuously at a rate determined by the sample time defined for

mode 3.

The data format of the serial data is as follows :

ADC0<tab>ADC1<tab>ADC2<tab>ADC3<tab>ADC4<CR><LF>

Page 27: Flight Computer Instruction Manual - iPrimus

Where each ADCn result is in ASCII format and is a 13bit result between 0 and 8096.

5.6 Command Interface Mode

To operate in this mode, the Mode parameter must be nominally set to 5.

Essentially the main state machine is placed into a dead state and the only functionality available is

through the command interface.

Of course one can change the mode parameter through the command interface and reset the FC to

get out of this mode. For example, to change back to flight mode :

m0<CR>

r**<CR>

Page 28: Flight Computer Instruction Manual - iPrimus

6 Parameters There are a number of parameters used to tune the behaviour and performance of the FC.

These can be edited through the command interface using the ‘R’ and ‘S’ commands.

Here is a list of parameters as they exist at this firmware revision :

Parameter Address Related

Mode

Suggested

value

range Units

Mode 0 0,1,2,3,4 N/A

Trigger Source 1 0 Not implemented

Accel Trigger 2 0 8 0.1g

Accel trigger time 3 0 Not implemented

FAST sample period 4 ALL 5 2 to 10 ms

Sustainer Delay 5 0 0 to 255 0.1s

Sustainer Channel 6 0 Not implemented

Thrust Phases 7 0 Not implemented

Backup Timer 8 0 2->255 S

Main Alt lo byte 9 0 70 30 to 255 10ft

Main Alt hi byte 10 0 0 0 to 255 10ft

Debug Flag 11 ALL 0 0 or any Boolean

Pre-erase Flag 12 ALL 0 0 or any Boolean

Apogee detection filter time 13 0 35 0 to 100 0.01s

Mach Inhibit Time 14 0 0 to 255 0.1s

MODERATE sample period 15 ALL 25 10 to 50 ms

SLOW sample period 16 ALL 100 50 to 255 ms

Altitude Divisor 17 0 1 1 to 255

Barometric Velocity filter time 18 0 3 0 to 255 0.01s

Auto Arm1 19 0 0 0 to 255 10s incr

Logger Sample Time 50 3 10 2 + ms

Logger Sample Time units 51 3 0 0 or any 0 -> ms, any -> sec

Logger max pages (lo byte) 52 3 1 to 255

Logger max pages (hi byte) 53 3 0 to 31

Table 12 - Configuration Parameters

1 Note that if set to 0, this function is disabled.

Page 29: Flight Computer Instruction Manual - iPrimus

7 Logged Data Data is logged and stored in flash memory which can be downloaded at a later time.

This data is stored in a number of formats, dependant on what mode was used to store the data.

The flash memory has 2 x 528 byte RAM buffers which enable continuous writing. This is done by

writing to the RAM buffer(s) whilst the data is being committed to FLASH from the other RAM buffer.

7.1 Flight Data format (opmode 0)

There are two types of data stored from flights, those being parameters and flight data.

Each sample of 22 bytes are separated by a CR & LF, including the parameters that are inserted

between the initial block of data and the main block.

Here is an example of this data :

--------------------------------------------------------------------------------------------------------------------------

Red : First block of logged data (20 samples) Blue : Flight results & Parameters Violet : Currently Spare ie meaningless Green : Second block of logged data (many samples)

--------------------------------------------------------------------------------------------------------------------------

Flash dump latched (response to a ‘d’ command) $BEGIN (label indicating start of d ata block) 00 00 1E 00 05 00 89 04 4D 1D 03 00 D2 00 0E 00 3E 00 00 00 00 00 00 00 1E 00 05 00 A4 04 4C 1D 01 00 40 01 0E 00 3E 00 00 00 00 00 00 00 1E 00 05 00 D6 04 47 1D 03 00 EA 01 0F 00 40 00 14 00 00 00 00 00 1E 00 05 00 03 05 42 1D 06 00 80 02 10 00 43 00 31 00 00 00 00 00 1E 00 05 00 6B 05 3D 1D 0A 00 FC 03 12 00 4C 00 88 00 00 00 00 00 1E 00 05 00 6C 05 3B 1D 0F 00 FC 03 14 00 54 00 D1 00 00 00 00 00 1E 00 05 00 9C 05 3D 1D 15 00 A6 04 15 00 57 00 E4 00 00 00 00 00 1E 00 05 00 A0 05 42 1D 1B 00 C4 04 16 00 5A 00 F6 00 00 00 00 00 1E 00 05 00 94 05 47 1D 21 00 B0 04 16 00 5A 00 E9 00 00 00 00 00 1E 00 05 00 74 05 4B 1D 26 00 06 04 16 00 5A 00 DD 00 00 00 00 00 1E 00 05 00 75 05 4D 1D 2C 00 2E 04 15 00 57 00 B3 00 00 00 00 00 1E 00 05 00 71 05 4A 1D 31 00 24 04 15 00 57 00 AA 00 00 00 00 00 1E 00 05 00 7D 05 4E 1D 36 00 38 04 14 00 54 00 83 00 00 00 00 00 1E 00 05 00 73 05 4E 1D 3C 00 1A 04 14 00 54 00 7C 00 00 00 00 00 1E 00 05 00 76 05 4B 1D 41 00 2E 04 14 00 54 00 75 00 00 00 00 00 1E 00 05 00 80 05 4D 1D 46 00 4C 04 14 00 54 00 6F 00 00 00 00 00 1E 00 05 00 92 05 4B 1D 4C 00 92 04 14 00 54 00 69 00 00 00 00 00 1E 00 05 00 9A 05 46 1D 52 00 B0 04 14 00 54 00 63 00 00 00 00 00 1E 00 05 00 94 05 4C 1D 58 00 A6 04 14 00 54 00 5E 00 00 00 00 00 1E 00 05 00 57 05 4C 1D 5D 00 CA 03 14 00 54 00 59 00 00 00 78 04 57 00 1A 07 5A 00 FE 03 13 00 14 00 00 00 08 00 00 00 00 00 1E 28 00 00 00 28 03 64 FF 01 00 00 00 00 0F 00 40 00 00 00 00 00 00 00 DC 00 32 00 52 04 4E 1D D2 F5 0A 00 0F 00 40 00 00 00 00 00 00 00 DC 00 32 00 50 04 4E 1D D3 F5 14 00 0F 00 40 00 00 00 00 00 00 00 28 00 05 00 57 05 4C 1D 5D 00 CA 03 14 00 54 00 59 00 00 00 00 00 28 00 05 00 46 05 4D 1D 62 00 B6 03 14 00 54 00 54 00 01 00 00 00 28 00 05 00 5C 05 4A 1D 67 00 B6 03 14 00 54 00 4F 00 00 00 00 00 28 00 05 00 53 05 4D 1D 6C 00 A2 03 14 00 54 00 4B 00 00 00 00 00 28 00 05 00 51 05 4E 1D 71 00 D4 03 14 00 54 00 47 00 00 00 00 00 28 00 05 00 38 05 4E 1D 75 00 5C 03 14 00 54 00 43 00 00 00 $END (label indicating END of data block)

Page 30: Flight Computer Instruction Manual - iPrimus

7.1.1 Formatting of logged data

The flight data is stored in two blocks, the first is from the samples taken during the liftoff detection

phase, the second is the data logged during the remainder of the flight.

Each of these samples is of the following format :

Byte # Description Type Units/Format

1 Inputs BYTE

2 Outputs BYTE

3,4 State machine state unsigned int

5,6 Sample time unsigned int

7,8 ADC ch2 (13 bit) unsigned int

9,10 ADC ch1 (Baro Sensor, 13

bit)

unsigned int

11,12 Velocity from accel integer m/s

13,14 Acceleration integer 0.1 m/s/s

15,16 Barometric Pressure integer mbar

17,18 Altitude integer ft/divisor

19,20 Barometric velocity integer ft/s

21,22 Scan time integer ms Table 13 - Logged data formatting

7.1.2 Result & parameter format

The blue data in the example log above contains data in a very different format and contains flight

results and operating parameters.

Byte number Description type Format

1,2 Max altitude unsigned int ft

2,3 Time to max altitude unsigned int ms

3,4 Max acceleration unsigned int m/s/s

5,6 Time of max acceleration unsigned int ms

7,8 Max velocity unsigned int m/s

9,10 Time of max velocity unsigned int ms

11,12 Boost time/duration unsigned int ms

13 (EEPROM addr 0) See section 4

14 (EEPROM addr 1)

15 (EEPROM addr 2)

16 (EEPROM addr 3)

17 (EEPROM addr 4)

18 (EEPROM addr 5)

19 (EEPROM addr 6)

20 (EEPROM addr 7)

21 (EEPROM addr 8)

22 (EEPROM addr 9)

23 (EEPROM addr 10)

24 (EEPROM addr 11)

25 (EEPROM addr 12)

26 (EEPROM addr 13)

27 (EEPROM addr 14)

28 (EEPROM addr 15)

Page 31: Flight Computer Instruction Manual - iPrimus

29 (EEPROM addr 16)

30 (EEPROM addr 17)

31 (EEPROM addr 18)

32 (EEPROM addr 19) Table 14 – Logged parameters formatting

7.2 Free running logger data format (opmode 4)

Data format is the same as for flight mode ie opmode 0, however the result and configuration

parameters are not relevant.

7.3 Accessing logged data

A number of modes of operation cause the FC to log data to the external flash memory. The same

mechanism may be used to bring the data down to a PC via the serial/USB port for all these modes.

Downloading the data using a terminal program such as Terraterm :

1. Power up FC

2. Connect serial/USB cable

3. Put the terminal prog into logging mode

4. Trigger download using the ‘d’ command

5. The download will continue until all the pages are transmitted

6. Stop the terminal logger and save the file

7.4 Converting, plotting & analysing the logged data

<To be completed once PC application is finalised>

Page 32: Flight Computer Instruction Manual - iPrimus

7.5 Examples of logged data

Figure 18 - Example chart from logged data

Page 33: Flight Computer Instruction Manual - iPrimus

8 Updating Firmware The firmware may be updated/changed via the serial port on either of the FC hardware versions

2.

The tool used to perform this process is called Tiny Bootloader & is available for download from

here : http://www.etc.ugal.ro/cchiculita/software/picbootloader.htm

A very small program known as a bootloader resides within the microcontroller program memory.

This program always executes upon startup and looks for the PC bootloader application. If present, it

goes into programming mode, re-writing the main program with the one received through the serial

port.

8.1 Firmware update process

1. Start the application and point it at the new firmware file. Press the browse button top right

and select the firmware file.

2. Power up the FC and then connect the USB cable.

3. Open the Options tab and setup Codes to send first to 13,42,42,42,13 as shown below :

2 It is important to note that if the bootloader is corrupted OR the new version of firmware does not

behave as expected then the FC may become unusable until rectified.

Page 34: Flight Computer Instruction Manual - iPrimus

4. Open the Terminal tab and select board rate of 115200

5. Click Open & type the command bp into the terminal window (you must click on the

window first) followed by the enter key. This changes the board rate to that required by the

bootloader. The terminal should look like this :

6. Close the port by pressing the close button.

Page 35: Flight Computer Instruction Manual - iPrimus

7. Open the Message tab, then press the Write Flash button. This begins the firmware update

process and you should see the following on the message window (except the 1 hours old

will likely be different) :

8. The FC will restart at this time and you should hear the normal startup beep.

9. To confirm that the firmware version, re-open the Terminal tab and connect at 115200 baud.

Type the command V and it should return the version you have just loaded. For example :

Page 36: Flight Computer Instruction Manual - iPrimus

10. Some alternative terminal programs are : Terraterm (used during dev of FC) , Realterm (not

much experience with this one but looks useful)


Recommended