CubeSense. An integrated sun and nadir sensor module. User Manual

Similar documents
G3P-R232. User Manual. Release. 2.06

Tarocco Closed Loop Motor Controller

EVDP610 IXDP610 Digital PWM Controller IC Evaluation Board

i800 Series Scanners Image Processing Guide User s Guide A-61510

EE 314 Spring 2003 Microprocessor Systems

GEM - Generic Engineering Model Overview

Micro Fox PicCon Manual

etatronix PMA-3 Transmitter Tester Manual

Lifetime Power Energy Harvesting Development Kit for Wireless Sensors User s Manual - featuring PIC MCU with extreme Low Power (XLP) Technology

DESCRIPTION DOCUMENT FOR WIFI SINGLE DIMMER ONE AMPERE BOARD HARDWARE REVISION 0.3

LC-10 Chipless TagReader v 2.0 August 2006

BRB900 GPS Telemetry System August 2013 Version 0.06

Communications message formats

ZX Distance and Gesture Sensor Hookup Guide

SMARTALPHA RF TRANSCEIVER

Artifex LIV 110. Laser Diode Characterization System. Engineering

SV613 USB Interface Wireless Module SV613

Cost efficient design Operates in full sunlight Low power consumption Wide field of view Small footprint Simple serial connectivity Long Range

Image Capture Procedure

BMS BMU Vehicle Communications Protocol

Cost efficient design Operates in full sunlight Low power consumption Wide field of view Small footprint Simple serial connectivity Long Range

Understanding the Arduino to LabVIEW Interface

2F. No.25, Industry E. 9 th Rd., Science-Based Industrial Park, Hsinchu, Taiwan Application Note of OGM220, AN001 V1.8

FPGA Laboratory Assignment 5. Due Date: 26/11/2012

Channels that are not occupied by temperature sensors, can take over alternative functions:

High Current DC Motor Driver Manual

VBRC 5. Radio Communicator. Installer Manual

DI-1100 USB Data Acquisition (DAQ) System Communication Protocol

THE OFFICINE GALILEO DIGITAL SUN SENSOR

Dual-band radio transmitter T10, Т10С T10U, T10UC

BEI Device Interface User Manual Birger Engineering, Inc.

SC16A SERVO CONTROLLER

i1800 Series Scanners

In this lab, you ll build and program a meter that measures voltage, current, power, and energy at DC and AC.

B Robo Claw 2 Channel 25A Motor Controller Data Sheet

Gentec-EO USA. T-RAD-USB Users Manual. T-Rad-USB Operating Instructions /15/2010 Page 1 of 24

CMOS Star Tracker: Camera Calibration Procedures

Endurance R/C Wi-Fi Servo Controller 2 Instructions

USB Multifunction Arbitrary Waveform Generator AWG2300. User Guide

Training Schedule. Robotic System Design using Arduino Platform

TFmini Infrared Module Specification

DATASHEET. X-band Transmitter

Applications. Operating Modes. Description. Part Number Description Package. Many to one. One to one Broadcast One to many

Modbus communication module for TCX2: AEX-MOD

ArduCAM USB Camera Shield

DESCRIPTION DOCUMENT FOR WIFI / BT HEAVY DUTY RELAY BOARD HARDWARE REVISION 0.1

Electrical Lens Driver 4

CubeSat Navigation System and Software Design. Submitted for CIS-4722 Senior Project II Vermont Technical College Al Corkery

Global Navigation Satellite System for IE 5000

FOD Transmitter User s Guide

Combo Scanner. User Manual

Special Sensor Report: CMUcam. David Winkler 12/10/02 Intelligent Machines Design Lab Dr. A. A. Arroyo TAs: Uriel Rodriguez Jason Plew

Featherweight GPS Tracker User s Manual June 16, 2017

SCD-0017 Firegrab Documentation

era, eric, era-lora, eric-lora & eric-sigfox Evaluation Board with GNSS

Article Number: 457 Rating: Unrated Last Updated: Wed, Sep 2, 2009 at 3:46 PM

TLE5014 Programmer. About this document. Application Note

Telemetry formats and equations of Painani-2 Satellite

Controlling DC Brush Motor using MD10B or MD30B. Version 1.2. Aug Cytron Technologies Sdn. Bhd.

