+ All Categories
Home > Documents > ECE 4600 Group Design Project - University of...

ECE 4600 Group Design Project - University of...

Date post: 09-Mar-2018
Category:
Upload: haque
View: 214 times
Download: 1 times
Share this document with a friend
76
University of Manitoba Department of Electrical & Computer Engineering ECE 4600 Group Design Project Final Project Report Development of an Emulation System for Satellites - A subsystem based testing platform for C&DH unit by Group 17 Chiwing Chan Xu Ding Xin Jin Jiafeng Liang Bingjie Xiong Juntian Xiong Academic Supervisor Dr. Witold Kinsner Department of Electrical and Computer Engineering University of Manitoba Industrial Supervisor Mr. Dario Schor Magellan Aerospace Winnipeg, MB Date of Submission March 17, 2017 Copyright © 2017 Chiwin Chan, Xu Ding, Xin Jin, Jiafeng Liang, Bingjie Xiong, Juntian Xiong
Transcript
Page 1: ECE 4600 Group Design Project - University of Manitobaece.eng.umanitoba.ca/undergraduate/ECE4600/ECE4600… ·  · 2017-03-21G17 Final Report 2017 Abstract ... The goal of this project

University of Manitoba Department of Electrical & Computer Engineering

ECE 4600 Group Design Project

Final Project Report

Development of an Emulation System for Satellites

- A subsystem based testing platform for C&DH unit

by

Group 17

Chiwing Chan Xu Ding Xin Jin

Jiafeng Liang Bingjie Xiong Juntian Xiong

Academic Supervisor Dr. Witold Kinsner

Department of Electrical and Computer Engineering University of Manitoba

Industrial Supervisor Mr. Dario Schor

Magellan Aerospace Winnipeg, MB

Date of Submission

March 17, 2017

Copyright © 2017 Chiwin Chan, Xu Ding, Xin Jin, Jiafeng Liang, Bingjie Xiong, Juntian Xiong

Page 2: ECE 4600 Group Design Project - University of Manitobaece.eng.umanitoba.ca/undergraduate/ECE4600/ECE4600… ·  · 2017-03-21G17 Final Report 2017 Abstract ... The goal of this project

G17 Final Report 2017 Abstract

-i-

Abstract

The following report covers the development of a hardware emulator based satellite testing

system for a C&DH unit; the report investigates in the purpose, methodologies, system implementations,

and outcomes of this project.

As satellite technology fast pace itself in time, its complexity and cost follows closely; satellite

subsystem verification became a major difficulty in satellite constructions. Accurate software response,

realistic hardware response, robust system, and reasonable budget failed to be incorporated into a single

system.

The goal of this project is to develop a robust satellite testing system that result in accurate

responses within a contained budget, which is a necessity for future growth in satellite industries. This

goal is achieved by developing satellite subsystem emulators to test a desired complex system, the

Command and Data Handling unit (C&DH). Communication subsystem and thermal management

subsystem are selected to validate the C&DH unit by performing regular service routines and anomaly

injections. Arduino microcontroller boards are configured individually to represent the C&DH unit,

communication subsystem, and thermal management subsystem; commercial hardware is compared and

selected to assist each subsystem in performing desired functions. This emulation system has built in

command lists to provide the user with efficient system handling experiences, it is able to request,

process, and feedback a user input command through a serial monitor on the Arduino program software.

This emulation system prototype performs regular routines between the C&DH unit and two

subsystems attached, while it is capable of handling injected software and physical anomalies with

precision. The emulation system prototype is successfully developed as a testing platform for the C&DH

unit and it is implemented to meet all performance metrics.

Page 3: ECE 4600 Group Design Project - University of Manitobaece.eng.umanitoba.ca/undergraduate/ECE4600/ECE4600… ·  · 2017-03-21G17 Final Report 2017 Abstract ... The goal of this project

G17 Final Report 2017 Contributions

-ii-

Contributions

C

hiw

ing C

han

Xu D

ing

Xin

Jin

Jiaf

eng L

iang

Bin

gji

e X

iong

Junti

an X

iong

Research

C&DH System

Communication Subsystem

Thermal Subsystem

Power supply unit

System Integration

System Validation and Testing

Final Report

Legend: Lead task Contributed

Page 4: ECE 4600 Group Design Project - University of Manitobaece.eng.umanitoba.ca/undergraduate/ECE4600/ECE4600… ·  · 2017-03-21G17 Final Report 2017 Abstract ... The goal of this project

G17 Final Report 2017 Acknowledgements

-iii-

Acknowledgements

Our design team would like to thank several people and companies for their support in this

project. We would like to take this opportunity to give special thanks to our advisor Dr. Witold Kinsner,

for all of his supports and guidance throughout the course of this project. We would like to thank to

industrial supervisor Mr. Dario Schor provided related documents. We would like to thank to Electrical

engineering technologist staff Sinisa Janjic who helped in acquiring all of the components required to

implement the project. Finally, we would like to thank to Dr. Derek Oliver, Daniel Card, Aidan Topping

and Dr. Ahmed Byagowi for providing valuable feedbacks allowing us to improve our written and oral

communication skills.

Page 5: ECE 4600 Group Design Project - University of Manitobaece.eng.umanitoba.ca/undergraduate/ECE4600/ECE4600… ·  · 2017-03-21G17 Final Report 2017 Abstract ... The goal of this project

G17 Final Report 2017 Table of Contents

-iv-

Table of Contents

Abstract .......................................................................................................................................................... i

Contributions................................................................................................................................................. ii

Acknowledgements ...................................................................................................................................... iii

Table of Contents ......................................................................................................................................... iv

List of Figures ............................................................................................................................................. vii

List of Tables ............................................................................................................................................... ix

List of Abbreviations ................................................................................................................................... xi

Nomenclature .............................................................................................................................................. xii

1 Introduction ................................................................................................................................................ 1

1.1 Motivation ........................................................................................................................................... 1

1.2 Problem Definition .............................................................................................................................. 1

1.3 Proposal Solution ................................................................................................................................ 2

2 Capstone Project Formulation .................................................................................................................... 3

2.1 Aim of Project ..................................................................................................................................... 3

2.2 Core Concepts ..................................................................................................................................... 3

2.3 Project Statement ................................................................................................................................ 3

3 Scope of Project ......................................................................................................................................... 4

3.1 Project Limits ...................................................................................................................................... 4

3.2 Project Organization ........................................................................................................................... 4

4 Theoretical Formulations ........................................................................................................................... 5

4.1 Approach of Solution .......................................................................................................................... 5

4.1.1 C & DH Function Selections ....................................................................................................... 5

4.1.2 Communication Subsystem Functions Selections ....................................................................... 5

4.1.3 TMS Function Selections ............................................................................................................. 5

4.2 Methods............................................................................................................................................... 6

4.2.1 Command Processing ................................................................................................................... 6

4.2.2 Data Processing ............................................................................................................................ 7

4.2.3 Error injection .............................................................................................................................. 8

4.2.4 Transmission Error Detection and Correction ............................................................................. 8

Page 6: ECE 4600 Group Design Project - University of Manitobaece.eng.umanitoba.ca/undergraduate/ECE4600/ECE4600… ·  · 2017-03-21G17 Final Report 2017 Abstract ... The goal of this project

G17 Final Report 2017 Table of Contents

-v-

4.2.5 Thermal anomaly detection and correction .................................................................................. 9

4.2.6 Information Storage ....................................................................................................................... 10

4.2.7 Health Monitor (Watchdog Timer) ............................................................................................ 11

4.3 Technique .......................................................................................................................................... 12

4.3.1 Serial Peripheral Interface .......................................................................................................... 12

4.3.2 Asynchronous Parallel transmission .......................................................................................... 14

4.3.3 Noise reducing method .............................................................................................................. 15

4.4 Algorithms ........................................................................................................................................ 17

4.4.1 Hamming code algorithm........................................................................................................... 17

4.4.2 Temperature sensor conversion algorithm ................................................................................. 18

4.5 Theoretical formulation outcomes .................................................................................................... 19

5 System Design ......................................................................................................................................... 21

5.1 Hardware Components ...................................................................................................................... 21

5.1.1 Microcontroller .......................................................................................................................... 21

5.1.2 Communication Subsystem ........................................................................................................ 23

5.1.3 Thermal Subsystem .................................................................................................................... 25

5.1.4 Accessories ................................................................................................................................ 32

5.2 Implementation ................................................................................................................................. 34

5.2.1 Schematic of the whole project .................................................................................................. 34

5.2.2 Feedback of commands .............................................................................................................. 34

5.2.3 Telecommand ............................................................................................................................. 35

5.2.4 Thermal Management Subsystem .............................................................................................. 36

5.2.5 Power Unit ................................................................................................................................. 38

5.3 Test Design ....................................................................................................................................... 39

5.3.1 Fault recovery testing ................................................................................................................. 39

5.3.2 Test design for command processing ......................................................................................... 39

5.3.3 Design test for Thermal Subsystem ........................................................................................... 39

5.4 Verification ....................................................................................................................................... 40

5.4.1 Fault recovery Verification ........................................................................................................ 40

5.4.2 Command Processing ................................................................................................................. 42

5.4.3 Command Storage ...................................................................................................................... 42

5.4.4 Thermal Management Subsystem .............................................................................................. 44

5.5 Result Collection ............................................................................................................................... 46

Page 7: ECE 4600 Group Design Project - University of Manitobaece.eng.umanitoba.ca/undergraduate/ECE4600/ECE4600… ·  · 2017-03-21G17 Final Report 2017 Abstract ... The goal of this project

G17 Final Report 2017 Table of Contents

-vi-

6 Discussion ................................................................................................................................................ 51

6.1 Discussion of Result ......................................................................................................................... 51

7 Conclusion ............................................................................................................................................... 52

References ................................................................................................................................................... 53

Appendix A Budget .................................................................................................................................... 56

Appendix B Flow Chart .............................................................................................................................. 59

Appendix C Gantt Chart ............................................................................................................................. 62

Appendix D Code ....................................................................................................................................... 63

Page 8: ECE 4600 Group Design Project - University of Manitobaece.eng.umanitoba.ca/undergraduate/ECE4600/ECE4600… ·  · 2017-03-21G17 Final Report 2017 Abstract ... The goal of this project

G17 Final Report 2017 List of Figures

-vii-

List of Figures

Figure 4-1 Sequence diagrams of command handling 7

Figure 4-2: Watchdog timer flowchart 10

Figure 4-3: Logic of using hamming code to encode in error correction 18

Figure 4-4: The Correction Process 18

Figure 4-5: SPI connection 20

Figure 5-1: Arduino Uno R3 23

Figure 5-2: Arduino Mega 2560 23

Figure 5-3: Pin configurations 25

Figure 5-4: DC fan speeds on different duty cycles 29

Figure 5-5: DC fan flowchart 31

Figure 5-6: Model of LCD 32

Figure 5-7: Various colors of solid-core wire 34

Figure 5-8: The whole circuit for the project 35

Figure 5-9: Pin connections among C&DH, communication and thermal subsystems 36

Figure 5-10: Parallel asynchronous transmission 37

Figure 5-11: Entire circuit for TMS 38

Figure 5-12: Simulation of heater unit 39

Figure 5-13: The simulation of voltage regulator for power supply 40

Figure 5-14: Command observed from logic analyzer 41

Figure 5-15: Command observed from logic analyzer 42

Figure 5-16: The fault inject and recovery function 42

Page 9: ECE 4600 Group Design Project - University of Manitobaece.eng.umanitoba.ca/undergraduate/ECE4600/ECE4600… ·  · 2017-03-21G17 Final Report 2017 Abstract ... The goal of this project

G17 Final Report 2017 List of Figures

-viii-

Figure 5-17: Part of outcome of C&DH display on serial monitor 43

