You are on page 1of 119

Control Moment Gyro Actuator for Small Satellite

Applications

by

Reimer Berner

Thesis presented at the University of Stellenbosch


in partial fulfilment of the requirements for the
degree of

Master of Science in Electrical & Electronic Engineering

Department of Electrical & Electronic Engineering


University of Stellenbosch
Private Bag X1, 7602 Matieland, South Africa

Study leader: Prof W.H. Steyn

April 2005
Copyright © 2005 University of Stellenbosch
All rights reserved.
Declaration

I, the undersigned, hereby declare that the work contained in this thesis is my own original
work and that I have not previously in its entirety or in part submitted it at any university
for a degree.

Signature: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
R. Berner

Date: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

ii
Abstract

Control Moment Gyro Actuator for Small Satellite Applications

R. Berner

Department of Electrical & Electronic Engineering


University of Stellenbosch
Private Bag X1, 7602 Matieland, South Africa

Thesis: M Sc Eng (E & E)

April 2005

The aim of the thesis is to design a Control Moment Gyro (CMG) actuator which can be
used in small satellite applications. The hardware and software of the CMG has to be
designed according to specifications given. A satellite fitted with these CMGs has to be
able to do a 30 degree rotation within 10 seconds.

A mathematical model of a satellite fitted with six CMGs was designed for simulation
purposes. This model was then extended to include a 3-axis control algorithm which con-
trol the angular momentum vectors of the CMGs. An imaging sequence, which describes
the attitude and angular rate of the satellite at any point in time, was also implemented
into the design to produce a smooth attitude function during pointing maneuvers. This
imaging sequence is used as input to the 3-axis control algorithm to ensure high precision
pointing of the satellite.

The CMG was tested on an air bearing table and the results of the tests were compared
to the mathematical simulations. The results of these tests were as expected and the
functionality of the CMG was verified.

iii
Uittreksel

Control Moment Gyro Actuator for Small Satellite Applications

R. Berner

Departement Elektriese & Elektroniese Ingenieurswese


Universiteit van Stellenbosch
Privaatsak X1, 7602 Matieland, Suid Afrika

Tesis: M Sc Ing (E & E)

April 2005

Die doel van die tesis is om ’n Beheer Moment Giro (BMG) aktueerder te ontwerp wat op
klein satelliete gebruik kan word. Die hardeware en sagteware van die BMG is ontwerp
volgens gegewe spesifikasies. ’n Satelliet wat met hierdie BMGs toegerus is, moet ’n 30
grade rotasie binne 10 sekondes afhandel.

’n Wiskundige model van ’n satelliet met ses BMGs was ontwerp vir simulasie doeleindes.
Hierdie model is uitgebrei om ’n 3-as beheer algoritme in te sluit wat die hoekmomen-
tum vektore van die BMGs beheer. ’n Beeldafneem sekwensie wat die posisie en die
hoeksnelheid van die satelliet op enige gegewe oomblik beskryf, is ook geïmplementeer
in die ontwerp om sodoende ’n gladde rotasie funksie te verkry wanneer die satelliet in
verskillende rigtings moet mik. Hierdie beeldafneem sekwensie dien as intree tot die 3-as
beheerder om sodoende die satelliet akkuraat te kan rig.

Die BMG is getoets op ’n luglaertafel en die resultate van die toetse is vergelyk met die
wiskundige simulasies. Die resultate van hierdie toetse is soos verwag en die funksionaliteit
van die BMG is bevestig.

iv
Acknowledgements

I would like to thank the following for their help and assistance in the successful completion
of this thesis:

• Thank You Almighty God for Your guiding hand in my life.

• Prof. W.H. Steyn for his guidance and support throughout this thesis.

• Xandri Farr for all his help, and the design and layout of the microcontroller pcb.

• Mnr. J. Treurnicht and Corne van Daalen for their help on the air bearing table.

• Mnr. J. Blom and the SMD group for the mechanical design of the CMG.

• Eckhardt Kuhn, who helped with all the practical tests.

• My parents for their support and my education.

• All my friends for encouragement during the writing of my thesis.

v
Contents

List of Figures x

List of Tables xiii

List of Acronyms and Abbreviations xiv

1 Introduction 1

1.1 Problem Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

1.2 Overview of the Design Approach . . . . . . . . . . . . . . . . . . . . . . . 6

2 CMG and Satellite theory 7

2.1 Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

2.1.1 Coordinate Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

2.1.2 Attitude parameterization . . . . . . . . . . . . . . . . . . . . . . . 8

2.2 Control Moment Gyros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

2.2.1 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

2.2.2 Fundamentals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

2.2.3 Single Gimbal CMG Model . . . . . . . . . . . . . . . . . . . . . . 11

2.2.4 Mathematical Model of Satellite with SGCMGs . . . . . . . . . . . 13

2.3 Simulation Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

3 Control Moment Gyro Design 19

3.1 System Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

vi
CONTENTS vii

3.2 Mechanical System Overview and Design . . . . . . . . . . . . . . . . . . . 20

3.3 Motor Descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

3.3.1 Brushless DC Motor . . . . . . . . . . . . . . . . . . . . . . . . . . 22

3.3.2 Stepper Motor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

3.4 BLDC Motor Power Stage . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

3.5 Stepper Motor Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

3.6 BLDC Motor Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

3.6.1 Controller Component Values . . . . . . . . . . . . . . . . . . . . . 25

3.6.2 Current Loop Design . . . . . . . . . . . . . . . . . . . . . . . . . . 26

3.6.3 Digital Speed Loop Design . . . . . . . . . . . . . . . . . . . . . . . 27

3.6.4 Speed Measurement . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

3.7 Microcontroller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

3.8 Computer Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

4 Satellite Attitude Control 35

4.1 Single-Axis Attitude Control . . . . . . . . . . . . . . . . . . . . . . . . . . 35

4.2 Three-Axis Quaternion Feedback Control . . . . . . . . . . . . . . . . . . . 38

4.2.1 Quaternion Feedback Control Logic . . . . . . . . . . . . . . . . . . 38

4.2.2 Eigenaxis Rotation . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

4.2.3 Rotation Under Slew Rate Constraint and Control Input Saturation 41

4.3 Simulation Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

4.3.1 Single-Axis Rotation . . . . . . . . . . . . . . . . . . . . . . . . . . 42

4.3.2 Three-Axis Quaternion Feedback Rotation . . . . . . . . . . . . . . 43

5 Control Demand for Imaging Sequence 46

5.1 Imaging Sequence Objective . . . . . . . . . . . . . . . . . . . . . . . . . . 46

5.2 Detailed Slew Sequence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

5.3 Attitude Demand Derivation . . . . . . . . . . . . . . . . . . . . . . . . . . 49


CONTENTS viii

5.3.1 Slew 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

5.3.2 Slew 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

5.3.3 Slew 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

5.3.4 Slew 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

5.4 Simulation Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

6 Measurements and Results 60

6.1 Calibration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60

6.1.1 Gimbal Accuracy . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60

6.1.2 Moment of Inertia Calculation . . . . . . . . . . . . . . . . . . . . . 61

6.1.3 Glass Surface Test . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

6.1.4 Constant Angular Rate Test . . . . . . . . . . . . . . . . . . . . . . 64

6.2 CMG Tests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

6.2.1 Rest-to-Rest Slew . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

6.2.2 Moving Demand Test . . . . . . . . . . . . . . . . . . . . . . . . . . 66

7 Conclusions 68

7.1 Results Obtained . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68

7.2 Additional Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69

Bibliography 70

A CMG Machine Drawing 73

B Schematics of Brushless DC Motor Electronics 75

C CMG Setup for Practical Tests 82

D CMG Interface Program 85

D.1 Stepper Motor Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85

D.2 BLDCM Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86


CONTENTS ix

D.3 Data Sampling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86

D.4 Data Display . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87

E Matlab Simulation Design and S-function Code 89

F RF Link 94

G Datasheets 98

G.1 Brushless DC Motor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98

G.2 Stepper Motor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98

G.3 Stepper Motor Gearhead . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98

G.4 Stepper Motor Controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98


List of Figures

1.1 Agile small satellites will increase the amount and quality of data collected 1

1.2 Pyramid configuration containing four SGCMGs . . . . . . . . . . . . . . . 3

1.3 Picture of a Control Moment Gyro . . . . . . . . . . . . . . . . . . . . . . 4

2.1 Coordinate Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

2.2 A 2-1-3 Euler Angle Rotation . . . . . . . . . . . . . . . . . . . . . . . . . 9

2.3 The Euler Angles: Roll φ, Pitch θ and Yaw ψ . . . . . . . . . . . . . . . . 9

2.4 Torque, acceleration and angle diagrams for a small satellite executing a
30o maneuver in 10 seconds . . . . . . . . . . . . . . . . . . . . . . . . . . 10

2.5 A Single Gimbal CMG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

2.6 SGCMG Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

2.7 Three Set SGCMG Configuration . . . . . . . . . . . . . . . . . . . . . . . 13

2.8 Simulation with constant CMG Torque . . . . . . . . . . . . . . . . . . . . 17

2.9 Simulation with constant Gimbal Rate . . . . . . . . . . . . . . . . . . . . 18

3.1 Block Diagram of CMG System . . . . . . . . . . . . . . . . . . . . . . . . 19

3.2 Picture of the CMG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

3.3 Gyro Torque acting back to the system . . . . . . . . . . . . . . . . . . . . 23

3.4 BLDC Motor Power Stage . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

3.5 Analogue PI Controller Circuit . . . . . . . . . . . . . . . . . . . . . . . . 27

3.6 Measured acceleration per second for 1000 units input . . . . . . . . . . . . 28

3.7 Discrete Closed-loop speed control . . . . . . . . . . . . . . . . . . . . . . . 29

x
LIST OF FIGURES xi

3.8 Program flow diagram of Microcontroller . . . . . . . . . . . . . . . . . . . 32

4.1 Simulation results of the PID Saturation Control Logic in one axis . . . . . 42

4.2 Simulation results of the Quaternion Feedback Control Logic in one axis . 43

4.3 Simulation results of the Quaternion Feedback Control Logic in one axis . 44

4.4 Simulation results of the Quaternion Feedback Control Logic in three axis . 45

4.5 Simulation results of the Quaternion Feedback Control Logic in three axis . 45

5.1 Image Sequence Schematic . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

5.2 Quaternion Demand for Imaging Sequence . . . . . . . . . . . . . . . . . . 56

5.3 Body Rate Demand for Imaging Sequence . . . . . . . . . . . . . . . . . . 57

5.4 Simulation Result for Imaging Sequence - Torque Command . . . . . . . . 57

5.5 Simulation Result for Imaging Sequence - Euler Angles . . . . . . . . . . . 58

5.6 Simulation Result for Imaging Sequence - Gimbal Rate . . . . . . . . . . . 58

5.7 Simulation Result for Imaging Sequence - Euler Angle Error . . . . . . . . 59

6.1 Measuring the gimbal’s step size . . . . . . . . . . . . . . . . . . . . . . . . 60

6.2 Angular acceleration of Momentum Wheel and Cart (Gyro) . . . . . . . . 62

6.3 Diagram of the CMG setup . . . . . . . . . . . . . . . . . . . . . . . . . . 63

6.4 Measured results of ’Mirror’ Test . . . . . . . . . . . . . . . . . . . . . . . 63

6.5 Measurements for constant angular rate input . . . . . . . . . . . . . . . . 64

6.6 Measured results of the Rest-to-Rest Slew . . . . . . . . . . . . . . . . . . 66

6.7 Measured results of the Moving Demand . . . . . . . . . . . . . . . . . . . 67

A.1 Drawing of CMG stand with Gimbal . . . . . . . . . . . . . . . . . . . . . 74

C.1 Picture of aluminium frame with gas canister and nozzles . . . . . . . . . . 82

C.2 Picture of the table with glass surface . . . . . . . . . . . . . . . . . . . . . 83

C.3 Diagram of the CMG setup . . . . . . . . . . . . . . . . . . . . . . . . . . 84

C.4 Picture of the CMG setup . . . . . . . . . . . . . . . . . . . . . . . . . . . 84


LIST OF FIGURES xii

D.1 Picture of the CMGprobe control panel . . . . . . . . . . . . . . . . . . . . 88

E.1 Picture of Matlab Simulation . . . . . . . . . . . . . . . . . . . . . . . . . 90

F.1 TX2 Circuit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94

F.2 RX2 Circuit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95

F.3 Voltage Regulator Circuit . . . . . . . . . . . . . . . . . . . . . . . . . . . 96

F.4 Picture of the RF Link Unit . . . . . . . . . . . . . . . . . . . . . . . . . . 97


List of Tables

1.1 Satellite Classification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

2.1 Minimum and maximum values for the two simulations . . . . . . . . . . . 18

3.1 CMG Command Packet IDs . . . . . . . . . . . . . . . . . . . . . . . . . . 33

3.2 Packet frame of data transmitted from microcontroller . . . . . . . . . . . 33

3.3 Packet frame of data transmitted from PC . . . . . . . . . . . . . . . . . . 34

5.1 Mission Sequence of Attitude Demand . . . . . . . . . . . . . . . . . . . . 48

6.1 Results from Moment of Inertia Tests . . . . . . . . . . . . . . . . . . . . . 61

xiii
List of Acronyms and Abbreviations

A Ampere
Acc Accelerate
ACS Attitude Control System
ADCS Attitude Determination And Control Systems
BLDCM Brushless Direct Current Motor
CAN Controller Area Network
cm Centimetre
CMG Control Moment Gyro
CMOS Complementary Metal-Oxide-Semiconductor
CCW Counter Clockwise
CW Clockwise
DC Direct Current
Deg Degrees
DGCMG Double Gimble Control Moment Gyro
EPROM Erasable Programmable Read Only Memory
HB High Byte
I/O Input/Output
IC Integrated Circuit
ID Identification
kbit Kilobit
kHz Kilohertz
LB Low Byte
m Milli
Max Maximum
Mbit Megabit
MHz Megahertz
Min Minimum
mm Millimetre
MOSFET Metal Oxide Semiconductor Field Effect Transistor
Nm Newton Metre

xiv
LIST OF ACRONYMS AND ABBREVIATIONS xv

PC Personal Computer
PCB PC Board
PID Proportional, Integral and Derivative
PWM Pulse Width Modulation
RF Radio Frequency
ROM Read Only Memory
RPM Revolutions Per Minute
RW Reaction Wheel
s Seconds
Sat Saturate
SGCMG Single Gimble Control Moment Gyro
Sgn Signum
SUNSAT Stellenbosch UNiversity SATellite
V Volt
VSCMG Variable Speed Control Moment Gyro
XOR eXclusive OR
Chapter 1

Introduction

Satellites are required to have more rapid rotational maneuverability and agility than
before. These satellites, known as agile satellites, need attitude control systems (ACS)
that can provide rapid multi-target pointing and tracking capabilities [2]. An agile satellite
is much more efficient and functional, and it’s return of data is substantially increased by
it’s agility.

Future satellite applications, such as missile-tracking, imaging and the tracking of ground
moving targets will, as a necessity, require the ability to do rapid rotational maneuvers.
For instance, the next-generation commercial Earth imaging satellites would rather move
the whole spacecraft body rapidly than to sweep only the imaging system from side to
side. This ensures improved stability and high-resolution images with better definition.

Earth

Imaging
target

Satellite ground track

Figure 1.1: Agile small satellites will increase the amount and quality of data collected

Rapid retargeting maneuvers however, are subjected to the physical limits of sensors,
satellite’s structural rigidity, actuators and mission constraints. For a satellite to be agile,
it requires fast slew maneuvers in the range of 1-10o/s. Designing a high performance
ACS is also constrained by the physical size of a satellite, especially small satellites.

1
Chapter 1 — Introduction 2

Unfortunately, current ACS actuators such as reaction wheels and momentum wheels, are
not able to provide this degree of agility efficiently, because of their small control torque
capability. Control Moment Gyros (CMG) on the other hand are ideal, since it has much
bigger control torque output for a small torque input. CMGs have been used on various
large spacecrafts before, but yet, to date, not on small satellites.

Spacecraft missions [10] in which CMGs have been used are Skylab, MIR, ISS, KH-11
and some USSR spacecrafts. The CMGs used on these spacecrafts are large in size,
mechanically complex and very expensive. CMGs were employed as primary actuators
because of their much higher control torque capability [21] of 100 to 3000 Nm maximum
torque, whereas large reaction wheels have a maximum torque of only 1.5 Nm.

Due to the large size and weight of these CMGs it was not possible to use them on smaller
satellites. This situation however, has changed recently since the development of lighter
and more compact CMGs. Medium sized satellites use the large torque capability of
these smaller CMGs to do faster slew maneuvers. CMGs are becoming more attractive
for smaller satellites as well, such as micro satellites and nano satellites due to this torque
amplification capability.

Name Mass Class


Large satellites > 1000 kg Medium to Large
Medium satellites 500 - 1000 kg Satellites
Mini satellites 100 - 500 kg
Micro satellites 10 - 100 kg Small Satellites
Nano satellites 1 - 10 kg
Pico satellites 0.1 - 1 kg

Table 1.1: Satellite Classification

The biggest inherent problem encountered with these CMGs are the appearance of sin-
gularities [8]. These singularities are the condition when no torque can be produced for
certain gimbal angle outputs. When a gimbal encounters a singularity, it would stop (lock)
and not be able to move in any direction since that would produce the wrong torque.

This led to the development of a steering logic which will avoid singularities by steering
the CMGs away from a point with zero torque potential. Many control laws have been
developed which avoid singularities and still remain within the hardware contraints of the
system. The most popular one is for a pyramid configuration containing four SGCMGs.
Such a system has an approximate spherical momentum envelope with almost the same
momentum capability in all three axis.
Chapter 1 — Introduction 3

The pyramid mounting arrangement is shown in Figure 1.2. Four SGCMGs are con-
strained in such a way that the gimbal axes are orthogonal to the faces of the pyramid.
The faces of the pyramid are inclined with an angle of β from the horizontal to result in
gimbal axes angles of (90o −β) degrees from the horizontal. A nearly spherical momentum
envelope is achieved when all four CMGs have the same angular momentum about their
spin-axis and the skew angle is chosen as β = 54.73 degrees [23].

CMG #3 CMG #2
Gimbal Axis Gimbal Axis
δ3 δ2
H2 y

CMG #4 δ4 H3 CMG #1
Gimbal Axis β H1
Gimbal Axis
H4 δ1

Figure 1.2: Pyramid configuration containing four SGCMGs

A CMG consists of a momentum wheel with large, constant angular momentum of which
the angular momentum vector can be rotated with respect to the satellite’s body [22]. The
momentum wheel is mounted on a gimbal or gimbals and can be pivoted by torquing the
gimbal. This results in a precessional, gyroscopic reaction torque orthogonal to both the
rotor spin and gimbal rotation axes. A more thorough explanation is given in Section 2.2.2.

CMGs consist out of two basic types: a single gimbal control moment gyro (SGCMG) and
a double gimbal control moment gyro (DGCMG). For a SGCMG, the momentum wheel
is constrained to rotate along a circle normal to the gimbal axis. The momentum wheel
of a DGCMG is suspended inside two gimbals and therefore the momentum vector can be
aimed along any direction on a sphere. The gimbal steering logic of a DGCMG can more
easily avoid singularities since it has an extra degree of freedom. However, a SGCMG is
a lot simpler from a hardware point of view, and it has a significant cost, power, weight
and reliability advantage over a DGCMG.

Another type of CMG is the variable speed control moment gyro (VSCMG) [24]. Where
a conventional CMG is constrained to a constant wheel spin rate, a VSCMG can vary it’s
wheel spin rate. This ensures an extra degree of freedom to the VSCMG, and enables it
to achieve additional objectives such as energy storage with attitude control.

CMGs increase the agility of a satellite which again increases the amount of earth and
space science data that can be collected while using the same resources. This directly
Chapter 1 — Introduction 4

Figure 1.3: Picture of a Control Moment Gyro

increase the scientific and commercial value of these satellites. Since the time available
for data transmission is severely limited on a small satellite, the use of CMGs will allow off-
nadir pointing for substantial larger times and thus increase the time available to transmit
data. This will also allow more frequent transmitting of data to available ground stations.
Since the wheel speed of a CMG is constant instead of varying as with reaction wheels,
the wheel induced vibrations in a satellite will decrease and the pointing accuracy of the
satellite will increase.
Chapter 1 — Introduction 5

1.1 Problem Definition

The aim of this thesis is to design a SGCMG with controller which can be used in small
satellite applications. The function of the CMG is to increase the agility of a small satellite
by enabling it to do rapid pointing maneuvers. It is very important for these maneuvers
to be very accurate, since the quality of images, for example, directly depends on it. The
following design specifications of the CMG system and satellite is given to ensure such
rapid pointing maneuvers:

• Satellite’s moment of inertia matrix = diagonal [20 20 15] kgm2

• Satellite should be able to do a 30o rotation in 10 seconds

• The maximum CMG torque = 0.25 Nm

• Maximum gimbal rate = 10o /second

• Gimbal minimum step size < 0.02 degrees

• Angular momentum of wheel = 1.6 Nms

A mathematical model of the CMG system and satellite has to be designed for simulation
purposes. This model must then be extended to include a 3-axis control algorithm which
controls the angular momentum vectors of the CMGs to produce the correct torque out-
put. A 30o step input to the controller has to be able to generate a 30o rotation of the
satellite within 10 seconds.

An imaging sequence, which describes the attitude and rate of the satellite at any point
in time, should be implemented into the design to produce a smooth attitude function
during pointing maneuvers. This imaging sequence should be used as input to the 3-axis
control algorithm to ensure high precision pointing of the satellite.

The results from these simulations should be compared to tests done on the CMG to
verify the functionality of the hardware design.
Chapter 1 — Introduction 6

1.2 Overview of the Design Approach

The presentation of the thesis document is given below:

Chapter 2: A brief explanation on coordinate systems and attitude parameterization


