You Are Here: Home » Wireless Projects » Radio Projects » CubeSat Diagnostics board using Mega128

CubeSat Diagnostics board using Mega128


Sound Byte

This project is a proof of concept diagnostic & testing board for use with the power board in the Cubesat Satellite and will be developed further to become a component of the CUSat Satellite.

Summary of What We Did and Why

This projects goal is to create diagnostics and testing hardware for use by the power subsystem of the soon-to-be launched Cornell ICE Cube Satellite and the new CUSat project (Part of the Nanosat4 Project).

CubeSat Diagnostics board using Mega128

CubeSat Diagnostics board using Mega128

This hardware is a proof of concept PCB, designed to test and diagnose the CubeSat power board independently, but will be developed further to interface within the CUSat Satellite. Ultimately, this board will be used for hardware verification of software command execution & to detect hardware faults of all main boards of the satellite.

The project can be divided into two main disciplines: the design and creation of the PCB and the MCU code that interfaces with the boards peripheral hardware. Functionally, the diagnostics and testing board can turn the power board on and off by simulating the pull before flight pin & kill switches, toggle different subsystems to turn on, simulate the variable loads of the subsystems, report the current and voltages of each subsystem and provide for bidirectional current readings generated by the torque coil circuitry on the power board. The board can select any of the regulator outputs, including the H-bridge coils and load them with one of four power resistors as specified by the existing cubesat manual testing document.

The software running on the Mega128 allows the operator to either run a default script to test everything on the board or to run specific singular tasks for verification of functionality. The interface to the board is either though a menu system via the RS232 port or allowing the board to time out to the default script and rely solely on the LCD numeric codes and associated error LEDs.

High Level Design

Rationale & Source of Project Idea
Bryan has been a member of the CubeSat project since September 2003. The need for this power diagnostic board became very clear over the last year and half. Since then, there have been about 5 power board revisions, but the requirements and testing procedures have remained the same. Qualifying a single board was a long and tedious process, which was prone to user error and loose wires and even board malfunction due to violations of procedure. Additionally, qualification was generally not done again until a very important test and often problems were not found until something was obviously broken, current leaks were found or the board smoked.

After discussions with Professor Mark Campbell, it was decided that diagnostic & test hardware would be useful for all boards, especially the power board since there is an intention to make a new cubesat in the coming years and it can be adapted to the new CU Sat project, which is now in its System Concept Review stage. This board can be easily be expanded for DC tests and can probably be adapted to qualify continuous AC signals with some minor modifications.

While this project is a joint effort between the CubeSat project and ECE 476, it was not something that Michael or Bryan would have been doing anyway and was thus acceptable as an ECE476 final project. Had this initial board not been made, it most likely would have been given lower priority and likely not have found itself included in the new spacecraft to be designed.
Background Math

Our ADCs calculate the incoming voltages using the following equations:

  • General Regulator Current Measurement (8:1 Mux) = (ADCH / 255) * (Aref/Gain) * Scale
    • Aref = 5.022 V; Measured for this board
    • Gain = 50; Due to 50 gain associated to the current sensor
    • Scale = 11; Due to the .1 Ohm Sense Resistor Used
  • General Regulator Voltage Measurement (8:1 Mux) = (ADCH / 255) * (Aref / VoltageDividerFactor)
    • ARef = 5.022V; Measured for this board
    • Voltage Divider Factor = .5 (R1 = R2)
  • Coil Current Measurement (8:1 Mux) = (ADCH / 255) * (Aref/Gain) * Scale
    • Aref = 5.022 V; Measured for this board
    • Gain = 50; Due to 50 gain associated to the current sensor
    • Scale = 135; Measured Scale Factor – should be 11
      This scale factor is based on experimental calibration. It is wrong due to transistor voltage dropoff and causes a somewhat unstable reading. This will be fixed in a future revision of the board.
  • Coil Voltage Measurement (8:1 Mux) = (ADCH / 255) * (Aref / VoltageDividerFactor) + Vds1 + Vds2
    • ARef = 5.022V; Measured for this board
    • Voltage Divider Factor = .5 (R1 = R2)

    Logical Structure