Journal of Engineering Science and Technology Review 9 (5) (2016) Research Article. L. Pyrgas, A. Kalantzopoulos* and E. Zigouris.

Application Note. Communication between arduino and IMU Software capturing the data

MAX11300PMB1 Peripheral Module and Munich (USB2PMB1) Adapter Board Quick Start Guide

4.5.1 Mirroring Gain/Offset Registers GPIO CMV Snapshot Control... 14

NMEA WINDSPEED AND DIRECTION USER MANUAL. November 2007 manual doc Software Release 0 Hardware Version

E31-TTL-500 Datasheet V Feature E31-TTL-500

Blue Bamboo P25 Device Manager Guide

CMU232 User Manual Last Revised October 21, 2002

FOD Transmitter User s Guide

EMBEDDED SYSTEM DESIGN FOR A DIGITAL MULTIMETER USING MOTOROLA HCS12 MICROCONTROLLER

CT435. PC Board Mount Temperature Controller

Hardware - Software Interface

Hartmann Sensor Manual

QHY367C. User s Manual Rev. 1.3

QB50. Satellite Control Software (QB50 SCS) Muriel Richard Swiss Space Center. 6 th QB50 Workshop 6 June 2013 Rhode-Saint-Genèse, Belgium

Using the USB2.0 camera and guider interface

Features. Description. General Specifications. VS Series Inclinometer : Dual Axis, RS232 and Analogue Output

BFoxCon Manual. Version 0.2 October 30, 2017

Stratix Filtering Reference Design

Catalog

MICROWAVE FREQUENCY SYNTHESIZER QP-FSPLL USER MANUAL

Practical Assignment 1: Arduino interface with Simulink

Instruction manual. art Installation manual

Bridge Measurement Systems

User Manual. EV-Kit User Manual (MT3329 series and MT3339 series) GlobalTop Technology Inc. Revision: A00

DISC Experiment Overview & On-Orbit Performance Results

Instruction Manual ABM HART Gateway Software. Instruction Manual Revision A.1

Zybo Z7 Pcam 5C Demo

Stensat Transmitter Module

B RoboClaw 2 Channel 30A Motor Controller Data Sheet

WWVB Receiver/Decoder With Serial BCD or ASCII Interface DESCRIPTION FEATURES APPLICATIONS

DESCRIPTION DOCUMENT FOR WIFI/BT QUAD RELAY BOARD HARDWARE REVISION 0.1

Revision WI.232FHSS-25-FCC-R and RK-WI.232FHSS-25-FCC-R USER S MANUAL

INSTRUCTION MANUAL IP REMOTE CONTROL SOFTWARE RS-BA1

USB Line Camera 8M. Coptonix GmbH

Information & Instructions

PalmGauss SC PGSC-5G. Instruction Manual

Catalog

VMA205 WIFI ESP8266 SHIELD

Mercury technical manual

KNX manual High-performance switch actuators RM 4 H FIX1 RM 8 H FIX2

Transcription:

CubeSense An integrated sun and nadir sensor module User Manual

Page: 2 Table of Contents List of Acronyms/Abbreviations... 3 1. Introduction... 4 2. Getting Started... 5 2.1 Connection Guide... 5 2.2 GSP Test Application... 7 3. Usage... 10 3.1 Identification/Health-check... 10 3.2 Managing memory contents... 11 3.3 Doing detection... 12 3.4 Interpreting detection result... 14 3.5 Capturing and downloading images... 15 3.6 Typical use... 17 4. Important Usage Considerations... 19 4.1 Detection thresholding... 19 4.2 Image exposure settings... 19 4.3 SRAM over-current protection... 19

Page: 3 List of Acronyms/Abbreviations CMOS ADCS ESL FPGA I 2 C MCU OBC SRAM UART COTS PCB Complementary metal-oxide semiconductor Attitude and Determination Control System Electronic Systems Laboratory Field Programmable Gate Array Inter- Integrated Circuit Microcontroller Unit Onboard Computer Static Random Access Memory Universal Asynchronous Receiver/Transmitter Commercially Off-the-shelf Printed circuit board

