Barbara H. Kenny

Glenn Research Center, Cleveland, Ohio

Peter E. Kascak

University of Toledo, Toledo, Ohio

DC Bus Regulation With a Flywheel Energy

Storage System

NASA/TM—2002-211897/REV1

January 2003

02PSC–61
The NASA STI Program Office . . . in Profile

Since its founding, NASA has been dedicated to

the advancement of aeronautics and space

science. The NASA Scientific and Technical

Information (STI) Program Office plays a key part

in helping NASA maintain this important role.

The NASA STI Program Office is operated by

Langley Research Center, the Lead Center for

NASA’s scientific and technical information. The

NASA STI Program Office provides access to the

NASA STI Database, the largest collection of

aeronautical and space science STI in the world.

The Program Office is also NASA’s institutional

mechanism for disseminating the results of its

research and development activities. These results

are published by NASA in the NASA STI Report

Series, which includes the following report types:

• TECHNICAL PUBLICATION. Reports of

completed research or a major significant

phase of research that present the results of

NASA programs and include extensive data

or theoretical analysis. Includes compilations

of significant scientific and technical data and

information deemed to be of continuing

reference value. NASA’s counterpart of peerreviewed formal professional papers but

has less stringent limitations on manuscript

length and extent of graphic presentations.

• TECHNICAL MEMORANDUM. Scientific

and technical findings that are preliminary or

of specialized interest, e.g., quick release

reports, working papers, and bibliographies

that contain minimal annotation. Does not

contain extensive analysis.

• CONTRACTOR REPORT. Scientific and

technical findings by NASA-sponsored

contractors and grantees.

• CONFERENCE PUBLICATION. Collected

papers from scientific and technical

conferences, symposia, seminars, or other

meetings sponsored or cosponsored by

NASA.

• SPECIAL PUBLICATION. Scientific,

technical, or historical information from

NASA programs, projects, and missions,

often concerned with subjects having

substantial public interest.

• TECHNICAL TRANSLATION. Englishlanguage translations of foreign scientific

and technical material pertinent to NASA’s

mission.

Specialized services that complement the STI

Program Office’s diverse offerings include

creating custom thesauri, building customized

databases, organizing and publishing research

results . . . even providing videos.

For more information about the NASA STI

Program Office, see the following:

• Access the NASA STI Program Home Page

at http://www.sti.nasa.gov

• E-mail your question via the Internet to

help@sti.nasa.gov

• Fax your question to the NASA Access

Help Desk at 301–621–0134

• Telephone the NASA Access Help Desk at

301–621–0390

• Write to:

 NASA Access Help Desk

 NASA Center for AeroSpace Information

 7121 Standard Drive

 Hanover, MD 21076
Barbara H. Kenny

Glenn Research Center, Cleveland, Ohio

Peter E. Kascak

University of Toledo, Toledo, Ohio

DC Bus Regulation With a Flywheel Energy

Storage System

NASA/TM—2002-211897/REV1

January 2003

National Aeronautics and

Space Administration

Glenn Research Center

Prepared for the

Power Systems Conference

sponsored by the Society of Automotive Engineers

Coral Springs, Florida, October 29–31, 2002

02PSC–61
Available from

NASA Center for Aerospace Information

7121 Standard Drive

Hanover, MD 21076

National Technical Information Service

5285 Port Royal Road

Springfield, VA 22100

Available electronically at http://gltrs.grc.nasa.gov

Document Change History

This printing, numbered as NASA/TM—2002-211897/REV1, January 2003, replaces the previous version in its

entirety, NASA/TM—2002-211897, October 2002.

Page 9: Figures 23, 24, and 25 were modified

Page 10: Motor parameters were changed
NASA/TMó2002-211897/REV1 1 

DC Bus Regulation With a Flywheel Energy Storage System 

Barbara H. Kenny 

National Aeronautics and Space Administration 

 Glenn Research Center 

Cleveland, Ohio 44135 

Peter E. Kascak 

University of Toledo 

Toledo, Ohio 43606 

ABSTRACT 

This paper describes the DC bus regulation control 

algorithm for the NASA flywheel energy storage 

system during charge, charge reduction and discharge 

modes of operation. The algorithm was experimentally 

verified in [1] and this paper presents the necessary 

models for simulation. Detailed block diagrams of the 

controller algorithm are given. It is shown that the 

flywheel system and the controller can be modeled in 

three levels of detail depending on the type of analysis 

required. The three models are explained and then 

compared using simulation results. 

INTRODUCTION 

The NASA Glenn Research Center is presently 

developing technologies in several areas to enable the 

use of flywheels as energy storage devices on future 

space systems. One of the key elements of a flywheel 

energy storage system is the electric machine which 

acts as a motor to store energy and acts as a 

generator when supplying energy to the loads. The 

machine must be properly controlled during all 

operating modes for the flywheel system to function 

correctly. 

A new control algorithm which acts to regulate the 

operation of the flywheel electric machine in both 

charge (motoring) and discharge (generating) modes 

was described in [1]. The new algorithm mimics the 

operation of a battery system by charging the flywheel 

with constant current during charge mode and 

regulating the DC bus voltage during discharge mode. 

This paper continues the previous work by focusing on 

simulation and analysis of the proposed algorithm 

which was demonstrated experimentally in [1]. Block 

diagrams are used to describe the algorithm in more 

detail and to show how the overall system can be 

modeled. Three levels of detail are modeled and 

compared ranging from the most simplistic, which 

assumes an ideal motor controller, to the complex, 

which includes the inverter switching harmonics. 

SYSTEM DESCRIPTION 