Figure 5-18: Telemetry processing between C&DH and communication subsystem through SPI 44

Figure 5-19: Data transfer between C&DH and thermal subsystem through SPI 44

Figure 5-20: Command processing between C&DH and communication subsystem 44

Figure 5-21: Heating command transmission 45

Figure 5-22: Cooling command transmission 46

Figure 5-23: Heating command verification on hardware 47

Figure 5-24: Outcome of C&DH 49

Figure 5-25: Outcome of communication subsystem 50

Figure 5-26: Outcome of thermal subsystem 51

Figure B-1: Flowchart for command processing 60

Figure B-2: Flow chart for command storage 61

Figure B-3: Conceptual flowchart for communication subsystem 62

Figure C-1: Gantt Chart 63

Page 10: ECE 4600 Group Design Project - University of Manitobaece.eng.umanitoba.ca/undergraduate/ECE4600/ECE4600… ·  · 2017-03-21G17 Final Report 2017 Abstract ... The goal of this project

G17 Final Report 2017 List of Tables

-ix-

List of Tables

Table 4-1: Command lookup table 6

Table 4-2: Comparison of different error detection and correction methods 8

Table 4-3: Comparison of command storage methods 9

Table 4-4: Comparison protocol among SPI, I2C and CAN 11

Table 4-5: Comparison between serial and parallel transmission 13

Table 4-6: Comparison between asynchronous and synchronous 15

Table 4-7: Comparison of reducing noise method 16

Table 4-8: Calculation for each temperature sensor 19

Table 5-1: Comparison of board choosing 22

Table 5-2: FIFO types 24

Table 5-3: Comparison of different heating elements 26

Table 5-4: Comparison of three different cooling units 26

Table 5-5: Technical specification of TMP36 27

Table 5-6: Technical specification of NTC thermistor 28

Table 5-7: Technical Specification of MCP9808 29

Table 5-8: Specification of the DC fan 30

Page 11: ECE 4600 Group Design Project - University of Manitobaece.eng.umanitoba.ca/undergraduate/ECE4600/ECE4600… ·  · 2017-03-21G17 Final Report 2017 Abstract ... The goal of this project

G17 Final Report 2017 List of Tables

-x-

Table 5-9: Pin description for LCD 32

Table 5-10: Parameter of bipolar junction transistor 33

Table 5-11: Voltage and current of whole system 47

Table 5-12: Performance matrix of C&DH 48

Table 5-13 Performance of fault recovery method for C&DH 48

Table A-1: Budget for G17 Capstone Project 58

Page 12: ECE 4600 Group Design Project - University of Manitobaece.eng.umanitoba.ca/undergraduate/ECE4600/ECE4600… ·  · 2017-03-21G17 Final Report 2017 Abstract ... The goal of this project

G17 Final Report 2017 List of Abbreviations

-xi-

List of Abbreviations

Abbreviation Description

AWG American Wire Gauge

C&DH Command and Data Handling

CAN Controller Area Network

CRC Cyclic Redundancy Check

FIFO First In / First Out

I/O Input / Output

I2C Inter-Integrated Circuit

IDE Integrated Development Environment

LCD Liquid Crystal Display

MISO Master Input, Slave Output

MOSI Master Output, Slave Input

PWM Pulse Width Modulation

SCK Serial Clock

SCL Serial Clock Line

SDA Serial Data Line

SPI Serial Peripheral Interface

SS Slave Select

TMS Thermal Management System

Page 13: ECE 4600 Group Design Project - University of Manitobaece.eng.umanitoba.ca/undergraduate/ECE4600/ECE4600… ·  · 2017-03-21G17 Final Report 2017 Abstract ... The goal of this project

G17 Final Report 2017 Nomenclature

-xii-

Nomenclature

Symbol Description

HFn Half-Full Flag

EFn Empty Flag

FFn Full Flag

Wn Write

Rn Read

D Data In

RSn Reset

RTn Retransmit

Q Data out

XIn Expansion In

Ω electrical unit of resistance

Page 14: ECE 4600 Group Design Project - University of Manitobaece.eng.umanitoba.ca/undergraduate/ECE4600/ECE4600… ·  · 2017-03-21G17 Final Report 2017 Abstract ... The goal of this project

G17 Final Report 2017 Chapter 1 - Introduction

-1-

Chapter 1

Introduction

1.1 Motivation

Since the first successful artificial satellite was launched by the Soviet Union in 1957, satellite

development and industry have grown tremendously [1]. Thousands of satellites have been launched into

space and many have remained to provide military and civilian services.

Satellite’s increasing functionalities and varieties have greatly served the mankind, allowed fast

interpersonal communications and extensions in global and universal monitor and research. However, the

benefits came with a price, development complexity and cost of construction have created a heavy stress

on fast growing satellite organizations and industries, especially for their satellite testing teams, who are

responsible for developing a reliable testing system within their cost limit.

1.2 Problem Definition

Two testing methods are practiced by the industry are duplicating subsystems and satellite

simulations. They had unique edges in certain testing aspects, but both contained major flaws which made

them less competitive in future markets.

In the past, creating duplicate satellite subsystems or even a full satellite system were viable

because satellites were much less expensive and complex. This method would result in a nearly perfect

software and hardware response. Duplicate subsystems could no longer be created to solely facilitate

testing platforms due to extreme construction difficulties and high expenses, the return of cost in

comparison was unworthy as they could be quickly outdated due to fast growth in satellite technologies.

Software simulations is a currently popular used method where subsystems are modeled on

selected software and possibly loaded onto a commercial platform; this can provide a reasonable test

response with a well limited cost. While this method is useful, it fails to account for numerous hardware

interactions and environmental interferences; it is also limited in adaptation as these commercial

platforms are difficult to update and implement.

Page 15: ECE 4600 Group Design Project - University of Manitobaece.eng.umanitoba.ca/undergraduate/ECE4600/ECE4600… ·  · 2017-03-21G17 Final Report 2017 Abstract ... The goal of this project

G17 Final Report 2017 Chapter 1 - Introduction

-2-

1.3 Proposal Solution

An inexpensive, robust, and realistic testing platform must be developed to suit the testing needs

of the growing satellite industry. It needs to be capable of accurate software responses and realistic

hardware responses, with a well contained budget.

A satellite system emulator is therefore proposed as the solution to the problem. This emulator uses

hardware from a much lower price range when compared to a real satellite system, and it emulates

important and necessary functions in order to perform accurate testing services.

Page 16: ECE 4600 Group Design Project - University of Manitobaece.eng.umanitoba.ca/undergraduate/ECE4600/ECE4600… ·  · 2017-03-21G17 Final Report 2017 Abstract ... The goal of this project

G17 Final Report 2017 Chapter 2 – Capstone Project Formulation

-3-

Chapter 2

Capstone Project Formulation

2.1 Aim of Project

The aim of this project is to initiate the development of such satellite system emulator and focus

on the development of a satellite emulation system for testing the Command and Data Handling (C&DH)

unit on a satellite. While a real C&DH unit works with numerous functions that interacts with multiple

subsystems, this project targets its connections with the communication subsystem and the thermal

management subsystem. Both subsystems and the C&DH unit are designed, validated, and tested for

regular routines and anomaly response. A power regulator designs and implements into the system circuit

to provide power to appropriate devices.

2.2 Core Concepts

The C&DH unit is the brain of a satellite system, it is responsible for duties which include

collecting and managing satellite data, carrying out commands from ground station, and transmitting

satellite status and data to Earth. Therefore, testing the C&DH unit is very crucial for the construction of

any satellite.

In our design, C&DH performs regular routines with the communication subsystem and thermal

management subsystem; these routines are time tracked within the C&DH and it is capable of detecting

and correcting errors such as transmission errors and system temperature anomaly. In our project, the

C&DH is tested on the abilities to process commands which given by the user through the communication

subsystem, transmitted satellite data using two transmission schemes, collected data through sensory

devices, stored important time stamped events or data, and fault recoveries.

2.3 Project Statement

This Project is to design a satellite C&DH that testing emulator with two subsystems including a

C&DH unit. And it is built to satisfy ground operation standards with considerations of space conditions.

The system is constructed using Arduino microcontrollers and commercial hardware within budget.

Page 17: ECE 4600 Group Design Project - University of Manitobaece.eng.umanitoba.ca/undergraduate/ECE4600/ECE4600… ·  · 2017-03-21G17 Final Report 2017 Abstract ... The goal of this project

G17 Final Report 2017 Chapter 3 – Scope of Project

-4-

Chapter 3

Scope of Project

3.1 Project Limits

Due to given project limits, aspects of this project are bounded to ensure successful completion.

First, testing conditions is significantly different from space environments; extreme temperature range,

space radiations, and vacuum space cannot be accounted and tested in this project. Second, this project is

limited to a budget of $600 CAD, which means these hardware components are not stand extreme space

conditions, have low accuracy and precision in measurements, and can be vulnerable to noise. Third, due

to time constraints, this project only emulates selected functions on the C&DH unit, communication

subsystems, and thermal management subsystem.

3.2 Project Organization

This capstone project is organized into four stages with the following order. Literature reviews is

the first stage of this project, this includes researches on satellites systems, C&DH unit, communication

subsystems, thermal subsystems, small satellite simulations, and small satellite projects; most of the

literature reviews are performed in this initial stage and continued as project progresses. The second stage

is to individually design and validate emulators for C&DH unit, communication subsystem, and thermal

management subsystem. The third stage is to integrate all emulators into one system, debug software

errors and correct integration conflicts. Lastly the entire system is validated to confirm expectations met

and perform varies tests to assess the robustness and limitations of the project.

Page 18: ECE 4600 Group Design Project - University of Manitobaece.eng.umanitoba.ca/undergraduate/ECE4600/ECE4600… ·  · 2017-03-21G17 Final Report 2017 Abstract ... The goal of this project

G17 Final Report 2017 Chapter 4 – Theoretical Formulations

-5-

Chapter 4

Theoretical Formulations

4.1 Approach of Solution

4.1.1 C & DH Function Selections

The C&DH is chosen as our test subject because it serves as a “brain” in any satellite system, its

success needs to be guaranteed before insertion onto a satellite system; it is one of the most complex and

expensive units on satellites. C&DH is required to handle commands, service requests, and data from

surrounding subsystems and the ground operation center; maintains the health of the satellite, and

recovers from minor failures or errors. It performs key functions which includes i) command execution ii)

data collection iii) faults recovery and iv) command storage [2].

4.1.2 Communication Subsystem Functions Selections

The communication subsystem is chosen to test the C&DH unit because it handles interactions

between the satellite and men, passing deliverables to earth and instructions to the satellite. The

communication subsystem is responsible for testing the C&DH unit by means of telecommand, telemetry,

and transmission error injection; providing a user interface for system control, request, and feedback. It

performs functions which includes telemetry transmission, passes of satellite status and collects data from

the C&DH to the user interface; telecommand transmission, forwards user commands to the C&DH for

execution; transmission error injection inputs the C&DH with controlled data errors at a pre-set rate; user

interface, gives robust and efficient request and feedback for users through a computer.

4.1.3 TMS Function Selections

The thermal management subsystem (TMS) utilizes sensory device to track temperatures within

the satellite, reports collected data and temperature anomaly warning to the C&DH unit, and responds

according to commands which issued by the C&DH unit. This subsystem is chosen because it is a

representative subsystem in the entire satellite system, as it contains multiple functions which are present

on multiple subsystems. The thermal management subsystem in this project is to maintain system

temperatures within a pre-set limit and communicate with the C&DH unit for routine data or warnings. it

Page 19: ECE 4600 Group Design Project - University of Manitobaece.eng.umanitoba.ca/undergraduate/ECE4600/ECE4600… ·  · 2017-03-21G17 Final Report 2017 Abstract ... The goal of this project

G17 Final Report 2017 Chapter 4 – Theoretical Formulations