Page: 4 1. Introduction The CubeSense module is an integrated sun and nadir sensor for CubeSat attitude sensing. It makes use of two CMOS cameras one dedicated to sun sensing and another for horizon detection. The sun sensor has a neutral density filter included in the optics to ensure that only the sun will be visible in the image. Both cameras have wide field-of-view optics (200 degrees) for increased operating range. The primary outputs of the sensor are the measured sun vector and nadir vector in the sensor s coordinate frame. The measured vectors are output as azimuth/elevation angles relative to the camera bore-sight. CubeSense can also be used as a camera to download 1024x1024 pixel greyscale images. It is however important to note that a camera that is dedicated for use as a sun-sensor contains a physical filter and cannot be used to take normal images. The unit contains a variety of static sensitive devices. The appropriate electrostatic protection measures must thus be implemented. The unit must never be handled without proper grounding. It is recommended that the unit be handled in a clean environment. A clean room of ISO class 8 or better or an appropriate laminar flow workbench is recommended. The unit should be kept free of moisture or liquids. Liquids and moisture could have corrosive effects on the electronics and electronic joints which may lead to degradation and loss of reliability of the circuits. The unit must be handled with care and dropping or bumping the unit should be completely avoided. The camera lenses should be kept clean and free of any dirt that may obstruct the images captured by the camera. Dust should be removed with a cloth. If required, the lens may be cleaned using ethanol and appropriate lens cleaning equipment, but unnecessary cleaning of the lens should be avoided. The sun and nadir optics are fitted with dust caps which should be removed before flight. The position of the lens relative to the image sensor is of extreme importance for accurate detection. Any external force on the lens or lens holder should be completely avoided. Please read Section 4(Important Usage Considerations) very carefully.

Page: 5 2. Getting Started The Getting Started guide will show the simple steps to get CubeSense up and running. CubeSense is provided with a simple test application to allow the user to gain experience with the available functions as well as test the hardware. 2.1 Connection Guide Figure 1 CubeSense electrical connections 2.1.1 Power To provide power to the CubeSense, a stable lab power supply is required with a 5V and 3V3 output. The current limit of the supply should be set to approximately 130mA. Although the CubeSense circuitry has some protection, it is still good practice to have this current limit. The power locations are listed in Table 1.

Page: 6 Power Source Location Table 1 Power-connection locations* PC104 Main 5V H2-25 & H2-26 3V3 H2-27 & H2-28 GND H2-29, H2-30 & H2-32 *Refer to Figure 1 for connector names PC104 SW1 PC104 SW2 PC104 SW3 H1-47 H1-49 H1-51 P1-5 H1-48 H1-50 H1-52 P1-2 H2-29, H2-30 & H2-32 H2-29, H2-30 & H2-32 H2-29, H2-30 & H2-32 P1-3 Aux The placement of the power source on CubeSense must be specified at production, since it cannot be changed once the board has been delivered. Test the voltage sources thoroughly before connecting it to CubeSense. An over-voltage can severely damage the circuitry. 2.1.2 Communication There are multiple options for communicating with CubeSense. The primary communication method for ground testing is UART. The UART connection can be made via the programming port or via the auxiliary connector (if populated). For the ground tests, a UART-to-USB cable, shown in Figure 2, is provided that connects to the PIC P1 header. Figure 1 shows the top side of CubeSense and the position of the PIC P1 header. Figure 2 UART-to-USB cable Note that this connector is not shrouded. Care must be taken to insert it correctly

Page: 7 2.1.3 Enabling/Disabling CubeSense has its own overcurrent protected switches which switch on/off the power that is supplied to the board. At production, these switches can be configured to be default on or off. The user can switch on/off CubeSense by applying a digital high/low signal to the CubeSense Enable pin. This signal can be in the range 3V to 5V. The Enable pin is active high. This signal can be routed to one of 4 locations on CubeSense. These locations are summarised in Table 2. These locations have been specifically chosen to make the unit compatible with most COTS CubeSat components. Table 2 Enable-connection locations* Enable-Source Location PC104 Loc1 PC104 Loc2 Aux Strain Relief EN H1-2 H2-20 P1-4 JP-5 *Refer to Figure 1 for connector names The placement of the Enable-source on CubeSense must be specified at production, since it cannot be changed once the board has been delivered. After the UART-to-USB cable has been connected, the power supply can be switched on and the enable line can be pulled high to switch on the CubeSense. CubeSense will now start drawing current as seen on the connected power supply. 2.2 GSP Test Application The GSP Test Application that accompanies the CubeSense, allows the user to become familiarised with the functionalities available. This application will also allow the user to perform hardware tests and perform the health check that should be sent to the CubeSpace team to verify that no damage occurred during shipping.