Figure 1 shows a high level block diagram of a portion 

of a spacecraft power management and distribution 

(PMAD) system. The solar arrays provide power to 

the load and charging current to the flywheel during 

insolation. The flywheel provides power to the load 

during eclipse. The three required modes of control 

and the corresponding current and voltage 

relationships are documented in Table 1. 

The system is in charge mode as long as the solar 

array is producing enough current to meet both the 

charging current command, I* charge, and the required 

load current, Iload. The system moves into charge 

reduction mode when the load current demand plus 

the charging current command exceeds the capability 

of the solar array. In this mode, the flywheel is still 

charging (Iflywheel is still positive), but with a current 

less than the commanded charging current value. 

 

load Is/a I

I

flywheel

solar array load • sequential

shunt unit

flywheel 

system

Figure 1: Basic block diagram of spacecraft PMAD. 

Mode Current DC Bus Voltage

Full Sun 

“Charge” 

Is/a = Iload + I* charge

Iflywheel = I* charge

Regulated by 

solar array system 

Partial Sun 

“Charge 

Reduction” 

Iload + I* charge > Is/a > 

Iload

I* charge > Iflywheel > 0

Regulated by 

flywheel system 

Eclipse 

“Discharge” 

Iload = - Iflywheel

Iflywheel < 0

Regulated by 

flywheel system 

Table 1: Flywheel system operating mode characteristics. 
NASA/TMó2002-211897/REV1 2 

Finally, in discharge mode the solar array is providing 

no current to the load and the flywheel current is 

negative. Note that these relationships are the same 

as in a system with battery storage. 

SYSTEM (PLANT) MODEL 

A simple model of the electrical system is shown in 

Figure 2. The capacitor, Cfilter, filters the inverter 

current and acts to stiffen the DC bus voltage. The 

flywheel current, Iflywheel, will be positive for charging 

and negative for discharging. The inverter current, iinv, 

can also be positive or negative. It will consist of a DC 

component approximately equal to Iflywheel and an AC 

ripple component due to the high frequency switching 

of the inverter that is approximately equal to ic. 

Inverter Flywheel 

Motor

Is/a

Iload

I

flywheel

Vdc Rload Cfilter

AAAAAAAAAAA

AAAAAAAAAAA

AAAAAAAAAAA

AAAAAAAAAAA

AAAAAAAAAAA

AAAAAAAAAAA

+

-

Flywheel System

Is/a

i

inv

iC

i

a

i

b

i

c

Figure 2: Basic spacecraft electrical model. 

The corresponding block diagram model is shown in 

Figure 3. The solar array current, Is/a, is a variable 

input to the model. It acts as a voltage dependent 

current source during charge mode, a current source 

during charge reduction mode and is equal to zero 

during discharge mode (eclipse operation). The exact 

characteristics of the Is/a block are determined by the 

solar array controls of the particular spacecraft. 

An additional input to the model that was not shown in 

Figure 1 is idisturbance. This is the current that would 

result if a load is added to or removed from the 

system. The additional load current, idisturbance, should 

have a minimal effect on the DC bus voltage if the 

voltage regulation is working properly. 

i

inv __1

C

__1

s

__1

- RL

-

+

- Vdc

•

+

i

disturbance

i

s/a

i

flywheel

Figure 3: Block diagram of basic spacecraft electrical model. 

Finally, the inverter current, iinv, is the control variable 

that controls Iflywheel in charge mode and Vdc in 

discharge and charge reduction modes. However, the 

inverter current is not an independent variable; rather, 

it is a result of the motor operation. The relationship 

between the motor and the inverter current will be 

shown next. 

POWER RELATIONSHIPS 

The power into the inverter, Pinv, is given by the 

product of the inverter current, iinv, and the DC bus 

voltage as shown in (1). The power out of the inverter 

is the electrical power to the motor, Pelec. If the 

inverter losses are neglected, the power into the 

inverter is equal to the motor power, Pelec. 

Pinv = iinvVdc • Pelec (1)

The mechanical shaft power of the motor is equal to 

the product of the torque and the mechanical speed as 

shown in (2). 

Pmech = τeωrmech (2) 

The machine electrical power is equal to the 

mechanical power plus or minus (motoring or 

generating, respectively) any losses. In the flywheel 

application, the flywheel shaft is suspended on 

magnetic bearings and operated in a vacuum. Thus 

the typical machine losses, friction and windage, are 

essentially eliminated so the electrical power is 

approximately equal to the mechanical shaft power as 

shown in (3). Additionally, eddy current and hysteresis 

losses are minimal in the permanent magnet machine 

used in this application. 

Pinv = iinvVdc • Pelec • Pmech = τeωrmech (3) 

The inverter current can then be expressed as a 

function of the motor torque, the shaft speed and the 

DC bus voltage as shown in (4). 

iinv = τeωrmech

Vdc (4) 

Also, the speed of the machine is related to the torque 

and the inertia, J, as shown in equation (5). In this 

application, the torque, τe, is used only to accelerate or 

decelerate the machine; there is no external load 

torque. 

τe = J

dωrmech

dt (5) 
NASA/TMó2002-211897/REV1 3 

These equations are expressed in block diagram 

format and combined with Figure 3 to form a system 

model as shown in Figure 4. This block diagram 

expresses the basic relationship between the motor 

torque, the inverter current, and the dc bus voltage. 

__ Pmech 1

J

ωrmech τe

X _•

• ~1

Pelec

Vdc

• i

inv __1

C

__1

s

__1

- RL

-

+

- Vdc

•

+ i

s/a

i

disturbance

i

flywheel