are given, followed by CMG fundamentals. Thereafter a mathematical model is derived
for the CMG system and satellite. The functionality of the mathematical model is then
verified by simulations.

Chapter 3: The design and development of the hardware and software of the CMG
system is explained. A brief explanation is given on the brushless DC motor and stepper
motor chosen for the CMG, as well as the controllers for the motors. The functions of the
microcontroller and computer interface are also described.

Chapter 4: A three-axis quaternion feedback control logic under slew rate constraint is
derived for the satellite’s attitude control. It is followed by simulations of the mathemat-
ical model with the attitude control law.

Chapter 5: The objective of this chapter is to design a control mode for the imaging phase
making use of the Moving Demand approach. This approach implements consecutive slew
maneuvers via a time varying attitude and rate demand. The attitude demand is used as
input to the control logic of Chapter 4.

Chapter 6: The CMG module designed in Chapter 3 is tested on an air bearing table.
The results obtained from these tests are compared to the theory and simulations from
Chapters 2, 4 and 5 to verify the functionality of the CMG module.

Chapter 7: The final conclusions on the CMG actuator and recommendations for future
work are discussed.
Chapter 2

CMG and Satellite theory

2.1 Background

2.1.1 Coordinate Systems

In spaceflight analysis it is important to know the position and motion of the satellite.
In order to do this, we must first select the correct coordinate system for the problem.
Any coordinate system will actually do, but choosing the correct one will increase insight
into the problem. To define a coordinate system for space applications, two characteristics
have to be specified firstly: whith respect to what the coordinate system is fixed to and the
location of the coordinate system’s center. This thesis uses the following three coordinate
systems to describe the attitude of a satellite: Body Frame, Orbit Reference Frame and
Inertial Reference Frame.

Body Frame

The origin of the body frame is located at the satellite’s center of mass and it is fixed with
respect to the satellite’s body. This frame is used to determine the satellite’s orientation
with respect to another reference frame. The coordinates XB , YB and ZB is shown in
Figure 2.1.

Orbit Reference Frame

The origin of the orbit reference frame, XO , YO , ZO , is located at the satellite’s center of
mass and it is fixed with respect to the orbit. The ZO axis is nadir pointing (i.e. pointing
towards the Earth’s center), the YO axis is in the orbit anti-normal direction and the XO

7
Chapter 2 — CMG and Satellite theory 8

axis completes the orthogonal set. In a circular orbit, the XO axis would point in the
direction of the velocity vector. The orbit reference frame is mainly used for attitude
maneuvers. See Figure 2.1.

Inertial Reference Frame

The inertial reference frame XI , YI , ZI has it’s origin at the center of the Earth and
it is fixed with respect to inertial space. The ZI axis is in the same direction as the
Earth’s geometric north pole, the XI axis is in the Vernal equinox direction and the YI
axis completes the orthogonal set. The inertial reference frame is normally used for orbit
analysis.

ZI

Earth
YB YO
YI
ZO

ZB
XI
Vernal Equinox
Direction XO
XB

Figure 2.1: Coordinate Systems

2.1.2 Attitude parameterization

A satellite’s attitude can be represented by a direction cosine matrix. There exist a few
alternative representations of three-axis attitude, but the two mostly used for present-
ing a satellite’s orientation are the Euler angle representation and the Euler symmetric
parameterization (quaternions). The Euler angle representation is often used in a user’s
interface during attitude computation because of it’s clear physical interpretation. It is
also useful for analysis, especially for finding closed-form solutions to the equations of
motion. It’s parameters consist of three rotation angles known as the roll angle φ, pitch
angle θ and yaw angle ψ.

There are 12 distinct representations for the Euler angle rotations (φ, θ, ψ). For instance, a
3-2-1 Euler angle rotation means that the first rotation is about the z-axis, second rotation
about the y-axis and the third rotation about the x-axis. The 2-1-3 sequence is used in
Chapter 2 — CMG and Satellite theory 9

Zo
Zo' Zo'
θ Zo'' Zo''
φ
Yo' Yo'
φ ψ
Yo Yo
Yo''
θ ψ
Xo X o''
X o' X o' X o'

2: Yo Axis Rotation 1: X o' Axis Rotation 3: Zo'' Axis Rotation

Figure 2.2: A 2-1-3 Euler Angle Rotation

this thesis. Thus, the first rotation θ is about the initial YO axis, the second rotation φ is
around the XO ’ axis and the third rotation ψ is around the ZO ” axis. Figure 2.2 shows
the rotation of the axis. The 2-1-3 direction cosine matrix A is given as:
 

c(ψ)c(θ) + s(ψ)s(φ)s(θ) s(ψ)c(φ) −c(ψ)s(θ) + s(ψ)s(φ)c(θ) 
 
A =  −s(ψ)c(θ) + c(ψ)s(φ)s(θ) c(ψ)c(φ) s(ψ)s(θ) + c(ψ)s(φ)c(θ)  (2.1)
 
c(φ)s(θ) −s(φ) c(φ)c(θ)

where c = cosine function and s = sine function. The attitude matrix A transforms an
Earth pointing satellite which is orbit referenced to satellite body coordinates. The Euler
angles φ, θ and ψ can be seen in Figure 2.3.

Flight Direction
Roll

Earth Yaw Pitch


Orbit

Yaw Roll

Pitch

Figure 2.3: The Euler Angles: Roll φ, Pitch θ and Yaw ψ

Euler angle representation is best when used with small angles since it encounters singu-
Chapter 2 — CMG and Satellite theory 10

larities at certain large rotations. It is also computationally intensive to use in numerical


computation because of the trigonometric functions. For numerical computation Euler
symmetric parameterization (quaternions) is used, since it uses no trigonometric functions
and has no singularities. For these reasons Euler symmetric parameters are commonly
used for onboard attitude calculations. The attitude matrix A, expressed in quaternion
form, is given as:
 
q 2 − q22 − q32 + q42
 1
2(q1 q2 + q3 q4 ) 2(q1 q3 − q2 q4 ) 
 
A =  2(q1 q2 − q3 q4 ) −q1 + q2 − q3 + q4
2 2 2 2
2(q2 q3 + q1 q4 )  (2.2)
 
2(q1 q3 + q2 q4 ) 2(q2 q3 − q1 q4 ) −q12 − q22 + q32 + q42

2.2 Control Moment Gyros

2.2.1 Motivation

A satellite is required to do a 30 degree rotation in 10 seconds as specified in Section 1.1.


In order to do the 30o rotation within 10 seconds, an acceleration phase of 5 seconds is
needed, followed by a deceleration phase of 5 seconds as shown in Figure 2.4.

T .
T T
o
30
o
6 /s
5 10 o
t(s) 15

5 10 t(s) 5 10 t(s)

Figure 2.4: Torque, acceleration and angle diagrams for a small satellite executing a
30o maneuver in 10 seconds

The relationship between the torque T , the moment of inertia of the satellite Is and the
angular acceleration θ̈ is given by Newton’s first law of rotation (around one axis):

T = Is θ̈ (2.3)

Integrating this equation twice reveals the following two equations:

T
θ̇ = t (2.4)
Is
Chapter 2 — CMG and Satellite theory 11

T 2
θ = 0.5 t (2.5)
Is

With θ = 0.2618 radians (15o ), Is = 20 kgm2 and t = 5 seconds, the torque required
for this maneuver is calculated using (2.5) as T = 0.4189 Nm. From (2.4) the maximum
angular velocity of the satellite is calculated as θ̇ = 0.1047 rad/s (6o /s).

2.2.2 Fundamentals

To be able to derive a mathematical model for a CMG, it is neccesary to understand the


fundamentals of how a CMG works. As can be seen in Figure 2.5, the CMG consist of a
spinning wheel with an angular velocity of ω rotating about the x-axis. If the spinning
wheel has a moment of inertia I, then the angular momentum produced would be h = Iω
along the x axis. Rotating the spinning wheel about the gimbal axis z at a rate of δ̇, would
then result in a large torque output about an axis normal to the angular momentum axis
and the gimbal axis.

.
G
y

Z h

x
-Tout
Tin

Figure 2.5: A Single Gimbal CMG

The torque output about the y-axis in Figure 2.5, would thus be the cosine of the gimbal
angle δ times the total output torque of the CMG. The output torque of the CMG in
vector format is then given as [6]:

Tout = h × δ̇ (2.6)

2.2.3 Single Gimbal CMG Model

When a SGCMG is gimballed, the output torque vector changes continuously because the
direction of the angular momentum vector does not stay along the same body axis. For this
Chapter 2 — CMG and Satellite theory 12

reason it is not possible to achieve a torque about only one body axis with one SGCMG.
To overcome this problem, two SGCMGs can be used together in the configuration shown
in Figure 2.6. If the wheel speeds ω1 and ω2 are in the directions shown, then the angular
momentums, h1 and h2 , will be along the positive and negative y-axis respectively.

G2 G1

y
Z2 Z1

Figure 2.6: SGCMG Configuration

By gimballing both momentum wheels such that δ1 = −δ2 while ω1 = −ω2 , the resulting
output torque will be about the x-axis only. The output torque of the two SGCMGs about
the other two axis will cancel each other since they have equal magnitudes in opposite
directions. With this configuration it is possible to increase or decrease the wheel speeds
without causing a resulting torque. As long as the angular momentum of the two wheels
are in opposite directions, the change of wheel speed, while ω1 = −ω2 , will have no netto
effect on the satellite. This enables the possibility of increasing the wheel speeds for bigger
torque capabilities before large maneuvers are done.

A mathematical model of the SGCMG system is needed for analysis and to simulate
the influence it has on the satellite. The total angular momentum of the SGCMG setup
is needed for this mathematical model. Through inspection of Figure 2.6, the angular
momentum h is found as:
 

−h1 sin δ1 + h2 sin δ2 
h=
 h1 cos δ1 − h2 cos δ2

 (2.7)
 
0

The derivative of the angular momentum is then given as


 

−h1 δ˙1 cos δ1 − h˙1 sin δ1 + h2 δ˙2 cos δ2 + h˙2 sin δ2 
 ˙ 
ḣ =  h1 cos δ1 − h1 δ˙1 sin δ1 − h˙2 cos δ2 + h2 δ˙2 sin δ2  (2.8)
 
0
Chapter 2 — CMG and Satellite theory 13

with h1 = Iw ω1 and h2 = Iw ω2 with Iw the moment of inertia of the momentum wheel.

A satellite has to be controlled about all three axes. The SGCMG system shown in
Figure 2.6 is then extended to a model with three of these systems, one for every axis.
The three sets of the SGCMG configuration are shown in Figure 2.7.

z z z
G y1 Zz 2
G x2 G x1 Gz 2
Z y1
y y Zz1 y
Z x2 Z x1
G y2

x x x Gz1
Z y2

Figure 2.7: Three Set SGCMG Configuration

The total angular momentum of all three sets together is:


 

−hx1 sin δx1 + hx2 sin δx2 + hz1 cos δz1 − hz2 cos δz2 
hT = 
 hx1 cos δx1 − hx2 cos δx2 − hy1 sin δy1 + hy2 sin δy2

 (2.9)
 
hy1 cos δy1 − hy2 cos δy2 − hz1 sin δz1 + hz2 sin δz2

2.2.4 Mathematical Model of Satellite with SGCMGs

It is necessary to develop a simple mathematical model for the steering and attitude
control of satellites with CMGs. This section develops the dynamic model of the satellite
with three SGCMG sets for agile steering. The rotational equation of motion of a satellite
equipped with CMGs is given by [9, 23]:

ḢsI + ωsI × HsI = Text (2.10)

with HsI the angular momentum vector of the system expressed in the inertial reference
frame and ωsI = [ωxi ωyi ωzi ]T the body angular velocity vector of the satellite also
inertially referenced. The external torque vector Text expresses the solar pressure, gravity-
gradient and aerodynamic torques in the same body frame. The angular momentum vector
of the system HsI consists of the total angular momentum of the SGCMGs configuration
(2.9) and of the satellite body angular momentum. The angular momentum of the system
can thus be expressed as:

HsI = Is ωsI + hT (2.11)


Chapter 2 — CMG and Satellite theory 14

where Is is the total inertia matrix of the whole satellite and hT is the total momentum
vector of the SGCMGs configuration (2.9). From (2.10) and (2.11) we obtain:

Is ω̇sI + ḣT + ωsI × (Is ωsI + hT ) = Text (2.12)

This equation can be rewritten in terms of the SGCMG control torque vector, u =
(ux , uy , uz ), which gives:

Is ω̇sI + ωsI × Is ωsI = u + Text (2.13)

with

u = −ḣT − ωsI × hT (2.14)

The required control torque vector u is the input to the steering logic of the satellite and
can be assumed to be known. In Chapter 4 a non-linear feedback control law is derived
and implemented to compute the torque needed to maintain the correct attitude. Since
the control torque vector is known, Equation 2.14 can be written in terms of the desired
SGCMG angular momentum rate as:

ḣT = −u − ωsI × hT (2.15)

The angular momentum vector h of the SGCMG configuration is a function of the gimbal
angles δ = (δx1 , δx2 , δy1 , δy2 , δz1 , δz2 ) and can be written as:

hT = hT (δ) (2.16)

Instead of finding an inverse for this equation to solve for h, the differential relationship
between the gimbal angles and the angular momentum vector of the SGCMG configuration
is used. The reason for choosing this method is because it offers less singularities for this
specific SGCMG configuration. The time derivative of h is obtained as:

ḣT = B(δ)δ̇ (2.17)

where

∂hT
B= (2.18)
∂δ
 

−hx1 cos δx1 hx2 cos δx2 0 0 −hz1 sin δz1 hz2 sin δz2 
 
=

−hx1 sin δx1 hx2 sin δx2 −hy1 cos δy1 hy2 cos δy2 0 0 

0 0 −hy1 sin δy1 −hy2 sin δy2 −hz1 cos δz1 hz2 cos δz2
Chapter 2 — CMG and Satellite theory 15

If we assume the speeds of the reaction wheels to stay constant during gimbal maneuvers
and that the gimbal rate of the two gimbals per set are of the same magnitude but opposite
sign (ω̇a1 = ω̇a2 = 0, ωa1 = ωa2 , δa1 = −δa2 = δa , δ̇a1 = −δ̇a2 = δ̇a , with a = x, y, z),
then the momentum rate is obtained from (2.17) and (2.18) as follows:
   

ḣx  
−2hx δ̇x cos δx 
   
ḣT =  ḣy  = −2hy δ̇y cos δy  (2.19)
   
ḣz −2hz δ̇z cos δz

From this we achieve an equation for the gimbal rate vector, since the value of the mo-
mentum rate vector is already known from (2.15). The equation for the gimbal rate
follows:
   

δ̇x  
ḣx /[−2hx cos δx ] 
δ̇ = 
 δ̇y

 =
 ḣy /[−2hy cos δy ]

 (2.20)
   
δ̇z ḣz /[−2hz cos δz ]

The gimbal angles are achieved by integrating the gimbal rate δ̇ over time. These new
values are then used to determine new values for the angular momentum vector.

The angular momentum and momentum rates are fed into Euler’s equation. This basic
equation of attitude dynamics relates the time derivative of the angular momentum vector,
dH/dt, to the total external applied torque, Text , and is given as:

Is ω̇sI = Text − ωsI × [Is ωsI + hT ] − ḣT (2.21)

This equation is the same as Equation 2.12, but written in a different way. For the rest of
the thesis we will assume that no external torque disturbance is applied to the satellite,
which results in the external applied torque vector, Text , being equal to zero.

A kinematic equation is needed which relates the angular velocity of the satellite ωsI to the
attitude rate of change. For this a set of first-order differential equations are used which
specifies the time evolution of the attitude parameters. This is known as the kinematic
equations of motion and is given by:

1 1
q̇ = Ω q = Λ(q) ωso (2.22)
2 2
where Ω is the skew-symmetric matrix
 

0 ωzo −ωyo ωxo 
 


−ωzo 0 ωxo ωyo 

Ω=   (2.23)


ωyo −ωxo 0 ωzo 

−ωxo −ωyo −ωzo 0
Chapter 2 — CMG and Satellite theory 16

and Λ the rotation matrix


 

q4 −q3 q2 
 


q3 q4 −q1 

Λ=   (2.24)


−q2 q1 q4 

−q1 −q2 −q3

The satellite angular velocity vector ωso is orbit referenced and determined as follows:

ωso = ωsI − Aω0 (2.25)

with A the attitude matrix (Equation 2.2) in terms of Euler’s symmetric parameters and
which has no singularities. Assuming the satellite has a near circular orbit with a constant
orbital angular rate ω0 , then we have a constant orbital rate vector:
 

0 
 
ω0 =  −ω0  (2.26)
 
0