Page: 8 The steps to follow are as follows: 1. Connect the UART-to-USB cable to a PC running Windows 7 or later. a. Ensure that the FTDI driver for the cable is installed. This is supplied with CubeSense. b. Check the COM port assigned to the cable by browsing to Device Manager and noting the number shown under Ports (COM & LPT) for USB Serial Port (COM x). The number given by x will be used to connect to CubeSense. 2. The cable can now be connected to CubeSense as shown in Figure 1. Great care should be taken when making this connetion, since the connector is not shrouded or keyed. Also note the that the label on the cable faces upwards. Figure 3 UART connection 3. Switch on the power to CubeSense. 4. Pull the enable line high. 5. Check that the current draw on the power supply is within the range listed in the datasheet. 6. Open the GSP Test Application by running CubeSenseV2_GSP_TestingApplication.exe. 7. Select the previously determined COM port and click Connect as shown in Figure 4. Figure 4 Selecting COM port

Page: 9 8. Read the Status and confirm that the runtime increases. Refer to the Health Check document for further tests that can be performed. 9. After testing is done, disconnect the COM port and remove power from CubeSense. The UART-to-USB cable can now be disconnected. The UART has the ability to back-power the CubeSense and may result in unpredictable behaviour. If unable to connect to CubeSense after powerup and driving the enable line high, it may be an indication that CubeSense is in an unknown state. To resolve this, power down CubeSense and remove the UART cable, then re-apply power and drive the enable line high. Now connect the UART carefully while the CubeSense is running.

Page: 10 3. Usage 3.1 Identification Each CubeSense module is programmed with a serial number, and details about its firmware. To check these details about a CubeSense module, TLM no 0 and 1 can be requested. The content of these TLM frames are as follows: Table 3 Status TLM Telemetry frame ID 0 Name Status Frame length 8 Channels Byte No Length Channel Data type Detail 0 1 Node type Unsigned 8- Identification of type of bit CubeComponent Node 1 1 Interface Unsigned 8- Interface definition version version bit 2 1 Firmware version (major) Unsigned 8- bit 3 1 Firmware version (minor) 4 2 Runtime (seconds) 6 2 Runtime (milliseconds) Unsigned 8- bit Unsigned 16- bit Number of seconds since processor start-up Unsigned 16- Number of milliseconds bit (after the integer second) since processor start-up Byte 0: The node identification is used within CubeSpace ADCS bundles to identify which modules are connected. CubeSense has Node Type = 2 Byte 1: The interface definition indicates which version of the software interface CubeSense implements. This should match the Node Definition version number that is being used. Byte 2 & 3: Byte 2 is the major version and Byte 3 is the minor version of the CubeSense module. If Byte 2 = 1 and Byte 3 = 0, the firmware version is V1.0 Byte 4-5: Bytes 4-5 forms an unsigned 16-bit integer that indicates the elapsed time since start-up, in seconds. Byte 6-7: Bytes 6-7 forms an unsigned 16-bit integer that indicates the elapsed time since the previous second, in milliseconds.

Page: 11 Table 4 Serial number TLM Telemetry frame ID 1 Name Serial number Frame length 6 Channels Byte Length Channel Data type Detail No 0 6 Node type 8-bit ASCII 6 ASCII Characters Serial number Byte 0-5: Each CubeSense has a unique serial number. The six bytes of this TLM are six ASCII characters indicating the serial number of CubeSense. An example is: Table 5 Example serial number Byte Value ASCII char (Decimal) 0 67 C 1 83 S 2 49 1 3 54 6 4 48 0 5 49 1 This translates to serial: CS1601 3.2 Managing memory contents CubeSense has two sensors, and two memory modules. Each memory module is divided into two halves, top and bottom. This is illustrated in Figure 5. 2048 Kilobytes Top - 1 MB Bot - 1 MB Used for: -Image capture from camera 1 -Image capture from camera 2 -Sun detection -Nadir detection Used for: -Image capture from camera 1 -Image capture from camera 2 2048 Kilobytes Top - 1 MB Bot - 1 MB Used for: -Image capture from camera 1 -Image capture from camera 2 -Sun detection -Nadir detection Used for: -Image capture from camera 1 -Image capture from camera 2 SRAM 1 SRAM 2 Figure 5 SRAM layout