__1

s

•

~1

Pinv

__1

s

θrmech

•

Figure 4: System block diagram from motor torque to DC bus 

voltage. 

MOTOR TORQUE CONTROL 

From the previous discussion it can be seen that the 

flywheel current (charge mode) or the DC bus voltage 

(discharge and charge reduction modes) can be 

controlled if the inverter current is controlled. It can 

also be seen that the inverter current can be controlled 

if the motor torque is controlled. There are two basic 

approaches to achieving accurate, high bandwidth 

motor torque control described in the literature: field 

orientation control (vector control) and direct torque 

control. In the NASA effort we have focused on the 

more established field orientation approach although 

direct torque control is a possibility for future research. 

In the field orientation technique, the measured 

currents are transformed to d-q variables in a 

synchronously rotating rotor reference frame [2]. 

Torque control is achieved by properly controlling the 

resulting currents, iqs

r and idsr . The expression for 

torque is given in (6) [2]. 

τe = 3

2

P

2 [ ] (Ldidsr + λaf) iqs

r - (Lqiqsr )idsr (6) 

The d-axis current, idsr , is generally commanded to 

zero which results in a linear relationship between the 

machine torque and current as shown in equation (7). 

This relationship can also be added to the block 

diagram representation as shown in Figure 5. 

τe = 3

2

P

2 λaf iqs

r (7) 

__ Pmech 1

J

ωrmech i

qs

r

τe

X _•

• ~1

Pinv

Vdc

• __3

2 λaf __P

2 i

inv __1

C

__1

s

__1

- RL

-

+

- Vdc

•

+ i

s/a

i

disturbance

i

flywheel

__1

s

•

__1

s

•

θrmech

Figure 5: System block diagram (plant model) from motor current to 

DC bus voltage.

Finally, the relationship between the motor current and 

the inverter current can be derived by substituting 

equation (7) into (4) where ωr, the electrical frequency, 

equals the product of the number of pole pairs, P/2, 

and ωrmech, the mechanical frequency. The result is 

shown in equation (8). 

iqs

r = iinv

2Vdc

3ωrλaf

 (8) 

CONTROLLER 

Given the basic plant model shown in Fig. 5 and the 

relationship between the inverter current and the motor 

current shown in (8), the flywheel control algorithms 

will now be described. The basic procedure is as 

follows: 

1. Calculate the commanded inverter current value, 

iinv*, to achieve the desired Iflywheel in charge mode 

and the desired Vdc in discharge and charge 

reduction modes. 

2. Convert the commanded inverter current, iinv*, to a 

commanded motor current, iqs

r*, using equation (8). 

3. Regulate the motor current, iqs

r , to the commanded 

value, iqs

r*, through a high bandwidth current 

regulator and the field orientation motor control 

algorithm. 

The available feedback variables are the dc bus 

voltage, Vdc, the flywheel system current, Iflywheel, the 

motor speed, ωr, the motor position, θr, and the motor 

currents. Note that in the steady state condition, when 

the DC bus voltage is constant, iC = 0 and iinv = 

Iflywheel. 
NASA/TMó2002-211897/REV1 4 

CHARGE CONTROL 

The block diagram representation of the charge control 

algorithm is shown in Figure 6. There are two 

components to the controller: the proportional integral 

(PI) and the feed-forward (FF). The respective outputs 

are summed together to form the i * inv command. The 

inverter current command is then converted to a motor 

current command through the relationship given in (8). 

+

-

Kpc

Kic

1

s

__

Icharge

*

Iflywheel

+ +

i

qs* r

+

+

•

i

inv*

PI

FF

Vdc

ωr

______

3ω ^rλaf

2Vdc

•

Figure 6: Charge control block diagram. 

The PI portion of the controller is a standard technique 

to implement closed loop control. Proportional and 

integral gains, Kpc and Kic, act on the DC current error 

(I* charge - Iflywheel) which results in the i * inv command. 

One drawback to PI control acting alone is that the 

system must wait for an error signal before a control 

adjustment is made. The larger the gains of the PI, the 

faster the response to the error becomes. However 

there is a limit on the gains; too large of gains will 

either lead to an unwanted system response to noise 

or an unstable response. One technique that can be 

used to minimize the dependence on the PI controller 

is feedforward control. In feedforward control, the 

necessary input signal, i * inv, is calculated which will 

produce the desired output signal, Iflywheel. The 

calculation is based on the value of the commanded 

signal, I* charge, and the plant model. From Figure 3, it 

can be seen that in steady state conditions, if the 

inverter current, iinv, equals the commanded current, 

I* charge, then the flywheel current will also equal the 

commanded current because the capacitor current, iC, 

is zero in steady state. This is the basis of the 

feedforward control. 

Using the PI controller with feedforward as shown in 

Figure 6 results in an accurate and fast system 

response. The PI portion ensures the system 

converges to the set point while the feedforward 

portion gives a fast response without high PI gains. 

DISCHARGE AND CHARGE REDUCTION CONTROL 

The block diagram representation of the discharge 

and charge reduction control algorithm is shown in 

Figure 7. There are two components to the controller: 

the proportional integral (PI) and the disturbance 

decoupling (DD). In the PI portion, proportional and 

integral gains, Kpd and Kid, act on the DC voltage error 

(V* flywheel - Vdc) to create the iinv command. The 

negative gain is required in the PI control because the 

inverter current is considered positive when it is 

entering the inverter (Fig. 2). This means that if the 

DC bus voltage is to increase, for example if (V* flywheel

- Vdc) is positive, then the inverter current must 

actually be negative; it must come from the inverter to 