The angular velocity vector ωso can now be determined from Equation 2.25 and used
in Equation 2.22 to define the derivative of the quaternion vector q̇. This vector can
then be integrated to propagate the quaternion vector q. Comparing Equation 2.1 and
Equation (2.2 results in the equations:
 
2(q1 q3 + q2 q4 )
θ = arctan4 (2.27)
−q12 − q22 + q32 + q42

φ = arcsin2 (−2(q2 q3 − q1 q4 )) (2.28)

 
2(q1 q2 + q3 q4 )
ψ = arctan4 (2.29)
−q12 + q22 − q32 + q42

which is used to convert the quaternions into the Euler angles θ, φ and ψ.

2.3 Simulation Results

The simulation results of a small satellite performing a 30 degree rotation maneuver in 10


seconds is depicted in Figure 2.8. The mathematical model derived in Section 2.2.4 was
used with the design specifications of Section 1.1 for the simulation. A constant x-axis
Chapter 2 — CMG and Satellite theory 17

torque, derived in Section 2.2, was used as an input to the model to generate a 30 degree
roll maneuver. A momentum wheel speed of 1000 rad/s was used .

The gimbal angle excursions, shown in Figure 2.8, does not exceed 45 degrees, while the
gimbal rates reach a maximum rate of 11.2 o /s (0.1955 rad/s). The total CMG torque
is 0.4188 Nm for the first 5 seconds (acceleration phase) and -0.4188 Nm for the next
5 seconds (deceleration phase). From Section 2.2 the maximum angular velocity of the
satellite of 6 o /s can be seen from Figure 2.8.

Roll Angle Gimbal Angles


40 50

30
degrees

degrees
20 0

10

0 −50
0 5 10 15 0 5 10 15
Gimbal Rates Input Torque
20 0.5

10
degrees/s

Nm
0 0

−10

−20 −0.5
0 5 10 15 0 5 10 15
Angular Momentum Angular Rates
1 10

0
degrees/s

5
Nms

−1
0
−2

−3 −5
0 5 10 15 0 5 10 15
time (s) time (s)

Figure 2.8: Simulation with constant CMG Torque

Since the gimbal rates exceed the maximum gimbal rate according to the design speci-
fications, another simulation is done, where the gimbal rates are kept constant and the
torque varies. In Figure 2.9 the gimbal rate has a value of 0.146 rad/s (8.365 o /s). The
maximum gimbal angle excursions, angular momentum and angular rate is slightly less
in the second simulation. The maximum and minimum torque as well as gimbal rate of
the two simulations are compared in Table 2.1.

From this it can be seen that a larger initial torque for a maneuver results in smaller
excursion angles and smaller maximum satellite angular velocities. It is thus better to do
slew maneuvers as fast as possible without exceeding the specified maximum slew rate.
Chapter 2 — CMG and Satellite theory 18

Max Torque Min Torque Max Gimbal rate Min Gimbal rate
Simulation (Nm) (Nm) (deg/s) (deg/s)
Const. torque 0.4188 0.4188 11.121 8.0
Const. gimbal rate 0.438 0.326 8.365 8.365

Table 2.1: Minimum and maximum values for the two simulations

In Section 4.2.3 this knowledge is used to design a saturation control law for the satellite.

These two simulations give a better understanding of the mathematical model of the
satellite with a CMG configuration. They also assist in defining the design parameters
for the SGCMG and performance for the 3-set SGCMG configuration. This model is
expanded in Chapter 4 to a model with attitude feedback control logic.

Roll Angle Gimbal Angles


40 50

30
degrees

degrees
20 0

10

0 −50
0 5 10 15 0 5 10 15
Gimbal Rates Input Torque
10 0.5

5
degrees/s

Nm

0 0

−5

−10 −0.5
0 5 10 15 0 5 10 15
Angular Momentum Angular Rates
6
0
4
degrees/s
Nms

−1 2

0
−2
−2
0 5 10 15 0 5 10 15
time (s) time (s)

Figure 2.9: Simulation with constant Gimbal Rate


Chapter 3

Control Moment Gyro Design

3.1 System Overview

The Control Moment Gyro (CMG) module uses a Brushless DC (BLDC) Motor with Hall
effect sensors and a Stepper Motor to spin and gimbal the momentum wheel respectively.
It also consists of a BLDC motor controller, a 3-phase drive stage, a stepper motor
controller, an optical encoder module and a microcontroller. A block diagram of the
CMG system is shown in Figure 3.1.

RS232
Communication

Hall effect position sensors to


Current BLDC Motor commutation circuit in UC2625
Controller Controller
Speed (UC2625)
Demand
Current Current
Demand Feedback 3-Phase BLDC Motor Optical
Speed Electronic and Code
Controller Drive Stage ReactionWheel Wheel

Optical encoder speed feedback

Microcontroller

Stepper
Motor Stepper
Controller Motor
(AD VL M1)

Figure 3.1: Block Diagram of CMG System

The microcontroller (Cygnal - C8051F041) receives control data via RS232 from a PC,

19
Chapter 3 — Control Moment Gyro Design 20

implements it and then sends control commands to the UC2625 Brushless DC motor
controller and the AD-VL-M1 Stepper Motor controller. A speed control algorithm is
implemented in the microcontroller’s software which controls the BLDC motor via the
UC2625 controller. A Hewlett Packard Optical Encoder is used for high accuracy speed
feedback to the microcontroller.

The low voltage 2 phase stepper motor driver (AD-VL-M1) receives command signals
from the microcontroller such as clock pulse, direction and inhibit. It has it’s own full
bridge drivers to drive the stepper motor. The UC2625 controller has all the necessary
functions for driving a BLDC motor, and directly controls the 3-phase drive stage which
connects to the motor. A current control loop runs internal to the speed control loop to
ensure a smoother motor current.

3.2 Mechanical System Overview and Design

The CMG has to be as compact and light as possible to satisfy the constraints of a
small satellite. These aspects were taken into account while designing the CMG. The
most significant problem encountered, which also has a great influence on the size of the
CMG, is the backlash inherent to gears. Since zero backlash is needed to ensure the
gimbal has a rotational resolution less than 0.02 degrees, specially designed gears had to
be manufactured.

The CMG platform consists of a base with a free moving platform rotating on ball-
bearings. Attached to the base is an anti-backlash gear. This anti-backlash gear consists
of two seperate flushed gears of same size which are spring-loaded to generate a thrust in
opposite directions. This would cause the teeth of the anti-backlash gear to lock into the
driving gear and thus avoid the backlash. The driving gear is attached to the gearhead
of the stepper motor, which in turn is mounted on the free moving platform. When the
stepper motor is pulsed, the driving gear rotates around the outside of the fixed anti-
backlash gear and thus cause the platform to rotate. A mechanical drawing of the CMG
platform is shown in Appendix A.

A BLDC motor is mounted on the free moving platform. An optical encoder is attached
to the one end of BLDC motor for accurate speed measurement. On the other end, a
momentum wheel with a moment of inertia of 0.0015 kgm2 is attached to the shaft using
a shaft-lock. The prototype mechanical system is shown in Figure 3.2.

The base of the CMG is attached to a stand in such a way that the gimbal axis is parallel
to the ground. This is also used in the setup for the practical tests (Chapter 6). Since
this is only a prototype for testing, the weight of the CMG was not important. The size
Chapter 3 — Control Moment Gyro Design 21

and weight of this prototype CMG can easily be reduced by using lighter materials and
by removing or resizing certain parts such as the platform, stand and anti-backlash gear.

Driving Gear
Stepper Motor
& Gearhead Anti-backlash Gear

Momentum
Wheel

Stand

BLDC Motor

Optical Encoder Rotating Platform

Figure 3.2: Picture of the CMG

3.3 Motor Descriptions

The Control Moment Gyro depends on two motors for operation. The one is a brushless
DC motor which is used to spin the momentum wheel and the other one is a stepper
motor used to gimbal the momentum wheel around an axis which is perpendicular to the
spin axis.
Chapter 3 — Control Moment Gyro Design 22

3.3.1 Brushless DC Motor

The momentum wheel is driven by a 3-phase (star connected), 2-pole Brushless DC motor
designed by Faulhaber (Part number: 3056 036B). The motor has electronic commutation
via Hall effect sensors placed 120 mechanical degrees apart for rotor position feedback.

Since the maximum angular wheel momentum per CMG was chosen as 1.6 Nms and the
moment of inertia of the wheel is only 0.0015 kgm2 , a maximum wheel speed of 10187
rpm will be needed. The nominal voltage of the BLDC motor is 36 Volt, but only 12 Volt
is applied to the power stage. Thus the maximum speed of the BLDC motor is only a
third of the no-load speed of 8840 rpm. It will not be possible to achieve the specified
wheel momentum with the current wheel inertia and speed specifications, however it is
still good enough to illustrate the theory.

3.3.2 Stepper Motor

A maximum gimbal rate of 10 degrees/second is needed according to specifications, with a


single step smaller than 0.02 degrees. A Faulhaber 2-phase stepper motor (AM 1524 V6)
with anti-backlash gearhead (15/8 Series) was chosen for this application. The stepper
motor has a nominal voltage of 6 Volts and a step angle of 15 degrees.

Since the gimbal step size should be smaller than 0.02 degrees, the total gear reduction
15
ratio should be bigger than 0.02 = 750 : 1. A gearhead with a 262:1 ratio was chosen. An
additional anti-backlash gear system with a 3:1 ratio is connected to the output of the
gearhead to give a total gear reduction ratio of 786:1. The maximum step rate for the
stepper motor to achieve a gimbal rate of 10 degrees/second is given:

Total gear ratio 786


× gimbal rate = × 10 = 524 steps/second (3.1)
Motor step size 15

Another important consideration when sizing the CMG is the effect of the ”gyro torque”
acting back to the gimbal system. This torque can have a great effect, especially at high
angular rates. This ”gyro torque” is generated when the satellite’s inertial body rate is
in the same direction as the torque output of the CMG. The rotation of the satellite has
the same effect as a gimbal has on the momentum wheel, but the output torque due to
the satellite’s rotation acts directly onto the gears of the gimbal. The ”gyro torque” is
calculated as follows:

I
TGyro = ω−i × hi (3.2)

I
where ω−i is the inertial body rate of the satellite in the same direction as the torque
Chapter 3 — Control Moment Gyro Design 23

output of CMGi . hi is the angular momentum vector of CMGi . The ”gyro torque” for a
simulation similar to the one from Section 4.3.1 is shown in Figure 3.3. From the figure,

Gyro Torque
0.12

0.1

0.08

0.06

Nm
0.04

0.02

−0.02
0 5 10 15
time (s)

Figure 3.3: Gyro Torque acting back to the system

the maximum torque acting back to the system is 0.112 Nm.

Since the maximum allowable continuous torque output of the gearhead is 100 mNm,
and the additional 3:1 ratio gears system has an efficiency of at least 80%, the maximum
torque the gimbal can deliver is approximately 100 × 3/0.8 = 375 mNm. The ”gyro
torque” calculated is well within the limits of the gimbal’s maximum torque and would
thus not damage the gears of the gearhead.

3.4 BLDC Motor Power Stage

The BLDC Motor power stage is in full-bridge configuration which enables 4 quadrant
motor driving. Thus the motor can accelerate and brake in both directions. N-channel
and P-channel HEXFET Power MOSFETs are used as switching devices for the power
stage. Dual high speed 1.5 A MOSFET Drivers are used for the high-side and low-side
drivers. The current sense resistors, RCS , are used to feedback the measured current in the
motor phases for the current control loop. These resistors have a value of 0.27Ω, which
are calculated in Section 3.6.1 to limit the maximum motor current. The power stage is
shown in Figure 3.4.

High frequency, fast recovery Schottky rectifiers (30BQ100) are used for the free-wheeling
diodes in the power stage. The function of these diodes are to protect the MOSFETs
when the motor is running freely acting like a generator. The phases A, B and C are
connected directly to the BLDC motor.
Chapter 3 — Control Moment Gyro Design 24

VCC

PUA PUB PUC

Phase C
Phase B
Phase A

PDA PDB PDC

R CS R CS

Figure 3.4: BLDC Motor Power Stage

3.5 Stepper Motor Control

The AD-VL-M1 stepper motor driver [3] was used to drive a small 2-phase stepper motor
in full step or half step mode. These drivers are in voltage mode and can operate with
low power supply such as 3 V to 12 V. Full step mode is chosen for this application,
which results in steps of 15 degrees. Three inputs are used, namely: CW (CCW), clock
pulse and inhibit. The CW (CCW) input controls the direction of rotation of the stepper
motor. Each time a pulse is generated on the clock pulse input, the stepper motor will
take one step. The inhibit input switches off all currents to the motor, saving energy
while the motor is not stepping.

The stepper motor controller consists mainly of two sections, the power stage (HIP4020)
and the translator (COP8SAB720). The translator is an 8-Bit CMOS ROM based, one-
time programmable (OTP) microcontroller with 2k EPROM memory. Inputs from the
Cygnal microcontroller to the stepper motor controller is processed by the translator
which again controls the power stage. The power stage consists of two 0.5A full bridge
power drivers which directly drives the stepper motor.
Chapter 3 — Control Moment Gyro Design 25

3.6 BLDC Motor Control

The UC2625 motor controller [18] IC has most of the functions required for high perfor-
mance four quadrant, 3-phase brushless DC motor control integrated into one package.
The following are a few of the functions incorporated into the CMG design:

• Drives Power MOSFETs directly on low side

• Latched Soft Start

• High-speed Current-sense Amplifier with Ideal Diode

• Average Current Sensing

• Direction Latch for Safe Direction Reversal

• Trimmed Reference Source

• Programmable Cross-conduction Protection

• Four-Quadrant Operation

The operating temperature range of the UC2625 is from -40oC to +105o C.

3.6.1 Controller Component Values

The UC2625 controller has the functions: current-limit mode, tachometer pulse width and
oscillator frequency selection for which specific component values have to be calculated.
This enables the IC’s parameters to be adjusted for different applications.

Current-limit Mode

The current sense amplifier, internal to the UC2625, has a fixed gain of two. A peak-
current comparator allows the PWM to enter a current-limit mode when the voltage
across the current sense resistors exceeds 0.2 V. An over-current comparator provides a
fail-safe shutdown in case the voltage across the resistors exceeds 0.3 V. The current sense
resistors were chosen as 0.27 Ω which will limit the motor current to 740 mA.
Chapter 3 — Control Moment Gyro Design 26

Tachometer Pulse Width

A fixed-width 5V pulse is triggered on the Tach-Out pin with the average voltage on the
pin directly proportional to the speed. Each time the Tach-Out pulses, a capacitor tied
to the RC-Brake discharges from 3.33 V down to 1.67 V through a resistor. The pulse
width of the tachometer is approximately T = 0.67RT CT , with RT and CT a resistor
and capacitor from RC-Brake to ground. The maximum length of the pulse depends on
the maximum speed of the motor. With each change in the Hall effect sensor outputs,
a pulse will be generated. The maximum speed needed for the motor (Section (3.3.1) is
approximately 10200 rpm. Since the motor has 2 magnet poles and 3 Hall effect sensors,
there will be 6 pulses per revolution. Thus a pulse width of less than 0.49 ms is needed
to prevent the tachometer output from saturating. RT and CT are chosen as 150 kΩ and
4.7 nF respectively to give a pulse width of 0.47 ms.

Oscillator Frequency

The motor current can be regulated using fixed-frequency pulse width modulation (PWM)
which is set by an RC oscillator circuit. The oscillator frequency is given by:

2
FOSC =
ROSC COSC

A switching frequency of approximately 30 kHz is desired, which results in ROSC and


COSC values of 68 kΩ and 1 nF respectively.

3.6.2 Current Loop Design

From [16], a first order open-loop model is determined for the 4-quadrant PWM amplifier.
It is done by breaking the feedback loop between the output pin 7 of U7B (LM358A) and
E/A OUT pin 27 of U8 (UC2625) and applying a square wave signal varying between 1.5
and 2.5 Volt at 20 Hz to E/A OUT pin 27 of U8 (See Appendix B, BLDCcurrentsense).
The open-loop output of the amplifier is measured at output pin 1 of U7A (LM358A).
The DC gain of the first order model is given by the peak-to-peak voltage of the output
and the time constant is calculated from the rise and fall times. The open-loop current
model is as follows:

k 3 240
GOL (s) = = = (3.3)
1 + Ts 1 + 0.0128s s + 80
Chapter 3 — Control Moment Gyro Design 27

An analogue PI controller is used to obtain a closed loop system with unit gain and the
same time constant as the open-loop model:

GOL (s)GP I (s) 80


GCL (s) = = (3.4)
1 + GOL (s)GP I (s) s + 80

kp (s + a) 0.333(s + 80)
⇒ GP I (s) = = (3.5)
s s

R2 C

VI R1
VO

Figure 3.5: Analogue PI Controller Circuit

The analogue PI controller from Figure 3.5 has the following transfer function:
 
VO −R2 s + 1/CR2
GP I (s) = = (3.6)
VI R1 s

Comparing Equation 3.5 and Equation 3.6, the best values for the resistors and capacitors
are selected as:

R1 = 39kΩ, R2 = 12kΩ, C = 1µF

Since the microcontroller has a maximum output voltage of 2.4V, which is applied to ISET
(See Appendix B, BLDCcurrentsense), the maximum voltage measured at IMON will also
be 2.4V. The maximum voltage measured over the 0.27Ω current resistors will then be
2.4V devided by the gain of the differential amplifier (gain=10), which gives 0.24V. Thus
the maximum current in the phases of the BLDC motor is limited to 0.24/0.27 = 0.888 A.
The current-limit mode of the BLDC motor controller is set to 740 mA, and thus would
the motor current never reach 0.888 A.

3.6.3 Digital Speed Loop Design

An integrator open-loop model is chosen for the speed control loop. The input to the
speed control loop is the D/A current (torque) demand output from the microcontroller
Chapter 3 — Control Moment Gyro Design 28

and the output of the speed control loop is the measured encoder speed (in 0.6*rpm units,
see Section 3.6.4). From a simple open-loop test it can be seen in Figure 3.6 that the
speed will accelerate at 48 units per second on average if the D/A output is 1000 units.
Thus, the integrator model used is:

Speed(0.6 ∗ rpm) 0.048 48


GOL (s) = = where 0.048 = (3.7)
D/A(units) s 1000

Wheel acceleration per second


50

48

46

44

42
Units / sec

40

38

36

34

32

30
0 5 10 15 20 25 30 35 40
Time (sec)

Figure 3.6: Measured acceleration per second for 1000 units input

The discrete sampling time is chosen as Ts = 0.1 seconds. From Equation 3.7, the Z-
transform open-loop model of the speed control loop and ZOH is calculated as:

0.0048
GOL (z) = (3.8)
z−1

The following specifications are chosen for the closed-loop system:

• Bandwidth, ΩBW , is 20 times lower than the sampling frequency

• Second order system is optimally damped

The desired closed-loop poles in the discrete domain can then be calculated as:

2π 3
ΩBW = = 3.1416 = Ωn ; ζ = 0.707; 5%tsettling = = 1.35 seconds
20Ts ζΩn
Chapter 3 — Control Moment Gyro Design 29

⇒ sCL = −2.221 ± j2.2219

⇒ zCL = 0.7803 ± j0.1765 (3.9)

A discrete PI controller is used to ensure a zero tracking error for constant speed demands
and a transfer function expression for the closed-loop system is obtained as:

GP I GOL 0.0048K(z − a)
GCL (z) = = 2 (3.10)
1 + GP I GOL z − (2 − 0.0048K)z + (1 − 0.0048Ka)

where

K(z − a)
GP I (z) =
z−1

From Equation 3.9 and Equation 3.10 the constants K and a can be calculated as:

K = 91.542

a = 0.819 (3.11)

The difference equation for the discrete PI controller can then be implemented as:

U(z) 91.542(1 − 0.819z −1 )


G(z −1 ) = =
E(z) 1 − z −1

⇒ u(k) = u(k − 1) + 91.542e(k) − 74.973e(k − 1) (3.12)

The values of K1 and K2 is respectively taken as 91 and 74 for the program code.

PI Control Reaction
Speed D/A Wheel Wheel
Command + e(k) K(z - a) u(k) 0.048 speed
ZOH
z-1 s
-
TS

Figure 3.7: Discrete Closed-loop speed control


Chapter 3 — Control Moment Gyro Design 30

3.6.4 Speed Measurement

The two outputs of the shaft encoder are XOR’ed together to give 1000 pulses per wheel
revolution from a 500ppr code wheel. This increments a counter in the microcontroller
which is read and cleared every 100ms. The speed measurement accuracy (rpm) is then
calculated as:

60
∆Ωwheel = = 0.6 rpm per clock pulse
1000Ts

⇒ Ωwheel = ∆Ωwheel × Count rpm (3.13)

The wheel speed is expressed as an integer and it is given in 0.6 rpm units. Therefore the
commanded wheel speed has also to be converted into 0.6 rpm units before it is sent to
the microcontroller. The direction of the wheel speed is determined from the phases of
the outputs of the shaft encoder. If the clock output A is lagging clock output B by 90o ,
then the wheel speed is negative, else the wheel speed is positive.

3.7 Microcontroller

The Cygnal C8051F041 microcontroller is used to control the CMG and to serve as an
interface to the rest of the spacecraft via the CAN bus. For this thesis an RS232 serial link
is used to send data packages between the microcontroller and a PC. Control commands
for the CMG is received from the PC and then implemented by the microcontroller. The
functions of the microcontroller are described as follows:

• Digital Speed Controller - A discrete PI controller is used with a sampling time of


TS = 0.1 seconds to control the wheel speed accurately to within 0.6 rpm units. The
controller has a 5% settling time of 1.35 seconds to small disturbance inputs and it
controls the speed smoothly from -10000 to +10000 rpm.

• Speed Measurement - The speed of the BLDC motor is measured by a two channel
Optical Incremental Encoder Module with a 500 cpr codewheel. The two channels
are XOR’ed together to give a resolution of 1000 pulses per revolution. This is then
fed back to the microcontroller which counts the amount of pulses per 100 ms and
uses it in the digital speed controller. The two channels are also fed into a flip-flop
to obtain the direction of rotation of the BLDC motor.

• Direction Control - The microcontroller outputs a digital signal which controls the
direction bit of UC2625. This controls the direction of rotation of the BLDC motor.
Chapter 3 — Control Moment Gyro Design 31

• Coast Command - This is used to shut off the power to the BLDC motor. If the
microcontroller enables the coast command, the UC2625 opens the high side and
low side MOSFETs, which shuts off the power.

• Stepper Motor Pulse - From the control data received from the PC, the microcon-
troller calculates the frequency needed to achieve the necesary gimbal step rate.
This signal is fed to the Stepper Motor Controller which steps the stepper motor.

• Stepper Motor Direction - This outputs the direction of rotation of the stepper
motor to the Stepper Motor Controller.

• Inhibit - After each gimbal rotation, the Inhibit bit is set. This informs the Stepper
Motor Controller to shut off the power to the stepper motor to save power. At the
start of a gimbal instruction, the Inhibit bit is cleared.

• Rate Gyro Data - Every 100 ms a pulse is sent to the Rate Gyro, which commands
it to send the angle increment of the past 100 ms. All the angle increments are
added together to give the total angle of rotation of the whole system. The data
transfer between the microcontroller and the Rate Gyro is via RS422.

• Serial Communications - Communication between the microcontroller and the PC


is via a RS232 link with a baudrate of 38.4 kbps. Every 100 ms data packages
containing the wheel speed, gimbal angle, package number and system rotation
angle is send to the PC. RF link modules (Radiometrix) were used for wireless
communications during tests on the air bearing table.

A flowchart describing the flow of processes in the microcontroller is shown in Figure 3.8.
The following interrupts are running parallel to the processes:

• Timer1 - Set to overflow every 1 ms. A counter increments with each overflow and
sets a flag after 100 ms. When the counter reach 97, the rate gyro is polled to sent
the latest angle increment.

• Timer4 - The overflow rate of Timer4 depends on the gimbal rate needed. With
each overflow the stepper motor controller is toggled.

• UART0 - This UART is used for communication between the microprocessor and
PC. A checksum is used to determine the validity of data received. All data is sent
twice.

• UART1 - This UART is used to poll the rate gyro and to receive the new angle
increment.
Chapter 3 — Control Moment Gyro Design 32

Start

Initialize all variables


and configure registers

New Receive
Yes
Command received new
from PC parameters

No

Get new
Gyro data Yes
Gyro angle
available
increment
No

Byte has Yes Send next


been sent byte

No

Data
Yes Send data a
packet has been sent
2nd time
once

No

Yes Speed control loop


100ms flag
- new current demand
is set
- output on dac1
No
Send new data to PC

Figure 3.8: Program flow diagram of Microcontroller


Chapter 3 — Control Moment Gyro Design 33

3.8 Computer Interface

The PC program (RWprobe2) was written in Delphi. The CMG is fully controllable from
this program. The gimbal can be rotated by a certain amount of degrees, or it can be
stepped by a certain amount of steps. The gimbal rate is adjustable from 10 to 500 steps
per second and the direction of rotation can be selected as well.

A gimbal angle profile with the rotation angle for each 100 ms interval can also be used
to control the gimbal. The wheel speed is adjustable from -10000 to +10000 rpm. CMG
data is received from the microcontroller every 100 ms and can be written to a file. When
a new command is send to the microcontroller, an ID corresponding to the particular
command is also sent. The IDs are shown in Table 3.1.

Packet ID Description
0x02 Output current demand (Current controller)
0x03 Switch RW on/off
0x05 Wheel speed command
0x06 New controller gains
0x07 CMG gimbal rate and rotation angle
0x08 Zero gimbal angle
0x09 Step Gimbal to zero position
0x0A Step gimbal (x steps)
0x0B Stop gimbal immediately
0x0C CMG gimbal data from file
0x0D Zero Gyro angle

Table 3.1: CMG Command Packet IDs

The data packet received from the microcontroller is made up of 11 bytes. The first one
is the PC’s ID, 0xCC. The following nine bytes are telemetry containing the wheel speed,
gimbal angle, packet number and the gyro angle. The last byte is a checksum. Table 3.2
shows the packet received from the microcontroller.

Byte No 1 2 3 4 5 6 7 8 9 10 11
Data CC (HB) (LB) (HB) (LB) (HB) (LB)
Content PC ID Wheel Gimbal Packet Gyro angle Checksum
speed angle No

Table 3.2: Packet frame of data transmitted from microcontroller


Chapter 3 — Control Moment Gyro Design 34

The command data packet transmitted by the PC is made up of 6 bytes. The first byte
is the microcontroller’s ID. The second byte corresponds to the command packets shown
in Table 3.1 and the last four bytes are the command data. Table 3.3 displays the packet
transmitted by the PC.

Byte No 1 2 3 4 5 6
Data 7F (02-0D)
Content Microcontroller ID Packet ID Command Data

Table 3.3: Packet frame of data transmitted from PC

An RF link was used for communications when testing on the air bearing table. It consists
of two receiver modules and two transmitter modules. When a transmitter is on and thus
transmitting, both receivers would recieve the data. For this reason it was necessary to
include another ID in the data packets to differentiate between data which was meant for
the microcontroller and data for the PC.
Chapter 4

Satellite Attitude Control

In this chapter an attitude control system is developed for an agile spacecraft requiring
rapid retargeting and fast transient settling. Section 4.1 describes a single-axis attitude
control problem to illustrate a nonlinear control algorithm achieving rapid, large-angle
retargeting and robust transient settling subject to constraints such as actuator saturation
and slew rate limit. In Section 4.2 a three-axis quaternion feedback control problem is
described, which was extended from the model in Section 4.1. Simulation results of rapid,
large-angle retargeting is presented in Section 4.3.

4.1 Single-Axis Attitude Control

To illustrate a nonlinear control algorithm with rapid, large-angle retargeting and robust
transient settling, consider the single-axis attitude control problem of a rigid spacecraft
described by [21]

I θ̈ = u; |u(t)| ≤ U (4.1)

where I is the spacecraft moment of inertia, θ the attitude angle, and u the control torque
input with the saturation limit of ±U.

The feedback control logic which assures the time-optimal control for the commanded
constant attitude angle of θc is given by

1

u = −Usgn e + θ̇
θ̇
(4.2)
2a

where e = θ − θc and a = U/I is the maximum control acceleration. The signum


function is defined as: sgn(x) = 1 if x ≥ 0 and sgn(x) = −1 if x < 0.

35
Chapter 4 — Satellite Attitude Control 36

A direct implementation of this ideal, time-optimal switching control logic results in a


chattering problem in practice. There exist various ways of avoiding this problem which
is inherent to the ideal, time-optimal switching control logic. However, a feedback control
logic of the following form is used:

u = − sat K sat(e) + C θ̇ (4.3)
U L

where e = θ − θc and K and C are respectively the attitude and attitude rate gains to be
properly determined. The saturation function is defined as
 

L if e ≥ L
 


 

sat(e) =

e if |e| < L 
L  

 −L if e ≤ −L 

and it can also be represented as

sat(e) = sgn(e)min {|e| , L}


L

The limiter in the attitude-error feedback loop is constraining the attitude rate to




θ̇
≤ θ̇ ≤
θ̇

max max

where
θ̇
= LK/C. The proper use of the feedback control logic of Eq. (4.3) will in
max
most practical cases result in a ”bang-off-bang” control.

For all the possible attitude-error signals that do not saturate the actuator, the controller
gains, K = kI and C = cI can be determined as

k = ωn2 and c = 2ζωn (4.4)

where ωn and ζ are respectively the specified



linear control bandwidth and damping ratio.



If the maximum slew rate is specified as


θ̇
, the limiter in the attitude-error feedback
max
loop can be selected as

L=
θ̇
=
θ̇
(4.5)
K max k max
Due to the actuator saturation as the attitude-error signal and the slew rate limit becomes
larger for rapid maneuvers, the overall response becomes sluggish with increased transient
overshoot. One way of still achieving rapid transient settling for large commanded attitude
angles, is to adjust the slew rate limit as developed in [22] as follows:





θ̇
= min 2a |e|, |ω|max (4.6)
max
Chapter 4 — Satellite Attitude Control 37

where e = θ − θc is the attitude error, |ω|max is the maximum specified slew rate and a =
U/I is the maximum control acceleration. The value a should be scaled to accommodate
uncertainties in the spacecraft inertia and actuator dynamics. The attitude-error feedback
loop limiter can then be written as

C

c
L=
θ̇
=
θ̇
= min 2a |e|, |ω|max
K max k max k

and the nonlinear control logic obtained has the following form:

u = − sat K sat(e) + C θ̇
U L


c c
= − sat kI sgn(e)min |e| , 2a |e|, |ω|max + cI θ̇ (4.7)
U k k

If there is a constant external disturbance present which results in a steady-state pointing


error, the use of integral control has to be introduced. The feedback control logic of
Eq. (4.7) can then be modified into the following PID (proportional-integral-derivative)
saturation control logic:

1
u = − sat K sat(e + e) + C θ̇ (4.8)
U L T

where T is the time constant of the integral control and



c
L = min 2a |e|, |ω|max
k

The gains for the PID controller in terms of the standard notation: KP , KI and KD is

KP = K, KI = K/T, KD = C

The PID controller gains can be determined as

KP = I(ωn2 + 2ζωn/T ) (4.9)

KI = I(ωn2 /T ) (4.10)

KD = I(2ζωn + 1/T ) (4.11)

and the integral control time constant T is normaly selected as T ≈ 10/(ζωn).


Chapter 4 — Satellite Attitude Control 38

If the attitude reference input to be tracked is not a multi-step input, but a smooth
function, then a PID saturation control logic of the following form can be implemented:

1
u = − sat kI sat(e + e) + cI ė (4.12)
U L T

where e = θ − θc .

When working with PID-type controllers with actuator saturation, a phenomenon known
as ”integrator windup” causes substantial transient overshoot and control effort. This
phenomenon appears when the actuator or a limiter in the control loop saturates and the
integrator control keeps on integrating. This can easily be prevented if the controller is
implemented on a digital computer by switching off the integral action when the actuator
or any other limiter in the control loop saturates.

4.2 Three-Axis Quaternion Feedback Control

A 3-axis quaternion feedback control problem is described in this section, using a nonlinear
control algorithm from [21].

4.2.1 Quaternion Feedback Control Logic

The rotational equation of motion of a rigid spacecraft is described by

I ω̇sI + ωsI × IωsI = u (4.13)

where I is the inertia matrix, ωsI = [ωxi ωyi ωzi ]T the inertially referenced angular
velocity vector, and u = [uxi uyi uzi ]T the control torque input vector. Angular velocity
vector components ωi along the body-fixed control axes are measured by angular rate
gyros to ensure high accuracy.

A parameterization of the attitude rotation matrix referenced to, either an inertial frame
or the orbit frame has proved to be quite useful in spacecraft attitude modeling. If the
Euler rotation unit vector is denoted by λ = [λx λy λz ]T , then the four elements of
quaternions are defined as

q1 = λx sin(θ/2)
q2 = λy sin(θ/2)
q3 = λz sin(θ/2)
q4 = cos(θ/2)
Chapter 4 — Satellite Attitude Control 39

where θ denotes the rotation angle about the Euler axis. The four Euler symmetric
parameters are dependant by the following constraint equation:

q12 + q22 + q32 + q42 = 1

From Equation 2.22 to Equation 2.26, the quaternion kinematic differential equations are
given by
    

q˙1  
0 ωzo −ωyo ωxo 
q1 
    


q˙2 

1 −ωzo 0 ωxo ωyo  q2 
  =    (4.14)
 q˙3  2
 ωyo −ωxo 0 ωzo



q3 
    
q˙4 −ωxo −ωyo −ωzo 0 q4

A quaternion vector q = [q1 q2 q3 ]T can be defined such that

 θ
q = λ sin
2

and Eq. (4.14) can then be written in terms of the quaternion vector


˙ 1  1
q = − ωsO × q + q4 ωsO (4.15)
2 2

1 T 
q˙4 = − ωsO q (4.16)
2

with
  

0 −ωzo ωyo 
q1 
   
ωsO × q ≡  ωzo 0 −ωxo  q2 
  
−ωyo ωxo 0 q3

Since the use of quaternions are so useful for the onboard real-time computation of space-
craft orientation, it can be used in a linear state feedback controller for real-time imple-
mentation of the following form:


u = −K q −CωsO (4.17)

where K and C are controller gain matrices which have to be determined.


Chapter 4 — Satellite Attitude Control 40

From the commanded attitude quaternions (q1c , q2c , q3c , q4c ) and the current attitude
quaternions (q1 , q2 , q3 , q4 ), the attitude-error quaternions (e1 , e2 , e3 , e4 ) can be derived as
follows:
    

e1  
q4c q3c −q2c −q1c 
q1 
    


e2 



−q3c q4c q1c −q2c 

q2 

  =   


e3 



q2c −q1c q4c −q3c 

 q3 

e4 q1c q2c q3c q4c q4

The control logic of Eq. (4.17) can be modified using the quaternion error vector e
=
[e1 e2 e3 ]T into the following form:


u = −K e −CωsO (4.18)

4.2.2 Eigenaxis Rotation

The gyroscopic term of Euler’s rotational equation of motion is not significant for most
practical rotational maneuvers. It may in some cases however, be desirable to directly
counteract this term by applying a control torque, as follows:


u = −K e −CωsO + ωsI × IωsI (4.19)

In [21] it was shown that the closed-loop system with the controller from Eq. (4.19) is
globally asymptotically stable if the matrix K −1 C is positive definite. To guarantee such
conditions, K and C should be selected as follows: K = 2kI and C = cI where k and c
are positive scalar constants to be properly selected, similar to the single-axis case:

k ≈ ωn2 and c ≈ 2ζωn

where ωn and ζ are respectively the desired or specified linear control bandwidth and
damping ratio of the three-axis attitude control system. Furthermore, a rigid spacecraft
with the controller


u = −I(2k e +cωsO ) + ωsI × IωsI (4.20)

performs a rest-to-rest reorientation maneuver about an eigenaxis along the commanded


quaternion vector qc . If needed, an integral control can also be added to the quaternion-
error feedback control logic of Eq. (4.20) as follows:

 2k 
u = −I(2k e + e +cωsO ) + ωsI × IωsI (4.21)
T
Chapter 4 — Satellite Attitude Control 41

where T is the time constant of quaternion-error integral control. The gyroscopic decou-
pling control term, ωsI × IωsI , from Eq. (4.21) is not significant during most practical
rotational maneuvers [21], and the term can be neglected without much impact on per-
formance and stability.

4.2.3 Rotation Under Slew Rate Constraint and Control Input


Saturation

To demonstrate the slew rate constraint and control saturation, first consider a rigid
spacecraft which is required to maneuver about an orbit fixed axis. The maneuver should
be as fast as possible, but it should not exceed the specified maximum slew rate about
that eigenaxis. The following saturation control logic provides such a rest-to-rest eigenaxis
rotation under a slew rate constraint [21]:

1  
u = −K sat( e + e) − CωsO
Li T

 1 
= −I{2k sat( e + e) + cωsO } (4.22)
Li T

where e = [e1 e2 e3 ]T is the quaternion-error vector, K = 2kI, C = cI and the saturation


limits Li are determined as:

c
Li = |ωi |max (4.23)
2k

where |ωi |max is the specified maximum angular rate about each axis. Let the control
torque input for each axis be constrained such that

−U ≤ ui (t) ≤ +U; i = 1, 2, 3

where U is the saturation limit of each control input. This can then be used to set up
a control logic with a control torque input which saturates at a maximum value U, but
that still provides an eigenaxis rotation under a slew rate constraint. The control logic
can be expressed as

1   O
τ = −I 2k sat( e + e) + cωs (4.24)
Li T
 
 τ if τ ∞ < U 
u = sat(τ ) = (4.25)
U  U ττ if τ ∞ ≥ U 

Chapter 4 — Satellite Attitude Control 42

where τ ∞ = max {|τ1 | , |τ2 | , |τ3 |}. The slew rate limit needs to be adjusted to achieve
robust, rapid transient settlings for large attitude-error signals. This is similar to the
single-axis attitude control case discussed in Section (4.1). The saturation limits Li are

c
Li = min 4ai |ei |, |ωi |max
2k

where ai = U/Iii are the maximum control acceleration about the ith control axis.

4.3 Simulation Results

4.3.1 Single-Axis Rotation

The single-axis attitude control law of Section 4.1 is implemented in the mathematical
model of Section 2.2.4. The maximum slew rate is assumed as |ω|max = 6 deg/s and the
maximum control torque command U is limited to 0.42 Nm to prevent the gimbal rate
from exceeding 10 degrees/s. A maximum control acceleration a is chosen as 70% of U/J
to accommodate the actuator dynamics and the nonlinearity of quaternion kinematics.
The angular velocity of the momentum wheels are assumed as 1000 rad/s.

Attitude Angle Attitude Rate


35 6

30 5

25 4
degrees/s
degrees

20 3

15 2

10 1

5 0

0 −1
0 5 10 15 0 5 10 15

Control Torque Gimbal Rate


0.5 15

10

5
degrees/s
Nm

0 0

−5

−10

−0.5 −15
0 5 10 15 0 5 10 15
time (s) time (s)

Figure 4.1: Simulation results of the PID Saturation Control Logic in one axis
Chapter 4 — Satellite Attitude Control 43

Choosing the slew maneuver 5% settling time ts = 2 seconds and the damping ratio
ζ = 0.9, gives the undamped natural frequency ωn = 3/ζts = 1.667 rad/s and integral
control time constant T = 10 seconds. The controller gains are derived as:

k = ωn2 + 2ζωn /T = 3.078

c = 2ζωn + 1/T = 3.1

A commanded attitude rotation angle of 30 degrees is assumed for the slew maneuver.
The simulation results are shown in Figure 4.1. The time taken for the satellite to do a
30 degree rotation to within 5% is less than 10 seconds with a maximum attitude rate of
5.5 degrees/s. The maximum gimbal rate is kept below 10 degrees/s while the maximum
control torque is 0.42 Nm.

4.3.2 Three-Axis Quaternion Feedback Rotation

The three-axis quaternion feedback control law of Section 4.2.3 is now implemented in
the mathematical model of Section 2.2.4. The parameters are assumed to be the same as
in the previous simulation.

q1 q2
1 0.5

0.4
0.5

0.3
0
0.2

−0.5
0.1

−1 0
0 10 20 30 0 10 20 30

q3 Pitch Angle
1 60

50
0.5
40
degrees

0 30

20
−0.5
10

−1 0
0 10 20 30 0 10 20 30
time (s) time (s)

Figure 4.2: Simulation results of the Quaternion Feedback Control Logic in one axis
Chapter 4 — Satellite Attitude Control 44

Figure 4.2 and Figure 4.3 show the results for two successive rest-to-rest maneuvers for
the commanded attitude angles: θc = 30 degrees for 0 ≤ t < 15 seconds and θc = 50
degrees for 15 ≤ t < 30 seconds.

From Figure 4.2 one can see the pitch angle rotation and the corresponding quaternions.
The pitch rotation is smooth with almost no overshoot and very fast settling time. The
gimbal rates, shown in Figure 4.3, are within the permitted 10 degrees/s parameter for
the two successive rest-to-rest maneuvers. The gimbal angle excursions reach a maximum
of 39 degrees with a maximum attitude rate of almost 5.4 degrees/s.

Control Torque Attitude Rate


0.5 6

degrees/s
3
Nm

0
2

−0.5 −1
0 10 20 30 0 10 20 30

Gimbal Angles Gimbal Rates


40 15

10
20
5
degrees/s
degrees

0 0

−5
−20
−10

−40 −15
0 10 20 30 0 10 20 30
time (s) time (s)

Figure 4.3: Simulation results of the Quaternion Feedback Control Logic in one axis

Figure 4.4 and Figure 4.5 display the simulation results for a simultaneous 30o pitch, 20o
roll and 5o yaw maneuver. The total settling time is a little bit longer since the rotation
around the different axes influence each other. The corresponding quaternions for the
maneuver are also shown.
Chapter 4 — Satellite Attitude Control 45

q1 q2
0.2 0.3

0.15
0.2

0.1

0.1
0.05

0 0
0 5 10 15 0 5 10 15

−3 q3 Euler Angles
x 10
0 40

30
−2

20

degrees
−4
10

−6
0

−8 −10
0 5 10 15 0 5 10 15
time (s) time (s)

Figure 4.4: Simulation results of the Quaternion Feedback Control Logic in three axis

Roll Torque Pitch Torque


0.5 0.5
Nm

Nm

0 0

−0.5 −0.5
0 5 10 15 0 5 10 15
time (s)

Yaw Torque
0.04

0.02
Nm

−0.02

−0.04
0 5 10 15
time (s)

Figure 4.5: Simulation results of the Quaternion Feedback Control Logic in three axis
Chapter 5

Control Demand for Imaging


Sequence

5.1 Imaging Sequence Objective

The use of CMG’s provide a satellite with more agility and thus enabling it to do rapid
pointing maneuvers. Pointing an entire satellite with larger moment of inertia instead of
sweeping the imaging system from side to side, allows the imaging system to achieve higher
definition due to smaller noise sensitivity and improves the resolution for it’s images. The
objective of this chapter is to design a control mode for the imaging phase making use
of the Moving Demand approach. This approach implement consecutive slew maneuvers
via a time varying attitude and rate demand. The advantage of this approach is that the
desired 3-axis attitude and rate are known at all times which ensures better tracking of
the attitude command.

In [7], the imaging sequence shown consist of 4 slew maneuvers. Starting from nadir
pointing, the satellite will slew to the attitude qS1 , shown in Figure 5.1. The second slew
is from qS1 to qM ID . Imaging starts during slew 2 after a specific constant slew rate is
reached. This rate is continued into slew 3 until the imaging period stops. After imaging
the satellite will slew until qS3 . The last slew is back to nadir pointing under 3-axis
control.

A few inputs for the Moving Demand calculation is needed to dictate the target attitude
and rate to be achieved at a certain target time. The inputs for the demand derivation is
as follows:

• The time tM ID at the mid-point of the imaging slew.

• The target attitude quaternion qM ID at tM ID .

46
Chapter 5 — Control Demand for Imaging Sequence 47

o
• The required orbit referenced body rate vector, ωIM G , during imaging.

• The lead-in angle up to the mid-point of the imaging period, ρS2,T OT .

Along Track
q S1

Start of Imaging

Across Track
Nadir Pointing q MID

End of Imaging

q S3

Figure 5.1: Image Sequence Schematic

5.2 Detailed Slew Sequence

The detailed image sequence consists of 4 slews determined by the Moving Demand. These
slews are defined in detail in Table 5.1.

It is assumed that the settling times ∆tSET 12 and ∆tSET 34 are taken as constants derived
from the satellite’s characteristics. The value of ∆tP M is calculated as a fraction of
ρS2,T OT .

A detail derivation of the stages in the time varying demand, derived from the input
information, are given in the following sections.
Chapter 5 — Control Demand for Imaging Sequence 48

Maneuver Attitude Description Comment


Slew1 Slew from nadir pointing Slew performed as eigenaxis
to target attitude qS1 . rotation.
Slew time ∆tS1 .
Total slew angle ρS1,T OT .
aS1 - Demanded angular acceleration
for first half of slew, −aS1 for
second half of slew.
Settle at qS1 . Settling time ∆tSET 12 .
Slew 2 Slew from qS1 to qM ID . Slew performed as eigenaxis
rotation.
Slew time ∆tS2 .
Total slew angle ρS2,T OT .
Demanded angular acceleration of
aS2 until rate reaches ω oIM G ,
then constant rate.
qM ID reached at time tM ID .
Slew 3 Continuation of Slew 2 Slew performed as eigenaxis
from qM ID to qS3 . rotation at rate ω oIM G for time
∆tP M .
Deceleration to rest with demanded
angular acceleration −aS3 .
Slew time ∆tS3 .
Settle at qS3 . Settling time ∆tSET 34 .
Slew 4 Slew from attitude qS3 Slew performed as eigenaxis
to nadir pointing. rotation.
Slew time ∆tS4 .
Total slew angle ρS4,T OT .
aS4 - Demanded angular acceleration
for first half of slew, −aS4 for
second half of slew.

Table 5.1: Mission Sequence of Attitude Demand


Chapter 5 — Control Demand for Imaging Sequence 49

5.3 Attitude Demand Derivation

This section describes the derivation of the attitude and rate demands for the slews of
the Moving Demand.

5.3.1 Slew 2

The slewing axis for Slew 2, λSLEW 2, can be derived from the required imaging rate since
they are in the same direction.

o
ωIM G
λSLEW 2 = o
(5.1)
|ωIM G|

The quaternion describing the transformation between the initial and final attitudes of
Slew 2, qS2,T OT , can be derived from the slewing axis and angle for Slew 2 as follows:
 

λSLEW 2(1) sin( 12 ρS2,T OT ) 
 


λSLEW 2(2) sin( 12 ρS2,T OT ) 

qS2,T OT =   (5.2)


λSLEW 2(3) sin( 12 ρS2,T OT ) 

cos( 12 ρS2,T OT )

Given the final attitude of Slew 2, qM ID , the initial demanded attitude which is also the
final attitude for Slew 1, qS1 , can be derived as:
 

qS2,T OT (4) −qS2,T OT (3) qS2,T OT (2) −qS2,T OT (1) 
 


qS2,T OT (3) qS2,T OT (4) −qS2,T OT (1) −qS2,T OT (2) 
q
qS1 =   M ID (5.3)


−qS2,T OT (2) qS2,T OT (1) qS2,T OT (4) −qS2,T OT (3) 

qS2,T OT (1) qS2,T OT (2) qS2,T OT (3) qS2,T OT (4)

The total time for Slew 2, ∆tS2 , can be derived from the total slew angle, ρS2,T OT , and
the initial angular acceleration, aS2 , as follows:

o
ρS2,T OT |ωIM G|
∆tS2 = o
+ (5.4)
|ωIM G | 2aS2

where the angular acceleration, aS2 , is a constant value depending on the satellites char-
acteristics such as moment of inertia and maximum torque from the CMG’s. The start
time for Slew 2, tST 2 , is then given by:

tST 2 = tM ID − ∆tS2 (5.5)


Chapter 5 — Control Demand for Imaging Sequence 50

The previous equations of Section 5.3.1 derived the start time and attitude for Slew 2.
This can be used to derive the rotation angle and rate as a functions of time, based on
an initial angular acceleration aS2 and constant imaging rate as follows:
 
0 (t < tST 2
 
 1 |ωIM
o
G|

 aS2 (t − tST 2 )2 tST 2 ≤ t < tST 2 + aS2 
ρS2 (t) =  2  (5.6)
 
 o |ωIM
o
G| |ωo G | 
|ωIM G | t − tST 2 − 2aS2
tST 2 + aIMS2
≤ t < tM ID

 
0 (t < tST 2
 
 |ωo G | 
 aS2 (t − tST 2 ) tST 2 ≤ t < tST 2 + aIM 
ρ̇S2 (t) =   (5.7)
 S2

 o |ωIM
o
G|

|ωIM G| tST 2 + aS2 ≤ t < tM ID

o
Now the demanded quaternion qD (t) and demanded orbit-referenced body rate ωD (t) for
the period tST 2 ≤ t < tM ID can be determined as follows:
 
λ
 SLEW 2
(1) sin( 12 ρS2 (t)) 
 
 λSLEW 2 (2) sin( 12 ρS2 (t)) 

qSLEW 2(t) =   (5.8)

 λSLEW 2 (3) sin( 12 ρS2 (t)) 
 
cos( 12 ρS2 (t))

 

qSLEW 2(4) qSLEW 2(3) −qSLEW 2 (2) qSLEW 2(1) 
 


−qSLEW 2 (3) qSLEW 2(4) qSLEW 2(1) qSLEW 2(2) 
q
qD (t) =   S1 (5.9)


qSLEW 2(2) −qSLEW 2(1) qSLEW 2(4) qSLEW 2(3) 

−qSLEW 2 (1) −qSLEW 2(2) −qSLEW 2 (3) qSLEW 2(4)

ω oD (t) = ρ̇S2 (t).λSLEW 2 (5.10)

5.3.2 Slew 1

Slew 1 is performed as an eigenaxis rotation with the starting attitude nadir pointing and
the final attitude at qS1 . The rotation axis and angle can then be derived as:

ρS1,T OT = 2 arccos(qS1 (4)) (5.11)

[qS1 (1) qS1 (2) qS1 (3)]T


λSLEW 1 = (5.12)
sin(ρS1,T OT /2)
Chapter 5 — Control Demand for Imaging Sequence 51

A constant demanded angular acceleration, aS1 , is performed for the first half of Slew 1,
followed by a constant demanded angular deceleration, −aS1 , for the second half. The
total time used for Slew 1, ∆tS1 , is derived from the total slew angle as follows:

ρS1,T OT
∆tS1 = 2 (5.13)
aS1

and the start time for Slew 1, tST 1 , is given by:

tST 1 = tM ID − ∆tS2 − ∆tSET 12 − ∆tS1 (5.14)

The previous equations of Section 5.3.2 derived the start time and attitude for Slew 1.
This can be used to derive the rotation angle and rate as a functions of time, based on
an angular acceleration parameter aS1 as follows:
 

0 (t < tST 1 ) 
 
 1 ∆tS1 
 2 aS1 (t − tST 1 )2 tST 1 ≤ t < tST 1 + 2

ρS1 (t) =     (5.15)
 ∆tS1 
 ρS1,3 (t)

tST 1 + 2
≤ t < tST 1 + ∆tS1 

ρS1,T OT (tST 1 + ∆tS1 ≤ t < tST 1 + ∆tS1 + ∆tSET 12 )
 

0 (t < tST 1 ) 
 
 ∆tS1 
 aS1 (t − tST 1 ) tST 1 ≤ t < tST 1 + 2

ρ̇S1 (t) = 


∆tS1
 
 (5.16)


ρ̇S1,3 (t) tST 1 + 2
≤ t < tST 1 + ∆tS1 

0 (tST 1 + ∆tS1 ≤ t < tST 1 + ∆tS1 + ∆tSET 12 )

with
√ aS1 (t − tST 1 )2
ρS1,3 (t) = 2 ρS1,T OT aS1 (t − tST 1 ) − − ρS1,T OT
2
∆tS1 ∆tS1
ρ̇S1,3 (t) = aS1 − aS1 (t − tST 1 − )
2 2

where the time interval ∆tSET 12 , between the end of Slew 1 and the start of Slew 2,
serve as a settling period for the rotation angle . Now the demanded quaternion qD (t)
o
and demanded orbit-referenced body rate ωD (t) for the period tST 1 ≤ t < tST 2 can be
determined as follows:
 
λ
 SLEW 1
(1) sin( 12 ρS1 (t)) 
 
 λSLEW 1 (2) sin( 12 ρS1 (t)) 

qD (t) =   (5.17)

 λSLEW 1 (3) sin( 12 ρS1 (t)) 
 
cos( 12 ρS1 (t))

o
ωD (t) = ρ̇S1 (t).λSLEW 1 (5.18)
Chapter 5 — Control Demand for Imaging Sequence 52

5.3.3 Slew 3

Slew 3 is a continuation of Slew 2 with the rotation axis identical to that for Slew 2. It is
performed as an eigenaxis rotation starting at the midpoint of the image defined by the
time tM ID and attitude qM ID . The duration of Slew 3, ∆tS3 , is given by:
o
|ωIM G|
∆tS3 = ∆tP M + (5.19)
aS3

where ∆tP M is the time after the image midpoint where braking commences and the
second term is the time it takes for a constant angular deceleration of aS3 until the rate
is zero. The total rotation angle for Slew 3 is derived as follows:
  2
o o
o |ωIM G| |ωIM G|
ρS3,T OT = |ωIM G | ∆tP M + − (5.20)
aS3 2aS3

The previous equations of Section 5.3.3 derived the start time and attitude for Slew 3.
This can be used to derive the rotation angle and rate as a functions of time, based on
an angular acceleration parameter aS3 as follows:
 

0 (t < tST 3 ) 
 o 


|ωIM G | (t − tST 3 ) (tST 3 ≤ t < tST 3 + ∆tP M ) 

ρS3 (t) =   (5.21)


ρS3,3 (t) (tST 3 + ∆tP M ≤ t < tST 3 + ∆tS3 ) 

ρS3,T OT (tST 3 + ∆tS3 ≤ t < tST 3 + ∆tS3 + ∆tSET 34 )
 

0 (t < tST 3 ) 
 o 
 |ωIM G| (tST 3 ≤ t < tST 3 + ∆tP M ) 

ρ̇S3 (t) =   (5.22)

 ρ̇S3,3 (t)

(tST 3 + ∆tP M ≤ t < tST 3 + ∆tS3 ) 

0 (tST 3 + ∆tS3 ≤ t < tST 3 + ∆tS3 + ∆tSET 34 )

with

o 2
ρS3,3 (t) = |ωIM G | (t − tST 3 ) − 0.5aS3 (t − tST 3 − ∆tP M )

o
ρ̇S3,3 (t) = |ωIM G | − aS3 (t − tST 3 − ∆tP M )

o
Now the demanded quaternion qD (t) and demanded orbit-referenced body rate ωD (t) for
the period tST 3 ≤ t < tST 3 + ∆tS3 + ∆tSET 34 can be determined as follows:
 

λSLEW 2(1) sin( 12 ρS3 (t)) 
 


λSLEW 2(2) sin( 12 ρS3 (t)) 

qSLEW 3(t) =   (5.23)


λSLEW 2(3) sin( 12 ρS3 (t)) 

cos( 12 ρS3 (t))
Chapter 5 — Control Demand for Imaging Sequence 53

 

qSLEW 3(4) qSLEW 3(3) −qSLEW 3 (2) qSLEW 3(1) 
 


−qSLEW 3 (3) qSLEW 3(4) qSLEW 3(1) qSLEW 3(2) 
q
qD (t) =   M ID (5.24)


qSLEW 3(2) −qSLEW 3(1) qSLEW 3(4) qSLEW 3(3) 

−qSLEW 3 (1) −qSLEW 3(2) −qSLEW 3 (3) qSLEW 3(4)

o
ωD (t) = ρ̇S3 (t).λSLEW 2 (5.25)

5.3.4 Slew 4

The start time of Slew 4, tST 4 , is the same as the end time of Slew 3 with the settling
interval ∆tSET 34 included and is given by:

tST 4 = tST 3 + ∆tS3 + ∆tSET 34 (5.26)

Since the rotation axis for Slew 3 is the same as for Slew 2, the quaternion describing the
transformation between the initial and final attitudes of Slew 3, qS3,T OT , is given by:
 

λSLEW 2(1) sin( 12 ρS3,T OT ) 
 


λSLEW 2(2) sin( 12 ρS3,T OT ) 

qS3,T OT =   (5.27)


λSLEW 2(3) sin( 12 ρS3,T OT ) 

cos( 12 ρS3,T OT )

The initial attitude of Slew 4 is identical to the final attitude for Slew 3, qS3 , and the
initial attitude of Slew 3 is known to be qM ID . Thus qS3 can be derived as:
 

qS3,T OT (4) qS3,T OT (3) −qS3,T OT (2) qS3,T OT (1) 
 


−qS3,T OT (3) qS3,T OT (4) qS3,T OT (1) qS3,T OT (2) 
q
qS3 =   M ID (5.28)


qS3,T OT (2) −qS3,T OT (1) qS3,T OT (4) qS3,T OT (3) 

−qS3,T OT (1) −qS3,T OT (2) −qS3,T OT (3) qS3,T OT (4)

Since the final attitude for Slew 4 is nadir pointing, the rotation axis and angle for Slew
4 are derived as:

ρS4,T OT = 2 arccos(qS3 (4)) (5.29)

−[qS3 (1) qS3 (2) qS3 (3)]T


λSLEW 4 = (5.30)
sin(ρS4,T OT /2)
Chapter 5 — Control Demand for Imaging Sequence 54

A constant demanded angular acceleration, aS4 , is performed for the first half of Slew 4,
followed by a constant demanded angular deceleration, −aS4 , for the second half. The
total time used for Slew 4, ∆tS4 , is derived from the total slew angle as follows:

ρS4,T OT
∆tS4 = 2 (5.31)
aS4

The previous equations of Section 5.3.4 derived the start time and attitude for Slew 4.
This can be used to derive the rotation angle and rate as a functions of time, based on
an angular acceleration parameter aS4 as follows:
 

0 (t < tST 4 ) 
 
 1 
 2 aS4 (t − tST 4 )2 tST 4 ≤ t < tST 4 + 12 ∆tS4 
ρS4 (t) =     (5.32)
 
 ρS4,3 (t)

tST 4 + 12 ∆tS4 ≤ t < tST 4 + ∆tS4 
ρS4,T OT (tST 4 + ∆tS4 ≤ t < tEN D )
 
0 (t < tST 4 )
   
 


aS4 (t − tST 4 ) tST 4 ≤ t < tST 4 + 12 ∆tS4 
ρ̇S4 (t) =    
 (5.33)


ρ̇S4,3 (t) tST 4 + 12 ∆tS4 ≤ t < tST 4 + ∆tS4 
0 (tST 4 + ∆tS4 ≤ t < tEN D )

with

√ aS4 (t − tST 4 )2
ρS4,3 (t) = 2 ρS4,T OT aS4 (t − tST 4 ) − − ρS4,T OT
2

∆tS4 ∆tS4
ρ̇S4,3 (t) = aS4 − aS4 (t − tST 4 − )
2 2
o
Now the demanded quaternion qD (t) and demanded orbit-referenced body rate ωD (t) for
the period tST 4 ≤ t < tEN D can be determined as follows:
 

λSLEW 4(1) sin( ρS42(t) ) 
 


λSLEW 4(2) sin( ρS42(t) ) 

qSLEW 4(t) =   (5.34)


λSLEW 4(3) sin( ρS42(t) ) 

cos( ρS42(t) )
 
q
 SLEW 4
(4) qSLEW 4(3) −qSLEW 4 (2) qSLEW 4(1) 
 
 −qSLEW 4 (3) qSLEW 4 (4) qSLEW 4(1) qSLEW 4(2) 
qD (t) = 

q
 S3 (5.35)
 qSLEW 4 (2) −qSLEW 4 (1) qSLEW 4 (4) qSLEW 4(3) 
 
−qSLEW 4 (1) −qSLEW 4(2) −qSLEW 4 (3) qSLEW 4(4)

o
ωD (t) = ρ̇S4 (t).λSLEW 4 (5.36)
Chapter 5 — Control Demand for Imaging Sequence 55

5.4 Simulation Results

An approach was presented in Section 5 to derive the demanded attitude quaternion and
orbit reference body rate for the entire imaging sequence. This is based on input values
for the defined image mid-point time, tM ID , the target attitude quaternion at the mid-
point, given as qM ID , the required imaging body rate vector (orbit referenced) denoted
o
by ωIM G , and the size of the lead-in angle up to the mid-point of the imaging period,
ρS2,T OT .

The simulation is based on the following parameter selection:

• tM ID = 65 seconds after the start of slew 1.

• qM ID = [0.2156 0.01886 − 0.08509 0.9726]T (0o pitch, 25o roll, −10o yaw).
o T
• ωIM G = [0 − 0.6 0] degrees/s.

• ρS2,T OT = 20o .

The settling times at the end of slew 1 and slew 3 are assumed to be ∆tSET 12 = ∆tSET 34 =
5 seconds. The demanded angular accelerations for each slew are chosen as aS1 = aS2 =
aS3 = aS4 = 0.005 rad/s2 and the time ∆tP M = 0.5ρS2 / |ωIM o
G |. This simulation uses
the three-axis quaternion feedback controller from Section 4.2.3. A faster settling time
is chosen for this simulation, since the commanded angles are very small. A 5% settling
time of ts = 0.1 seconds is used with a damping ratio of ζ = 0.9. The undamped natural
frequency ωn = 3/ζts = 33.33 rad/s and the integral time constant T = 10/ζωn = 0.333
seconds. The controller gains are calculated as:

k = ωn2 + 2ζωn /T = 1291

c = 2ζωn + 1/T = 63

The generated quaternion demand and the orbit-referenced body rate demands are shown
in Figure 5.2 and Figure 5.3 respectively. The settling periods at the end of Slew 1 and
Slew 3 are clearly visible in both figures. In Figure 5.3 the body rates of the satellite
for the different slew maneuvers can be seen. During Slew 1 and Slew 3 the body rate
ramps to a maximum value and then reduces linearly to 0. This behaviour is expected
since both slews are performed with an angular acceleration for the first half of the slew,
followed by an angular deceleration.
Chapter 5 — Control Demand for Imaging Sequence 56

Slew 2 starts with an acceleration phase until the required imaging rate is obtained and
then continues at a constant rate. This rate is maintained during Slew 3 until the end of
the imaging period, where after the rate reduces at a constant deceleration to 0.

Quaternion Demand
0.25
q1
q2
q3
0.2

0.15 Slew 3 &


Settling
Time

0.1

0.05

0 Imaging
Period

−0.05

Slew 1 &
Settling
−0.1 Time
Slew 2 Slew4

−0.15
0 20 40 60 80 100 120
time (s)

Figure 5.2: Quaternion Demand for Imaging Sequence

The commanded torque for the imaging sequence and the corresponding gimbal rate is
shown in Figure 5.4 and Figure 5.6 respectively. The maximum torque needed is 0.12 Nm
and the maximum gimbal rate is 2.2 deg/s. The errors between the commanded Euler
angles and the measured Euler angles are also depicted. These angle errors are very small,
especially during imaging (Slew 2 and Slew 3) when accuracy is most important. The
maximum error during imaging is less than 0.001 degrees.

From these simulation results one can see that the maneuvers are quite accurate when
using the Moving Demand approach since the reference angle and rate demand are con-
tinuously known.
Chapter 5 — Control Demand for Imaging Sequence 57

Orbit Referenced Rate Demand


2.5
wx
wy
2 wz

1.5 Slew 4

0.5
Imaging
Period
0

−0.5

−1
Slew 1 & Slew 3 &
Settling Settling
−1.5 Time Time
Slew 2

−2

−2.5
0 20 40 60 80 100 120
time (s)

Figure 5.3: Body Rate Demand for Imaging Sequence

Torque Command
0.15
Tx
Ty
Tz
0.1

Imaging
0.05 Period
Nm

−0.05

−0.1

0 20 40 60 80 100 120
time (s)

Figure 5.4: Simulation Result for Imaging Sequence - Torque Command


Chapter 5 — Control Demand for Imaging Sequence 58

Euler Angles
30
Pitch
Roll
25 Yaw

20

15
Imaging
Period
10
Degrees

−5

−10

−15

−20
0 20 40 60 80 100 120
time (s)

Figure 5.5: Simulation Result for Imaging Sequence - Euler Angles

Gimbal Rate
2.5
Delta dotx
Delta doty
2 Delta dotz

1.5

1 Imaging
Period

0.5
Degrees/s

−0.5

−1

−1.5

−2

−2.5
0 20 40 60 80 100 120
time (s)

Figure 5.6: Simulation Result for Imaging Sequence - Gimbal Rate


Chapter 5 — Control Demand for Imaging Sequence 59

−3 Euler Angle Error


x 10
6
Pitch Error
Roll Error
Yaw Error

Imaging
Period
2
degrees

−2

−4

−6
0 20 40 60 80 100 120
time (s)

Figure 5.7: Simulation Result for Imaging Sequence - Euler Angle Error
Chapter 6

Measurements and Results

The Control Moment Gyro module designed in Chapter 3 is tested on an air bearing table
and the measurements are compared to the simulation results of Chapters 2, 4 and 5 to
verify the functionality of the CMG design. Communications between the CMG module
and the PC is done via an RF link to minimize external forces. The CMG module with
battery, RF link and rate gyro is mounted on a cart with three carbon nozzles which are
used to levitate the system. This whole setup will be referred to as the CMG system. The
air bearing table, levitating cart and CMG setup are further described in Appendix C.

6.1 Calibration

6.1.1 Gimbal Accuracy

The step size of the gimbal is measured by means of a laser pointer. The laser pointer
was attached to the gimbal, pointing horizontally onto a wall. After a rotation of 100
steps, the distance covered on the wall was measured. The typical geometry are shown
in Figure 6.1.

Wall

Laser 60 mm
Pointer θ
1805 mm

Figure 6.1: Measuring the gimbal’s step size

60
Chapter 6 — Measurements and Results 61

The angle, θ, which represents 100 steps is calculated as:

60
θ = arctan = 1.904o
1805

Thus the measured size of one gimbal step = 0.01904o. From Section 3.3.2, the rotational
resolution of the gimbal is:

Motor step size 15


= = 0.01908o
Total gear ratio 786

The measured gimbal step angle of 0.01904o is very close to the calculated value of
0.01908o.

6.1.2 Moment of Inertia Calculation

The aim of the first test on the air bearing table is to calculate the moment of inertia
of the cart and CMG system. This is done by using the CMG as a reaction wheel with
the spin-axis of the momentum wheel perpendicular to the ground level. The momentum
wheel is accelerated from zero and the angular acceleration of the cart is measured. The
moment of inertia of the ideal cart and CMG system Is is given from the conservation of
angular momentum as:

Iw ω̇
Is =
θ̈

with Iw = 0.0015 kgm2 the moment of inertia of the momentum wheel, ω̇ the angular
acceleration of the momentum wheel and θ̈ the angular acceleration of the cart. The
results of five consecutive tests are shown in Table 6.1. The measurements shown in the
table are the average for the first few seconds of each maneuver when the torque is still
at maximum.

ω̇/100 (o /s2 ) θ̈ (o /s2 ) Is (kgm2 )


9.9 2.85 0.521
9.8 2.85 0.5158
9.9 2.80 0.5304
10.5 2.96 0.5321
9.88 2.65 0.559

Table 6.1: Results from Moment of Inertia Tests


Chapter 6 — Measurements and Results 62

The average moment of inertia calculated from the measurements for the cart and CMG
system is Is = 0.535 kgm2 . Figure 6.2 display the angular acceleration of the momentum
wheel and the cart, as well as the angular rotation and angular rate of the cart.

Gyro Angular Rotation Gyro Rate


350 30

300 25
Angle (degrees)

250
20

degrees/s
200
15
150
10
100

50 5

0 0
0 5 10 15 0 5 10 15
time (s)

Gyro Acceleration & Wheelacc/100


12
Gyro Acc
10
Wheel Acc/100
8
2
degrees/s

6
4
2
0
−2
0 5 10 15
time (s)

Figure 6.2: Angular acceleration of Momentum Wheel and Cart (Gyro)

6.1.3 Glass Surface Test

Since the CMG setup consists of only one CMG, the resulting torque output of the CMG is
around two axes. The spin-axis of the momentum wheel is parallel to the ground plane and
the gimbal is rotated around an axis also parallel to the ground plane, but perpendicular
to the spin-axis as shown in Figure 6.3. For small gimbal angles, the output torque will
be large about an axis perpendicular to the ground plane. This will cause the cart to
rotate. The torque generated about the second axis will be very small and will have no
effect since the cart can only rotate around one axis.

The gimbal is rotated through a specific angle and then back to zero again. Repeating
this process will be referred to as ‘mirror’. The CMG is ‘mirrored’ from +15 degrees to
an inclination angle of -15 degrees with a gimbal rate of 500 steps/s (9.54 o /s). A wheel
speed of ω = 2000 rpm is used for the tests.
Chapter 6 — Measurements and Results 63

Spin-axis

Ground plane
Gimbal-axis

Figure 6.3: Diagram of the CMG setup

When a CMG is gimballed to a certain inclination angle and back to zero again, the
angular rate of the cart should reach a maximum at the maximum gimbal inclination angle
and return to zero when the gimbal is back at zero degrees, as described in Section 2.2.1.
In Figure 6.4 the gimbal inclination angle is plotted with the angular rate of the cart
(Gyro).

Gyro Angular Rotation Gyro Rate & Gimbal Angle


300 30
Gyro Rate
250 Gimb Angl
degrees/s & degrees

20
Angle (degrees)

200
10
150

100 0

50
−10
0
0 10 20 30 0 10 20 30

Gyro Acceleration Gimbal Rate


10 10

5 5
2

degrees/s
degrees/s

0 0

−5 −5

−10 −10
0 10 20 30 0 10 20 30
time (s) time (s)

Figure 6.4: Measured results of ’Mirror’ Test

As shown in the measured results, the angular rate of the cart does not always return
to zero when the gimbal angle is zero. This is as a result of the unevenness of the glass
Chapter 6 — Measurements and Results 64

surface and a little bit of friction. Since it is not possible to achieve a 100% even glass
surface by adjusting the legs of the table, all the measurements done on the air bearing
table will have a small error.

6.1.4 Constant Angular Rate Test

It is important to know the magnitudes of the disturbances due to the glass surface of
the air bearing table. Once it is determined, the accuracy of the results from the tests
on the air bearing table can more easily be explained. The disturbances are measured by
looking at the effect it has when the cart is rotating at a constant rate.

Gyro Angular Rotation Gyro Rate


600 20

500
15
400

degrees/s
degrees

300 10

200
5
100

0 0
0 10 20 30 40 0 10 20 30 40
time (s)

Gyro Acceleration
8

6
2
degrees/s

−2
0 10 20 30 40
time (s)

Figure 6.5: Measurements for constant angular rate input

The CMG is gimballed to an inclination angle of 30 degrees at a rate of 500 steps/s. In an


ideal case this would result in the cart moving at a constant angular rate. The measured
values are shown in Figure 6.5. Looking at the angular rate and acceleration of the cart,
one can clearly see the effect friction and an uneven glass surface has on the cart. The
change in angular rate can be divided into two parts. The one is a linear decrease in the
angular rate due to friction, and the other one is a periodic disturbance due to the uneven
surface.
Chapter 6 — Measurements and Results 65

The average deceleration of the cart due to friction is measured as θ̈ = −0.586 o /s2 . Using
Equation 2.3, the disturbance friction torque is calculated as:

Tavg = Is θ̈ = 5.47 mNm

where the moment of inertia of the cart Is = 0.535 kgm2 . The unevenness of the glass
surface causes a sinusoidal disturbance in the acceleration of the cart, with an amplitude
of between 0.5 and 1 o /s2 which results in a maximum torque of approximately 4.7 to 9.3
mNm.

6.2 CMG Tests

6.2.1 Rest-to-Rest Slew

The CMG is gimballed from +15 degrees to an inclination angle of -15 degrees, and back
to +15 degrees again, at a gimbal rate of 500 steps/s (9.54 o /s). This results in the cart
rotating almost 55 degrees with a maximum angular rate measured as 17.4 degrees/s.
The average angular acceleration of the cart is measured as 5.77 degrees/s2 . The shape of
the results displayed in Figure 6.6 are very similar to the shape of the simulation results
from Section 2.3.

From Equation 2.6 the CMG torque is calculated as:

T = h × δ̇ = 0.052315 Nm

with the angular momentum h = 209.42 × 0.0015 × cos δ Nms and the gimbal rate δ̇ =
0.1665 rad/s. Since the gimbal angle δ is small, cos δ ≈ 1. Using this with Equation 2.3
gives:

T 0.052315
θ̈ = = = 0.09779 rad/s2 (5.61 o /s2 )
Is 0.535

This calculated value of the angular acceleration (5.61 o /s2 ) is close to the average mea-
sured value of 5.77 o /s2 . Using Equation 2.5, the rotation of the cart can be calculated.
Since the cart accelerates for the first half of the slew, and decelerates for the second
half, the rotation of the cart is calculated for the first half and then multiplied by two to
obtain the total slew rotation angle. The time, thalf , for half of the slew is obtained from
Figure 6.6 as thalf = 3.15 seconds. The rotation angle is then calculated as:

T 2
θT = 2 × θhalf = t = 0.9703 rad (55.6 o )
Is half
Chapter 6 — Measurements and Results 66

Gyro Angular Rotation Gyro Rate & Gimbal Angle


60 30
Gyro Rate
50 Gimb Angl
20

degrees/s & degrees


Angle (degrees)
40
10
30
0
20

10 −10

0 −20
0 2 4 6 0 2 4 6

Gyro Acceleration Gimbal Rate


6 10

4
5
2
2

degrees/s
degrees/s

0
0
−2

−4
−5
−6

−8 −10
0 2 4 6 0 2 4 6
time (s) time (s)

Figure 6.6: Measured results of the Rest-to-Rest Slew

The calculated value of the rotation angle (55.6 o ) is very similar to the measured value
(≈ 55 o ) from the test. The calculated values of the angular acceleration and rotation
angle proof the validity of the measurements.

6.2.2 Moving Demand Test

The Moving Demand simulation done in Section 5 is used to obtain an array of gimbal
angle rotations which will cause the cart to do a slew maneuver similar to the pitch
rotation of the satellite in the moving demand simulation of Section 5.4. The moment
of inertia of the CMG system as measured in Section 6.1.2 is used with the following
parameters:

• tM ID = 25 seconds after the start of slew 1.

• qM ID = [0 0 0 1]T (0o pitch, 0o roll, 0o yaw).


o T
• ωIM G = [0 − 6 0] degrees/s.

• ρS2,T OT = 80o .
Chapter 6 — Measurements and Results 67

The angular rotation and rate obtained from a mathematical simulation are displayed
together with the measured results in Figure 6.7.

Angular Rotation Angular Rate


60 15

40
10

degrees/s
20
degrees

5
0

0
−20

−40 −5
0 10 20 30 40 0 10 20 30 40

Gyro Angular Rotation Gyro Rate


60 15

40 10
20

degrees/s
5
degrees

0
0
−20

−40 −5

−60 −10
0 10 20 30 40 0 10 20 30 40
time (s) time (s)

Figure 6.7: Measured results of the Moving Demand

From the Measured Angular Rate figure, the effect of friction and the uneven glass surface
is clearly visible, especially when the cart is suppose to move at a constant angular
rate. The friction causes a constant deceleration of the cart. Keeping the effects of the
disturbances in mind, the measured results are quite similar to the simulations and clearly
illustrates the pitch rotation of the Moving Demand.
Chapter 7

Conclusions

This thesis showed the design of a Single Gimbal Control Moment Gyro actuator which
can be used in small satellite applications. The CMG was tested on an air bearing table
to evaluate the working of the controller and the CMG. A mathematical model of a small
satellite with an actuator configuration containing six CMG’s and an attitude controller
were derived to simulate the rotation of the satellite when using CMG’s. These simulations
were compared to practical tests done with a single CMG prototype on the air bearing
table to verify the performance of the CMG.

7.1 Results Obtained

The following results were obtained in this thesis:

• The BLDC motor was successfully controlled with inner analogue current and outer
discrete speed control loops to within 0.6 rpm of the commanded wheel speed.

• The gimbal has a rotational resolution of 0.0191 degrees.

• A mathematical model of a satellite was developed according to the parameters


given in Section 1.1 and was used to simulate the behaviour of the satellite with
CMG’s. It was shown in the simulations of Section 2.3 that a 30 degree rotational
maneuver is possible within 10 seconds.

• A three-axis quaternion feedback control law under slew rate constraint was de-
rived for the satellite’s attitude control. This was successfully implemented in the
mathematical model of the satellite to demonstrate a 30 degree rotation within the
permitted 10 seconds with less than 0.2% overshoot.

68
Chapter 7 — Conclusions 69

• A control mode known as the Moving Demand approach, used during imaging, was
also introduced into the mathematical model. This approach successfully imple-
mented consecutive slew maneuvers via a time varying attitude and rate demand to
ensure better tracking of the attitude command. Tracking errors were kept below
0.005 degrees during simulations.

• A single CMG prototype was designed and built according to the specifications of
Section 1.1 and tested on an air bearing table. The results of the tests correspond
to the mathematical simulations and the theory of Chapter 2, 4 and 5.

7.2 Additional Work

The following is a list of additional work that can still be done:

• The steering logic of the CMG’s can be extended to a pseudoinverse steering logic.
This would mean only four CMG’s are required to gimbal at different gimbal rates,
giving the controller full 3-axis freedom, but also making it more vulnerable to
singularities.

• The prototype CMG can be used as a VSCMG and a control law for an integrated
power and attitude control system can be developed.

• All the electronics used for controlling the CMG can be combined on one pcb.
This would dramatically downsize the area needed and thus a more compact CMG
‘package’ can be designed.

• A complete CMG product with all the electronics included can be developed, de-
signed to specific specifications. This product has to be as compact and light as
possible so it can be used on a small satellite.

• The surface of the air bearing table needs to be leveled more accurately to conduct
tests with reduced disturbances. From the tests done in Chapter 6, one can see the
unevenness of the glass surface has a noticable influence on the measurements. Re-
search in developing a smooth surface which is 100% level, would thus tremendously
increase the quality of the measurements.
Bibliography

[1] AGILENT TECHNOLOGIES, INC. HEDS-9100 - Two Channel Optical


Incremental Encoder Modules, August 2001.

[2] AHMED, J., COPPOLA, V., and BERNSTEIN, D., “Adaptive Asymptotic
Tracking of Spacecraft Attitude Motion with Inertia Matrix Identification.” Journal
of Guidance, Control, and Dynamics, 1998, Vol. 21, No. 5, No. 5, pp. 684–691.

[3] ARSAPE. Low voltage driver for 2 phase stepper motors, May 2000.

[4] CYGNAL INTEGRATED PRODUTS, INC. C8051F040/1/2/3 Mixed-Sygnal ISP


FLASH MCU Family, August 2002.

[5] DE LA MORINAIS, G. C., SALENC, C., and PRIVAT, M., “Mini CMG
Development for Future European Agile Satellite.” 5th International ESA
Conference on Spacecraft Guidance Navigation and Control Systems, Frascati
(Rome), October 2002.

[6] DEFENDINI, A., FAUCHEUX, P., GUAY, P., MORAND, J., and HEIMEL, H.,
“A Compact CMG Product for Agile Satellites.” 5th International ESA Conference
on Spacecraft Guidance Navigation and Control Systems, Frascati (Rome),
October 2002.

[7] DUNGATE, D. G. et al., “Topsat Imaging Mode ADCS Design.” 5th International
ESA Conference on Spacecraft Guidance Navigation and Control Systems, Frascati
(Rome), October 2002.

[8] FORD, K. A. and HALL, C. D., “Singular Direction Avoidance Steering for
Control Moment Gyros.” Journal of Guidance, Control, and Dynamics, 2000,
Vol. 23, No. 4, No. 4, pp. 648–656.

[9] HEIBERG, C., BAILEY, D., and WIE, B., “Precision Spacecraft Pointing Using
Single-Gimbal Control Moment Gyroscopes with Disturbance.” Journal of
Guidance, Control, and Dynamics, 2000, Vol. 23, No. 1, No. 1, pp. 77–85.

70
BIBLIOGRAPHY 71

[10] LAPPAS, V. J., STEYN, W. H., and UNDERWOOD, C., “Attitude Control for
Small Satellites using Control Moment Gyros.” Acta Astronautica, 2002, Vol. 51,
No. 1-9, No. 1-9, pp. 101–111.

[11] LITEF GMBH. uFORS User Manual , May 2001.

[12] ONERA. Satellite attitude control using CMG, May 1999. [Online] Available:
http://www.onera.fr/dcsd-en/gyrodynes.

[13] RADIOMETRIX LTD. TX2 & RX2 Data Sheet, February 2002.

[14] SCHAUB, H. and JUNKINS, J. L., “Singularity Avoidance Using Null Motion and
Variable-Speed Control Moment Gyros.” Journal of Guidance, Control, and
Dynamics, January-February 2000, Vol. 23, No. 1, pp. 11–15.

[15] SHAMMA, M. and MICHAELIS, T., “Double Gimballed Momentum Wheel Design
for Small Satellites.” Proc. 1st International Conf. on Spacecraft Guidance,
Navigation and Control Systems, Noordwijk, The Netherlands, June 1991,
pp. 369–391.

[16] STEYN, W. H., “Reaction Wheel Electronics Design.” Private communication,


January 2004.

[17] TSIOTRAS, P. and SHEN, H., “Satellite Attitude Control and Power Tracking
with Energy/Momentum Wheels.” Journal of Guidance, Control, and Dynamics,
January-February 2001, Vol. 24, No. 1, pp. 23–33.

[18] UNITRODE CORPORATION. UC2625 - Brushless DC Motor Controller ,


November 1999.

[19] WERTZ, J. R. (Ed.), Spacecraft Attitude Determination and Control. Kluwer


Academic Publishers, 1990.

[20] WERTZ, J. R. and LARSON, W. J. (Eds), Space Mission Analysis and Design.
Microcosm Press and Kluwer Academic Publishers, 1999.

[21] WIE, B., BAILEY, D., and HEIBERG, C., “Rapid Multi-Target Acquisition and
Pointing Control of Agile Spacecraft.” AIAA Guidance, Navigation, and Control
Conference, Denver, August 2000.

[22] WIE, B. and LU, J., “Feedback Control Logic for Spacecraft Eigenaxis Rotations
Under Slew Rate and Control Constraints.” Journal of Guidance, Control, and
Dynamics, November 1995, Vol. 18, No. 6, pp. 1372–1377.
BIBLIOGRAPHY 72

[23] WIE, B., Space Vehicle Dynamics and Control. AIAA Education Series, AIAA,
Washington, DC, 1998.

[24] YOON, H. and TSIOTRAS, P., “Spacecraft Adaptive Attitude and Power Tracking
with Variable Speed Control Moment Gyroscopes.” Journal of Guidance, Control,
and Dynamics, November-December 2002, Vol. 25, No. 6, pp. 1081–1090.
Appendix A

CMG Machine Drawing

73
APPENDIX A - CMG MACHINE DRAWING 74

Figure A.1: Drawing of CMG stand with Gimbal


Appendix B

Schematics of Brushless DC Motor


Electronics

75
1 2 3 4

generic
generic.node.sch
P0.6
SCL P1.0
CLK_PULSE
SDA P1.1
P1.2
RXD0 RF ENABLE
RXD0 P1.3
TXD0
D TXD0 P1.4 D
P1.5
INHIBIT
RXD1 P1.6
STEP_DIR BLDCcurrentsense
TXD1 P1.7
BLDCcurrentsense.Sch
TCK SPEED_OUT +5V ISET_MON
TCK P2.0 +5V ISET_MON
TMS AGND I_MON
TMS P2.1 AGND I_MON
TDI SPEED_DIR
TDI P2.2
TDO E/A_OUT
TDO P2.3 E/A_OUT
ISET
P2.4 ISET
ISENSE1 2.5V REF
A+3.3V P2.5 ISENSE1 2.5V REF
AGND ISENSE2
AGND P2.6 ISENSE2
2.5V REF
AVREF P2.7 DEBUG
+5V REF TP1
+3.3V
+3.3V P3.0 TEST
+5V
+5V P3.1 TP2
GND DEBUG
GND P3.2
P3.3
+12V BLDCdrivercontroller TEST
VBUS P3.4
BLCDdriverIntrfs PGND BLDCdrivercontroller.Sch
C VBUS_GND P3.5 C
BLCDdriverIntrfs.Sch
P3.6 ISENSE1 +5V REF
TCK
TCK ADCS_SYNC_H ADCS_SYNC_H P3.7 ISENSE2
TMS SPEED_DIR
TMS ADCS_SYNC_L ADCS_SYNC_L SPEED_DIR
TDI HALL1 SPEED_PPR
TDI ADCS_SYNC_SHIELD ADCS_SYNC_SHIELD HALL1 SPEED_PPR
TDO I_MON HALL2 SPEED_OUT BLCDmosfets
TDO AIN0 HALL2 SPEED_OUT
ISET_MON HALL3 BLCDmosfets.Sch
CANH_A CANH_A AIN1 HALL3
RXD0 ISENSE1
RXD0 CANH_A CANH_A AIN2 PDA PDA ISENSE1
TXD0 E/A_OUT ISENSE2
TXD0 CANL_A CANL_A AIN3 E/A_OUT PDB PDB ISENSE2
CANL_A CANL_A PDC PDC
PHASE A ISET PWM_COAST PHASE A
PHASE A CAN_SHIELD_A CAN_SHIELD_A AOUT0 PWM_COAST PHASE A
PHASE B PWM_QUADSEL PHASE B
PHASE B AOUT1 PWM_QUADSEL PUA PUA PHASE B
PHASE C PWM_DIR PHASE C
PHASE C CANH_B CANH_B PWM_DIR PUB PUB PHASE C
CANH_B CANH_B PUC PUC
+5V P1.0 +12V HALLA
+5V CANL_B CANL_B P0.6 +12V HALLA
GND SPEED_PPR +5V HALL1 HALLB
GND CANL_B CANL_B P0.7 +5V HALL1 HALLB
PGND HALL2 HALLC
CAN_SHIELD_B CAN_SHIELD_B PGND HALL2 HALLC
HALLA GND HALL3
HALLA GND HALL3
HALLB +5V
HALLB REG5_SUPPLY REG5_PWR_SUPPLY +5V
HALLC CHANNEL_A +12V GND
B HALLC REG5_SUPPLY REG5_PWR_SUPPLY CHANNEL_A +12V GND B
CHANNEL_B PGND
REG5_RETURN REG5_PWR_RETURN CHANNEL_B PGND
+3.3V +5V
+3.3V REG5_RETURN REG5_PWR_RETURN +5V
+5V GND
+5V GND
GND
GND UNREG_SUPPLY UNREG_PWR_SUPPLY
UNREG_SUPPLY UNREG_PWR_SUPPLY
RXD1
RXD1 UNREG_RETURN UNREG_PWR_RETURN
TXD1
TXD1 UNREG_RETURN UNREG_PWR_RETURN
CHANNEL_A
CHANNEL_A
CHANNEL_B
CHANNEL_B
APPENDIX B - SCHEMATICS OF BRUSHLESS DC MOTOR ELECTRONICS

Second Draft XCF 12-11-2003 TITLE:


A Print 4-Oct-2004 Brushless DC Motor Electronics A

REVISION DETAILS VERSION C/NOTE DRWN CHK APPR S.ENG DATE


ESL DWG.NO.: ESL03-104020-213-01-0.0A
COPYRIGHT RESERVED FILE: BLDCdriver0.Sch VERSION: 0.0A SHT 1 OF 6
1 2 3 4
76
1 2 3 4 5 6 7 8

+5V +5V U3 CANH_B


SN74HC00N 3 5
VCC Vref
7 14 U2A 1 7 R2
GND VCC TXD CANH
U2E 2 CANRX_B 4 6 120
TP3 RXD CANL
3 2 8 CANL_B CANH_A
ADCS_SYNC GND RS CANH_A
U2B 1 U2D CANH_A
CANH_A
+3.3V 4 12 PCA82C250? CANL_A
SN74HC00N CANL_A
U1 ADCS_SYNC_H CANRX 6 11 CANSEL CANL_A
CANL_A
ADCS_SYNC 1 8 5 13 CAN_SHIELD_A
RO VCC CAN_SHIELD_A
2 6 R1 U2C +5V U4 CANH_A CANH_B
RE A SN74HC00N SN74HC00N CANH_B
ADCS_SEL 3 7 120 9 3 5 CANH_B
DE B VCC Vref CANH_B
D 4 5 ADCS_SYNC_L 8 1 7 R3 CANL_B D
DI GND TXD CANH CANL_B
10 CANRX_A 4 6 120 CANL_B
RXD CANL CANL_B
LTC1480 2 8 CANL_A CAN_SHIELD_B
SN74HC00N GND RS CAN_SHIELD_B
CANTX ADCS_SYNC_L
ADCS_SYNC_L
PCA82C250? ADCS_SYNC_H
ADCS_SYNC_H
nCANSEL Note: Only the last node ADCS_SYNC_SHIELD
ADCS_SYNC_SHIELD
should have a
RS485 driver for ADCS_SYNC CAN tranceivers and multiplexer termination resistor.
J1 J2 J3
CAN

A+3.3V +3.3V
REG5_PWR_RETURN
REG5_PWR_RETURN
+3.3V UNREG_PWR_SUPPLY
UNREG_PWR_SUPPLY
REG5_PWR_RETURN
REG5_PWR_RETURN

3
6
24
41
57
UNREG_PWR_SUPPLY
UNREG_PWR_SUPPLY
U5 REG5_PWR_SUPPLY
REG5_PWR_SUPPLY
R5 R7 R6 UNREG_PWR_RETURN
UNREG_PWR_RETURN
10k 10k 10k 55 TXD0 REG5_PWR_SUPPLY

AV+
AV+
P0.0 TXD0 REG5_PWR_SUPPLY

VDD
VDD
VDD
54 RXD0 UNREG_PWR_RETURN
P0.1 RXD0 UNREG_PWR_RETURN
TMS 58 53 SDA
TMS TMS P0.2
TCK 59 52 SCL
TCK TCK P0.3
TDI 60 51 TXD1
TDI TDI P0.4 TXD1
TDO 61 50 RXD1 Power
TDO TDO P0.5 RXD1 Standard Bus Interface (SBI)
49 CEX0
P0.6
Y1 XTAL1 17 48 T2
C XTAL1 P0.7 C
XTAL2 18
XTAL2
29
C3 16MHz C4 P1.0 P1.0
+3.3V 28
22pF 22pF P1.1 P1.1
19 27
MONEN P1.2 P1.2
62 26
/RST P1.3 P1.3
R4 100k 23
DAC Bypass Caps P1.4 P1.4
7 22
VREF P1.5 P1.5
AVREF 8 21
C1 C5 VREFA P1.6 P1.6
20
4.7uF, 20V 0.1uF P1.7 P1.7
9
AIN0 AIN0.0
10 37
AIN1 AIN0.1 P2.0 P2.0
11 36
AIN2 AIN0.2 P2.1 P2.1
12 35
AIN3 AIN0.3 P2.2 P2.2
Generic CAN Node. 34
P2.3 P2.3
63 33
AOUT0 DAC1 P2.4 P2.4
64 32
AOUT1 DAC0 P2.5 P2.5
C17 31
P2.6 P2.6
13 30
HVCAP P2.7 P2.7
14
<tbd> HVREF
+5V_sense 15 47
HVAIN+ P3.0 P3.0
+5V 16 46
HVAIN- P3.1 P3.1
45
P3.2 P3.2
CANRX 1 44
CANRX P3.3 P3.3
CANTX 2 43
CANTX P3.4 P3.4
42
P3.5 P3.5
39
P3.6 P3.6
38
P3.7 P3.7
B B

AGND
AGND
DGND
DGND
DGND

C8051F041
+3.3V A+3.3V +5V

5
4
56
40
25

A+3.3V +5V
R8 R9 +3.3V
10k 10k AVREF
AVREF +3.3V
SDA
SDA
SCL
SCL AGND GND

X1 Power filter Power filter and current measurement resistor Power Regulator TP7 Decoupling capacitors +5V
DC FILTER TP6 +3.3V
UNREG_PWR_SUPPLY
VBUS +5V
+5V U6 +3.3V C12 C13 C15
X2 0.1uF 0.1uF 0.1uF
UNREG_PWR_RETURN R11 +5V 8 1
VBUS_GND DC FILTER R14 IN OUT
0E REG5_PWR_SUPPLY +5V_sense 2
SENSE
APPENDIX B - SCHEMATICS OF BRUSHLESS DC MOTOR ELECTRONICS

0.27R, 1% 5 +3.3V A+3.3V


C7 C24 SHDN C25 C2
Digital Ground Plane Digital Ground Plane +5V 0.1uF 10uF, 25V 6 4 0.01uF 4.7uF, 20V
GND BYP C9 C10 C11 C54 C14 C16
Analogue Ground Plane Chassis Ground Plane 7 3
R12 GND GND 0.1uF 0.1uF 0.1uF 0.1uF 0.1uF 0.1uF
REG5_PWR_RETURN
A+3.3V L1 +3.3V 0E LT1763-3.3
C22
A EXXC3216 Additional 100nF output cap. at grounding circuit. A
C18 C21 C6 1nF
1uF 1nF 0.1uF Second Draft (Addapted for RW design) XCF 12-11-2003 TITLE:
R10 R13
0E 1M
Print 4-Oct-2004 Brushless DC Motor Electronics
Originally the Generic Node:
Initial design A F.G.R ??/03/2003 ESL04-100000-213-01-0.0A
TP4 TP5 REVISION DETAILS VERSION C/NOTE DRWN CHK APPR S.ENG DATE DWG.NO.: ESL03-104020-213-02-0.0A
AGND GND
ESL
COPYRIGHT RESERVED FILE: generic.node.sch VERSION: 0.0A SHT 2 OF 6
1 2 3 4 5 6 7 8
77
1 2 3 4

+5V +5V +12V


+5V R36
+12V +12V +12V +12V +12V 0E
+12V
PGND +
R32 R33C R33B R33A PGND C32 C40
PGND

11
19
68k, 1% 10k 10k 10k Refer also to generic_node.Sch 100nF 4.7uF, 35V
+5V U8 R34A R34B R34C GND
D 10k 10k 10k GND D
TP13
2
VREF +5V REF TP19 TP20

VCC
C23 QUADSEL 22 +12V U9
R30 QUAD SEL
25 6 +12V
10k RC-OSC VDD

PWR VCC
26 2 7
1nF PWM IN INA OUTA
27 18 4 5
E/A_OUT E/A OUT PUA INB OUTB PUA
1 17 3 +
E/A IN (+) PUB GND C33 C41
28 16
E/A IN (-) PUC 100nF 4.7uF, 35V
24 MAX4427ESA
SSTART
3
R31 ISENSE TP14 TP17
4 14 PDA
20k C34 ISENSE1 ISENSE1 PDA TP15 TP16
5 13 PDB +12V U10
100nF ISENSE2 ISENSE2 PDB
COAST 23 12 PDC 6
0V-COAST PDC VDD
DIRCMD 6 2 7 MAX4427ESA's
DIR INA OUTA PUC
7 4 5
SPEED-IN INB OUTB PUB
8 3 +12V
HALL1 H1 GND
9 20
HALL2 H2 TACH-OUT SPEED_OUT TP29
10 MAX4427ESA
R37 HALL3 H3 PDA TP30
21 +

GND
C RC-BRAKE PDB TP31 C35 C42 C
150k PDC
UC2625 100nF 4.7uF, 35V
C43 C44
TP18 PDA

15
10nF
PDB
PDC
4n7
UC2625
SPEED_PPR
+5V
TP32
CHANNEL_A 4 U11B CHANNEL_A
C36 CHANNEL_A
6 SPEED_PPR CHANNEL_B
100nF SPEED_PPR CHANNEL_B
CHANNEL_B 5 +5V
HC86
SPEED_DIR
4

74HC86 +5V U12A


TP38
10

74HCT74 U12B
DIRCMD
+5V 74HCT74

14
ENCODER
TP35 CHANNEL_A
nS

V+ 14 5 SPEED_DIR
B TP37 VCC Q SPEED_DIR B
nS

1 U11A 14 9
CHANNEL_B VCC Q
3 DIRCMD 2
TP36 D
PWM_DIR 2 CHANNEL_A 12
PWM_DIR D
HC86
QUADSEL
V- CHANNEL_B 3
TP33 CLK

7
11
CLK
9 U11C 7 6 +5V
C45 C46 GND nQ
8 QUADSEL 7 8
nR

220pF 220pF GND nQ


PWM_QUADSEL 10
nR

PWM_QUADSEL COAST C47


HC86
TP34 100nF
1

12 U11D
13

11 COAST
PWM_COAST 13 +5V
PWM_COAST
APPENDIX B - SCHEMATICS OF BRUSHLESS DC MOTOR ELECTRONICS

HC86 74HC74

Second Draft XCF 12-11-2003 TITLE:


A Print 4-Oct-2004 Brushless DC Motor Electronics A

REVISION DETAILS VERSION C/NOTE DRWN CHK APPR S.ENG DATE


ESL DWG.NO.: ESL03-104020-213-03-0.0A
COPYRIGHT RESERVED FILE: BLDCdrivercontroller.Sch VERSION: 0.0A SHT 3 OF 6
1 2 3 4
78
1 2 3 4

+5V
+5V TP21
+12V
+12V
+12V R41D 1k TP22
C48A HALLA
HALLA
PGND C48B 1k +5V
PGND R41C TP23 +5V
C48C HALL1 HALLB
D 10nF HALL1 HALLB D
HALL2 1k PHASE A
10nF R40A HALL2 R41B PHASE A
HALL3 HALLC
10nF R40B HALL3 HALLC
100k PHASE B
R40C PHASE B
100k GND
GND GND
100k Q3B PHASE C
PHASE C
IRF7319 S 3
R38A G C52 C51 C50
PUC D2 2n2 2n2 2n2
10 Q2B 4
30BQ100
IRF7319 S 3
R38B G
PUB
10 Q1B 4 D 5,6
D6
IRF7319 S 3
R38C 30BQ100
G
PUA TP24
10 4 D 5,6
D4 TP25
30BQ100 TP26
PHASE C
D 5,6 PHASE B
PHASE A
C C
D3 D5 D7
30BQ100 30BQ100 30BQ100
Q1A
IRF7319 D 7,8
D8
R39C 30BQ100
G Q2A D 7,8
PDA
10 2 IRF7319
D9
S 1
R39B 30BQ100
G Q3A D 7,8
PDB D10
10 2 IRF7319
30BQ100
S 1
R39A G
PDC
10 2
S 1

R35C R35B R35A


B C49C 10k C49B 10k C49A 10k B
10nF 10nF 10nF R44 ISENSE1
ISENSE1
240 +12V
C37
TP28 R45 100nF ISENSE2 TP40
ISENSE2
PGND PGND PGND 240 +12V
TP27
R42 R43
0.27 PGND 0.27 +
TP39 C38 C53
100nF 22uF, 25V

PGND PGND
APPENDIX B - SCHEMATICS OF BRUSHLESS DC MOTOR ELECTRONICS

Second Draft XCF 12-11-2003 TITLE:


A Print 4-Oct-2004 Brushless DC Motor Electronics A

REVISION DETAILS VERSION C/NOTE DRWN CHK APPR S.ENG DATE


ESL DWG.NO.: ESL03-104020-213-04-0.0A
COPYRIGHT RESERVED FILE: BLCDmosfets.Sch VERSION: 0.0A SHT 4 OF 6
1 2 3 4
79
1 2 3 4

2.5V REF
D1
TP41
1 8
NC NC
+5V REF 2 7
+5V REF IN NC
C27 3 6
NC OUT 2.5V REF
4 5
D GND NC D
100nF MAX6166 C39
100nF

C26

100nF
R29
R19
R27 2M2
100k, 1%
12k, 1% C20
+5V
ISENSE2
TP9 I_MON

8
1uF
C ISENSE1 TP10 E/A_OUT C

8
I_MON
TP8 R17 U7A I_MON TP12
2
ISENSE2 R25 U7B
10k 1 6
R16 3 7 E/A_OUT
ISENSE1 R21 R23 R24 39k E/A_OUT
10k LM358A ISET_MON 5
C29 R18 R20 LM358A
0 0 39k
100nF 100k, 1% 10k R26

4
12k, 1%
4

ISET
TP11 C19 R28
1uF 2M2
ISET
ISET

ISET_MON
B B

+5V
+5V
+5V
AGND C31
AGND 100nF

LM358A
APPENDIX B - SCHEMATICS OF BRUSHLESS DC MOTOR ELECTRONICS

Second Draft XCF 12-11-2003 TITLE:


A Print 17-Nov-2004 Brushless DC Motor Electronics A

REVISION DETAILS VERSION C/NOTE DRWN CHK APPR S.ENG DATE


ESL DWG.NO.: ESL03-104020-213-05-0.0A
COPYRIGHT RESERVED FILE: BLDCcurrentsense.Sch VERSION: 0.0A SHT 5 OF 6
1 2 3 4
80
1 2 3 4

CANH_A WP1
CANH_A WP9
CANL_A WP2
D CANL_A WP10 D
CAN_SHIELD_A WP3
WP11
P4
CANH_B WP4 HALLA WP24
TXD0
CANH_B WP12 +5V WP28 TXD0 1
RXD0
CANL_B WP5 HALLB WP25 RXD0 2
CANL_B WP13 PHASE A WP29 3
CAN_SHIELD_B WP6 HALLC WP26
UART0
WP14 PHASE B WP30
ADCS_SYNC_L WP7 GND WP27
ADCS_SYNC_H WP15 PHASE C WP31 Serial Interface
ADCS_SYNC_SHIELD WP8

BLDC MOTOR P8
CAN TXD0
TXD1 1
RXD0
RXD1 2
3
UART1
C C

REG5_PWR_RETURN WP16
UNREG_PWR_SUPPLY WP20
+3.3V
REG5_PWR_RETURN WP17
P2
UNREG_PWR_SUPPLY WP21
1 2
REG5_PWR_SUPPLY WP18
3 4 TCK
UNREG_PWR_RETURN WP22 TCK
TMS 5 6 TDO
REG5_PWR_SUPPLY WP19 TMS TDO
TDI 7 8
UNREG_PWR_RETURN WP23 TDI
9 10

JTAG
Power

JTAG

+5V
B B
WP32
CHANNEL_A +5V
CHANNEL_A WP34 +5V
CHANNEL_B +3.3V
CHANNEL_B WP33 +3.3V
GND
WP35 GND

Optical Incremental Encoder


APPENDIX B - SCHEMATICS OF BRUSHLESS DC MOTOR ELECTRONICS

Second Draft XCF 12-11-2003 TITLE:


A Print 4-Oct-2004 Brushless DC Motor Electronics A

REVISION DETAILS VERSION C/NOTE DRWN CHK APPR S.ENG DATE


ESL DWG.NO.: ESL03-104020-213-06-0.0A
COPYRIGHT RESERVED FILE: BLCDdriverIntrfs.Sch VERSION: 0.0A SHT 6 OF 6
1 2 3 4
81
Appendix C

CMG Setup for Practical Tests

The practical tests of the CMG were done on an air bearing table, which consists of a table
with a glass surface. The CMG with electronics are placed on an aluminium frame which
has three carbon nozzles and a small gas canister. The canister is filled with nitrogen to
a pressure of about 15 MPa. This is slowly released through the carbon nozzles, which
then lifts the frame from the glass surface, leaving it almost frictionless and very sensitive
to any disturbance. For this reason the glass surface has to be as level as possible and
dustfree. The aluminium frame with gas canister is shown in Figure C.1.

Figure C.1: Picture of aluminium frame with gas canister and nozzles

82
APPENDIX C - CMG SETUP FOR PRACTICAL TESTS 83

The air bearing table has a metal frame with 15 legs of which the height are seperately
adjustable. The legs can be extended or shortened by adjusting a nut. A cable is attached
to the frame next to each leg. This is used to pull the frame down and keep it in place
once the height of the table has been adjusted. A 35mm thick Superwood surface is placed
on top of the metal frame. This is covered by a layer of felt to protect the glass surface.
The glass surface is then placed on top of the felt. A picture of the table is shown in
Figure C.2.

Figure C.2: Picture of the table with glass surface

A miniature fibre optic rate sensor [11] was used in the CMG setup to measure the
angular rotation of the CMG system. The sensor transmits an angle increment to the
microcontroller each time it receives a trigger pulse. One angle increment has a resolution
of 0.00024414 degrees. The angle increment is transmitted as RS422 by the sensor and has
to be converted to RS232 before the microcontroller can receive the data. The measured
data is then transmitted from the microcontroller to a PC via an RF link to minimize the
external disturbances.

A 12V battery was used to provide power to the BLDC motor and RF link. An LM317
adjustable regulator was used to adjust the 12V supply to 5V for the rate sensor, stepper
motor and all the electronics. A diagram of the setup is shown in Figure C.3 and a picture
in Figure C.4.
APPENDIX C - CMG SETUP FOR PRACTICAL TESTS 84

RF Link 12V
Power
Supply
RF Link
PC

CMG Stepper
Rate Electronics Motor
Gyro

BLDC
Motor

Figure C.3: Diagram of the CMG setup

Figure C.4: Picture of the CMG setup


Appendix D

CMG Interface Program

The program, CMGprobe, is used as interface between the user and the Control Moment
Gyro. The CMG is fully controllable from this program and has functions such as load
and save. A picture of the control panel is shown in Figure D.1. The control panel consists
mainly of the following four parts: stepper motor control, BLDCM control, data sampling
and data display.

D.1 Stepper Motor Control

The stepper motor control panel is used to control the gimbal maneuvers. The rotation
angle of the gimbal is controlled by the Gimble Rotation window. A maximum angle
increment of 90 degrees is allowed to protect the gimbal. The gimbal rate can be modified
in the Steps/Sec window. A minimum of 10 steps/sec and a maximum of 500 steps/sec is
allowed. The direction of the gimbal rotation is set by the Clockwise bit. The Mirror bit
is used when the gimbal needs to rotate by an angle increment and back. This process
repeats until it is stopped. When the gimbal needs to rotate by a certain amount of
stepper motor steps, the Steps window is used. The total angle deviation of the gimbal
is displayed in the Gimbal Angle window.

The definition of the buttons are as follows:

• Start - When the Start button is pressed, the gimbal will rotate by the angle specified
in the Gimbal Rotation window at a rate of Steps/Sec and in the direction selected
by the Clockwise bit.

• Stop - The Stop button will immediately stop the gimbal.

• Step - Pressing the Step button will cause the gimbal to step the amount of steps

85
APPENDIX D - CMG INTERFACE PROGRAM 86

specified in the Steps window at a rate of Steps/Sec in the selected direction.

• Go to Zero - This button cause the gimbal to rotate back to the zero degree gimbal
angle position.

• Zero Angle - This button resets the Gimbal Angle to zero.

• Start Sending - When this button is pressed, gimbal excursion angles are read in
from the file specified in the window. This is used to implement a ’Moving Demand’.
Each 100 ms the new excursion angle will be sent to the microcontroller and the
needed gimbal rate is calculated from the difference between two following angles
excursions.

D.2 BLDCM Control

The speed of the BLDC motor is controlled with the BLDCM Control panel. The current
loop of the BLDCM control can be accessed directly from this panel for current control.
A definition of the buttons are given below:

• Output Current Dem - The current loop command is directly controllable with this
button. The input range is from -4095 to 4095 where a negative value means rotation
in the anti-clockwise direction.

• Switch RW On/Off - Power to the momentum wheel is switched on and off, de-
pending on the RW On bit.

• Send Wheel Speed - A new speed command for the momentum wheel is sent when
the Send Wheel Speed button is pressed. The speed range for the momentum wheel
is -5000 to 5000 rpm with an accuracy of 0.6 rpm.

• Send Controller Gains - The controller gains of the speed loop can be changed by
sending new gain values. The default values are: K1 = 91 and K2 = 74.

D.3 Data Sampling

The telemetry received from the microcontroller can be sampled and stored in a file. This
is done by entering the path in the Files Directory window and a name for the file in the
File Name window. When the Start Sampling button is pressed, the telemetry received
will be written to the specified file. Sampling will stop when the Stop Sampling button
is pressed.
APPENDIX D - CMG INTERFACE PROGRAM 87

D.4 Data Display

The received telemetry is displayed in the Data Received window. It includes the mo-
mentum wheel speed, gimbal angle excursion, package number and the gyro angle. The
correct comport for the serial link can also be set on this panel.
APPENDIX D - CMG INTERFACE PROGRAM 88

Figure D.1: Picture of the CMGprobe control panel


Appendix E

Matlab Simulation Design and


S-function Code

89
Pitch
Euler Angles -K- Roll
Yaw
H_Hdot Total CMG H_Hdot Quaternions R2D8 Euler Angles
3set Gimb rates
W_Sat
data
Satellite
3 Sets of VSCMGs
Req Gimb rate

R2D1
-K- Quaternions

Quaternions
Uc
Command Torque Command Torque Quatern comm

Gimb rates W_Sat W_sat

Control Block
CMG data
Req gimb rates
Torque comm

gimb Quaternion demand

Figure E.1: Picture of Matlab Simulation


In1
wheel speed gimb angle
APPENDIX E - MATLAB SIMULATION DESIGN AND S-FUNTION CODE

Gimb angles
Parameters ControlDerivation em
wheel speed -K-
Input Parameters S-Function
R2D2 Body Rate demand
90
APPENDIX E - MATLAB SIMULATION DESIGN AND S-FUNTION CODE 91

function [sys,x0,str,ts] = ControlDerivation(t,x,u,flag)

switch flag,
case 0,
[sys,x0,str,ts]=mdlInitializeSizes;
case 3,
sys=mdlOutputs(t,x,u);
case { 1, 2, 4, 9}, % Unused flags
sys=[];
otherwise
error(['Unhandled flag = ',num2str(flag)]);
end
% end sfuntmpl

%=========================================================================
% mdlInitializeSizes
% Return sizes, initial conditions, and sample times for the S-function.
%=========================================================================
%
function [sys,x0,str,ts]=mdlInitializeSizes
sizes = simsizes;
sizes.NumContStates = 0;
sizes.NumDiscStates = 0;
sizes.NumOutputs = 7;
sizes.NumInputs = 9;
sizes.DirFeedthrough = 1;
sizes.NumSampleTimes = 1; % at least one sample time is needed

sys = simsizes(sizes);
x0 = [];
str = [];
ts = [0 0];
% end mdlInitializeSizes

%=========================================================================
% mdlOutputs
% Return the block outputs.
%=========================================================================
function sys=mdlOutputs(t,x,u)

%Constants
as1 = 0.005; % Torque/Is =versnelling (0.1/20)= 0.005
as2 = as1;
as3 = as1;
as4 = as1;
deltaT12 = 5; % Setttling time after slew 1 (seconds)
deltaT34 = deltaT12;

%Input
tmid = u(1);
ps2 = u(2)*pi/180;
wimage = [u(3) u(4) u(5)]'*pi/180;
qmid = [u(6) u(7) u(8) u(9)]';

%Derivations
%Slew2
size_w = sqrt(wimage(1)^2+wimage(2)^2+wimage(3)^2);
n_slew2 = wimage/size_w; %Eq5-1
qs1s2 = [n_slew2(1)*sin(ps2/2) n_slew2(2)*sin(ps2/2) n_slew2(3)*sin(ps2/2)
cos(ps2/2)]'; %Eq5-2
qs1 = [qs1s2(4) -qs1s2(3) qs1s2(2) -qs1s2(1); qs1s2(3) qs1s2(4) -qs1s2(1)
APPENDIX E - MATLAB SIMULATION DESIGN AND S-FUNTION CODE 92

-qs1s2(2); -qs1s2(2) qs1s2(1) qs1s2(4) -qs1s2(3); qs1s2(1) qs1s2(2)


qs1s2(3) qs1s2(4)] * qmid; %Eq5-3
Dts2 = ps2/size_w + 0.5*size_w/as2; %Eq5-4
ts2start = tmid-Dts2; %Eq5-5
%Slew1
ps1 = 2*acos(qs1(4)); %Eq5-11
n_slew1 = [qs1(1) qs1(2) qs1(3)]'/sin(ps1/2); %Eq5-12
Dts1 = 2*sqrt(ps1/as1); %Eq5-13
ts1start = tmid - Dts2 - deltaT12 - Dts1; %Eq5-14
%Slew3
Dtpostmid = 0.5*ps2/size_w; %choose postmid half the distance of slew2
Dts3 = Dtpostmid + size_w/as3; %Eq5-19
ps3 = size_w*(Dtpostmid + size_w/as3) -0.5*size_w^2/as3; %Eq5-20
%Slew4
ts4start = tmid + Dts3 + deltaT34; %Eq5-26 ts3start = tmid
qs2s3 = [n_slew2(1)*sin(ps3/2) n_slew2(2)*sin(ps3/2) n_slew2(3)*sin(ps3/2)
cos(ps3/2)]'; %Eq5-27
qs3 = [qs2s3(4) qs2s3(3) -qs2s3(2) qs2s3(1); -qs2s3(3) qs2s3(4) qs2s3(1)
qs2s3(2); qs2s3(2) -qs2s3(1) qs2s3(4) qs2s3(3); -qs2s3(1) -qs2s3(2)
-qs2s3(3) qs2s3(4)]*qmid; %Eq5-28
ps4 = 2*acos(qs3(4)); %Eq5-29
n_slew4 = -[qs3(1) qs3(2) qs3(3)]'/sin(ps4/2); %Eq5-30
Dts4 = 2*sqrt(ps4/as4); %Eq5-31

if ((t >= ts1start) && (t < ts2start)) %Slew1


if (t < (ts1start + 0.5*Dts1))
Ps1t = 0.5*as1*(t - ts1start)^2; %Eq5-15
Pds1t = as1*(t - ts1start); %Eq5-16
elseif ((t >= (ts1start + 0.5*Dts1)) && (t < ts1start + Dts1))
Ps1t = 2*sqrt(ps1*as1)*(t - ts1start) - 0.5*as1*(t - ts1start)^2
-ps1; %Eq5-15
Pds1t = 0.5*as1*Dts1 - as1*(t - ts1start - 0.5*Dts1); %Eq5-16
elseif (t >= ts1start + Dts1)
Ps1t = ps1; %Eq5-15
Pds1t = 0; %Eq-16
end;
qDt = [n_slew1(1)*sin(Ps1t/2) n_slew1(2)*sin(Ps1t/2)
n_slew1(3)*sin(Ps1t/2) cos(Ps1t/2)]'; %Eq5-17
wDt = Pds1t*n_slew1; %Eq5-18

elseif ((t >= ts2start) && (t < tmid)) %Slew2


if (t < (ts2start + size_w/as2))
Ps2t = 0.5*as2*(t - ts2start)^2; %Eq5-6
Pds2t = as2*(t - ts2start); %Eq5-7
else
Ps2t = size_w*(t - ts2start - 0.5*size_w/as2); %Eq5-6
Pds2t = size_w; %Eq5-7
end
qslew2t = [n_slew2(1)*sin(Ps2t/2) n_slew2(2)*sin(Ps2t/2)
n_slew2(3)*sin(Ps2t/2) cos(Ps2t/2)]'; %Eq5-8
qDt = [qslew2t(4) qslew2t(3) -qslew2t(2) qslew2t(1); -qslew2t(3)
qslew2t(4) slew2t(1) qslew2t(2); qslew2t(2) -qslew2t(1)
qslew2t(4) qslew2t(3); -qslew2t(1) -qslew2t(2)
-qslew2t(3) qslew2t(4)] * qs1; %Eq5-9
wDt = Pds2t*n_slew2; %Eq5-10

elseif ((t >= tmid) && (t < ts4start)) %Slew3


if (t < (tmid + Dtpostmid))
Ps3t = size_w*(t - tmid); %Eq5-21
Pds3t = size_w; %Eq5-22
APPENDIX E - MATLAB SIMULATION DESIGN AND S-FUNTION CODE 93

elseif ((t >= (tmid + Dtpostmid)) && (t < (tmid + Dts3)))


Ps3t = size_w*(t - tmid) -0.5*as3*(t - tmid -Dtpostmid)^2; %Eq5-21
Pds3t = size_w - as3*(t - tmid -Dtpostmid); %Eq5-22
elseif (t > (tmid + Dts3))
Ps3t = ps3; %Eq5-21
Pds3t = 0; %Eq5-22
end
qslew3t = [n_slew2(1)*sin(Ps3t/2) n_slew2(2)*sin(Ps3t/2)
n_slew2(3)*sin(Ps3t/2) cos(Ps3t/2)]'; %Eq5-23
qDt = [qslew3t(4) qslew3t(3) -qslew3t(2) qslew3t(1); -qslew3t(3)
qslew3t(4) qslew3t(1) qslew3t(2); qslew3t(2) -qslew3t(1)
qslew3t(4) qslew3t(3); -qslew3t(1) -qslew3t(2)
-qslew3t(3) qslew3t(4)] * qmid; %Eq5-24
wDt = Pds3t*n_slew2; %Eq5-25

elseif (t >= ts4start) %Slew4


if (t < (ts4start + 0.5*Dts4))
Ps4t = 0.5*as4*(t - ts4start)^2; %Eq5-32
Pds4t = as4*(t - ts4start); %Eq5-33
elseif ((t >= (ts4start + 0.5*Dts4)) && (t < (ts4start + Dts4)))
Ps4t = 2*sqrt(ps4*as4)*(t - ts4start) - 0.5*as4*(t - ts4start)^2
-ps4; %Eq5-32
Pds4t = 0.5*as4*Dts4 - as4*(t - ts4start - 0.5*Dts4); %Eq5-33
elseif (t > (ts4start + Dts4))
Ps4t = ps4; %Eq5-32
Pds4t = 0; %Eq5-33
end
qslew4t = [n_slew4(1)*sin(Ps4t/2) n_slew4(2)*sin(Ps4t/2)
n_slew4(3)*sin(Ps4t/2) cos(Ps4t/2)]'; %Eq5-34
qDt = [qslew4t(4) qslew4t(3) -qslew4t(2) qslew4t(1); -qslew4t(3)
qslew4t(4) qslew4t(1) qslew4t(2); qslew4t(2) -qslew4t(1)
qslew4t(4) qslew4t(3); -qslew4t(1) -qslew4t(2)
-qslew4t(3) qslew4t(4)] * qs3; %Eq5-35
wDt = Pds4t*n_slew4; %Eq5-36

else
qDt = [0 0 0 1]';
wDt = [0 0 0]';
end

sys(1) = qDt(1);
sys(2) = qDt(2);
sys(3) = qDt(3);
sys(4) = qDt(4);
sys(5) = wDt(1);
sys(6) = wDt(2);
sys(7) = wDt(3);
% end mdlOutputs
Appendix F

RF Link

The RF link consist of TX2 and RX2 data link modules which are miniature UHF FM
radio transmitters and receivers. The modules are designed by Radiometrix and the
product numbers are TX2-433-40-5V (transmitter module) and RX2-433-40-5V (receiver
module).

TX2 Transmitter

The TX2 transmitter module is a two stage, SAW controlled FM transmitter operating
between 2V and 6V and is available in 433.92 MHz. The TX2 module delivers nominally
+9dBm from a 5V supply at 12mA. The module measures 32 x 12 x 3.8 mm. Figure F.1
displays the circuit diagram of the transmitter module.

Radiometrix
TX2 UHF Transmitter
Vcc
1 2 3 4 5
15k
Antenna TXD Switch

100 nF 1k VP0106

Figure F.1: TX2 Circuit

The TXD input will accept serial digital data (0V to 5V) at a maximum rate of 40 kbps.
The Switch input turns the transmitter off when in a high level state (5V) and turns the
transmitter on when in a low level state (0V). A helix antenna is used as described below.
The supply voltage, Vcc, is 5V and should have a voltage ripple of less than 0.1Vp-p.

94
APPENDIX F - RF LINK 95

RX2 Receiver

The RX2 receiver module is a double conversion FM superhet receiver capable of handling
data rates of up to 40kbps. The SIL style RX2 receiver measures 48 x 17.5 x 4.5 mm. It
will operate from a supply of 3V to 6V and draws 14mA when receiving. It has a fast-
acting carrier detect and a power-up enable time of less than 1ms. This allows effective
duty cycle power saving and a -107 dBm sensitivity. The circuit diagram of the receiver
module is shown in Figure F.2.

Radiometrix
RX2 UHF Receiver
Vcc
1 2 3 4 5 6 7

Antenna

2N3906 RXD

47k
NAND Gates

Figure F.2: RX2 Circuit

A helix antenna is used as described below. The Carrier Detect (pin 3) drives an ex-
ternal PNP transistor to obtain a logic level carrier detect signal. This signal and the
digital data output signal (pin 7) is fed to a quad 2-input NAND schmitt trigger package
(CD74HCT132) to obtain the RXD output signal. This RXD signal is always in a high
level state (5V) when the Carrier Detect is in a low level state. Thus will data only be
received when a carrier cygnal is detected.

Voltage Regulator Design

An LM317 3-terminal adjustable regulator is used to give a constant voltage of 5V to the


Radiometrix modules. A few features of the LM317 are:

• Guaranteed 1% output voltage tolerance.

• Guaranteed maximum 0.01%/V line regulation.

• 80 dB ripple rejection.

The LM317 circuit is shown in Figure F.3. Tantalum capacitors are used for the 10 µF
capacitors. The input voltage to the regulator can vary between 7V and 15V. If it is more
APPENDIX F - RF LINK 96

LM317T
Vin (7-15V) Vcc (5V)
Vin V0
ADJ 270
1 uF 10 uF

10 uF 820

Figure F.3: Voltage Regulator Circuit

than 15V, a heatsink will be needed.

Antenna Design

A Helical antenna is used with the following parameters:

• 0.5 mm enameled copper wire.

• close wound on 3.2 mm diameter former.

• 433 MHz = 24 turns.

RF Link Unit

The RF link consists of two units; one unit at the PC side and one unit in the CMG
system. Each unit has a receiver module, transmitter module and a voltage regulator. A
picture of the unit is shown in Figure F.4. When data is not transmitted, the Switch input
should be in a high level state to ensure that the transmitter is off. Since the receiver
module is next to the transmitter, all the data transmitted will be received by the receiver
on the same module. For this reason it is convenient to make use of package ID’s.

The receiver module has a data slicer which uses the average received cygnal to determine
if the input is high or low. If the received cygnal is low or high for a too long period, the
average will hit the rail of the data slicer and then the data received will be incorrect.
To overcome this problem, every second byte which is transmitted should be the inverse
of the previous byte. The average voltage will then stay in the middle. Each time the
transmitter is switched on, the byte 10101010 should be sent repeatedly for the first 5 ms
to ensure the average of the data slicer is in the region of 2.5V.
APPENDIX F - RF LINK 97

Figure F.4: Picture of the RF Link Unit


Appendix G

Datasheets

G.1 Brushless DC Motor

G.2 Stepper Motor

G.3 Stepper Motor Gearhead

G.4 Stepper Motor Controller

98
APPENDIX G - DATASHEETS 99

Brushless DC-Servomotors 21,5 mNm


Electronic Commutation For combination with
Gearheads:
30/1, 38/1, 38/2
Encoders:
5500, 5540
Drive Electronics:
refer to “Combination Chart”, pages 14-15
Series 3056 ... B
3056 K 012 B 024 B 036 B 048 B
1 Nominal voltage UN 12 24 36 48 Volt
2 Terminal resistance, phase-phase R 1,6 7,0 13,7 24,5 1
3 Output power 1) P2 max. 48 49 49 49 W
4 Efficiency d max. 73 73 74 74 %

5 No-load speed no 8 790 8 200 8 840 8 740 rpm


6 No-load current (with shaft ø 4,0 mm) Io 0,168 0,075 0,056 0,042 A
7 Stall torque MH 95 93 99 100 mNm
8 Friction torque, static Co 0,91 0,91 0,91 0,91 mNm
9 Friction torque, dynamic Cv 1,4 .10-4 1,4 .10-4 1,4 .10-4 1,4 .10-4 mNm/rpm

10 Speed constant kn 750 350 251 186 rpm/V


11 Back-EMF constant kE 1,334 2,861 3,981 5,374 mV/rpm
12 Torque constant kM 12,74 27,32 38,02 51,32 mNm/A
13 Current constant kI 0,078 0,037 0,026 0,019 A/mNm

14 Slope of n-M curve 6n/6M 94 90 91 89 rpm/mNm


15 Terminal inductance, phase-phase L 160 720 1 400 2 520 µH
16 Mechanical time constant om 13 13 13 12 ms
17 Rotor inertia J 13,6 13,6 13,6 13,6 gcm2
18 Angular acceleration _ max. 70 68 73 73 .103rad/s2

19 Thermal resistance Rth 1 / Rth 2 3,3 / 9,4 K/W


20 Thermal time constant o w1 / o w2 19 / 1 034 s

21 Operating temperature range – 30 ... +125 °C

22 Shaft bearings ball bearings, preloaded


23 Shaft load max.:
– radial at 3000/20000 rpm (7,4 mm from mounting flange) 72 / 51 N
– axial at 3000/20000 rpm (axial push-on only) 18 / 12 N
– axial at standstill (axial push-on only) 62 N
24 Shaft play:
– radial ) 0,015 mm
– axial = 0 mm

25 Housing material aluminium, black anodized


26 Weight 190 g
27 Direction of rotation electronically reversible

Recommended values
28 Speed up to 2) ne max. 28 000 28 000 28 000 28 000 rpm
29 Torque up to 1) 2) Me max. 20,7 21,4 21,2 21,5 mNm
30 Current up to 1) 2) Ie max. 1,94 0,93 0,66 0,50 A
1) at 22 000 rpm
2) thermal resistance Rth 2 by 55% reduced