Page: 12 Each 1 MB (1048576-byte) halve can store one CubeSense image. CubeSense can execute are: The main functions 1. Capture an image from one of the cameras to one of the halves of one of the SRAMs 2. Perform detection on the image stored in the top halve of one of the SRAMs 3. Download the image stored in one of the halves of one of the SRAMs. Only one of these functions can be executed at any given time. If the command is given to execute multiple functions, they will sequentially be executed. It is important to note which part of which SRAM will be influenced by a given instruction, since this will overwrite the contents that were stored in that position. It is the user s responsibility to choose the correct part of the SRAM to write to, to avoid overwriting data that should be stored for use at a later stage. 3.3 Doing detection Even though CubeSense has the capability to capture and download images, the main application of the module is to do Sun or Nadir detection. While doing detection the user is not required to download or manage images. When a detection command is received by CubeSense, the module automatically captures a new image as soon as possible, executes the requested type of detection on that image, and saves the result in memory. There are two ways of issuing a detection command: 1. Send TC 20 for a Capture and Detect: TC 20 has 2 parameters to specify the following: Table 6 Capture & Detect TC Telecommand ID 20 Name Image capture & detection Parameters length 2 Fields Byte No Length Field Data type Detail 0 1 Camera Unsigned 8-0 = Camera 1 selection bit 1 = Camera 2 1 1 SRAM Unsigned 8-0 = SRAM 1 selection bit 1 = SRAM 2 It is important to note that detection is always done to the top halve of the SRAM. 2. Request TLM 22-25 for the last detection result, and automatically trigger new detection: When requesting the latest detection result through these TLMs, a new detection is automatically scheduled. This is the method of operating CubeSense that requires

Page: 13 the least communications, and is the recommended method of operating the module. These 4 TLMs have the following effects: Table 7 Effects of auto-trigger TLMs TLM ID Effect 22 Read sensor 1 result & trigger a new detection of sensor 1 through SRAM 1 23 Read sensor 2 result & trigger a new detection of sensor 2 through SRAM 2 24 Read sensor 1 result & trigger a new detection of sensor 1 through SRAM 2 25 Read sensor 2 result & trigger a new detection of sensor 2 through SRAM 1 All of these detections are scheduled to the top half of the appropriate SRAM. The result of a detection can be read by either purely reading the result of the previous detection that was done (TLM 20-21) or reading the result while also scheduling a new detection (TLM 22-25) as discussed above. All of these telemetries have the following structure: Table 8 Auto-trigger TLMs Telemetry frame ID 20-25 Name Detection result & Trigger Frame length 6 Channels Byte Length Channel Data type Detail No 0 2 α Signed 16-bit α angle in centi-degrees (range = -100 to 100 degrees) 2 2 β Signed 16-bit β angle in centi-degrees (range = -100 to 100 degrees) 4 1 Capture Result Unsigned 8-bit 0 = start-up 1 = capture pending 2 = successfully captured (Own SRAM) 3 = successfully captured (Other SRAM) 4 = camera timeout 5 = SRAM overcurrent 5 1 Detection result Unsigned 8-bit 0 = start-up 1 = no detection scheduled 2 = detection pending 3 = Nadir error too many detected edges 4 = Nadir error not enough detected edges 5 = Nadir error Bad fit 6 = Sun error Sun not found 7 = Successful detection