the load and the capacitor. 

+ -

Vflywheel Kpd

Kid 1

s

__

Vdc

+ * +

-1

Iflywheel

+

i

qs* r ______

3ω ^rλaf

i

inv 2Vdc *

Iflywheel

Vdc

ωr

•

•

PI +

DD

Figure 7: Discharge and charge reduction control block diagram.

When the system is operating in charge mode, the 

solar array system regulates the DC bus voltage. This 

means that if there is a change in the load (idisturbance) 

the solar array current, Is/a, will increase or decrease 

so as to cancel out the disturbance and keep the DC 

bus voltage at a constant value (see Fig. 3). However, 

when the system is operating in discharge or charge 

reduction mode, the solar array current will not be 

adjusted to maintain the DC bus voltage. Instead, an 

increase or decrease in load (idisturbance) will cause an 

increase or decrease in the flywheel current, Iflywheel. 

The inverter current must compensate for this change 

if the DC bus voltage is to be maintained. 

The PI controller will eventually respond to an 

additional load because an increase or decrease in the 

flywheel current, Iflywheel, will result in either a 

decrease or an increase in the DC bus voltage 

respectively. However, in this system the effect of the 

disturbance, Iflywheel, is actually measured and fed 

back to the controller. This means that if a change in 

Iflywheel occurs, a corresponding command to increase 

or decrease the inverter current can easily be given 

immediately, without waiting for an increase or 

decrease in the DC bus voltage. This is known as 

disturbance decoupling control. 
NASA/TMó2002-211897/REV1 5 

Using the PI controller with disturbance decoupling as 

shown in Figure 7 results in an accurate and fast 

system response for the discharge and charge 

reduction controller. The PI portion ensures the system 

converges to the set point while the disturbance 

decoupling portion results in quick changes in 

commanded current in response to an increase or 

decrease in load. 

COMBINED CHARGE/DISCHARGE CURRENT/ 

VOLTAGE REGULATOR (CDCVR) 

The two controllers shown in Figs. 6 and 7 are 

combined to form the overall Charge/Discharge 

Current/Voltage Regulator (CDCVR) controller shown 

in Figure 8. The system is in charge mode (current 

regulation) when the solar array provides enough 

current to meet both the load demands and the 

charging current to the flywheel system. Otherwise, 

the system is in charge reduction or discharge mode 

which means the flywheel system is regulating the DC 

voltage bus. 

+ - Kpc

Icharge

*

+ +

i

qs* r

+ +

•

i

inv*

PI

FF

Vdc

ωr

______

3ω ^

rλaf

2Vdc

•

+ -

Vflywheel Kpd

Kid 1

s

__

Vdc

+ * +

-1

Iflywheel

+

i

inv*

Iflywheel

• •

+ - > 0?

< VTC? yes

reset 

integrator

•

•

PI

+ DD

yes, 

current 

regulation

no, 

voltage 

regulation

i

inv*

1

2

2

1

•

1

s

__ Kic

reset 

integrator

Figure 8: CDCVR control block diagram.

The transition from current regulation (Fig. 6) to 

voltage regulation (Fig. 7) is accomplished in the 

following manner. The solar array regulates the bus 

voltage to a set point value higher than the flywheel 

regulation set point as long as the solar array current is 

sufficient to provide both the load and the charging 

current, I* charge. Once the solar array current begins to 

drop off, the DC bus voltage begins to fall and the 

flywheel current, Iflywheel, also drops. This transition is 

detected in the controller by comparing the difference 

between the actual DC bus voltage and the flywheel 

set point voltage to the "voltage transition constant," 

VTC, as seen in Figure 8. Once this difference is less 

than the VTC, the integrator in the PI portion of the 

controller is reset. This reduces the i * inv command at 

point 2 to a value slightly larger than Iflywheel. This 

value is then compared to the charge current set point, 

I* charge. If it is less than I* charge, which it will be if the 

solar array is not producing enough current, then the 

system transitions into charge reduction mode where 

the DC bus voltage is regulated by the flywheel 

system. 

Similarly, as the system moves from eclipse into 

sunlight, the solar array will produce more and more 

current. When the solar array produces enough 

current to meet the load demand, the i * inv command at 

point 2 in the controller will become positive. When it 

exceeds the charge current set point, I* charge, the 

integrator in the current regulator portion of the 

controller is reset and the system transitions back into 

charge mode where the flywheel system regulates the 

current into the flywheel and the solar array system 

regulates the DC bus voltage. 

It is worth noting that the three modes of operation: 

charge, charge reduction and discharge, were 

originally defined based on a battery energy storage 

system. The flywheel energy storage system is 

capable of regulating the DC bus voltage at all times, 

obviating the need for current and voltage regulation 

modes and the transition between them. This would 

result in an overall simpler control strategy, even when 

considering the necessary provisions to prevent overspeed or over-current operation. This type of control 

will be investigated in future efforts. 

OVERALL SYSTEM MODEL 

The simplest end-to-end system model for the current 

control (charge mode) and voltage control (charge 

reduction and discharge modes) are shown in 

Figures 9 and 10 respectively. These models 

essentially assume a perfect motor controller and 

current regulator and no losses in the motor or in the 

inverter. The models can be made progressively more 

accurate (and more complex) by adding more realistic 

transfer functions to the blocks that are initially 

approximated as ideal. The most important of these is 

the 

iqs

r 

iqs

r* transfer function which will be discussed next. 
NASA/TMó2002-211897/REV1 6 

__ Pmech 1

J

ωrmech i

qs

r

τe

X _•

• ~1

Pinv

Vdc