-6-

is responsible for functions which include measurement data collection through sensors, false sensory

data rejection, data and warning transmission to the C&DH, and instructions execution from the C&DH.

4.2 Methods

4.2.1 Command Processing

The Command handling function is one of the most important function in the C&DH unit which

receives user commands and executes accordingly [3]. In our project, the C&DH unit receives user

commands from communication subsystem, corrects and verifies the command via the (7,4) hamming

code and a pre-set command lookup table shown in Table 4-1. Verified command executes following a

pre-set instruction. If the command requires to be redirected to thermal management subsystem, the

C&DH re-encodes the command and sends it to the thermal management subsystem. The thermal

subsystem decodes the commands before execution. The miniaturized process is shown in Figure 4-1.

Table 4-1: Command lookup table

Command type Representation

1 System status request

2 Increase control temperature by one degrees

3 Decrease control temperature by one degrees

4 Sample data transmission

For command transmission between the C&DH unit and communication subsystem,

asynchronous data transfer scheme was used because commands from the user are random in time, the

C&DH need to complete the current cycle before it accepts the command. Therefore, asynchronous

transmission makes sense as it does not require synchronization between the sender and receiver. The

asynchronous data transfer scheme was achieved by using FIFO hardware.

Page 20: ECE 4600 Group Design Project - University of Manitobaece.eng.umanitoba.ca/undergraduate/ECE4600/ECE4600… ·  · 2017-03-21G17 Final Report 2017 Abstract ... The goal of this project

G17 Final Report 2017 Chapter 4 – Theoretical Formulations

-7-

The real packet format of a telecommand includes command type, space address bits, error check

bits, sequence counter, and length of command depends on the complexity of the command [4]. Once the

C&DH subsystem receive the commands, it reads the commands check the command length identify the

command type and uses the error correction and detection code to debug the commands. After finish

verifying and decoding commands, it stores in the specific space address and increases the command

executed counter. The command format in this project reduces into 4 data bits due to the number of

command available and user accessibility. The format of command which used in the system contained a

start bit, a stop bit, parity bits, and data bits.

Figure 4-1 Sequence diagrams of command handling

4.2.2 Data Processing

Data processing describes when the C&DH collects satellite status, measurements, and data from

surrounding subsystems; then encodes with a selected algorithm and sent through antennas towards

ground station, known as telemetry. In our design, transmission to the ground station is replaced with a

user interface on the Arduino serial monitor.

Page 21: ECE 4600 Group Design Project - University of Manitobaece.eng.umanitoba.ca/undergraduate/ECE4600/ECE4600… ·  · 2017-03-21G17 Final Report 2017 Abstract ... The goal of this project

G17 Final Report 2017 Chapter 4 – Theoretical Formulations

-8-

The collection of satellite data and telemetry are performed though a synchronous transmission

scheme. Synchronous transmission well suit this purpose because data processing is mostly scheduled and

fixed in length, data transmission in synchronization will increase transmission speed as it removes

reception delay.

4.2.3 Error injection

In order to evaluate the C&DH unit in its capability to handle anomalies, trackable errors must be

injected from both surrounding subsystems.

The communication system injects transmission errors to the C&DH unit by changing data bits

through software. A scheduled error injection function is written in the communication subsystem

software with a pre-set error rate, this function will inject error to command bytes by flipping a command

bit. The limit of injection rate is 1 bit per byte of command.

The thermal management system injects thermal anomaly warnings to the C&DH unit by

physical contacts to the thermal sensors. Hot and cold objects will contact temperature sensors and the

TMS will assume the ambient temperature has changed. The error ranges limits to the temperature range

of the sensor in use.

4.2.4 Transmission Error Detection and Correction

In order to detect and correct transmission errors, procedures need to be completed by the

subsystems. Through comparison of four error detection methods, (7,4) is chosen to detect and correct

transmission errors. The communication subsystem encodes the 4-bit telecommand into a 7-bit segment

by adding 3 parity bits to the original command and sends the encoded command to C&DH. Upon

reception, the C&DH unit utilizes all 7 bits of data for error detection and correction by using the (7,4)

hamming code algorithm, then it strips off 3 parity bits from the original 4-bit command to match and

execute.

Four methods for error detection and correction are considered and listed in Table 4-2. The first

method is parity checking which adds up all the bits of the command and provides a parity bit to indicate

whether the sum is even or odd. If the sum is even, then the parity bit would be assigned as “0”. While the

parity bit is assigned as “1” when the sum is odd. The parity bit is inserted at the end of the command

message. However, if there are two errors, the sum of the message will overlook these errors and possibly

Page 22: ECE 4600 Group Design Project - University of Manitobaece.eng.umanitoba.ca/undergraduate/ECE4600/ECE4600… ·  · 2017-03-21G17 Final Report 2017 Abstract ... The goal of this project

G17 Final Report 2017 Chapter 4 – Theoretical Formulations

-9-

execute the error command. The second method is repeating code that repeatedly sends the same bit for

three times. When the message is received, it compares every three bits and results a single most repeated

bit. As the amount of the message will be three times the original, it takes longer to transmit and uses

more memory to store the message. The third method is CRC which uses a static polynomial as divisor to

divide the command message in order to get the remainder. The message sends out by adding the

remainder at the end of the message. CRC can detect all errors but do not have the ability of error

correction therefore retransmission is required. This can be problematic as retransmission can delay

command execution. The last method is (7,4) hamming code which adds the selected bits in a message

and results in multiple sums, these sums lay in between the command message and they enable error

detection and correction, but this method can only detect up to two errors and correct up to one error in

each message [5].

Table 4-2: Comparison of different error detection and correction methods

Methods

Advantage Disadvantage

Parity checking (odd

and even parity)

• Easy to implement • Even number of errors

cannot be detected

• Cannot correct errors

Repeating Code

• Easy to implement

• Detect and correct one error

• Waste of memory

• Slow transmission

CRC

• Can detect all the errors in

messages up to 12 bits

• Messages need to be

retransmitted

Hamming Code

• Can detect two and correct

one error

• Can only correct up to one

error

4.2.5 Thermal anomaly detection and correction

When the detected ambient temperature is outside of the threshold temperature range, the TMS

will transmit an appropriate warning flag to the C&DH unit. The C&DH unit then process the warning

Page 23: ECE 4600 Group Design Project - University of Manitobaece.eng.umanitoba.ca/undergraduate/ECE4600/ECE4600… ·  · 2017-03-21G17 Final Report 2017 Abstract ... The goal of this project

G17 Final Report 2017 Chapter 4 – Theoretical Formulations

-10-

flag and gives instructions to the TMS as a response. Instructions to the TMS will trigger a physical

response mechanism which includes a cooling fan and a heating ceramic resistor. Once the ambient

temperature falls back into operation range, the C&DH will instruct the TMS to stop its physical

response.

4.2.6 Information Storage

Information storage is crucial in a C&DH unit as it can store important time stamped events or

information. The ability to save time stamped events makes post analysis possible when the satellite

returns back to Earth; and the ability to memorize data increases the robustness of the system as

operations can be stored and handled in a desired order.

There are several methods which can achieve the command storage function as referred in Table

4-3.

Table 4-3: Comparison of command storage methods

Type of data

storing

method

Storage size advantage disadvantage

SD card Depend on

different types

of SD card

· Easy to remove from

the whole system

· The capacity of

storage is versatile

· The capacity of

storage is independent from

the Arduino boards.

· Life cycle of SD card

is long [x,10]

· Cost is variable for

different budget [x,10]

· Can be used to store

long term information

[x,10]

· Extra cost compares with

internal storage of Arduino

· The quality of

the SD card will influence the data

reading or writing speed [x,10]

· Data reading or writing speed

will slower than the internal storage

of Arduino board [x,10]

Page 24: ECE 4600 Group Design Project - University of Manitobaece.eng.umanitoba.ca/undergraduate/ECE4600/ECE4600… ·  · 2017-03-21G17 Final Report 2017 Abstract ... The goal of this project

G17 Final Report 2017 Chapter 4 – Theoretical Formulations

-11-

EEPROM of

Arduino Mega

4 k bytes · Can be used to store

long term information

· No extra cost

· Open source of code

is available for Arduino

mega.

(EEPROM Library)

· The storage capacity is highly

dependent on the type of Arduino

board

SRAM of

Arduino Mega

8 k bytes · Larger storage size

· Data writing or

reading speed is very fast

· Only used to store the

variables of CDH

· Program may fail easily in

unexpected ways.

4.2.7 Health Monitor (Watchdog Timer)

In order to ensure C&DH has the ability to reset itself in case of a hardware failure or software

loopholes, a watchdog timer is added. In Figure 4-2 showed that the watchdog timer reset automatically

when a timeout occurs in order to recover the C&DH. Each time the C&DH unit executes the command,

it reset the timer and watchdog timer started counting again. In reality, watchdog timer is an important

function when the satellite is failed to work and the computer need to be reset.

Page 25: ECE 4600 Group Design Project - University of Manitobaece.eng.umanitoba.ca/undergraduate/ECE4600/ECE4600… ·  · 2017-03-21G17 Final Report 2017 Abstract ... The goal of this project

G17 Final Report 2017 Chapter 4 – Theoretical Formulations

-12-

Figure 4-2: Watchdog timer flowchart

4.3 Technique

4.3.1 Serial Peripheral Interface

As previously mentioned, synchronous transmission is well suited for data and instruction

transfers between the C&DH unit and its surrounding subsystems. There are three serial communication

protocol we have investigated which include (i) SPI, (ii) I2C, and (iii) CAN for data transmissions.

Table4-4 showed the comparison among the three protocols which indicated the number of wires, speed,

the direction of the communication, support of bus and number of master. These factors are considered

for the protocol to use in the project.

Table 4-4: Comparison protocol among SPI, I2C and CAN [14,15]

SPI I2C CAN

Page 26: ECE 4600 Group Design Project - University of Manitobaece.eng.umanitoba.ca/undergraduate/ECE4600/ECE4600… ·  · 2017-03-21G17 Final Report 2017 Abstract ... The goal of this project

G17 Final Report 2017 Chapter 4 – Theoretical Formulations

-13-

(Serial Peripheral

Interface)

(Inter-Integrated

Circuit)

(Controller Area

Network)

Wires Four wires (MOSI, MISO,

SS, SCK)

Two wires (SCL, SCK) Two wires (TX, RX)

Speed Higher

(up to 10 Mbps)

Slower

(up to 3.4 Mbps)

High

(up to 1 Mbps)

Communication Full-duplex Half-duplex Half-duplex

Power consume Low High Low

Multiple devices

support

on the same bus with

additional wire

on the same bus with

same wire

on the same bus with

same wire

Data Cannot ensure the data is

received by slave

Ensure the data is

received by slaves

Ensure the data is

received by slaves

Master Supports one master Support multiple

master

Support multiple master

Travel distance Short distance Much greater distance

at low rates

Greatest

The serial peripheral interface (SPI) is a synchronous serial communication method regularly used in

embedded systems with multiple devices. The SPI communicate in full duplex mode, meaning that

bidirectional transmission is allowed on a single clock pulse. The SPI communication supports one master

multiple slave operations, which is very similar to the operation scheme of a C&DH unit. SPI scheme also

thrives in high transmission rate and low power consumption

Page 27: ECE 4600 Group Design Project - University of Manitobaece.eng.umanitoba.ca/undergraduate/ECE4600/ECE4600… ·  · 2017-03-21G17 Final Report 2017 Abstract ... The goal of this project

G17 Final Report 2017 Chapter 4 – Theoretical Formulations

-14-

4.3.2 Asynchronous Parallel transmission

Asynchronous transmission, suited for command transmissions, can be done in combination with

either serial transmission scheme or parallel transmission scheme. The benefits for each of them are listed