n UrpmI
30 000 ne max. = 28 000 rpm
25 000 n = 22 000 rpm
49 Watt
20 000

15 000

10 000 Me max. = 21,5 mNm

5 000

0 M UmNmI
0 5,0 10,0 15,0 20,0 25,0

Recommended area for continuous operation


APPENDIX G - DATASHEETS 100

Options
K1000:
Motors in autoclavable version.
K1155:
Motors for operation
with Motion Controller MCBL 2805.

3056 K ... B

M2 5 deep 0 +0,003
ø30 ±0,1 ø13 -0,005 ø4 -0,002
A ø0,05 A
0,02

4x 90

5
1,4 12,6 ±0,3
max.15
45
14 ±0,3
19 56

3056 K ... B - K312 with rear end shaft

+0,003 M1,6 3 deep


ø4 -0,002

3x120

9,6 ±0,3 57,8 20,9

Cable and connection information

Cable
7 Single wires, material PTFE
Length 300 mm ± 15 mm
3 conductors, AWG 20
5 conductors, AWG 26

Connection
Function Colour
N A Hall sensor green
A Phase brown
B Hall sensor blue
S B Phase orange
C Hall sensor grey
C Phase yellow
+5V Logical supply red
6 Coil winding 3 x 120° GND Logical black
APPENDIX G - DATASHEETS 101