Page: 14 The first step after reading this TLM is to check the detection-and capture-results. The description of each result is detailed in the table above. If, and only if, the capture result is Successfully captured and the detection result is Successful detection should the result in bytes 0-3 be used as valid detection results. 3.4 Interpreting detection result The sensors axes are defined as follows: Figure 6 Camera axes definitions The measured angles (α, β) that the sensor output are virtual angles that can be transformed to angles or vectors that can be used in the satellite attitude determination. The direction vector can be calculated using the following procedure: First calculate θ and using the following formula: θ = ( α 100 ) 2 + ( β 100 ) 2 = atan4 (β, α) Then, the direction vector is: X sin(θ) cos ( ) ( Y) = ( sin(θ) sin ( )) Z cos (θ) In finding the α and β detection values, the sensor makes use of a calibrated α/β boresight location on the imaging sensor. This pixel location is the intersection of the optical axis

Page: 15 of the lens with the imaging sensor. This value is unique for every sensor and can be changed using a Set boresight telecommand. After a reset, the boresight value reverts to the production default. This boresight value is programmed into the firmware of CubeSense at time of production, if the CubeSense board is paired with a specific set of camera modules. 3.5 Capturing and downloading images CubeSense provides the option of downloading any image that is located in any of the SRAMs. This can be done do get images of the earth or of space, or to check the exposure settings of the sensor to tweak its performance. Images can be captured to the top or bottom half of either SRAM. The module can therefor hold 4 images at any given time. It is however important to note that doing detection will overwrite the top image in the SRAM to which detection is done. TC 21 is used to capture an image to a specified SRAM location: Table 9 Capture Image TC Telecommand ID 21 Name Image capture Parameters length 3 Fields Byte No Length Field Data type Detail 0 1 Camera Unsigned 8-0 = Camera 1 selection bit 1 = Camera 2 1 1 SRAM Unsigned 8-0 = SRAM 1 Selection bit 1 = SRAM 2 2 1 Location Unsigned 8-0 = Top halve Selection bit 1 = Bottom halve After sending the command to capture the image, TLM 20/21 can be requested to see if the image was successfully captured. Byte 4 ( Capture Result ) in this TLM can be used to read the status of the capture. Once the required image is captured, it will be stored as long as the CubeSense module is powered, or it is overwritten by another image. Downloading an image from CubeSense to an OBC or PC is a lengthy process (A few minutes on highest resolution). It is important to note that while CubeSense is busy downloading an

Page: 16 image, no other image captures or detection can be done. Once another command is sent to CubeSense, its electronics will reset into a new mode, and the progress of the download will be lost. In such a case the download will have to be restarted. Because of this reason, it might be favourable to hold all downloads for eclipse, when no detection is possible. A full resolution CubeSense image is 1024x1024 bytes. Smaller versions of this image can however also be downloaded in cases where limited time is available for communication. To set up a new image download, TC 64 is called: Table 10 Initialize image download TC Telecommand ID 64 Name Initialize image download Parameters length 3 Fields Offset Length Field Data type Detail 0 1 SRAM selection Unsigned 8- bit 0 = SRAM 1 1 = SRAM 2 1 1 SRAM location Unsigned 8- bit 0 = Top 1 = Bot 2 1 Size selection Unsigned 8- bit 0 = 1024x1024 (8192 frames) 1 = 512x512 (2048 frames) 2 = 256x256 (512 frames) 3 = 128 x 128 (128 frames) 4 = 64 x 64 (32 frames) Images are downloaded in 128-byte packets. When TC 64 is received by CubeSense, the first 128 bytes of the image is loaded into CubeSense s memory. Once this TC has been sent to CubeSense, TLM 65 can be polled to check when the image frame has successfully been loaded. Table 11 Image frame info TLM Telemetry frame ID 65 Name Image frame info Frame length 3 Channels Offset Length Channel Data type Detail 0 2 Image frame number Unsigned 16- bit Number of current frame loaded into download buffer 2 1 checksum Unsigned 8- bit XOR checksum of frame loaded into download buffer

