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:

Quantity Unit Discount* Total Part Number Description Reason its free
3 0.44 0.04 1.32 MC74HC4053A 2:1 Mux Not
2 0.48 0.05 0.96 MC74HC4051A 8:1 Mux Not
34 0.22 0.02 7.48 MMBF170 NMOS transistor Not
4 1.63 0.16 6.52 MAX4372 Current Sensor Not
1 10.96 1.10 10.96 FE0202 4 Digit LCD Not
1 2.37 0.24 2.37 ICM7211 LCD driver Not
1 5.00 0.50 5.00 MAX233CPP RS232 driver Not
2 0.74 0.07 1.48 788750-1 RS232 connector Not
1 0.70 0.07 0.70 XT49M-208M 8 Mhz crystal Not
1 0.84 0.08 0.84 LM340LAZ-5.0 5V regulator Not
1 0.84 0.08 0.84 LM340LAZ-12.0 12V regulator Not
3 0.25 0.03 0.75 HFMF-C155 2 color LED Not
6 0.16 0.02 0.96 Doorstoppers Stands for board Not
1 2.42 0.24 2.42 RW3R0DB5R00JBK 5 Ohm resistor Not
4 0.00 0.00 0.00 RW1S0BAR100FBK .1 Ohm resistor CubeSat Extras
1 0.00 0.00 0.00 TQFP64 Zif socket CubeSat Extras
1 0.00 0.00 0.00 PCB PCB CubeSat Budget
2 0.00 0.00 0.00 Jumpers Jumpers CubeSat Extras
1 0.00 0.00 0.00 Power Connector Power Connector CubeSat Extras
1 0.00 0.00 0.00 Mega128L Processor CubeSat Extras
3 0.00 0.00 0.00 TDH35P3R00J 3 Ohm resistor CubeSat Extras
1 0.00 0.00 0.00 TDH35P10R0J 10 Ohm resistor CubeSat Extras
1 0.00 0.00 0.00 TDH35P200R0J 200 Ohm resistor CubeSat Extras
5 0.00 0.00 0.00 Molex connectors Molex connectors CubeSat Extras
1 0.00 0.00 0.00 Slide Switch Slide Switch CubeSat Extras
8 0.00 0.00 0.00 ECJ-2YB1H104K .1uf SM capacitor SMD Kit
7 0.00 0.00 0.00 ECJ-2YB1H105K 1uf SM capacitor SMD Kit
2 0.00 0.00 0.00 ECJ-2YB1H220K .22pf SM capacitor SMD Kit
26 0.00 0.00 0.00 9C12063A3303JLHFT 330kOhm SM resistor SMD Kit
4 0.00 0.00 0.00 9C12063A1003JLHFT 100kOhm SM resistor SMD Kit
4 0.00 0.00 0.00 9C12063A1001JLHFT 1kOhm SM resistor SMD Kit
6 0.00 0.00 0.00 9C12063A3000JLHFT 300 Ohm SM resistor SMD Kit
Grand total: 2.71 42.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