Stepper Motors
Two phases, 24 steps per revolution For combination with:
Gearheads: 15A, 15/5, 15/8, 16A, 16/7
Encoders: AE 23B8
Drive Electronics: AD VL M, AD VM M, AD CM M

Series AM 1524
V3 V6 V 12 V 24 A 0,25
Voltage mode Current mode
1 Nominal voltage UN 3 6 12 24 V DC
2 Phase resistance (at 20°C) 10 35 150 590 12,5 Ω
3 Phase inductance (1kHz) 4,25 15 65 239 5,5 mH
4 Nominal current per phase (both phases ON) 0,28 0,15 0,075 0,037 0,25 A
5 Back-EMF amplitude 3,1 6 12 24 3,5 V/k step/s
6 Holding torque 1) (at nominal current in both phases) 6 mNm
7 Holding torque 1) (at twice the nominal current) 10 mNm
8 Residual and friction torque 0,9 mNm
9 Thermal resistance winding-ambient air 37 °C/W
10 Winding temperature tolerated, max. 130 °C
11 Ambient temperature range –40 ... +70 °C
12 Thermal time constant 220 s
13 Step angle (full step) 15 degree
14 Angular accuracy 2) ± 10 % of full step
15 Rotor inertia 45 · 10-9 kgm2
16 Shaft bearings sintered bronze sleeves ball bearings, preloaded
17 Shaft load, max.: (standard) (optional)
– radial (3 mm from bearing) 0,5 6,0 N
– axial 0,5 3,0 N
18 Shaft play, max.:
– radial (0,2N) 15 12 µm
– axial (0,2N) 150 ~0 µm
19 Weight 12 g
20 Isolation test voltage 200 V
21 Resonance frequency 120 Hz
22 Electrical time constant 0,4 ms
1) with bipolar driver
2) 2 phases ON, balanced phase current