• __3

2 λaf __P

2 i

inv __1

C

__1

s

__1

- RL

-

+

- Vdc

•

+ i

s/a

i

disturbance

i

flywheel

__1

s

•

__1

s

•

θrmech

+

-

Kpc

Kic

1

s

__

Icharge

*

Iflywheel

+ +

i

qs* r

+

+

•

i

inv*

PI

FF

ωr

______

3ω ^rλaf

2Vdc

•

~1

P

2

__ • ωrmech •

Vdc

Figure 9: Simplified end-to-end system block diagram for current regulation (charge mode).

+ -

Vflywheel Kpd

Kid 1

s

__

Vdc

+ * +

-1

Iflywheel

+

i

inv*

Vdc

• PI +

DD

Pmech __1

J

ωrmech i

qs

r

τe

X _•

• ~1

Pinv

Vdc

• __3

2 λaf __P

2 i

inv __1

C

__1

s

__1

- RL

-

+

- Vdc

•

+ i

s/a

i

disturbance

i

flywheel

__1

s

•

__1

s

•

θrmech

i

qs* r

ωr

______

3ω ^rλaf

2Vdc

~1

P

2

__ • ωrmech •

• •

Figure 10: Simplified end-to-end system block diagram for voltage regulation (charge reduction and discharge modes).

MOTOR CURRENT TRANSFER FUNCTION 

A more accurate representation of the transfer function 

between the commanded current, iqs

r* , and the actual 

current, iqs

r , requires three additional components: the 

current regulator, the inverter PWM, and the motor 

model. This section addresses these three pieces. 

Current Regulator

The charge and discharge/charge reduction algorithms 

result in a motor q-axis current command as can be 

seen from Figs. 6, 7 and 8. To achieve this current, a 

current regulator must be used. A synchronous frame 

current regulator is a common choice in motor drive 

application [3]. The basic form is a PI control on each 

of the two currents, iqs

r and idsr , as shown in Figure 11. 

Each current regulator operates on DC quantities 

because the control variables are in the rotor reference 

frame. This means that the PI gains are independent 

of the fundamental frequency of the actual motor 

current and can be set for the desired torque response. 

+

-

i

qs*

Kp

Ki

1

s

__

r

+

-

i

ds*

Kp

Ki

1

s

__

r

i

qs

r

i

ds

r

+ +

+ + Vqs

r*

Vds

r*

Figure 11: Synchronous frame current regulator for motor currents.

Inverter PWM

The output of the current regulator is rotor reference 

frame voltage commands, vqs

r* and vdsr* . These are 

converted to stationary reference frame commands, 

vqs

s* and vdss* , through the transformation given in (9) 

where θr is the rotor angle [4]. The stationary 

reference frame commands are AC voltages that are 

synthesized from the DC bus voltage through a pulse 

width modulation (PWM) algorithm known as space 
NASA/TMó2002-211897/REV1 7 

vector modulation (SVM). The SVM algorithm 

calculates the necessary duty cycles for each switch to 

synthesize the required AC voltage from the available 

DC bus. Equations (10), (11) and (12) give the method 

used to calculate the duty cycles for the "high" side 

switches of the inverter [5]. The "low" side switch duty 

cycles are the inverse of the high side ones. 









 V q  s*

V d

s* = 









 cos θr sin θr

-sin θr cos θr 







 Vq r*

Vd

r* (9)

 















 va

*

 vb

*

 vc

*

 = 















 1 0

-

1

2 - 3

2

-

1

2

3

2









 v  qs

s*

 vds

s* (10) 

 













 da *

 db

*

 dc

*

 = 1

Vdc 













 va

* - vo

vb

* - vo

vc

* - vo

 + 













1

2

1

2

1

2

 (11) 

vo = max(va

*, vb*, vc*) + min(va*, vb*, vc*) 

2 (12) 

For simulation purposes, there are several ways to 

model this block. The simplest technique is to neglect 

the PWM harmonics altogether which means that the 

voltage applied to the machine is exactly equal to the 

voltage commanded by the current regulator. This is a 

good model for an initial evaluation of the control 

methodology because it executes quickly and the 

results give a good indication of the expected 

performance. 

Another technique is to calculate vqs

s* and vdss* using the 

duty cycles given in (11), the DC bus voltage and the 

PWM switching frequency. The resulting voltages are 

a series of pulses from the DC bus that are applied to 

the machine. This simulation is quite a bit slower 

because each PWM pulse is calculated but the effect 

of the switching harmonics on the system current and 

voltage can be studied. 

Finally, the switches and diodes that form the inverter 

could be explicitly simulated with their respective 

characteristics (for example, turn-on time, on-state 

resistance, reverse recovery, etc.) and characteristics 

such as switching and conduction losses could be 

studied. However, this would have the longest 

execution time of the three types of models. In this 

paper, only the first two methods to model the inverter 

are considered. 

Motor Model

The motor model is based on the differential equations 

governing the performance of the PM machine as 

given in [2]. A block diagram of the electrical portion of 

the motor model is shown in Figure 12. 

+ __1

s

__1

Lq

i

qsr Vqsr λqsr

Rs

+ __1

s __1

i

dsr

Vdsr

λdsr

Rs

-

-

x

x

λaf

+

-

-

x

x

i

dsr

i

qsr

+

-

•

•

•

•

•

Lq

Ld

Ld

Lq

Ld

•

3P

4

___ τe

ωr,elec ___P ωr,mech

2

ωr,elec

ωr,elec

ωr,elec

___P

2

θr,elec θr,mech

x

x

x

x

cos

sin

Vqss