in table 4-5 and table 4-6. At the same clock frequency, parallel transmission is significantly fast and

easier to implement because a byte can be transmitted per clock cycle without additional start or stop bits.

Command transmissions between the C&DH unit and the communication subsystem utilizes

asynchronous parallel transmission because it handles random.

Table 4-5: Comparison between serial and parallel transmission [12]

No. Factors Serial Parallel

1. Number of bits

transmitted at one clock

pulse

One bit N bits

2. No. of lines required to

transmit n bits

One line N lines

3. Speed of data transfer Slow Fast

4. Cost of transmission Low as one line is required Higher as n lines are required

5. Application Long distance communication

between two computers

Short distance communication.

Like computer to printer

Table 4-6: Comparison between asynchronous and synchronous

Sr. No. Factors Asynchronous Synchronous

1. Data sent at one time Usually 1 byte Multiple bytes

2. Start and Stop bit Used Not used

Page 28: ECE 4600 Group Design Project - University of Manitobaece.eng.umanitoba.ca/undergraduate/ECE4600/ECE4600… ·  · 2017-03-21G17 Final Report 2017 Abstract ... The goal of this project

G17 Final Report 2017 Chapter 4 – Theoretical Formulations

-15-

3. Gap between Data units Present Not Present

4. Data transmission speed Slow Fast

5. Cost Low High

4.3.3 Noise reducing method

A noise or electrical interference exists in all electrical systems. More than fifty percent of system

hardware is highly influenced by the noise [3]. There are four types of common interferences.

Conducted Interference:

The noise signal exists and transmit in wires. This type of noise is also known as the crosstalk

noise. The crosstalk noise appears in all the electric circuits. It causes the unstable of the voltage in signal

wires [3].

Radiated Interference:

The source of this noise is the electric and magnetic fields. Since the electric or magnetic fields

can be transmitted in air from start port to the terminal during signal transmitting. The influence of this

noise is greater in the circuits with radiated components [3].

Electrostatic Discharge:

Electrostatic Discharge is created by the contact or apart of different kind of materials. It can

damage the circuit by its high energy and frequency [3].

Radio Frequency Interference:

Radio astronomy is one of the major sources of noise that can interfere the normal working of

satellite [3].

There are lots of ways to reduce noise in this project. The most common ways are shown in Table 4-7.

Table 4-7: Comparison of reducing noise method

Page 29: ECE 4600 Group Design Project - University of Manitobaece.eng.umanitoba.ca/undergraduate/ECE4600/ECE4600… ·  · 2017-03-21G17 Final Report 2017 Abstract ... The goal of this project

G17 Final Report 2017 Chapter 4 – Theoretical Formulations

-16-

Noise Reducing

methods

Principle Advantage Disadvantage

Use shielded

twisted pair

cables

After shielded, the signal wires will

not effect by other conductors outside

the shield.

· Easy to

decrease the crosstalk

noise

· Minimize the

radiations from

electromagnetic fields

· Can reduce

electric noise in wide

frequency range.

· Extra cost

Isolate signals Isolate the noisy components from the

whole system.

· Can solve

ground loop and signal

conversion problems

· Hard to

implement.

· A signal

isolator is needed

Use different

measurements

In high speed digital signal

communication, it is important to

choose wire with specific impedance

to guarantee the signal was

transmitted with maximum power.

· Can eliminate

any crosstalk noise

theoretically.

· Can take benefit

from twist pair cable.

· Hard to

eliminate all noise

in real case.

Filters Filter is used to remove the noise by

cut-off frequency.

· Low cost

· Easy to design

· Can be achieved

in either software or

hardware

· Not

sensitive with the

environment.

Page 30: ECE 4600 Group Design Project - University of Manitobaece.eng.umanitoba.ca/undergraduate/ECE4600/ECE4600… ·  · 2017-03-21G17 Final Report 2017 Abstract ... The goal of this project

G17 Final Report 2017 Chapter 4 – Theoretical Formulations

-17-

4.4 Algorithms

4.4.1 Hamming code algorithm

Hamming code (7,4) is a method that substituting three digit (either 1 or 0) into a four-digit

binary number. In Figure 4-4 shows that P1, P2 and P4 are the position of the three new digit which are

using the concept of XOR gate to calculate the number. For example, P1 is taking the value from position

X3, X5, and X7 and after the calculation, the new value of P1 replaced the original one in the hamming

code word. When the received side received the code and it started decoding with the seven digit binary

number. The method was similar to encoding which calculating S1, S2, and S4 with certain position that

were shown in Figure 4-5. If either one of them has the value of “1”, an error occurred. S1, S1, and S4

indicated the location of the error such that S1 = 1, S2 = 0, and S4 = 1 which the binary combination is

“101”. This binary combination showed that the error occurred in bit 5.

Figure 4-4: Logic of using hamming code to encode in error correction

Page 31: ECE 4600 Group Design Project - University of Manitobaece.eng.umanitoba.ca/undergraduate/ECE4600/ECE4600… ·  · 2017-03-21G17 Final Report 2017 Abstract ... The goal of this project

G17 Final Report 2017 Chapter 4 – Theoretical Formulations

-18-

Figure 4-5: The correction Process

4.4.2 Temperature sensor conversion algorithm

In order to obtain the temperature reading in Celsius, the microcontroller have to convert the

analog input voltage into digital bits by using the build in A/D converter. The A/D converter transforms

the analog voltage level between 0 to 1023 and turns the 10-bit analog reading into Celsius. The specific

calculation for each sensor are shown in Table 4-8.

Table 4-8: Calculation for each temperature sensor

TMP36 Voltage at Analog Pin1= (reading from ADC) * (5000/1024)

Temperature in Celsius = [(analog voltage) - 500] / 10

NTC Analog_reading=1023 - analogRead(Analog Pin0)

Temperature in Celsius = 3950 /(log((1025.0 * 10 / Analog_reading - 10) / 10) + beta /

298.0) - 273.0

MCP908 Temperature in Celsius = Tempsensor.readTempC(); //directly from the library

“Adafruit_MCP9808.h”

Page 32: ECE 4600 Group Design Project - University of Manitobaece.eng.umanitoba.ca/undergraduate/ECE4600/ECE4600… ·  · 2017-03-21G17 Final Report 2017 Abstract ... The goal of this project

G17 Final Report 2017 Chapter 4 – Theoretical Formulations

-19-

4.5 Theoretical formulation outcomes

Transmission scheme:

In order to test the C&DH unit, telemetry and telecommand functions are implemented by using

two communication methods. The telemetry function uses synchronous SPI communication protocol

which operates at high frequencies. The choice of this communication scheme arises from two reasons.

Telemetry data are prepared and sent by the C&DH on scheduled basis with a fixed size, which makes it

ideal for fast synchronous transmission; second reason is that fast transmission requires hardware

components to be working under high frequencies, therefore serial transmission is ideal for reducing

crosstalk noise generated by fast alternating current. Whereas the telecommand function utilizes an

asynchronous eight bit parallel communication scheme as telecommands varies in length and transmits at

a slower rate. The uncertainty in size of the command and low transmission rate is suitable for

asynchronous transmission as commands can be first stored in a buffer device such as a FIFO, and acquire

it once all commands are received to prevent the system from spending unnecessary time in waiting, also

at low frequencies, crosstalk won't be significant in this parallel scheme. Another reason for having a

second transmission scheme is that in case one protocol fails, the second transmission protocol can handle

both telemetry and telecommand as both transmission schemes are capable of half duplex transmission.

Communication Protocol:

By considering the communication between subsystems need to be bidirectional, a full-duplex

protocol is our first priority as C&DH has to receive the message from thermal and send commands to

control the subsystems. On the other hand, the speed of the transmitting message is our second

consideration as a higher speed of transfer rate can provide a feedback instantaneously. As a result, SPI is

chosen for the communication in both thermal subsystem and communication subsystem. The connection

between them is shown in Figure 4-6 which indicates that they are sharing the same connections with a

separate slave pin to control which slave is able to communicate with C&DH.

Page 33: ECE 4600 Group Design Project - University of Manitobaece.eng.umanitoba.ca/undergraduate/ECE4600/ECE4600… ·  · 2017-03-21G17 Final Report 2017 Abstract ... The goal of this project

G17 Final Report 2017 Chapter 4 – Theoretical Formulations

-20-

Figure 4-6: SPI connection

Error correction:

In order to obtain the resilience of C&DH, an error handling method is implemented. The method

that is chosen in this project is hamming (7,4) code method. The reasons for choosing (7,4) hamming

code are the following: the coding scheme allowed both error detection and error correction. Therefore,

C&DH obtain a correct command without retransmission when an error occurs and leads to a higher

transfer rate. Comparing to (7,3) hamming code, (7,4) used less parity bit, thus it can obtain a higher

encoding rate and the error was correction is simpler than other method. Since the hamming distance for

(7,4) hamming code is three, the error could be corrected when there is only one error detected [5].

Command storage:

The command storage function is implemented by using EEPROM in Arduino mega. Every

command that received from the communication subsystem is stored in the EEPROM in Arduino mega.

The storage size of EEPROM for Arduino mega is 4096 bytes.

Thermal Management System

The TMS contains the temperature sensors, heating unit and cooling unit. Both heating unit and

cooling unit are controlled by the C&DH. And the temperature data are transmitted to the C&DH. If the

detected temperature is over or under the predetermined range, C&DH sends the command to the TMS

for changing the current temperature whether increasing or decreasing depends on temperature, and

ensure the system is in the predetermined range.

Page 34: ECE 4600 Group Design Project - University of Manitobaece.eng.umanitoba.ca/undergraduate/ECE4600/ECE4600… ·  · 2017-03-21G17 Final Report 2017 Abstract ... The goal of this project

G17 Final Report 2017 Chapter 4 – Theoretical Formulations

-21-

However, the whole system is designed to expose in the air and the main objective of our project

is to provide a testing platform for C&DH through the control for the heating unit and cooling unit. And

the thermal commands transmission is shown in both hardware and software.

Chapter 5

System Design

5.1 Hardware Components

5.1.1 Microcontroller

According to Table 5-1: Comparison of Board Choosing, the Raspberry Pi is a fully functional

computer, but Arduino boards are microcontrollers, not full computers. It does not run a full operating

system. However, executing simple code is easier and is not required specific operating system.

Therefore, Arduino boards are great for interfacing with other devices, especially Arduino boards have a

plenty of facilities for communicating with another Arduino boards or other microcontrollers [16].

For instance, every Arduino Uno boards include 14 digital pins that can be used as input or output by

using the function of pinMode() and digitalWrite(), and digitalRead(). Compare to the Raspberry Pi, the

Arduino software (IDE) does not have limits for the operating systems, it can run on the Windows,

Macintosh OSX and Linux. The IDE s a simple and clear programming surrounding that is suitable for

the beginner; at the same time, it is also flexibility enough for advanced users to use. On the other hand,

the Arduino boards are relatively economical compared with other microcontroller platforms. Arduino

Uno board that showed in the below Figure5-1 is a great choice for the communication subsystem and

thermal subsystem.

As a result, two Arduino Uno board are used for the thermal subsystem and C&DH by connecting

the pin 10 to pin 13 for the SPI protocol at the beginning. After we have added the communication

subsystem, the number of pins on the C&DH are insufficient for both subsystems. Therefore, the Uno

board is replaced with a Mega Arduino board as there are more pins for the digital input. C&DH is

connected to communication through a FIFO in order to receive the commands and a SPI for sending a

response message to it

Page 35: ECE 4600 Group Design Project - University of Manitobaece.eng.umanitoba.ca/undergraduate/ECE4600/ECE4600… ·  · 2017-03-21G17 Final Report 2017 Abstract ... The goal of this project

G17 Final Report 2017 Chapter 5 – System Design

-22-

Table 5-1: Comparison of board choosing [17]