Torque Power Torque Power + A –


(mNm) Voltage mode (V) (W) (mNm) Current mode (A) (W) 1 2

+
nt f
ace vi
ew 3
ro
3 0,3 3 1,5
F
Mechanical Power (W)
B
CCW Rotor CW
2 0,2 Torque Start/Stop (mNm) 2 1
4

Torque Slew rate (mNm)
1 0,1 1 0,5 CW
CCW

0 0 1 2 3 4
0 1000 2000 3000 4000 Speed (rpm) 0 5000 10000 15000 20000 Speed (rpm) Phase A + – – +
400 800 1200 1600 (Step/s) 2000 4000 6000 8000 (Step/s)
Phase B + + – –
Torque/Speed curves measured with a load inertia of 10 · 10-9 kgm2
2,54

0 -0,004 -0,078 -0,078 0 -0,04


B
4

ø14,5 ø14,5 ø15 -0,07 ø1,5 -0,008 ø3,587 -0,113 ø5,248 -0,113 ø2,38 -0,015 ø4,64 -0,08
Z=9 m=0,3 Z=15 m=0,3 Z=9 m=0,2 Z=21 m=0,2
0 0 0 0 0
° 60 ø6 -0,02 ø13 -0,03 x=+0,2156 ø13 -0,03 x=+0,0496 ø6 -0,02 x=+0,35 ø6 -0,02 DIN 58400
60 °
1