Vdss

θr,elec

•

• •

•

•

+

+

+

-

•

•

Electrical portion of motor model, rotor reference frame

transformation from 

stationary reference 

frame to rotor 

reference frame λaf

+

+

i

dsr

Figure 12: Block diagram of PM motor.

COMPLETE SYSTEM MODEL 

The entire system model, with the current regulator, 

inverter and motor, is shown in Figure 13. Three 

models can be derived from Figure 13 depending on 

which blocks are used. The simplest version, referred 

to in the simulation results section as the "simple 

model", does not include the middle three blocks and 

was given in Figure 9 for charge and Fig. 10 for 

discharge. This model 

CDCVR: 

Fig. 8 Current 

Regulator: 

Fig.11 and 

transform 

eqn. (9)

Inverter 

Model: 

“Inverter 

PWM”

paragraph

Motor 

Model: 

Fig. 12

Flywheel 

and DC 

bus model: 

Fig. 4

i

qs

r*

i

ds

r* = 0

vqs

s*

s* vds

vqs

s

s

vds

τe

i

qs

r i

ds

r

ωr θ θr r

ωr

• •

θr i

qs

r

i

ds

r

ωr

Vdc

Vdc Iflywheel

•

Vdc

Iflywheel

Icharge

Vdc

*

*

Figure 13: Overall system model. 

neglects the electrical dynamics of the motor control 

and assumes perfect current regulation. The "simple 

model" is suitable for initial large system simulations of 

the flywheel with the rest of the spacecraft PMAD. 

The next level of fidelity includes all of the blocks of 

Figure 13 except for the center inverter one. This 

model neglects the inverter losses and PWM switching 

harmonics. This is suitable to study the overall 
NASA/TMó2002-211897/REV1 8 

effectiveness of the PM motor control and different 

current regulators on the system performance. This 

model is referred to as the "motor model" in the 

simulation section. 

Finally, all five blocks can be included in the simulation 

so the effects of the switching harmonics can be seen. 

This simulation takes four to five times longer to 

execute than the previous ones so is best used when 

issues specifically related to switching harmonics are 

studied. It is referred to as the "PWM model" in the 

simulation section. 

SIMULATION RESULTS 

There are three groups of gain parameters to set in the 

controller algorithm: the charge mode PI, the discharge 

mode PI (voltage regulation) and the motor current 

regulator PI. In addition, one estimated motor 

parameter, λaf

^ , is necessary. In the following 

simulations, the PI gains were initially determined and 

then not varied from simulation to simulation. 

Simulation results are shown from the three models 

with three motor parameter estimates: λaf

^ = λaf, and 

λaf

^ =.8 λaf and λaf^ =1.2 λaf. In addition, the poor 

performance of the controller without feedforward or 

disturbance decoupling is also shown. 

The PI gains for the current regulator were set at 

Kp=1.2 and Ki

=3000. These gains give a torque 

response bandwidth of about 1kHz for this machine. 

The PI gains for both the discharge and charge 

controllers were set at Kp=1.2 and Ki

=12. Although the 

tuning is essentially an heuristic process, an initial 

determination of appropriate gains for the discharge 

controller can be made in the following manner. If the 

disturbance decoupling is neglected, λaf

^ =λaf, and the 

simple model of figure 10 is used, all that remains is a 

PI controller and a parallel resistor-capacitor (RC) 

circuit. Essentially, the PI controller is producing a 

current command which will force the voltage on the 

capacitor to the desired value. The "first guess" gains 

on the PI controller can be set by using pole-zero 

cancellation where 

Kp

Ki

 = 1

RLC and Kp=2πRLCfbw. A 

high bandwidth, fbw, is not necessary because of the 

disturbance decoupling in the total controller. The 

motor parameters, PWM frequency and DC bus 

voltage are given in the appendix. 

Figures 14 through 25 show the simulation results of 

the three models with three different values of the 

estimated motor parameter λaf

^ . In each simulation the 

same charging and discharging profile is used: the 

system starts off in charge mode with a flywheel speed 

of 60,000 rpm, then the solar array current ramps 

down to zero, then there is a step change increase in 

the load at 5 seconds, then the solar array current 

ramps back up again. The results show the transitions 

between modes and the accurate DC bus regulation 

during the discharge and charge reduction modes. 

Electrically, it can be seen that the three models give 

essentially the same results (Figures 14 to 22). The 

"PWM model" has more ripple on the DC bus voltage 

due to the switching action as would be expected. 

There is no fluctuation in the DC bus voltage in 

response to the additional load at t = 5 seconds when 

λaf

^ is perfectly estimated. Even with a 20% error in the 

estimate, the regulation is still excellent. 

The motor speeds are shown in Figures 23 to 25. 

It can be seen that the simple model motor speed 

estimate is not as accurate as the other two models. 

This is due to the fact that any losses in the motor (for 

example, stator resistance) are not modeled. The 

PWM model and the motor model results are virtually 

identical. 

Figures 26 and 27 compare the motor voltage for the 

PWM model and the motor model. Figures 28 and 29 

compare the motor current for the PWM model and the 

motor model. The motor current is seen to be larger in 

the PWM model than the motor model. This is due to 

the low inductance of the machine which causes a 

large switching current ripple on top of the 

fundamental. In the actual experimental set up, there 

is a filter between the inverter and the motor which is 

not yet included in the simulation models. The filter 

reduces this current ripple. 

Finally, Figure 30 shows the response with PI only in 

the controller: no feedforward and no decoupling 

inputs, and with the back emf constant estimated 

improperly where λaf

^ =1.2 λaf. It can be seen that the 

