Design of command and Data Management System for IITMSAT (PDF ...

5 downloads 2658 Views 759KB Size Report
Aug 10, 2015 - Design of command and Data Management System for IITMSAT. Conference ... along the direction of the magnetic field of the Earth. Beacon.
Proceeding of the 2015 International Conference on Space Science and Communication (IconSpace), 10-12 August 2015, Langkawi, Malaysia

Design of Flight Computer Module for IITMSAT Susurla V S Suresh, Green Rosh K.S, Gopa Kumar K.C, Shruti Penumatsa, Kumar Mridul, Shubham Chavan, Nathanael Koilpillai, Akshay K Gulati, Sooraj Gopakumar, Nitin Chandrachoodan, Harishankar Ramachandran, David Koilpillai Indian Institute of Technology Madras Chennai, India [email protected] Abstract—In this paper, we describe the design and development of Flight Computer module of the nano-satellite of IIT Madras, named IITMSAT. The flight computer module uses a 32 bit ARM microcontroller from Freescale–KL46Z256VLL4 and handles the attitude control, beacon transmission and electrical power management functions. The data from the attitude sensors is used by the control algorithm to calculate the magnetic moment, and in turn the torque required to orient the satellite along the direction of the magnetic field of the Earth. Beacon signal is used to detect the visibility of the satellite by the ground station (GS) and to transmit some important health data of the satellite. Onboard power management is done by turning off the loads carefully to save power, whenever needed. Throughout the design phase, the cost was kept as low as possible, without compromising on the performance of the system. Keywords-flight computer; attitude control; beacon; torque rods; mbed - RTOS

I.

INTRODUCTION

Cubesats have played a crucial role both in academia as well as in space research during past decade. Vast literature is available in the area of attitude control algorithms [1-2]. In the cubesat class of satellites, hardware design and development is an important aspect. Many of the cubesats used off the shelf flight computers which are expensive [3-4]. However, only limited information is found in the literature describing a detailed design and development of satellite hardware and the associated software architecture [5]. Thus, there is a need to design and develop a completely indigenous flight computer module that has all the required hardware and software functionality, and can be generic for cubesat missions, just by changing the software as per the mission’s requirements. Inhouse designing and building of such a module in a standard cubesat form factor, brings down the cost of the cubesat hardware, so that more investment is possible in research and design of scientific payload, for the same overall cost of the satellite. II.

Figure 1. Block Diagram of Flight Computer Module (BAE, B-Beacon, AAttitude control, E- Electrical power management)

be around 6 °/s to 8 °/s. The moment of inertia of the satellite is 0.24 Kgm2 in the X and Y axes and 0.227 Kgm2 in the Z axis. The sensors are chosen and hardware (actuator etc.) is designed based on the above system requirements, which are explained in detail in Section III of this paper. The Flight Computer of IITMSAT is responsible for the following three major onboard functions:

BLOCK DIAGRAM OF FLIGHT COMPUTER MODULE

Beacon transmission,



Attitude control



Electrical power management.

It is named as BAE. As seen in Fig. 1, the BAE microcontroller (ȝC) receives the magnetic field and the angular velocity values from the onboard magnetometer and gyroscope respectively. The duty cycle of the Pulse Width Modulated (PWM) signal, which is the output of the BAE ȝC, is varied accordingly by the control algorithm. This signal is

The block diagram of Flight Computer module is shown in Fig. 1. The satellite hardware is designed to operate in the Low Earth Orbit (LEO). The Earth’s magnetic field at this altitude is in the range of +22 ȝT to +44 ȝT. The initial angular velocity of the satellite after ejecting from launch vehicle is expected to

978-1-4799-1940-6/15/$31.00 ©2015 IEEE



187

requirements. Another reason for choice of an integrated attitude sensor was to reduce the errors in the design due to the alignment error between the gyroscope and the magnetometer axes.

given as input to the torque rod drivers that power the torque rods. This board is also connected to the Beacon transmitter hardware which periodically transmits the callsign of the satellite and some of the important health parameters. This signal is also useful to detect the visibility of the satellite by the ground station when the satellite appears within the visibility range (elevation angle).

C. Satellite Health Monitoring Sensors The Satellite’s good health indicates the normal operation of all its subsystems. The health monitoring circuits include the analog voltage, current and temperature sensors that monitor these parameters at important nodes and branches in the satellite’s electronics. These are further checked for a valid range for power and fault management onboard. Temperature sensors are placed on various printed circuit boards and on the satellite faces to monitor the temperature of the satellite. The voltage at any node is measured using a potential divider circuit. The current is measured using the IC MAX4376 from Maxim Integrated. It uses a sense resistor of 25 mȍ to sense the current and convert it into a voltage [7]. Small series resistance used by this IC leads to a small drop in the high side potential on the branch in which it is placed. Any temperature ranging from -50°C to +150°C is measured using LM94022 from Texas Instruments. The signals from voltage and temperature sensors are single ended and hence, a single ended 16:1 analog multiplexer (ADG706) was chosen [8]. The current signals are differential, and hence, a differential 16:1 multiplexer (ADG726) was used in the design [9]. The output of the multiplexers is connected to the ADC pin of the ȝC. The health signals are sampled and stored on the SD card for onboard usage and subsequent transmission to the ground station.

The electrical power management is achieved by carefully turning off the loads in an optimized sequence to reduce the power consumption onboard the satellite, thereby increasing the power available. A detailed description of hardware and software to achieve the above functions is described in the subsequent sections. III.

BAE HARDWARE DESIGN

The Flight Computer (BAE) hardware design and choice of components is described in this section. The components in the design are Commercial off-the-Shelf (COTS) devices with industrial grade, designed to survive the vibrations and temperature variations in space. Using COTS components also facilitates the use of cost effective industrial grade integrated chips (ICs) to design the spacecraft electronics. The details of BAE hardware design is given below. A. Microcontroller The microcontroller used onboard is a 32-bit fixed point microcontroller (ȝC) from Freescale- KL46Z256VLL4 [6]. It is an ARM Cortex M0+ processor and is one of the most energy efficient microcontrollers in the ARM family. The speed of processing and accuracy of the acquired and processed data play a crucial role in the mission. This microcontroller was found suitable for the mission due to the availability of the required peripherals within the ȝC- like the ADC, I2C, SPI and timers that are used by the sensors and actuators in the satellite. Another key reason was the ease of development of the flight software using the online mbed compiler platform from ARM, for this family of ȝCs [6]. The mbed platform provides a rich set of Application Programming Interfaces (APIs) and libraries for all the peripherals in the ȝC. Some of the other features that favored the use of this ȝC are its low power consumption of 1 mW @ 48 MHz operation and sufficient onboard flash and RAM of 256 KB and 32 KB, respectively. It operates well between -40 °C to +105 °C [6].

D. Torque Rod Driver The variable current, needed to generate a variable magnetic moment in the torque rods, is produced by varying the duty cycle of the pulse width modulated signal (PWM) at the output pin of the ȝC. Since the ȝC itself cannot source the required current to drive the torque rods, a torque rod driver IC was used. The IC- DRV8834 from Texas Instruments (TI) was chosen in the design [10]. Each IC has two drivers. Hence, two ICs were used to drive the three torque rods in the satellite. Some of the important features that favored the use of this driver IC were its low switching losses, configurable maximum load current using an external resistor, PWM controlled output, operating temperature range of -40°C to +150°C and small form factor.

B. Integrated Attitude Sensor The onboard attitude sensor measures the angular velocity of the satellite and the strength of Earth’s magnetic field at the satellite. PNI Corporation’s M & M Blue sensor was chosen for the design. It has a gyroscope, an accelerometer, a magnetometer and a motion coprocessor, all on a single board of small form factor of 1.6 x 1.6 x 0.5 cm. Some of the important features of the module that favored its choice were the continuous hard and soft-iron auto-calibration, wide operating temperature of -40°C to +85°C, low power consumption of 1 mW and I2C interface with the host ȝC. The sensitivity values of the magnetometer and gyroscope are 15 nT and 0.01 dps, respectively, which satisfy the mission

E. Watchdog Timer In space, due to some unpredictable events like Single Event Upsets (SEUs), the flight software may execute abnormally. The function of watchdog timer (WDT) is to provide a reset signal to the ȝC, in case there are any software faults in the system. When the software is executing normally, the ȝC sends a periodic “retrigger” signal to the WDT, which resets the counter in WDT and prevents it from resetting the ȝC. In case of any abnormal software activity, the periodic retrigger signal from the ȝC is not generated, which in turn does not clear the WDT counter and hence, a reset is generated to reset the ȝC. This is a very simple way to correct the

188

defined and scheduled sequence. A mutex allows synchronized execution of the threads. Semaphores are used to manage the sharing of resources like the flash memory and RAM, when data is needed by various threads at the same time. A Signal notifies the condition on which the thread must be executed. A thread is kept in ‘wait’ state till it receives a signal. Some threads have functions that acquire the data and store it in the flash memory/RAM. This data is used by functions in other threads. A Queue provides a pointer to this data, so that the consumer thread can have the read access to the shared data. RTOS Timer is used for scheduling the threads at pre-defined intervals. Threads in the flight software are executed at 10 s, 20 s and 30 s intervals scheduled by the RTOS timer. Some of the most important faults that need to be addressed as high priority tasks are implemented as hardware interrupts in the system. RTOS provide application programming interfaces (API) to handle such interrupts.

software faults onboard. MAX6746 from Maxim Integrated was chosen for the design, as its timeout period can easily be set using an external capacitor. It operates well from -40°C to +125°C [11]. F. Beacon Transceiver The beacon module in IITMSAT is a low power, integrated transceiver RFM22B from HopeRF [12]. All major communication parameters such as modulation scheme, data rate, frequency, output power levels, packet format etc. are programmable. The BAE communicates with the module using a standard 4-pin SPI. It transmits a beacon signal once every 30 s, for a maximum duration of 2 s. The signal is transmitted at 435 MHz, 1200 bps with output power of 100 mW. This signal is used to enable the visibility of the satellite to the Ground Station (GS). As soon as the beacon signal is received, the GS sends a telecommand to turn off the Beacon hardware and turn on the main Transmitter (TX) of the satellite. The Beacon’s data includes the satellite’s callsign and some of the important health parameters of the satellite like the solar panels’ temperature, battery power, power bus voltage, current etc. The RF output of the beacon is coupled to the transmitting antennas that radiate the signal to the GS. G. Torque Rods There are three torque rods in the satellite, placed mutually perpendicular to each other- two are placed on the bottom panel of the satellite and one on the side panel of the satellite. Torque rods are electromagnets that interact with the Earth’s magnetic field to create a torque, which in turn rotates the satellite to achieve the required attitude / spacial orientation. Insulated copper wire (31 AWG) was wound on the Permalloy core. Five layers, each having 550 turns were used to make the torque rod generate a magnetic moment of 1.2 Am2 when a current of 600 mA flows through the winding. The length, radius and mass of the prototype rod are 15 cm, 2.8575 mm and 100 gm, respectively. The next version of torque rod, which is designed with a different core (EFI50), has lesser mass, smaller dimensions and will require lesser power to generate a similar magnetic moment. IV.

Figure 2. Overall Software Architecture

BAE SOFTWARE DESIGN

The overall architecture of the BAE Software is shown in Fig. 2. Five threads have been implemented namely- T_WDT, T_HK, T_ACS, T_BEA and T_I2C in the mbed-RTOS framework. The RTOS scheduler executes the various threads at specified time intervals as per the mission requirements. The “HK Struct” is a structure that has the health and the attitude data of the satellite. A subset of this structure is the “BEA Struct” that contains the parameters to be transmitted by the Beacon module. “I2C Struct” contains the telemetry data from the BAE module, which needs to be transmitted to Ground Station (GS). The function of each of the threads is described below:

The BAE board is responsible for the following three major functions onboard- namely the Beacon Transmission, Attitude Control and Onboard Power management. These functions are periodic and need to be executed at regular time intervals during the entire mission duration. Thus, mbed-RTOS was used to achieve proper scheduling of the functions resulting in optimized usage of onboard memory and other resources in the ȝC [13]. Some of the important elements of mbed- RTOS that have been used in the design of the BAE software are Threads, Mutex, Semaphores, Signals, Queue, RTOS Timer and Interrupt Service Routines. A Thread class allows defining, creating and execution of various functions running in BAE, as mentioned above. This class helps in sharing of onboard processor resources so that all the functions execute in a well-



189

T_ACS: This thread is responsible for attitude control. It is scheduled to be executed every 10 s. This thread is responsible for three functions related to attitude

periodic retriggering pulse, and hence the WDT resets the ȝC.

control of the satellite. Firstly, it acquires the attitude data i.e. the angular velocity of the satellite and the instantaneous magnetic flux density of the Earth’s magnetic field in the orbit. This data is given as input to the control algorithm, which computes the duty cycle of the PWM signal. PWM signal is generated using the internal timer module of the ȝC and given as input to the Torque rod driver ICs, which then actuates the torque rods to correct the satellite’s attitude. •

T_HK: This thread is responsible for acquiring the health data of the satellite every 20 s. The analog signal at the output of the multiplexer is sampled using the 16 bit built-in ADC of the ȝC and stored in the form of a structure. This health data is transmitted to the CDMS ȝC on the I2C bus and stored in the SD card, to be later transmitted as telemetry packets to the ground station (GS). Some of the important parameters of satellite health are also transmitted by the Beacon module. The power modes and handling of fault conditions is also done by this thread.



T_BEA: This thread is responsible for transmitting the beacon message. Initially the beacon hardware is initialized via SPI as the communication protocol and the registers corresponding to the frequency, output power level, packet format etc. are initialized. The beacon thread is executed once in 30 s by the RTOS scheduler. It takes around 1.6 s to transmit the message. The beacon data structure ‘BEA Struct’, containing selected health data of the satellite is read and stored in the FIFO buffer of the Beacon hardware which can hold 66 bytes of data. Since the beacon’s buffer size is not sufficient to hold the entire beacon data at a time, it is filled dynamically and the transmission is done in a FIFO manner, till the entire message is transmitted. The beacon module is placed in sleep mode at the end of the transmission.





V.

INTERFACE BOARD HARDWARE DESIGN

The Interface board (I/F) is the “electrical hub” of all the electronics in the satellite. It also acts as the junction from where the electrical power is distributed to various subsystems. All the control and data lines that need to be shared between the various boards (BAE, Command and Data Management System (CDMS), Payload electronics, Communication transceiver etc.) are routed via the I/F board. Since the power from the electrical power system is given to the I/F board before distribution, the on/off switches TPS2092 [14] for various loads and the over-current protection circuits are also present on this board. For ease of cable routing in the satellite, the torque rod drivers have also been placed on the I/F board. Another important advantage of having the interface board in the satellite is ease of assembly and disassembly of the electrical connections, without touching the target boards that need to be disconnected. I/F board has a total of 13 connectors to connect to all the peripherals boards in the satellite. For the functional model, ordinary connectors have been used. However, in the flight model, connectors from Omnetics, having space heritage will be used [15]. VI.

FUNCTIONAL PROTOTYPES

The functional prototype printed circuit boards (PCBs) for BAE and I/F are as shown in Fig. 3. These boards have been tested for functionality and the results are given in the subsequent section. Each PCB has a dimension of 90.17 x 95.89 mm.

T_I2C: The health data of the satellite, which is collected by the T_HK thread, is periodically transmitted to the CDMS once in 20 s on the I2C bus. As soon as data is ready in the HK struct, a GPIO interrupt is sent to the CDMS. This interrupt activates the I2C thread in the CDMS micro-controller which in turn sends a GPIO interrupt back to BAE which activates the I2C thread in BAE as a result of which the HK data will be sent from BAE to CDMS to be stored on the SD card. The T_I2C can also receive telecommands from CDMS by following a similar mechanism.

Figure 3. Functional Prototypes of BAE and I/F boards

T_WD: This thread is responsible for sending a periodic “retrigger” pulse to the watchdog timer. The periodicity of this pulse is determined by the total execution time of the BAE software. The watchdog timer’s timeout period is slightly greater than the overall execution time of the BAE software, so that the WDT counter is reset as soon as it receives the retriggering pulse from the ȝC. Hence, the ȝC is not reset under normal operation. However, if the software hangs due to any reason, the WDT does not receive the

Figure 4. Prototype Torque Rod

190

The functional model of the designed torque rod is shown in Fig. 4.

The gyroscope was calibrated using a DC motor of known angular velocity. The results of the gyroscope tests are shown in Fig. 8. Ripple is seen in the graphs as the angular speed of the DC motor was not constant, and the tests were tentative. Detailed calibration of the gyroscope will be done soon at ISRO facilities.

VII. HARDWARE AND SOFTWARE TEST RESULTS The designed hardware and software were tested for functionality as per the mission requirements of IITMSAT. The magnetometer and actuators were calibrated at LEOS, a laboratory of Indian Space Research Organization (ISRO), Bangalore. A known magnetic field (ȝT) in the range as expected in LEO was applied and the results from the magnetometer were recorded and plotted as shown in Fig 5, Fig. 6 and Fig. 7. It is seen that the magnetometer behaves linearly with increase in the applied magnetic field in X, Y and Z directions and measures the field accurately.

Figure 8. Results of Gyroscope Calibration

The results of the designed torque rod are as shown in Fig. 9. From the graph, it is seen that the magnetic moment and hence the magnetic field due to the torque rod varies proportionately with the duty cycle of PWM. The torque rod produced a magnetic moment of 1.25 Am2, which satisfies the mission requirements (X axis in % duty cycle, Y axis- magnetic field in nT).

Figure 5. Results of Magnetometer Calibration - Bx

Figure 6. Results of Magnetometer calibration- By

Figure 9. Results of Torque Rod calibration

The results of the beacon hardware are shown in Fig. 10. It is seen that the SPI connection between the BAE ȝC and the beacon module is established successfully and the data from the ‘BEA Struct’ containing some of the important health parameters of the satellite is transmitted along with the call sign of IITMSAT.

Figure 7. Results of Magnetometer calibration – Bz

191

The cost of the designed hardware is relatively lower than commercial off-the-shelf Flight Computer modules [4]. ACKNOWLEDGMENT The authors deeply acknowledge the work of the following students whose contribution was invaluable: Sivashyam, Gourav, Jahnavi, Pranoy, Bharath, Harshit, Pradeep, Yeshwanth, Sai Kiran, Sai Ramana Kiran, Ganesh Anand, Varun A, Areej V.K, Karthik, Reethu K, Yeswanth Guntupalli, Akhilesh P, Sakthi Priya, Varun V, Sairam, Pranav, Dhruv and Venugopal. We wish to thank Dr. C. V. Krishnamurthy for all the help. The authors also wish to acknowledge Dr. Sandipan Bandhyopadhyay, Assistant Professor at IIT Madras for his consistent support in every aspect of the project, especially during the development phase of the control algorithm. We thank Dr. Krishna Chivukula, Indo-MIM Pvt. Ltd, Bangalore for funding the project. The authors wish to thank Mr. Rajangam, and Mr. Shankar Iyer for reviewing the BAE hardware and software. We thank the alumni of IIT Madras for their generous contribution to the IITMSAT project. The authors acknowledge Piyush Gaurav and all the scientists of ISRO, Bangalore, for their help in reviewing the work.

Figure 10. Results of transmitted beacon message seen at receiver

REFERENCES [1]

[2]

[3] [4]

[5]

[6] Figure 11. Results of BAE Software execution

Fig. 11 shows the screenshot of the execution of the overall BAE software in RTOS framework, as seen on a serial monitor, in a Linux platform. The magnetometer, gyroscope and integrated attitude sensor are initialized at 3.981 s. The ACS, Health monitoring and Beacon threads are executed once in 10, 20 and 30 s respectively, as seen in Fig. 11 as per the design. The memory and the internal resources are handled well by the RTOS.

[7]

[8]

[9]

[10]

VIII. CONCLUSION

[11]

In this paper we described the design, development and functional tests of the Flight Computer of IITMSAT. The cost of the entire hardware described in sections III and V was found to be approximately USD 1700.00. The results show that the chosen sensors, the microcontroller, choice of RTOS, actuator and other components meet the system requirements.

[12] [13] [14] [15]

192

M. Abdekrahman and S. Y. Park, “Integrated attitude determination and control system via magnetic measurements and actuation,” Acta Astronautica, vol. 69, no. 3-4, pp. 168–185, 2011. Deepti Kannapan, Gourav Saha, Sruteesh Kumar and Akshay Gulati, “Design of the Attitude Control Subsystem of IITMSAT, a Geomagnetic-Field-Pointing Satellite”, Pub. 2014, 1892, 16 pgs. “History & performance od pumpkin’s products in space”, URL: http://www.cubesatkit.com/content/space.html. “Cubecomputer”, URL: http://www.cubesatshop.com/index.php?option=com_virtuemart&Itemi d=75. Haklin Kimm, “CubeSat System Development in a small-sized Institution ,” Ed. 2, [ International Conf. New Perspectives in Science Education]. Freescale, Document number: KL46P121M48SF4RM, Rev 3, July 2013 “KL46 Sub-family Reference manual”, URL: http://cache.freescale.com/files/microcontrollers/doc/ref_manual/KL46P 121M48SF4RM.pdf. Maxim Integrated, “Single/Dual/Quad, High side current- sense amplifiers with internal gain”, URL: http://datasheets.maximintegrated.com/en/ds/MAX4376-MAX4378.pdf. Analog Devices, “CMOS,+1.8 to +5.5V, 2,5 ȍ multiplexer”, URL: http://www.analog.com/media/en/technical-documentation/datasheets/ADG706_707.pdf. Analog Devices, “16-/32-channel, 4 ȍ, +1.8 V to +5.5 V and +/- 2.5 V Analog multiplexers”,URL:http://www.analog.com/media/en/technicaldocumentation/data-sheets/ADG726_732.pdf. Texas Instruments, “DC MOTOR DRIVER”, http://www.ti.com/lit/ds/symlink/drv8834.pdf. Maxim Integrated, “ȝP Reset circuits”,http://datasheets .maximintegrated.com/en/ds/MAX6746-MAX6753.pdf. “RFM22B”, URL:http://www.hoperf.com/rf/fsk_module/RFM22B.htm. “RTOS”, URL: http://developer.mbed.org/handbook/RTOS. “Power Switches”, URL:http://www.ti.com/lit/ds/symlink/tps2092.pdf. Omnetics, “Nano-D/Bi-Lobe connectors –single row”, URL: http://www.omnetics.com/products/bilobe-singlerow/

Suggest Documents