Page: 17 Once the frame number is set to 0, the image frame can be requested. To do this, TLM 64 can be requested. If required, the integrity of the image frame can be verified by a XOR (Exclusively-OR) of all of the bytes in the frame. This final value can be compared to Byte 2 of TLM 65 that was read earlier. If the values do not match, the frame can be downloaded again by requesting TLM 65 again. Once the frame has been successfully downloaded, the next frame can be loaded into CubeSense. This is done by sending TC 65. It is important to note that CubeSense expects the next frame to be one more than the current frame. If the current frame is 10 for instance the parameter sent with TC 65 should be 11. If this is not correct, CubeSense will simply ignore the TC. Table 12 Advance Image download TC Telecommand ID 65 Name Advance image download Parameters length 2 Fields Offset Length Field Data type Detail 0 2 Next frame Unsigned Number of next frame to number 16-bit be loaded After this TC has been sent, TLM 65 can once more be polled until the frame number - channel is equal to the appropriate image frame. These steps can be repeated until all frames have been downloaded. The data for an image with dimensions X by X can be packed into a bitmap in the following manner: Byte 1 Byte 2 Byte 3. 128. X-2 X-1 X X + 1........ 2X + 1.................................. X*X 3.6 Typical use Figure 7 Image bitmap example The way in which CubeSense is normally used is to periodically request the result of the last detection, and to trigger the next detection.

Page: 18 There are three modes for operating CubeSense while doing detection on both its sensors. 1. Both sensors save their detections to their own SRAMs simultaneously 2. Both sensors save their detection to SRAM 1 sequentially 3. Both sensors save their detection to SRAM 2 sequentially CubeSense will normally be used in the first of these modes. Mode 2 and 3 will be used in the case where either SRAM1 or SRAM2 have been damaged in flight. Each SRAM can only hold one detection-result at a time. If both sensorresults are saved to the same SRAM, the first results should be read out before triggering the next detection. The procedure for doing detection in Mode 1 is outlined in Figure 8. Figure 8 Flow diagram for typical use

Page: 19 4. Important Usage Considerations 4.1 Detection thresholding The Sun and Nadir-sensors need to differentiate the sun and earth from the background of space in the images taken by the sensors. In both cases this is done by comparing the brightness of the pixels in the image to each other, in order to locate the sun and the edges of the earth. These algorithms require a threshold/sensitivity value to execute. By setting the threshold high enough, unwanted artefacts in the image taken by the camera are discarded, and only the relevant celestial body is identified. The threshold is set to a default value calculated for robustness. If the user wishes to change the threshold values, telecommands 40 and 41 can be used. It is however recommended that the default values be used. 4.2 Image exposure settings The exposure times for the image sensors are key to the successful operation of the sensors. The default exposure setting for the sun sensor is set to a fixed calculated value. It is recommended that the client does not alter this value. The Nadir sensor uses an autoexposure algorithm to adjust the changing brightness of the earth in the sensor s image. These values are calibrated for robust sensor operation. If, however the client wishes to use the Nadir sensor as a greyscale imager, the exposure can be set by using telecommands 42 45. 4.3 SRAM over-current protection CubeSense is fitted with current sensors to monitor the SRAM currents. In the case that a SRAM experiences an over-current, power to that SRAM is removed and an internal status flag is set in CubeSense. Subsequent usage of the sensor will result in an error response indicating a SRAM over-current. The Power -telemetry frame (ID = 26) can be used to read the SRAM current or to check for SRAM over-currents. After an over-current has occurred, the user can clear the over-current flag, to re-enable the use of this SRAM by using the Clear SRAM overcurrent flag Telecommand (ID = 11). In the case of a SRAM failure, the sequential mode of operation can be used which is discussed in 6.6. 4.4 Nadir sensor masking The Nadir sensor may in some configurations have antennas or other deployable in its field of view. For these cases, a mask on these images is required to avoid false edge detections. The sun sensor s detection algorithm does not require any masking to function properly. Download a bitmap image from CubeSense and verify the location in pixels of any

Page: 20 obstructions. CubeSense accepts coordinates for 5 blocks that can be used to form a polygon that will mask these obstructions. Take great care to ensure correct placement of these masking blocks. Testing should also be performed to verify correct masking. See the Node Definition for correct telemetry and telecommands to perform masking.

Page: 21 Document Version History Version Author(s) Pages Date Description of Change 1.0 MK ALL 15/02/2016 First draft 1.1 DS ALL 29/05/2016 Some updates 1.2 GJVV ALL 02/08/2016 Template and formatting update 1.3 DS ALL 05/08/2016 Updated for new software 1.4-1.6 DS ALL 19/01/2017 Various corrections 1.7 DS ALL 08/02/2017 Shifted various info to the ICD