transitions between modes are much worse and there 

is a greater response to the load disturbance. 
NASA/TM—2002-211897/REV1 9 

0 2.5 5 7.5 10 12.5 339

341

343

345

347

349

351

time, seconds

DC bus voltage, volts

339

341

343

345

347

349

351

−15

−10

−5

0

5

10

15

Vdc

Iflywheel

Is/a

0 2.5 5 7.5 10 12.5 339

341

343

345

347

349

351

time, seconds

DC bus voltage, volts

−15

−10

−5

0

5

10

15

current, amps

Is/a

Iflywheel

Vdc

0 2.5 5 7.5 10 12.5 339

341

343

345

347

349

351

time, seconds

DC bus voltage, volts

−15

−10

−5

0

5

10

15

current, amps

Vdc

Iflywheel

Is/a

Figure 14: λaf

^ = λaf, simple model. Figure 15: λaf

^ = .8 λaf, simple model. Figure 16: λaf

^ = 1.2 λaf, simple model. 

0 2.5 5 7.5 10 12.5

340

342

344

346

348

350

DC bus voltage, volts

−15

−10

−5

0

5

10

15

time, seconds

current, amps

Vdc

Iflywheel

Is/a

0 2.5 5 7.5 10 12.5 339

341

343

345

347

349

351

time, seconds

DC bus voltage, volts

−15

−10

−5

0

5

10

15

current, amps

Is/a

Iflywheel

Vdc

0 2.5 5 7.5 10 12.5 339

341

343

345

347

349

351

time, seconds

DC bus voltage, volts

−15

−10

−5

0

5

10

15

current, amps

Vdc

Iflywheel

Is/a

Figure 17: λaf

^ = λaf, motor model. Figure 18: λaf

^ = .8 λaf, motor model. Figure 19: λaf

^ = 1.2 λaf, motor model. 

0 2.5 5 7.5 10 12.5 339

341

343

345

347

349

351

time, seconds

DC bus voltage, volts

−15

−10

−5

0

5

10

15

current, amps

Vdc

Iflywheel

Is/a

0 2.5 5 7.5 10 12.5 339

341

343

345

347

349

351

time, seconds

DC bus voltage, volts

−15

−10

−5

0

5

10

15

current, amps

Is/a

Iflywheel

Vdc

0 2.5 5 7.5 10 12.5 339

341

343

345

347

349

351

time, seconds

DC bus voltage, volts

−15

−10

−5

0

5

10

15

current, amps

Vdc

Iflywheel

Is/a

Figure 20: λaf

^ = λaf, PWM model. Figure 21: λaf

^ = .8 λaf, PWM model. Figure 22: λaf

^ = 1.2 λaf, PWM model. 

0 2.5 5 7.5 10 12.5 59

59.5

60

60.5

time, seconds

speed, krpm

simple model

PWM model

motor model

0 2.5 5 7.5 10 12.5 59

59.5

60

60.5

time, seconds

speed, krpm

simple model

PWM model

motor model

0 2.5 5 7.5 10 12.5 59

59.5

60

60.5

time, seconds

speed, krpm

simple model

PWM model

motor model

Figure 23: λaf

^ = λaf, motor speed. Figure 24: λaf

^ = .8 λaf, motor speed. Figure 25: λaf

^ = 1.2 λaf, motor speed. 
NASA/TM—2002-211897/REV1 10

3.9958 3.9963 3.9968 3.9973 3.9978 −250

−200

−150

−100

−50

0

50

100

150

200

250

time, seconds

voltage, volts

3.9958 3.9963 3.9968 3.9973 3.9978 −250

−200

−150

−100

−50

0

50

100

150

200

250

time, seconds

voltage, volts

Figure 26: λaf

^ = λaf, motor 

voltage, PWM model. 

Figure 27: λaf

^ = λaf, motor 

voltage, motor model. 

3.9958 3.9963 3.9968 3.9973 3.9978 −20

−15

−10

−5

0

5

10

15

20

time, seconds

motor phase current, amps

3.9958 3.9963 3.9968 3.9973 3.9978 −20

−15

−10

−5

0

5

10

15

20

time, seconds

motor phase current, amps

Figure 28: λaf

^ = λaf, motor 

current, PWM model. 

Figure 29: λaf

^ = λaf, motor 

current, motor model. 

0 2.5 5 7.5 10 12.5 338

340

342

344

346

348

350

352

DC bus voltage, volts

−14

−10

−6

−2

2

6

10

14

time, seconds

current, amps

Is/a

Iflywheel

Vdc

Figure 30: λaf

^ = 1.2λaf, system response without feedforward and 

disturbance decoupling in the controller.

CONCLUSIONS 

This paper has presented detailed block diagrams of 

the DC bus regulation control algorithm for the NASA 

flywheel energy storage system which was previously 

experimentally verified [1]. The block diagrams are 

necessary for system simulations to predict 

performance. It was shown that the flywheel system 

and the controller can be modeled in three levels of 

detail depending on the type of analysis required. The 

three models give similar electrical results however for 

the most accurate representation of the motor speed 

the simple model is not appropriate. 

The simulation results showed the control algorithm to 

be effective even in the presence of parameter errors. 

The controller successfully transitions between current 

regulation in charge mode and DC bus voltage 

regulation in discharge mode. 

Future work will include evaluating a modified flywheel 

control such that the flywheel system maintains the DC 

bus regulation continuously, during both charge and 

discharge operation. 

REFERENCES 

1. Kascak, P, B. Kenny, T. Dever, W. Santiago, R. 

Jansen, “International Space Station Bus 