Arduino Raspberry Pi

Board microcontroller motherboard general-purpose computer / fully

functional computer

Purpose Gathering data such as reading sensors

and changing values

Complete task with personal computer /

need to connect Internet

Tasks run one program at a time run multiple programs

Complexity Easy to use complicated

Operating

system

Not specified Linux

Power Low (5V / 3.3V) 5V

shut down pull the plug via a software process

Networking Need extra chip built-in Ethernet port

Sensors Easy to connect analog sensors with

commands

Requires software to interface with

devices

Page 36: ECE 4600 Group Design Project - University of Manitobaece.eng.umanitoba.ca/undergraduate/ECE4600/ECE4600… ·  · 2017-03-21G17 Final Report 2017 Abstract ... The goal of this project

G17 Final Report 2017 Chapter 5 – System Design

-23-

Figure 5-1: Arduino Uno R3

Figure 5-2. Arduino Mega 2560

5.1.2 Communication Subsystem

The FIFOs include four main different types which shown in the below Table 5-2. Comparing

with the software FIFOs, hardware FIFOs is faster than software memory based FIFOs. Meanwhile, the

Page 37: ECE 4600 Group Design Project - University of Manitobaece.eng.umanitoba.ca/undergraduate/ECE4600/ECE4600… ·  · 2017-03-21G17 Final Report 2017 Abstract ... The goal of this project

G17 Final Report 2017 Chapter 5 – System Design

-24-

control is local that does not involve any microcontroller. However, the software FIFOs must provide the

control [18]. According to the Table 5-2, a FIFO can be either asynchronous and synchronous, write and

read for asynchronous have different rates and a clock is not required. However, the write and read need

to have a same rate and a clock is required for synchronous.

Table 5-2: FIFO types [18]

As a result, the IDT 7200 is chosen as FIFO component in the project. The IDT 7200 pin

configuration are shown in Figure 5-3. This dual-port memory hardware FIFO loads and empties data on

a first in first out basis. [Ref 97] The devices use full and empty flags to prevent data overflow and

underflow. On the other hand, expansion logic allows unlimited expansion capability in both word size

and depth. This “dual-port” represents there are two data separated lines for write and read. Data is

toggled in and out of the devices through the use of Write (Wn) and Read pins(Rn). The read and write

are internally sequential through the use of circle pointers without requiring address information to load

and unload data.

Page 38: ECE 4600 Group Design Project - University of Manitobaece.eng.umanitoba.ca/undergraduate/ECE4600/ECE4600… ·  · 2017-03-21G17 Final Report 2017 Abstract ... The goal of this project

G17 Final Report 2017 Chapter 5 – System Design

-25-

Figure 5-3: Pin configurations [19]

5.1.3 Thermal Subsystem

In the TMS, it consists three major units which are temperature sensors, heating unit, and cooling

unit. In this project, three different methods are proposed for both heating unit and cooling unit. However,

both cooling unit and the heating unit are activated depend on the temperature sensor. And the

temperature sensor is placed in the whole system to detect the actual temperature for each subsystem in

order to avoid the overheat and undercool situations. Thus, the sensitivity and the temperature range are

the essential keys for choosing the correct temperature sensor.

For the heating unit, three different ideas are introduced as following: i) Peltier unit, ii) Ceramic

resistor, and iii) PTC thermistors. Based on different heating elements, the operating requirements are

independent. Firstly, Peltier unit, this kind of heating elements has different sides that provided heat or

cold. the minimum supply voltage is about 12 V and the rating power is around 60W which means Peltier

unit required more current to reach the rating power. However, since Peltier unit provides heat and cold at

the same time, the situation of the unit can not be controlled[p]. Secondly, Ceramic resistors, this kind of

heating elements is made by ceramic which can dissipate heat outside the resistor. Since the voltage

supplied by Arduino is too small to provide enough current to resistors, a boost converter to step up the

5V voltage to around 15 V is decided to be built[c]. Thirdly, PTC thermistors, the minimum supply

voltage of the heating unit is 12 V. Amplifier and several resistors is used to generate enough voltage to

Page 39: ECE 4600 Group Design Project - University of Manitobaece.eng.umanitoba.ca/undergraduate/ECE4600/ECE4600… ·  · 2017-03-21G17 Final Report 2017 Abstract ... The goal of this project

G17 Final Report 2017 Chapter 5 – System Design

-26-

the thermistors. Based on different sizes of the thermistors, the speed of rising up the temperature can be

easily controlled. The operating temperature of the thermistor is -40°C to 125°C[PTC]. However, the

operating temperature of this device is lower than the ceramic resistor, ceramic resistor is decided to use

as a priority plan in the project. The performance for each heating elements are shown in Table 5-3.

Table 5-3: Comparison of different heating elements

Peltier unit ceramic resistor PTC Thermistor

Type TEC1—12708 / RO8.5-76.0

(B/N193623)

YAGEO 1322 5w

10R J

Disk shaped, 230 V, Æ

= 8 mm

Voltage Operating

Range

up to 15.4V up to 350V 230V - 265V

Temperature Operating

Range

less than 90 degree from -55 C to 155

C

from -40 C to 100 C

On the other hand, for the cooling unit, there are three proposed elements to release the waste

heat from the system as following, i) Heat pipe, ii) Radiator, and iii) PC Fan. Each individual cooling

elements performed in different ways. Firstly, heat pipe is the most efficient way to transport the large

quantities of heat from one location to another by using a closed two phase fluid flow cycle. Secondly,

radiator rejects the waste heat of the system and any radiant heat loads from the environment. Thirdly, PC

fan is an electrical device to circulate the air within the system. Table 5-6 shows the comparison of three

different cooling units.

Table 5-4: Comparison of three different cooling units [2]

Type of

Cooling Unit

Advantage Disadvantage

Heat Pipe Transport large amount of heat without using

electrical power

Size constraint

Mass constraint

Page 40: ECE 4600 Group Design Project - University of Manitobaece.eng.umanitoba.ca/undergraduate/ECE4600/ECE4600… ·  · 2017-03-21G17 Final Report 2017 Abstract ... The goal of this project

G17 Final Report 2017 Chapter 5 – System Design

-27-

Suitable to used in varying temperature ranges by

applying different working fluids

Radiator Active thermal control elements

No power required to operate

Needed additional surface

finished

Radiating power depends on

the emissivity

DC Fan Adjustable fan speed

Automatically turn on upon the temperature sensor

Required power to operate

Not cool off in closed space

TMP36

The TMP36 is the temperature sensor which is the low voltage and precision centigrade

temperature sensor. It provides a voltage output that is linearly proportional to the temperature in Celsius

and does not require any external calibration for providing typical accuracies over the temperature range

from -40°C to 125°C. The technical specifications of the TMP36 are shown in the Table 5-5 [9].

Table 5-5: Technical specification of TMP36

Parameter Specification

Test Conditions Minimum Typical Maximum

Temperature Range

−40°C

125°C

Supply Voltage

2.7 V

5.5V

Accuracy TA = 25°C

−40°C ≤ TA ≤ +125°C

±1°C

±2°C

Supply Current

50 uA

Page 41: ECE 4600 Group Design Project - University of Manitobaece.eng.umanitoba.ca/undergraduate/ECE4600/ECE4600… ·  · 2017-03-21G17 Final Report 2017 Abstract ... The goal of this project

G17 Final Report 2017 Chapter 5 – System Design

-28-

NTC thermistor

The NTC thermistor has the high measurement accuracy with a wide range, good stability and

strong overload capacity. The precision of NTC thermistors can up to 0.1°C. When the temperature gets

higher, the resistance of the thermistor decreases and the voltage of pin A0 increases accordingly. The

voltage data converts to digital quantities by the internal A/D adapter of Arduino Uno [10].

Table 5-6: Technical specification of NTC thermistor

Parameter Specification

Test Conditions Minimum Typical Maximum

Temperature Range

−50°C

150°C

Supply Voltage

3.3 V

5.5V

Accuracy −25°C ≤ TA ≤ +85°C −55°C ≤ TA ≤ +150°C

±0.5°C

±1°C

MCP9808

The MCP9808 is the most precise temperature sensor among the three, with typical accuracy of

0.25°C in the range from -40°C to 125°C and precision of 0.0625°C. It is the I2C digital temperature

sensor using the I2C data pins, which are SCL and SDA. This MCP9808 comes in the compact PCB with

the pull-down resistors for 3 address pins and it can connect up to eight units to a single I2C bus without

address collision [11].

Table 5-7: Technical Specification of MCP9808

Parameter Specification

Test Conditions Minimum Typical Maximum

Page 42: ECE 4600 Group Design Project - University of Manitobaece.eng.umanitoba.ca/undergraduate/ECE4600/ECE4600… ·  · 2017-03-21G17 Final Report 2017 Abstract ... The goal of this project

G17 Final Report 2017 Chapter 5 – System Design

-29-

Temperature Range

−40°C

125°C

Supply Voltage

2.7 V

5.5V

Accuracy −40°C ≤ TA ≤ +125°C

−20°C ≤ TA ≤ +100°C

±0.25°C

±0.5°C

Supply Current

200 uA

DC Fan

The DC Fan is used as the cooling unit in the TMS. And it has the ability to operate in different

speeds, which is based on the use of analog output PWM. The PWM is the digital control that used to

create the on-off pattern into square wave switching between 0V and 5V. In order to operate in different

speeds, by changing the portion of the time the signals spend on versus the time that the signal spend off.

Figure 5-4: DC fan speeds on different duty cycles

In TMS design, the DC Fan is operated in four levels of speed based on the predetermined

temperature range and programmed in the IDE software. According to the flowchart in Figure5-5, it is

clearly illustrated that the DC Fan is off when the temperature in the predetermined range. If the

temperature is higher than the normal temperature and less than the warning temperature, the DC Fan

starts operating at 25% of the speed. And if the temperature is greater than the warning temperature and

less than the maximum limit, the DC Fan is operating at 50% of the speed. The last situation, if the

temperature is over the maximum limit, the DC Fan is operating at the 100% of the speed.

Table 5-8: Specification of the DC fan

Supply Voltage 3V - 5V

Page 43: ECE 4600 Group Design Project - University of Manitobaece.eng.umanitoba.ca/undergraduate/ECE4600/ECE4600… ·  · 2017-03-21G17 Final Report 2017 Abstract ... The goal of this project

G17 Final Report 2017 Chapter 5 – System Design

-30-

Adjustable Speed 0 - 255 rpm

Din 0-OFF/1-ON

Figure5-5: DC fan flowchart

Page 44: ECE 4600 Group Design Project - University of Manitobaece.eng.umanitoba.ca/undergraduate/ECE4600/ECE4600… ·  · 2017-03-21G17 Final Report 2017 Abstract ... The goal of this project

G17 Final Report 2017 Chapter 5 – System Design

-31-

LCD

The 16x2 LCD is used to display the changing temperature and the status of the fan in the thermal

subsystem. And the model of the LCD is NHD-0216XZ-FSW-GBW and is shown in Figure5-6. This

LCD has its own built-in controller (ST7066U), which means it has the ability to convert the signal from

Arduino Uno on the correct display of LCD, based on the build-in font table. The communication

between the Arduino Uno and the LCD is bidirectional in order to send the signal from Arduino to be

displayed by the LCD [20].

Figure 5-6: Model of LCD

The 16x2 LCD means that it can display 16 characters per line and there are 2 lines in total. Table 5-9

shows the pin description of the LCD.

Table 5-9: Pin description for LCD

Pin Number Symbol Function description

1 VSS Ground

2 VDD Supply Voltage (5V)

3 V0 Power Supply for contrast

4 RS Register Select Signal (RS=0: Command, RS=1: Data)

5 R/W Read/Write Select Signal(R/W=1: Read, R/W=0: Write)

6 E Enable signal, Falling edge triggered