The CubeSat power board provides power to all subsystems in the satellite. In the satellite, the board is commanded by the Command and Data Handling Subsytem by toggling select lines. When a subsystem’s select line is pulled high, the power board switches on the supply for that subsystem. In simple terms, the Diagnostic board takes the role of commanding the power board and loading the power board to simulate connected subsystems.

Logical Structure of CubeSat Diagnostics board

Logical Structure of CubeSat Diagnostics board

There are 4 voltage levels provided by the power board: 1.5V, 3.3V, 5V, 12V. The first three voltages are supplied from a switching regulator while the final one is the battery voltage (3 lithium ion cells in series). These supplies are sent to other subsystems, which can be simulated as power resistors.

For reference, the following is a crude block diagram represents the main interactions within our PCB.

The Diagnostic Board Must:

Simulate Kill Switches and Pull Before Flight Pin

The power board is the heart of the satellite. It must be on for anything else in the satellite to be on. In order to control when the satellite is on or off, mechanical switches are used. 2 of the switches are micro switches on top of the satellite and the 3rd is a micro switch that gets toggled by a pin that is inserted into the side of the satellite, which is removed before flight. In order for the satellite to be on, the following conditions are met: The Pin is out and at least 1 of the 2 micro switches are not depressed. When the switch is not depressed in all 3 cases, a high voltage is sent to the select lines of the appropriate switch. The following table represents whether the satellite is on or off. This is the first step in testing the board as it is the most basic task and the board must be on for other tests to function.

  • Measure Voltage & Current for each regulator output on the power boardThe power board has 4 regulators that are sent to the Heaters, CDH, Comm (Vestigial), GPS, GPS Mem, Boom Burn Wire, and the Flap Burn Wire. Each of these components have different loads. As a result, the board must be able to turn on any of these inputs through the select pins on the power board, measure the voltage and current for the selected component and apply the appropriate power resistor. This recreates the more thorough power board test.
  • Measure Voltage & Current for the bidirectional torque coilsThe torque coils on the CubeSat are used for attitude control. There is one coil on each axis of the satellite. When current is applied through the coil, the satellite tries to align itself with the earth’s magnetic field. However, in order to apply torque in the opposite direction, the current must be reversed. This bidirectional nature requires a different circuit from normal regulator measurements. The board must allow for current to flow in either direction, and be able to measure both current and voltage.
  • Communicate to the Power Board via Serial ConnectionThe power board cannot be changed to accommodate new tests. As a result, a big portion of the board cannot be tested as we are limited to the pins available through the well defined connectors. However, the power board has a serial connection, which has a MCU connected to various sensors. As a result, this serial communications can allow for more complex tasks to take place.

 Parts list:

QuantityUnit Discount*Total Part Number DescriptionReason its free
30.440.041.32MC74HC4053A2:1 MuxNot
20.480.050.96MC74HC4051A8:1 MuxNot
340.220.027.48MMBF170NMOS transistorNot
41.630.166.52MAX4372Current SensorNot
110.961.1010.96FE02024 Digit LCDNot
12.370.242.37ICM7211LCD driverNot
15.000.505.00MAX233CPPRS232 driverNot
20.740.071.48788750-1RS232 connectorNot
10.700.070.70XT49M-208M8 Mhz crystalNot
10.840.080.84LM340LAZ-5.05V regulatorNot
10.840.080.84LM340LAZ-12.012V regulatorNot color LEDNot for boardNot
12.420.242.42RW3R0DB5R00JBK5 Ohm resistorNot Ohm resistorCubeSat Extras socketCubeSat Extras Budget Extras ConnectorPower ConnectorCubeSat Extras Extras Ohm resistorCubeSat Extras Ohm resistorCubeSat Extras Ohm resistorCubeSat Extras connectorsMolex connectorsCubeSat Extras SwitchSlide SwitchCubeSat Extras SM capacitorSMD Kit SM capacitorSMD Kit SM capacitorSMD Kit SM resistorSMD Kit SM resistorSMD Kit SM resistorSMD Kit Ohm SM resistorSMD Kit
Grand total:2.7142.60
Cost of Project 39.90


For more detail: CubeSat Diagnostics board

Leave a Comment

You must be logged in to post a comment.

Read previous post:
Gauntlet of uComputation using Atmel Mega32

Introduction  The project involves an experiment in implementing a human-computer interface by tracking finger and wrist motions. Brief: "Ever wish...

Scroll to top