Regulation with NASA Glenn Research Center 

Flywheel Energy Storage System Development 

Unit”, July 2001 IECEC Conference Proceedings, 

Savannah, Georgia, 2001. 

2. Krishnan, Ramu, Permanent Magnet Synchronous 

and Brushless DC Motor Drives: Theory, 

Operation, Performance, Modeling, Simulation, 

Analysis and Design, Virginia Tech., Blacksburg, 

Virginia, 1999. 

3. Rowan, T. and R. Kerkman, “A New Synchronous 

Current Regulator and an Analysis of CurrentRegulated PWM Inverters”, IEEE Transactions on 

Industry Applications, Vol IA-22, No. 4, July/August 

1986, pp. 678-690. 

4. Kenny, B.H., P. Kascak, et. al, "Advanced Motor 

Control Test Facility for NASA GRC Flywheel 

Energy Storage System Technology Development 

Unit", July 2001 IECEC Conference Proceedings, 

Savannah, Georgia, 2001. 

5. Mohan, Ned, Workshop Proceedings, NSF-Faculty 

Workshop on Teaching of Courses in Power 

Electronics and Electric Drives, Tempe, Arizona, 

January 3-5, 2002. 

DEFINITIONS, ACRONYMS, ABBREVIATIONS 

I,V Current, voltage where capital letters denote a 

DC quantity. 

i,v Current, voltage where small letters denote an 

AC quantity. 

I*,V* Commanded current, commanded voltage; the 

asterisk denotes a commanded value. 

ωr Electrical rotor speed, radians per second 

ωrmech Mechanical rotor speed, radians per second 

P Number of poles in motor 

λaf

^ Back EMF constant, volt-seconds; the carrot 

denotes an estimated quantity. 
NASA/TMó2002-211897/REV1 11

APPENDIX 

Motor parameters: Rs=.06Ω, Lq=139μH, Ld=116μH, 

λaf=.0141 volt-sec., J=.0153 kg-m2, 4 pole 

DC bus voltage set points: charge mode: 350 volts, 

discharge mode: 340 volts. 

PWM frequency: 40 kHz. 
This publication is available from the NASA Center for AeroSpace Information, 301–621–0390.

REPORT DOCUMENTATION PAGE

2. REPORT DATE

19. SECURITY CLASSIFICATION

 OF ABSTRACT

18. SECURITY CLASSIFICATION

 OF THIS PAGE

Public reporting burden for this collection of information is estimated to average 1 hour per response, including the time for reviewing instructions, searching existing data sources,

gathering and maintaining the data needed, and completing and reviewing the collection of information. Send comments regarding this burden estimate or any other aspect of this

collection of information, including suggestions for reducing this burden, to Washington Headquarters Services, Directorate for Information Operations and Reports, 1215 Jefferson

Davis Highway, Suite 1204, Arlington, VA 22202-4302, and to the Office of Management and Budget, Paperwork Reduction Project (0704-0188), Washington, DC 20503.

NSN 7540-01-280-5500 Standard Form 298 (Rev. 2-89)

Prescribed by ANSI Std. Z39-18

298-102

Form Approved

OMB No. 0704-0188

12b. DISTRIBUTION CODE

8. PERFORMING ORGANIZATION

 REPORT NUMBER

5. FUNDING NUMBERS

3. REPORT TYPE AND DATES COVERED

4. TITLE AND SUBTITLE

6. AUTHOR(S)

7. PERFORMING ORGANIZATION NAME(S) AND ADDRESS(ES)

11. SUPPLEMENTARY NOTES

12a. DISTRIBUTION/AVAILABILITY STATEMENT

13. ABSTRACT (Maximum 200 words)

14. SUBJECT TERMS

17. SECURITY CLASSIFICATION

 OF REPORT

16. PRICE CODE

15. NUMBER OF PAGES

20. LIMITATION OF ABSTRACT

Unclassified Unclassified

Technical Memorandum

Unclassified

National Aeronautics and Space Administration

John H. Glenn Research Center at Lewis Field

Cleveland, Ohio 44135–3191

1. AGENCY USE ONLY (Leave blank)

10. SPONSORING/MONITORING

 AGENCY REPORT NUMBER

9. SPONSORING/MONITORING AGENCY NAME(S) AND ADDRESS(ES)

National Aeronautics and Space Administration

Washington, DC 20546–0001

Available electronically at http://gltrs.grc.nasa.gov

January 2003

NASA TM—2002-211897-REV1

02PSC–61

E–13579–1

WBS–22–755–12–10

17

DC Bus Regulation With a Flywheel Energy Storage System

Barbara H. Kenny and Peter E. Kascak

Flywheel energy storage; Simulation; DC bus regulation; Permanent magnet

motor control

Unclassified -Unlimited

Subject Categories: 20 and 44 Distribution: Nonstandard

Prepared for the Power Systems Conference sponsored by the Society of Automotive Engineers, Coral Springs, Florida,

October 29–31, 2002. Barbara H. Kenny, NASA Glenn Research Center, and Peter E. Kascak, University of Toledo,

Toledo, Ohio 43606. Responsible person, Barbara H. Kenny, organization code 5450, 216–433–6289.

This paper describes the DC bus regulation control algorithm for the NASA flywheel energy storage system during

charge, charge reduction and discharge modes of operation. The algorithm was experimentally verified with results

given in a pervious paper. This paper presents the necessary models for simulation with detailed block diagrams of the

controller algorithm. It is shown that the flywheel system and the controller can be modeled in three levels of detail

depending on the type of analysis required. The three models are explained and then compared using simulation

results.