Page 45: ECE 4600 Group Design Project - University of Manitobaece.eng.umanitoba.ca/undergraduate/ECE4600/ECE4600… ·  · 2017-03-21G17 Final Report 2017 Abstract ... The goal of this project

G17 Final Report 2017 Chapter 5 – System Design

-32-

7-14 DB0-DB7 Bi-directional three-state data bus lines

15 LED+ Power supply for LED Backlight

16 LED- Ground for Backlight

Bipolar Junction Transistor (BJT)

The BJT is used as a switch in order to control on/off of the heating unit. The basic concept is

using the supplied current from Arduino Uno to control the statement of the BJT. And the type of BJT is

NPN since the load needs a positive voltage at collector terminal, and there is a sufficient base current

which is supplied by Arduino to turn on the transistor. And Table 5-10 shows the parameter of bipolar

junction transistor [21].

Table 5-10: Parameter of bipolar junction transistor

Parameter Specification

Minimum Maximum

Temperature Range −55°C 150°C

Maximum Collector-Emitter Voltage

40V

Maximum Collector-Base Voltage

60V

Maximum Emitter-Base Voltage

6.0V

5.1.4 Accessories

Solderless Breadboard

The breadboard is a rectangular piece of insulating material used to hold electronic components

when making circuit prototypes. These three reasons of using breadboard: first of all, breadboards have

solderless connections that allow components to be changed quickly, and the components are not

damaged by heat from being continuously soldered. Moreover, a variety of electronic systems may be

prototyped by using breadboards, from small analog and digital circuits to complete central processing

Page 46: ECE 4600 Group Design Project - University of Manitobaece.eng.umanitoba.ca/undergraduate/ECE4600/ECE4600… ·  · 2017-03-21G17 Final Report 2017 Abstract ... The goal of this project

G17 Final Report 2017 Chapter 5 – System Design

-33-

units. Although, breadboards cannot be used for circuits that require high frequencies because the

connecting strips have high resistance and stray capacitance. High voltages and currents cannot be used

because they can cause arcing between the connecting strips. However, we don’t require high frequencies,

high resistance and stray capacitance and high voltages and currents in the circuit in the project. Since this

project need plenty of testing and improvement for circuit; therefore, the GS-830 solderless breadboard is

chosen in the project. [22]

Wires

The reason of using various colors of solid-core 22 AWG hook-up wire is chosen breadboard in the

project which shown in the Figure 5-7. The typically breadboard holes only handle a small range of wire

gauges, because a too small wire will fall out or make a poor connection. [23] If a wire is too large, it will

bend out a hole or just not fit. However, the most often 22gauge wire specifically is marketed for

breadboards. On the other hand, Wire may be drawn from different conductive materials, most often

metal. Gold and silver are excellent conductors of electricity. But exotic metals are often soft and

expensive. Most practical wires are made of copper and tin. Meanwhile, the various colors of wires

represent different uses in project.

Figure 5-7: Various colors of solid-core wire [24]

Page 47: ECE 4600 Group Design Project - University of Manitobaece.eng.umanitoba.ca/undergraduate/ECE4600/ECE4600… ·  · 2017-03-21G17 Final Report 2017 Abstract ... The goal of this project

G17 Final Report 2017 Chapter 5 – System Design

-34-

5.2 Implementation

5.2.1 Schematic of the whole project

The whole system is supplied by a 9V battery through the switching regulator. And it contains the

C&DH, communication subsystem and the thermal management subsystem. The communication between

C&DH and each subsystem is using the SPI protocol. The Figure 5-8 shows the schematic for the whole

project.

Figure 5-8: The whole circuit for the project

5.2.2 Feedback of commands

Communication and thermal subsystem are connected to C&DH through SPI which is shown in

Figure 5-9. From pin 10 to pin 13 of the two subsystems are the default SPI pins on the Arduino UNO

while pin 49 to pin 53 are on Mega. An interrupt is set up on the communication and thermal subsystem.

If there is a new message generating from C&DH, an interrupt occurs simultaneously. Both subsystems

Page 48: ECE 4600 Group Design Project - University of Manitobaece.eng.umanitoba.ca/undergraduate/ECE4600/ECE4600… ·  · 2017-03-21G17 Final Report 2017 Abstract ... The goal of this project

G17 Final Report 2017 Chapter 5 – System Design

-35-

give the response immediately when they receive the interrupt message. And C&DH selects different

subsystem by setting the slave pin to low.

Figure 5-9: Pin connections among C&DH, communication and thermal subsystems

5.2.3 Telecommand

The telecommand function uses parallel asynchronous transmission scheme. This scheme

successfully uses eight I/O pins (D0-D7) as data pins and five I/O pins as control pins. a FIFO is used as a

buffer for the transmitted data as shown in the Figure 5-10. Parallel asynchronous transmission is

designed for the uplink data transfer from the communication subsystem (Arduino Uno R3) to the C&DH

unit (Arduino Mega 2560).

Page 49: ECE 4600 Group Design Project - University of Manitobaece.eng.umanitoba.ca/undergraduate/ECE4600/ECE4600… ·  · 2017-03-21G17 Final Report 2017 Abstract ... The goal of this project

G17 Final Report 2017 Chapter 5 – System Design

-36-

Figure 5-10: Parallel asynchronous transmission

5.2.4 Thermal Management Subsystem

Figure 5-11 shows the whole circuit in the TMS, which contains the ceramic resistor as heating

unit, DC Fan as the cooling unit, and three temperature sensors. And the LCD is used to display the

current temperature and the status of the DC Fan. The cooling unit is controlled on the PWM digital pin 9

and the heating unit is turning on/off by the NPN transistor switch on digital pin 8. All three temperature

sensors are connected to the analog pins of Arduino Uno. There is a build-in A/D converter transforms the

10-bit analog reading into temperature in Celsius.

Page 50: ECE 4600 Group Design Project - University of Manitobaece.eng.umanitoba.ca/undergraduate/ECE4600/ECE4600… ·  · 2017-03-21G17 Final Report 2017 Abstract ... The goal of this project

G17 Final Report 2017 Chapter 5 – System Design

-37-

Figure 5-11: Entire circuit for TMS

Basic concept of the entire heater unit uses Arduino connect with a Bipolar Junction Transistor to

control a heating element which is the 10 Ω ceramic resistor. The voltage is supplied by 5V voltage bus.

Therefore, the ideal power supplied by heater is 2.5W, and the simulation result is 2.461W which shown

in Figure 5-12.

Page 51: ECE 4600 Group Design Project - University of Manitobaece.eng.umanitoba.ca/undergraduate/ECE4600/ECE4600… ·  · 2017-03-21G17 Final Report 2017 Abstract ... The goal of this project

G17 Final Report 2017 Chapter 5 – System Design

-38-

Figure5-12: Simulation of heater unit [25]

5.2.5 Power Unit

A 9V battery is used as input voltage to provide 5V through a voltage regulator switching

(LM317). In order to generate the stable output voltage at 5V, the value of R1 and R2 is calculated using

the equation:𝑉𝑜𝑢𝑡 = 𝑉𝑟𝑒𝑓 ∗ (1 +𝑅2

𝑅1)[25]. Therefore, the ratio of R2/R1 is (Vout/Vref) - 1 =

(5V/1.25V) - 1 = 3. However, the value of the resistors is chosen based on the real value. And 330 and

1000 are selected as R1 and R2 respectively. By using Multisim, the output voltage is 5.09V, which is

shown in Figure 5-13. While the calculated output voltage is 5.038V from the equation. And for the

circuit in practice, the actual output voltage supplied by 9V battery is 5.028V, and it is close to the

calculated value.

Page 52: ECE 4600 Group Design Project - University of Manitobaece.eng.umanitoba.ca/undergraduate/ECE4600/ECE4600… ·  · 2017-03-21G17 Final Report 2017 Abstract ... The goal of this project

G17 Final Report 2017 Chapter 5 – System Design

-39-

Figure 5-13: The simulation of voltage regulator for power supply [26]

5.3 Test Design

5.3.1 Fault recovery testing

To test the response of recovering message in C&DH, a fault inject function is implemented. The

function added a fault into the command message with a random position and send the message to

C&DH. When the C&DH received the message, which contained a fault, the message is corrected

automatically in the original message by using hamming code in each subsystem. The function of

message recovery is successfully working for each error that had implemented.

5.3.2 Test design for command processing

In order to test the function of command processing. Four different types of commands are created.

The first type of command is used to get system status (temperature) from thermal subsystem. The second

and third type of commands is used to change the status of the thermal subsystem. The fourth type of

command is to send data to C&DH subsystem. With different types of commands, C&DH have different

command handle ways. For first type of command, the C&DH subsystem sends the command to thermal

subsystem and asks for the thermal status. If the C&DH received the second and third type of commands,

it sends these commands and require the thermal subsystem to execute them. If all the commands are

handled successfully, then it indicates the command processing function is fully implemented.

5.3.3 Design test for Thermal Subsystem

This project is to design the test platform for C&DH. Therefore, it is necessary to check the

communication between the C&DH and TMS. The TMS should maintain the temperature in the

predetermined range, and it is controlling by thermal commands from C&DH, whether turning on/off for

the heating unit or the cooling unit. The test for the TMS is separated into two parts, which are software

and hardware test. For software test, using the Arduino IDE and serial monitor to check the program is

working properly or not. And applying the logic analyzer to verify the transmission between C&DH and

TMS. For hardware test, it should check whether the heating unit and the cooling unit working properly

or not. In order to test the TMS, using the different temperature ranges to activate either the heating unit

or the cooling unit.

Page 53: ECE 4600 Group Design Project - University of Manitobaece.eng.umanitoba.ca/undergraduate/ECE4600/ECE4600… ·  · 2017-03-21G17 Final Report 2017 Abstract ... The goal of this project

G17 Final Report 2017 Chapter 5 – System Design

-40-

5.4 Verification

5.4.1 Fault recovery Verification

In order to verify the recovery of command with fault that we have obtained, a logic analyzer is

used to observe the result. The logic analyzer is connected to the SPI on thermal subsystem. In Figure 5-

14 showed that an encoded command “105” in MOSI while in Figure 5-15 showed “97” and “109” in

MOSI which indicated an encoded command with fault. As the command is corrected and decoded, it

gives a correct command to the subsystem. Thus, the result shows that all of them are returned a

temperature to C&DH as the corrected message and the command is obtained correctly.

Figure 5-16 is the result of the fault inject and recovery method shows by serial monitor. The left side

of the figure is the serial monitor of Communication subsystem and the right-hand side of the figure is the

serial monitor of C&DH subsystem. The serial monitor of Communication subsystem shows that a

random fault has been injected when sending the encoded command 1. The serial monitor of C&DH

shows that when it received encoded command 1, a fault is detected at the position 2 of the encoded

command 1 and the line after “Error detected at 2” shows the number of command received after fault

recovery and decoded which is command 1.

Figure 5-14: Command observed from logic analyzer

Page 54: ECE 4600 Group Design Project - University of Manitobaece.eng.umanitoba.ca/undergraduate/ECE4600/ECE4600… ·  · 2017-03-21G17 Final Report 2017 Abstract ... The goal of this project

G17 Final Report 2017 Chapter 5 – System Design

-41-

Figure 5-15: Command observed from logic analyzer

Figure 5-16: The fault inject and recovery function

Page 55: ECE 4600 Group Design Project - University of Manitobaece.eng.umanitoba.ca/undergraduate/ECE4600/ECE4600… ·  · 2017-03-21G17 Final Report 2017 Abstract ... The goal of this project

G17 Final Report 2017 Chapter 5 – System Design

-42-

5.4.2 Command Processing

A logic analysis is used to observe the speed of command processing and telemetry

(housekeeping data) processing. The reason for using logic analysis is that it shows the clock and data