DIN 58400 DIN 58400 DIN 58400


A

Round PCB
ø10 ±0,05

80°
4x ø0,7
4
10

4x M1,6 x 1,5 1 1,75 1,75 1 2,4 1


B

7 16,5 1,2 16,5 7,5 5,15 ±0,1 5,15 ±0,1 4,3 8,1
A
1
2,54

8,5
10
Pignon A Pignon B
AM 1524 for Gearheads for Gearheads for Gearheads for Gearhead
Front face view 2. Rear shaft Front shaft 15A 15A 15/5, 15/8, 16A 16/7 Solder tag PCB
APPENDIX G - DATASHEETS 102

Spur Gearheads 0,1 Nm


Zero Backlash For combination with:
Stepper motor: AM 1524

Series 15/8
15/8
Housing material metal
Geartrain material all steel
Recommended max. input speed for:
– continuous operation 5000 rpm
Backlash, (preloaded) 1) 0°
Bearings on output shaft preloaded ball bearings
Shaft load, max.:
– radial (6,5 mm from mounting face) ≤ 25 N
– axial ≤ 5 N 2)
Shaft press fit force, max. ≤ 5 N 2)
Shaft play (on bearing output):
– radial ≤ 0,02 mm
– axial = 0 mm 2)
Operating temperature range – 30 … + 100 °C