transmission. It also shows the time period for each command or data during data transfer. Figure 5-18

shows the clock and data transmitting when command 4 is send. The data is transmitted at the falling edge

of the clock in logic analysis which can be read at the position of the white point of each channel as

shown in the Figure 5-18. The result read from the logic analysis for command 4 is 00000100 in binary

which is 4 in decimal. In Figure 5-19, C&DH subsystem sends the command or receives data and

feedbacks from the thermal subsystem through the SPI transmission.

5.4.3 Command Storage

The main purpose of testing the command storage is to observe whether the commands are

successfully saved in EEPROM of Arduino Mega or not. Therefore, a function of reading EEPROM in

Arduino Mega is used. The program printed out the commands which stores in the EEPROM

automatically when it received a new command from communication subsystem. The printing result is

shown in serial monitor. In Figure 5-17, the left column of number after the line of “0:00:35 16 3 2017”

shows the position of the EEPROM, and the right column of numbers shows all the commands received

by the C&DH from beginning to the time 0:00:35, 16/3/2017.

Figure 5-17: Part of outcome of C&DH display on serial monitor

Page 56: ECE 4600 Group Design Project - University of Manitobaece.eng.umanitoba.ca/undergraduate/ECE4600/ECE4600… ·  · 2017-03-21G17 Final Report 2017 Abstract ... The goal of this project

G17 Final Report 2017 Chapter 5 – System Design

-43-

Figure 5-18: Telemetry processing between C&DH and communication subsystem through SPI

Figure 5-19: Data transfer between C&DH and thermal subsystem through SPI

Figure 5-20: Command processing between C&DH and communication subsystem

Page 57: ECE 4600 Group Design Project - University of Manitobaece.eng.umanitoba.ca/undergraduate/ECE4600/ECE4600… ·  · 2017-03-21G17 Final Report 2017 Abstract ... The goal of this project

G17 Final Report 2017 Chapter 5 – System Design

-44-

5.4.4 Thermal Management Subsystem

According to the designed test, the predetermined temperature is changing in order to verify the

thermal commands transmission between C&DH and TMS. And it is testing the MOSI, MISO, Clock and

SS pins on the logic analyzer. Figure 5-6 and 5-7 shows the thermal commands transmission on channel

0, channel 1, channel 2 and channel 3, which are the MOSI, MISO, Clock and SS pins respectively.

In Figure 5-21, it shows the increasing temperature command transmission. The C&DH is

sending the encoded command “42” to the TMS and allow the TMS turning on the heating unit to

increase the current temperature. While the TSC simultaneously sends the acknowledge “255” back to

C&DH, which telling the C&DH that TMS have received the command successfully. And this

transmission is done in the 8 clock cycles.

In addition, in Figure 5-22, it shows the decreasing temperature command transmission. The

C&DH sends the encoded command “67” to the TMS and allows the TMS turning on the cooling unit to

decrease the current temperature. While the TSC simultaneously sends the acknowledge “255” back to

C&DH, which telling the C&DH that TMS have received the command successfully. And this

transmission is also done in the 8 clock cycles.

Figure 5-21: Heating command transmission

Page 58: ECE 4600 Group Design Project - University of Manitobaece.eng.umanitoba.ca/undergraduate/ECE4600/ECE4600… ·  · 2017-03-21G17 Final Report 2017 Abstract ... The goal of this project

G17 Final Report 2017 Chapter 5 – System Design

-45-

Figure 5-22: Cooling command transmission

On the other hand, the verification of the thermal commands is also shown in the hardware part.

For the heating command, the ceramic resistor starts heating up by closing the NPN transistor switch.

And there is a blue LED connecting with the ceramic resistor to indicate whether the NPN transistor

switch is on or not. And it is shown in Figure 5-23, the blue LED is switched on after receiving the

heating command from C&DH. And the heating command is the key turning the NPN transistor on and

off. For the cooling command, the DC Fan is turning on after receiving the cooling command from

C&DH. And the fan is activated in three different speeds according to the predetermined temperature

range, which is controlling by the digital PWM pin 9 of the Arduino Uno.

Page 59: ECE 4600 Group Design Project - University of Manitobaece.eng.umanitoba.ca/undergraduate/ECE4600/ECE4600… ·  · 2017-03-21G17 Final Report 2017 Abstract ... The goal of this project

G17 Final Report 2017 Chapter 5 – System Design

-46-

Figure 5-23: Heating command verification on hardware

5.5 Result Collection

Power Testing Results

The actual input voltage which is supplied by 9V battery is 7.19V, the supplied current measured

before entered into voltage regulator is 0.457A. The supplied voltage after regulated is5.019V and the

current after regulated is 0.475A because the voltage regulator only change the amplitude of the voltage.

The supplied voltage to heater is around 5.018V and the current through heater is 0.35A. Therefore, the

actual power is 5.018V * 0.35A = 1.756W. Arduino supplied 0.03A current into BJT switch to control the

statement of heater.

Table 5-11: Voltage and current of whole system

Vin 7.19V Iin 0.457A

Vreg 5.019V Ireg 0.475A

Vheater 5.018V Iheater 0.35A

VArduino 1.504V IArduino 0.03A

Page 60: ECE 4600 Group Design Project - University of Manitobaece.eng.umanitoba.ca/undergraduate/ECE4600/ECE4600… ·  · 2017-03-21G17 Final Report 2017 Abstract ... The goal of this project

G17 Final Report 2017 Chapter 5 – System Design

-47-

C&DH

Performance Matrix of C&DH shows in Table 5-12 and the performance of the fault recovery

method shows in Table 5-13.

Table 5-12: Performance matrix of C&DH

Requirements for typical C&DH Results in our project

Processing of Commands

· Command rates:

· Computer interface:

· Command storage:

· 50 commands/s

· None

· Commands

· 40-60 commands/s

· None

· Telemetry

Processing of telemetry

· House keeping data rate:

· Computer interface:

· 500-4kb/s

· None

· 8 kb/s

· None

Others:

· Mission time clock

· Watch dog

· Included

· None

· Included

· Included

Table 5-13 Performance of fault recovery method for C&DH

Error Handling method Hamming code (7,4)

Error Inject Rate 48.423%

Error Detection Rate 90%-100%

Error Correction Rate 90%-100%

Page 61: ECE 4600 Group Design Project - University of Manitobaece.eng.umanitoba.ca/undergraduate/ECE4600/ECE4600… ·  · 2017-03-21G17 Final Report 2017 Abstract ... The goal of this project

G17 Final Report 2017 Chapter 5 – System Design

-48-

Figure5-24 shows the outcome of the CDH subsystem display by serial monitor of Arduino.

Figure 5-24: Outcome of C&DH

Page 62: ECE 4600 Group Design Project - University of Manitobaece.eng.umanitoba.ca/undergraduate/ECE4600/ECE4600… ·  · 2017-03-21G17 Final Report 2017 Abstract ... The goal of this project

G17 Final Report 2017 Chapter 5 – System Design

-49-

Figure 5-25 shows the outcome of the Communication subsystem displayed by serial monitor in

Arduino. The numbers after “Command transmission in progress” shows the command that sends to the

C&DH subsystem and the column of data after “the command execution in progress” shows the data that

Communication subsystem wants to send to the C&DH subsystem.

Figure 5-25: Outcome of communication subsystem

Page 63: ECE 4600 Group Design Project - University of Manitobaece.eng.umanitoba.ca/undergraduate/ECE4600/ECE4600… ·  · 2017-03-21G17 Final Report 2017 Abstract ... The goal of this project

G17 Final Report 2017 Chapter 5 – System Design

-50-

Figure 5-26 shows the status of the thermal subsystem display by Arduino serial monitor. It

showed the temperature received from three different types of sensors. The thermal subsystem calculated

the mean temperature as the housekeeping data and sent to C&DH when it required.

Figure 5-26: Outcome of thermal subsystem

Page 64: ECE 4600 Group Design Project - University of Manitobaece.eng.umanitoba.ca/undergraduate/ECE4600/ECE4600… ·  · 2017-03-21G17 Final Report 2017 Abstract ... The goal of this project

G17 Final Report 2017 Chapter 6 – Discussion

-51-

Chapter 6

Discussion

6.1 Discussion of Result

The result obtained from the test validated the communication between C&DH and the two

subsystems which emulated a real satellite. Some of the main functions are chosen to be demonstrated in

figures and successfully displayed key functions which included the command processing, fault recovery

and health monitoring. When a command is called from the communication subsystem by user, the

C&DH received and processed the command and redirected to the thermal subsystem. All of the process

are printed out on the serial monitor.

In the communication subsystem, a user interface is created for the users to select a command. By

sending the command to C&DH, a feedback and a logged time are successfully obtained by receiving

either a temperature response message or an acknowledge from C&DH. The messages are all printed out

on the serial monitor as the received time.

For the TMS, the heating unit, cooling unit and the sensors works properly referring to different

range of temperature. Both heating unit and cooling unit normally turns off when the temperature is in the

desirable temperature range. If the temperature is determined as overheat, C&DH sends the cooling

command to the TMS and the DC fan turns on and operates at different speeds based on the temperature

levels. On the other hand, the heating command is sent to the TMS when the system is undercooling.

Then, the ceramic resistor heats up by closing the NPN transistor. Based on the testing and the result from

previous chapter, the thermal commands transmission is successfully done in both hardware and software.

Page 65: ECE 4600 Group Design Project - University of Manitobaece.eng.umanitoba.ca/undergraduate/ECE4600/ECE4600… ·  · 2017-03-21G17 Final Report 2017 Abstract ... The goal of this project

G17 Final Report 2017 Chapter 7 – Conclusion

-52-

Chapter 7

Conclusion

The resulted satellite emulation system for a C&DH unit met all performance metrics introduced

in the proposal of this project. The system achieved the goal of testing a C&DH unit in both regular

routines and failure recoveries.

In a real satellite, there are more redundancy for each part in every subsystem in order to provide

a high reliability and therefore, more sensors and heater will be added as a backup for the satellite.

Moreover, a reduction of noise method will be introduced as the noise exists in a real satellite which

affect the operation of it. In order to achieve a complete emulator of satellite, more functions will be

added to the C&DH so that it can fit in a satellite with more subsystems such as Attitude Determination

and Control System and Power subsystem.

For further improvement, the C&DH subsystem should have either high quality of components or

cold redundancy [27]. A second Arduino Mega with the same functions as the first one can be added in

the system as backup subsystem. If the origin C&DH works smoothly, then the redundant C&DH only

plays a role of storage which uses to store data and commands [27]. Therefore, when there are crush or

damaged on the original C&DH, it can replace the original one without affecting the whole system and no

information will be lost in this process.

Page 66: ECE 4600 Group Design Project - University of Manitobaece.eng.umanitoba.ca/undergraduate/ECE4600/ECE4600… ·  · 2017-03-21G17 Final Report 2017 Abstract ... The goal of this project

G17 Final Report 2017 Reference

-53-

References

[1] NASA. (2014, Feb. 12). What is a Satellite? [Online]. Available:

https://www.nasa.gov/audience/forstudents/5-8/features/nasa-knows/what-is-a-satellite-58.html

[March 17, 2017]

[2] W. J. Larson, and J. R. Wertz. (1999). “Spacecraft Subsystems” in Space Mission Analysis and

Design, 3rd Ed. Hawthorne, CA.: Microcosm; New York: Springer, Chapter 11, pp 353-518.

[3] D. B. Watson. (2007). Stop the Noise: The Importance of Being (Properly) Shielded [Online].

Available:

http://www.newark.com/pdfs/techarticles/Stop_the_Noise_The_Importance_of_Being_Properly_

Shielded_FINAL_2-20-07.pdf [Mar 16, 2017].

[4] W. A. Beech, D. E. Nielsen, and J. Taylor. (1998). AX.25 Link Access Protocol for Amateur

Packet Radio [Online]. Available: http://www.tapr.org/pdf/AX25.2.2.pdf [March 17, 2017].

[5] T. Iida, Ed. (2000). “Error Control and Coding Techniques” in Satellite Communication System

and its Design Technology [Online], Tokyo, Japan: IOS Press, Ch. 9, pp 335-341. Available:

https://books.google.ca/books?id=v-

OuSc4t7IQC&pg=PA335&lpg=PA335&dq=error+detection+in+satellite+communication&sourc

e=bl&ots=Tu0b1YgMvm&sig=upWVUzCYfouhhSge5xgCsyEXqJ8&hl=zh-

TW&sa=X&ved=0ahUKEwjpgqvJiI7RAhXry4MKHfz3D-

4Q6AEINjAC#v=onepage&q=error%20detection%20in%20satellite%20communication&f=false

[March. 01, 2017].

[6] Anon. (2008). “Peltier Element Type 12708: Specification / Data Sheet” [Online]. Available:

http://www.produktinfo.conrad.com/datenblaetter/175000-199999/193623-da-01-en-

PELTIER_ELEMENT_TEC1_12708.pdf [March 16, 2017].

[7] TE connectivity. (2011). “High Power Resistors, Type SQ Series” [Online]. Available:

http://www.soemtron.org/downloads/disposals/typesqcementresistors.pdf [March16, 2017].

[8] TDK. (2016). “PTC thermistors as heating elements” [Online]. Available:

https://en.tdk.eu/inf/55/db/PTC/PTC_Heating_B59053_A53.pdf [March 16, 2017].

[9] Analog Devices. (2016). “Low Voltage Temperature Sensor” [Online]. Available:

http://ctms.engin.umich.edu/CTMS/Content/Activities/TMP35_36_37.pdf [Nov 11, 2016].

[10] SunFounder. (2016). “Thermistor” [Online]. Available:

http://www.sunfounder.com/wiki/images/4/49/Thermistor_datasheet.pdf [Nov 11, 2016].

Page 67: ECE 4600 Group Design Project - University of Manitobaece.eng.umanitoba.ca/undergraduate/ECE4600/ECE4600… ·  · 2017-03-21G17 Final Report 2017 Abstract ... The goal of this project

G17 Final Report 2017 Reference

-54-

[11] Microchip. (2016). “MCP9808” [Online]. Available:

http://www.microchip.com/wwwproducts/en/en556182 [Nov 11, 2016].

[12] D. Thakur. (2017). What is Data Transmission? Types of Data Transmission [Online].

Available: http://ecomputernotes.com/computernetworkingnotes/communication-networks/data-

transmission [ March 16, 2017].

[13] L. Tallini, and B. Bose. (2003). “Transmission time analysis for the parallel asynchronous

communication scheme,” IEEE Transactions on Computers [Online], vol. 52 (5), pp.558-571.

Available: IEEE [March 16, 2017].

[14] M. Burris. (2016, July 22). Selecting Between I2C and SPI [Online]. Available:

https://www.lifewire.com/selecting-between-i2c-and-spi-819003 [Feb. 24, 2017].

[15] Future Technology Devices International Limited. (2015, March 23). “What is CAN?” [Online].

Available:

http://www.ftdichip.com/Support/Documents/TechnicalNotes/TN_156%20What%20is%20CAN.

pdf [Feb. 24, 2017].

[16] Arduino.cc. (2017). Arduino - Introduction [Online]. Available:

https://www.arduino.cc/en/Guide/Introduction [March 16, 2017].

[17] B. Bourque. (2015, Mar 8). Arduino vs. Raspberry Pi: Mortal enemies, or best friends? [Online].

Available: http://www.digitaltrends.com/computing/arduino-vs-raspberry-pi/#ixzz4aIvgLEcQ

[March 16, 2017].

[18] “Principles of Embedded Systems Design: Buffers and Queues,” class notes for ECE 3730,

Department of Electrical and Computer Engineering, University of Manitoba, 2015.

[19] IDT 7200, (2002). “CMOS ASYNCHRONOUS FIFO” [Online] Available:

http://pdf.datasheetcatalog.com/datasheet/idt/7200-7202_DS.pdf [March 16, 2017].

[20] NewhavenDisplay. (2016). “Character Liquid Crystal Display Module” [Online]. Available:

http://www.newhavendisplay.com/specs/NHD-0216XZ-FSW-GBW.pdf [Nov 20, 2016].

[21] Motorola. (1996). “General Purpose Transistors, NPN Silicon” [Online]. Available:

http://www.futurlec.com/Transistors/2N3904.shtml [March 12, 2017].

[22] Global Specialties. (2014). “Solderless Breadboard, 830 Tie-Points, with Bus Strip” [Online].

Available: http://file:///Users/xuding/Downloads/GS-830_datasheet.pdf [March 16, 2017].

[23] J. Pitt. (2014). Electrical Wires & Cables - D & F Liquidators Inc [Online]. Available:

http://www.dfliq.net/electrical-materials-products/electrical-wires-cables/ [March 16, 2017].

[24] P. Smith. (2017). Working with Wire - learn.sparkfun.com [Online]. Available:

https://learn.sparkfun.com/tutorials/working-with-wire [March 16, 2017].

Page 68: ECE 4600 Group Design Project - University of Manitobaece.eng.umanitoba.ca/undergraduate/ECE4600/ECE4600… ·  · 2017-03-21G17 Final Report 2017 Abstract ... The goal of this project

G17 Final Report 2017 Reference

-55-

[25] K. C. Smith, and A. S. Sedra. (2010). Microelectronic circuit. 6th Ed. New York: Oxford

University Press, Chapter 5, pp 377-541 [March 1, 2017].

[26] Y.M. Lai. (2006). Power Electronics Handbook. Elsevier Inc, Chapter 23, pp.593-618.

[27] R. Harris, D. Beattie, S. Beaudette, and S. Beaudette. The CASSIOPE Small Satellite – The

Challenges of Developing Magellan’s MAC-200 Bus. Winnipeg, MB: Magellan Aerospace

Limited, pp. 1-16 [Mar.16,2017].

Page 69: ECE 4600 Group Design Project - University of Manitobaece.eng.umanitoba.ca/undergraduate/ECE4600/ECE4600… ·  · 2017-03-21G17 Final Report 2017 Abstract ... The goal of this project

G17 Final Report 2017 Appendix A Budget

-56-

Appendix A Budget

The estimated and actual budget for the project is shown below in Table A-1. The budget

allowed for the project was CAD$ 100 per group member. Thus, the total budget for our group

is CAD$ 600. The predicted costs are based on our preliminary researched, and the total budget for

this project was initially set at $ 271.52. ECE department provided the additional project funding

beyond the predicted $ 92.98. Therefore, the actual total cost of the project came to $ 364.5. The

Electrical Engineering Department and Tech shop provide the related equipment used for the testing the

project’s components.

Table A-1: Budget for G17 Capstone Project

Category Item Unit

Cost Predicted Quantity

Actual

Quantity Total Supplier

Thermal

Sensor

Temperature Sensors

TMP36GT9Z $2.05 3 3 $6.15

ECE

Department

NTC Thermistor N/A N/A 1 N/A Group

Member

Temperature

Sensors

MCP9808

1528-1032-ND

$7.03 N/A 3 $21.09 ECE

Department

Thermal

Cooling system Fan N/A N/A 1 N/A

Group

Member

LCD LCD

NHD-0216XZ-FSW-GBW N/A N/A 1 N/A

Group

Member

Heater

Circuit

Component

Transistor

BJT N/A N/A 1 N/A Tech shop

Ceramic Resistor

10 Ω N/A N/A 1 N/A Tech shop

Resistor

15 Ω N/A N/A 1 N/A Tech shop

Diode

1N4001 N/A N/A 1 N/A Tech shop

Page 70: ECE 4600 Group Design Project - University of Manitobaece.eng.umanitoba.ca/undergraduate/ECE4600/ECE4600… ·  · 2017-03-21G17 Final Report 2017 Abstract ... The goal of this project

G17 Final Report 2017 Appendix A Budget

-57-

LED

Blue LED

C503B-BCN-CV0Z0461 $0.32 2 2 $0.64

ECE

Department

Green LED

HLMP-1790-A0002 $0.274 2 2 $0.548

ECE

Department

Red LED

C503B-RAN-CY0130AA1 $0.23 2 2 $0.46

ECE

Department

Micro- controller

Arduino Mega $53.29 N/A 1 $53.29 ECE

Department

Arduino Zero $64.50 2 0 $0.0 N/A

Arduino Uno R3 $30.37 1 6 $30.37 ECE

Department

Breadboard

Solderless

Breadboard

GS-830

N/A 4 4 N/A Tech shop

Power

Supply

Battery

9V N/A N/A 2 N/A Tech shop

Voltage Regulator

LM317 N/A N/A 1 N/A Tech shop

Wire

Solder-core

22 AWG

Hoop-up wire

N/A N/A N/A N/A ECE

Department

Jumper

BC-32627 $11.44 1 2 $11.44

ECE

Department

Power Supply

Circuit Component

Resistor

330 Ω N/A N/A 1 N/A Tech shop

Resistor

1000 Ω N/A N/A 1 N/A Tech shop

Hardware

FIFO

Dual-Port Hardware FIFO

IDT7200 N/A N/A 1 N/A Tech shop

Motors - DC 1528-1076-ND $8.45 N/A 2 $16.9 ECE

Department

Optical Sensors Photo Detectors

TSMP58138-ND $1.64 N/A 6 $9.84

ECE

Department

Page 71: ECE 4600 Group Design Project - University of Manitobaece.eng.umanitoba.ca/undergraduate/ECE4600/ECE4600… ·  · 2017-03-21G17 Final Report 2017 Abstract ... The goal of this project

G17 Final Report 2017 Appendix A Budget

-58-

Table Wood board N/A N/A 1 N/A Tech shop

Shipping $20 ECE

Department

Total (Before the Tax)

$322.578

Tax $41.9

Predicted Total $271.52

Actual Total $364.5

Page 72: ECE 4600 Group Design Project - University of Manitobaece.eng.umanitoba.ca/undergraduate/ECE4600/ECE4600… ·  · 2017-03-21G17 Final Report 2017 Abstract ... The goal of this project

G17 Final Report 2017 Appendix B Flow Chart

-59-

Appendix B Flow Chart

Figure B-1: Flowchart for command processing

Page 73: ECE 4600 Group Design Project - University of Manitobaece.eng.umanitoba.ca/undergraduate/ECE4600/ECE4600… ·  · 2017-03-21G17 Final Report 2017 Abstract ... The goal of this project

G17 Final Report 2017 Appendix B Flow Chart

-60-

Figure B-2: Flow chart for command storage

Page 74: ECE 4600 Group Design Project - University of Manitobaece.eng.umanitoba.ca/undergraduate/ECE4600/ECE4600… ·  · 2017-03-21G17 Final Report 2017 Abstract ... The goal of this project

G17 Final Report 2017 Appendix B Flow Chart

-61-

Figure B-3: Conceptual flowchart for communication subsystem

Page 75: ECE 4600 Group Design Project - University of Manitobaece.eng.umanitoba.ca/undergraduate/ECE4600/ECE4600… ·  · 2017-03-21G17 Final Report 2017 Abstract ... The goal of this project

G17 Final Report 2017 Appendix C Gantt Chart

-62-

Appendix C Gantt Chart

Figu

re C

-1: G

antt

Ch

art

Page 76: ECE 4600 Group Design Project - University of Manitobaece.eng.umanitoba.ca/undergraduate/ECE4600/ECE4600… ·  · 2017-03-21G17 Final Report 2017 Abstract ... The goal of this project

G17 Final Report 2017 Appendix D Code

-63-

Appendix D Code

Software codes are available up request.


Recommended