Specifications
length output torque
reduction ratio weight without with continuous intermittent direction efficiency
(nominal) without motor motor operation operation of rotation
motor AM 1524 (reversible)
L2 L1 M max. M max.
g mm mm mNm mNm %
22 :1 21 29,9 33,8 60 150 ≠ 61
41 :1 21 29,9 33,8 60 150 ≠ 61
76 :1 24 32,0 35,9 100 300 = 51
141 :1 24 32,0 35,9 100 150 = 51
262 :1 26 34,1 38,0 100 300 ≠ 43
485 :1 26 34,1 38,0 100 150 ≠ 43
900 :1 28 36,2 40,1 100 300 = 37
1 670 :1 28 36,2 40,1 100 150 = 37

1) These gearheads are available preloaded to 2) Limited by the preloaded ball bearings.
zero backlash only with motors mounted. A higher axial load negates the preload.

Orientation with respect to motor


terminal circuit board is not defined
2x
+0,2 -0,016 0
M2 3 deep ø15 (1524) ø16 -0,1 ø14,5 ø16 -0,043 ø7 -0,015
2x
0 -0,006
2-56UNC 2,8 -0,02 ø3 -0,012
3 deep

6,7 4,3 ±0,2


2 ±0,3
10,92 11,9 ±0,3
1,5
L2 ±0,3 12,7 ±0,3

L1 ±0,5 14,2 ±0,3

15/8
APPENDIX G - DATASHEETS 103

Drive Electronics
Low Voltage For combination with:
Stepper motor: AM 0820, AM 1020, AM 1524

Series AD VL M
VL M1 VL M2 VL M3
Power supply voltage:
- min. 3 3 3 V DC
- max. 14 14 14 V DC

Power supply current 14 16 16 mA


Output current, max. (for each phase) 400 400 400 mA

Logic input level:


- low 0 ... 0,6 0 ... 0,6 0 ... 0,6 V DC
- high 1,6 ... 14 1,6 ... 14 1,6 ... 14 V DC

Direction of rotation CW / CCW CW / CCW CW / CCW


Step mode full step / half step full step / half step full step / half step

Step frequency:
- min. – 10 10 full step/s
- max. – 2 000 2 000 full step/s

Operating temperature range 0 ... +70 0 ... +70 0 ... +70 °C


Weight 22 30 34 g

General description / Features / Command connector functions


The drivers type AD VL M are designed to • AD VL M1 basic drive is composed of a translator (full step and half step mode)
drive the two phase stepper motors type AM ... and a power stage which is in this case in voltage mode.
3 types of drivers are available:
• AD VL M2 contains the basic drive AD VL M1 and a pulse generator delivering variable
clock frequency.
Speed Velocity profile example • AD VL M3 contains the basic drive AD VL M1 and a pulse generator with generation of ramps.
(rpm) This circuit can provide a velocity profile to start and stop the stepper motor
with acceleration and deceleration ramps.
2000 Pin I /O Function: active on high logic level
1 I OPO > full step mode, one phase ON (wave)
2 I F/H > half step mode; default or low logic level = full step mode, 2 phases ON
1500 3 I DIR > ccw ; default or low logic level = cw
4 I CLK > external clock input, active on the positive edge of the clock pulse
5 I RUN > starts the clock generator *
6 I STOP > stops the clock generator *
1000 7 I Inhibit > disables the current in both coils of the motor
8 O Busy > low level as long as the clock is active *
9 – GND > ground potentional: 0 Volt
500 10 O VCC > +5V output
11 – GND > ground potentional: 0 Volt
12 I VCO > external voltage input (Voltage Controlled Oscillator) *

0
0 1 2 3 4 Time (s) * only valid for the AD VL M2 and AD VL M3

Scale reduced 4x M2 x 5,3


+5V CC GND 4x2,7 (only for M1) 12 (M1)

OPO GND
FMIN FMAX STOP RUN

Switch F/H
ACC

DIR

Power supply (V+)


DEC

53,5 Command 48
connector 4 Motor connector
1

ARSAPE
12 Switzerland

5*
14,2 52 10,1 14,2*

76,3 22* *(M2, M3)

You might also like