Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor...

190
Multiple Simultaneous Specifications (MSS) Control Design Method of a High-Speed AC Induction Motor SeungJu Lee A thesis submitted in conformity with the requirements for the degree of Master of Applied Science Graduate Department of Mechanical and industrial Engineering University of Toronto 8 Copyright by Seung-Su Lee 2000

Transcript of Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor...

Page 1: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

Multiple Simultaneous Specifications (MSS) Control Design Method of a High-Speed

AC Induction Motor

SeungJu Lee

A thesis submitted in conformity with the requirements for the degree of Master of Applied Science

Graduate Department of Mechanical and industrial Engineering University of Toronto

8 Copyright by Seung-Su Lee 2000

Page 2: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

National Library ($1 of Canada Bibliothbque nationale du Canada

Acquisitions and Acquisitions et Bibliographie Serviws senrices bibliogiaphiques

395 Welligton Street 395, me Wellington OtEawaON K 1 A W OltawaON K1AON4 CBMda Canede

The author has granted a non- exclusive licence allowing the National Library of Canada to reproduce, loan, distribute or sell copies of this thesis in microform, paper or electronic formats.

The author retains ownership of the copyright in this thesis. Neither the thesis nor substantial extracts Erom it may be printed or otherwise reproduced without the author's permission.

L'auteur a accordé une Licence non exclusive permettant à la Bibliothèque nationale du Canada de reproduire, prêter, distribuer ou vendre des copies de cette thèse sous la forme de microfiche/nlm, de reproduction sur papier ou sur format électronique.

L'auteur conserve la propriété du droit d'auteur qui protège cette thèse. Ni la thèse ni des extraits substantiels de celle-ci ne doivent être imprimés ou autrement reproduits sans son autorisation.

Page 3: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

SeuagJu Lee University of Toronto Department of Mechanical and Industrial Engineering Master of Applied Science, 2000

Title: Multiple Simultaneous Specifications (MSS) Control Design Method of a High-Speed AC Induction Motor

A practical control system design may require that several different performance

specifications be considered at the same time. Generally, a controller may be able to

satisQ multiple conflicting performance speci fications through manual gain tuning,

however, when the specifications are stringent, finding suitable gains with this approach

may be difficult. Therefore, there exists a need for a control design rnethodology to

permit the systematic design of controllers to satisQ multiple sirnultaneous

specifications.

This thesis presents the application of a Feedback control design method, referred

to here as a Multiple Simultaneous Specification (MSS) control design method, which

addresses the design of controllen to satisfy multiple simultaneous conflicting design

specifications. The MSS control design method utilizes the convexity of common

closed-loop performance specifications with respect to the closed-loop system transfer

function to combine a set of "sarnple controllers", each tuned to satisQ at least one

closed-loop performance specification, to formulate a single controller which satisfies al1

specifications. While control gain tuning is central to the design process, the tuning

process is greatly sirnplified, when compared with the tuning exercise presented when a

single set of control gains is adjusted to satisQ a set of multiple simultaneous closed-loop

speci fications.

The proposed MSS control method is applied to a high-speed AC induction

motor, with an inner-loop Flux Vector Controîîer applied, to design a position control

system. Simulation and expenmental results venfy the effectiveness of this method.

Page 4: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

Acknowledgements

1 would like to express my gratitude to Professor 1.K. Mills for his invaluable

guidance, support, and encouragement provided throughout the course of this thesis.

1 thank David Cho and Dr. Dong Sun who were always willingly to provide

advises during my research.

1 also extend my appreciation to the past and present members of Laboratory for

Non-linear Conirol System; Bemy, Bong-Soo, Prof. Chen, Saxin, Jung-Wook, Mingwei,

Weihua and others. Their presence and help made this work very enjoyable.

1 wish to thank al1 my Korean fiiends; Eugene, Jeong-Mi, Soon-Hyung, Prof. Lee,

Woo-Hyun, Dong-Wook for their supporting from Toronto and from Seou!.

Finally, 1 give special thank to my father, mother and my sister. They supported

me and prayed for me fiom the beginning until now. Without them. 1 would not have

been able to finish rny study.

Page 5: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

Contents Page

A b ~ ~ ~ a ~ f ~ ~ . . . ~ . ~ ~ . . ~ . ~ . ~ . ~ ~ . . ~ . . ~ ~ ~ ~ ~ ~ . . . . . . ~ . ~ ~ ~ ~ . . . ~ . . ii

A&nowledgements m..................m.o.*~t..~..m.m~-.... !il

C ~ n t e ~ t s . . m e e . . ~ ~ ~ ~ . . ~ m ~ o ~ . . m ~ ~ ~ ~ ~ m ~ ~ ~ ~ ~ m ~ m ~ . m m ~ ~ . . . ~ m a . iv

L i s t o f F i g u r e s m o . m * . m m . m . * e e . * m . ~ m * . . . m * . m m . m . . * . m . . . m m m * . viii

LiSfofTables m m . . ~ . . . m . m ~ . . . . . . m ~ ~ m m ~ m e m o o ~ m ~ ~ ~ . ~ ~ . ~ o ~ xi

Nomenclature * m o a m m * . m . . o * m * . m . m m * . * * * * * * * m m . * m m . * ~ o e m m m * xii

l,introduction . * . . * * ~ m m * . * m m . ~ * m m * . . . ~ . . * * m * . * * m ~ * ~ . . * . * * 1

1.1 Motivation I

1 .Z Proposed Research 3

1.3 Thesis Overview 5

1.4 Thesis Contribution 6

2. Background Theory and Literature Review - - - - - - - - - - - - - 7

2.1 Structure of the AC Induction Motor 7

2.1.1 Intemal Structure of the AC Induction Motor 7

2.1.2 Rotating magnetic Field 8

2.2 Dynamic Modeling of Induction Motor 9

2.2.1 Coordinate Transformation I O

2.2.2 Electromechanical Dynarnic Modeling of Induction Motor 12

2.2.3 Flux Vector ControI 14

2.3 Li terature Review of Induction Motor Control 18

2.4 Summary 20

3.MSSControlProblemm.ee..e...*.eeeem.eeee~.mee0..0...... 2 1

3.1 Introduction 21

Page 6: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

Page

3.2 System Framework Definition 23

3.3 Convex Combination Method and MSS Controller Design 25

3.4 Feasibility of MSS Problem 28

3.5 MSS Controi Method Implementation 30

3.6 Summary 33

5.1 Introduction

5.2 Description of the Experimental Setup

5.2.1 Expenmental Setup Modification

5.2.2 DMC- 1 700 Controller Setting

5.3 Software

5.4 Suxnmary

6eACInductionMotorDynamicModeling * * * * * r r . e r # r * ~ e ~ ~ ~ e . ~ e e ~ 52

6.1 Introduction 52

6.2 Dynamic Mode1 of AC Induction Motor 53

6.3 Motor Torque Constant 54

6.3.1 T'orque Sensor Calibration 54

6.3.2 Moior Effective Torque Constant 57

6.4 Determinhg the System Dynamic Parameters 58

6.4.1 Linear Least-Square Estimation 58

6.4.2 Motor Parameter Estimation 59

6.4.3 Parameter Estimation Simulation 60

6.4.4 Parameter Estimation Experiment 61

Page 7: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

Page

6.5 AC Induction Motor in Block Diagram Form

6.6 Sumrnary

7.1 Introduction

7.2 Simulation of Step-input Response

7.2.1 Setup Modification Dynarnic Model

7.2.2 Simulation Results

7.3 Experiment of Step-Input Response

7.4 Uncertainties in AC Induction Motor Modeling

7.4.1 Model Parameter Uncertainties

7.4.2 Nonlinear Effects of DMC- 1 700 Controller

7.4.3 Flux Vector Controller Model

7.4.4 Unknown Disturbances and Noises

7.5 Summary

8.1 Introduction

8.2 System Framework Representation

8.3 Desired Performance Specifications and Sample Controllers Selection

8.4 Combination of the Sample Controllers

8.5 MSS Controller Detemination

8.6 MSS Controller Discretization and Realization

8.7 Simulation Results with MSS Control Method

8.8 Experimental Results with MSS Control Method

8.9 Summary

Page 8: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

Page

Appendices

Ae Compooent SpecificPtions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 A. 1 AC Induction Motor Specifications 102

A.2 Flux Vector Controller Specifications 1 04

A.3 Encoder Specifications 1 06

A.4 Toque Sensor and Indicator Specifications 1 08

Ba Component Connectjo~s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . II0 B. 1 System Diagram 1 1 1

B.2 Connection Between Encoder and Flux Vector Drive 112

8 . 3 Comection Between Interconnect Module and Flux Vector Drive 114

B.4 Connection of Torque Sensor 117

C. O p e r a t i n g M a ~ u a l a a e e a a . e ~ e e ~ e a ~ e e . . e . e e a o a o o a . a e a ~ e a a . a 118

C. I Motor Test with Flux Vector Controller 119

C.2 Flux Vector Controller setting 122

C.3 Test through DMC Terminal 124

C.4 Test through C Program 129

Page 9: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

List of Figures

2.1 Intemal Structure of Squirrelsage Type AC Induction Motor

2.2 Current Phasors and Space Vectors at tuf = 0' and ut = 60"

2.3 Space Vector Components in the d-q Axes

2.4 Currents Transformation

Page

8

9

10

1 I

3.1 Linear System Frarnework 33

4.1 Vector Controlled AC induction Motor SIMULMK Block Diagram 38

4.2 I .M. Elec Block Diagrarn 39

4.3 I .M. Mech Block Diagram 39

4.4 Vector Controller Block diagram 40

4.5 Flux Reference and Flux Output 42

S. 1 Experimental Setup

5.2 Experimental Setup Modification

5.3 Galil DMC-1700 controller with embedded PID control loop

5.4 Galil DMC-1700 controller with outer control loop

6.1 Zero Calibration and Span Calibration of Torque Sensor Indicator

(Aries instnment Ltd. Mode1 No. Ai 8 100-000-0 1) 55

6.2 Torque Sensor Indicator Front Panel 55

6.3 Extension Load and Torque Sensor 56

6.4 Load Extension Rods Dimension 56

6.5 Motor Torque vs. Applied Input Comrnand Voltage 57

6.6 Simulation of AC Induction Motor with Pseudo Random Control Inputs 61

viii

Page 10: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

Page

6.7 Expenments of AC Induction Motor with Pseudo Random Control Inputs 62

6.8 Block Diagram of the AC Induction Motor Dynarnics 63

6.9 The AC Induction Motor with Inner Flux Vector Controller Transfer Function 64

7.1 Vector Controlled AC Induction Motor SIMULINK Block Diagrarn with PID

Controller 67

7.2 Free Body Diagram of System Modification 68

7.3 Block Diagram I .M. Mech in the Simulation Mode1 69

7.4 Simulation Results of K', = 7 Volthad and ki = 0.55 Volt-sechad 70

7.5 Simulation Results of Kpi = 9 VolUrad and Kdl = 0.5 Volt-seclrad 7 1

7.6 Experimental Results of Kpi = 7 Volt/rad and Kdl = 0.55 Volt-sechad 73

7.7 Experimental Results of Kp2 = 9 Volthad and Kd2 = 0.5 Volt-sechad 74

8.1 Vector Controlled AC Induction Motor SfMULiNK Block Diagram with MSS

Contro 1ler 88

8.2 KPm Block Diagram 89

8.3 K d * Block Diagram 89

8.4 inputs Block Diagram 90

8.5 AC Induction Motor Simulation of Step Response under MSS Controller 9 1

8.6 AC Induction Motor Position versus Time under Sample Controllers and MSS

Controller

8.7 AC Induction Motor Expenment Step Response under Convex Controller

A. 1 Catalog Data, Motor Data, and Additional Information of

the AC induction Motor

A.2 Performance Data of the AC induction Motor

A.3 Specifications and Operating Conditions of the Flux Vector Controller

A.4 Ratings of the Flux Vector Controller

AS Dimensions of the Encoder

A.6 Mechanical Specifications of the Encoder

A.7 Electrical Specifications of the Encoder

Page 11: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

Page

A.8 Torque Sensor Specifications

A.9 Indicator Speci fications

B. 1 AC Induction Motor wiîh Flux Vector Controller System Diagram

8.2 Encoder Connections

B.3 Wire Colour Definition

8.4 Interconnect Module and Flux Vector Controller Connections

C. 1 Experimental Set up

C.2 Power Switch

C.3 Flux Vector Controller Keypad (Baldor, Mode1 No. ZD18H202-E)

C.4 DMC Terminal [con

CS DMC Terminal Window

C.6 Initializing DMC Terminal Window

C.7 Commands in the DMC Terminal Window

C.8 c0nst.c in C:üBmcdos\C\Users\const input

C.9 Visual C++ Icon

C. 10 Creating the New Project

C. 1 I Including Library Routines

C. 1 2 Configunng Project Options

C. 13 Configuring the Memory S ize

C. 14 Building a Project

C. 1 5 No Error Found

C.16 Executing the Project

D. 1 Simulation Directory Tree

Page 12: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

List of Tables

5.1 Expenmental Facility Component Summary

6.1 Zero Calibration and Span Calibration Data

6.2 Motor Torque vs. Applied Input Cornrnand Voltage

7.1 Simulation Results of Motor Performance with PD controller

7.2 Expenmental Results of Moior Performance with PD controller

Page

46

8.1 Required Specifications and Expenmental Performance Specifications of Sample

Controllers 82

B. 1 Wire Connections between Encoder and Flux Vector Controller (Cable 1) 1 12

B.2 Wire Connections between KM-1900 and Flux Vector Controller (Cable 3) 1 16

B.3 Wire Connections between ICM-1900 and Flux Vector Controller (Cable 3) 116

B.4 Wire Connections between Torque Sensor and Indicator (Cable 5) 117

Page 13: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

Nomenclature

Roman Letters

Phase a in three phase AC signal Dummy coefficient Darnping coefficient of the AC induction motor and the load

Estimate of motor damping coefficient Phase b in three phase AC signal

Durnrny coefficient Phase c in three phase AC signal

Direct axis in rotating coordinates Direct axis in stator-fixed coordinates Error signal in Laplace domain z-transformation of E($, motor position error Motor position error with respect to time Denvative of motor position error

Kh motor position error

Vector representing space vector Controller Closed-loop transfer matrix fiom W(s) to Z(s) Final closed-loop transfer matrix Supplied curent to the armature of the bmsh type DC motor Transfonned direct rotor currents in stator-fixed reference fiame Transfonned direct stator currents in rotating reference h e

Transfonned direct stator currents in stator-fixed reference lkame

Transfonned quadrature rotor currents in stator-fixed reference frame Transformed quadrature stator currents in rotating reference frame Transformed quadrature stator currents in stator-fixed reference fiame Moment of inertia of the motor rotor and the load

xii

Page 14: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

j Estimate of motor inertia Controller transfer matrix Y(s) to U(s) Modi fied controller MSS controller in Laplace Transform domain MSS controller in discrete-time domain Derivative gain Convex derivative gain Proportional gain Convex proportional gain

AC induction motor effective torque constant Iteration index Rotor inductance of the motor Stator inductance of the motor

Mutual inductance of the motor Number of motor pole pairs Motor dynamic mode1 transfer function Transfer matrix fiom W(s) to Z(s) Transfer matrix fiom U(s) to Z(s) Trans fer matrix fiom Y(s) to W(s) Transfer matrix from Y(s) to U(s)

Quadrature a i s in rotating coordinates

Quadrature axis in stator-fixed coordinates Modi fied complementary sensitivity function Convex modified complementary sensitivity function Rotor resistance of the motor Stator resistance of the rnotor

Derivative operator in Laplace Transform domain stationary reference frame (superscript) stator (subscript) Motor produced torque

Motor torque in Laplace Transfom domain Control input at t = ph iteration interval

Control input in Laplace Transform domain Control input in discrete-time domain P controi input input command voltage (V), proportional to 1,

xiii

Page 15: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

Vd Transformed direct stator voltages in stator-fixed reference frame

Y, Transformed quadrature stator voltages in stator-fixed reference h e W(s) Other inputs to system x R substitude vector

Y(@ Output signals accessible to the controller

Z(s) Output signais interested to designer -9 - 2-transform

xiv

Page 16: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

Greek Letters

Performance specification vector

Convex combination vector

Desired performance specification vector

Rotor position in Laplace Transform domain

nfh Desired performance specification

Angular velocity

Angular acceleration

Actual position

Desired position

Steady state error specification

Percentage overshoot specification

nfh performance speci fication

Components, n, of convex combination vector

Motor developed torque

Magnetic flux produced by the stator of the DC motor

Rotor direct flux in stator-fixed coordinates

Rotor quadrature flux in stator-fixed coordinates

Rotor flux

Rotor angular speed (electrkal)

Page 17: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

Ab breviation

AC Altemating current DC Direct current MSS Multiple simultaneous specifications PD Proportional, Denvative PID Proportional, integral, and Denvative P.O. Percentage ovenhoot S.S.E. Steady state error ZOH Zero Order Hold

xvi

Page 18: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

Chapter 1

Introduction

Motivation

Modem surface mount machines, used in the placement of electronic circuit

components ont0 circuit boards, use servo motors to rapidly position the machine axes.

AC induction motors are commonly utilized in the surface rnount machine due to their

properties. AC induction motors have several charactenstics supenor to DC moton. such

as a maintenance free structure, relatively lower cost than equivalent size DC motors, and

greater power output ranging fiom a fraction of a horsepower to 10,000hp. AC induction

moton, indeed, are the workhorses of today's industry.

Cunently, the Proportional, Integral, and Derivative (PD) controller structure is

the most common in use in industry, mainly due to the fact that it is relatively easy to

design and implement. However, despite its widespread use, the P D controller does

have a number of limitations. One of the main drawbacks of Pm controllers is the task of

tuning gains to achieve a set of desued dosed-loop perfo~mance specifications. Since

performance specifications generally conflict with each other, the task of tuning gains to

Page 19: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

meet several closed-loop performance specifications simultaneously requires considerable

time and experience. For the case of low performance specifications, tuning PID gains is

not difficult. However, as performance specifications become more stringent, i.e. higher

performance, the task of tuning gains becomes increasingly difficult due to the fact that

multiple simultaneous speci fications typically conflict with each O ther. Therefore, there

exists a need for a reliable contrd design rnethod to systemutidy design cioscd-ioop

controls to meet ail specifications simultaneously. This, in fact, is the main goal of this

thesis.

Page 20: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

1.2 Proposed Research

The nature of this research is to develop an expenmental setup for position control

of a high-speed AC induction motor to test controllers and develop a simulation model of

AC induction motor to further venQ our results. The dynamic model of the AC

induction motor is developed in this thesis. With this dynamic model, we apply

appropriate control theory to develop a controller for the AC motor.

An expenmental facility has been developed in the Laboratory for Nonlinear

Systerns Control, Department of Mechanical and Industrial Engineering, University of

Toronto. In this experimental facility, both simulations and expenments are conducted.

A new control system design approach, based on convex optimization theory,

Boyd and Barratt (1991), has been discussed in the control literature. Utilizing this

convex optimization theory, a systematic approach to design closed-loop controls has

been developed and applied to robotic systems, Liu and Mills (1998). This approach is

referred to as a Multiple Simultaneous Specification (MSS) control design method. The

MSS control method, like the approach of Boyd and Barratt (1991), is intended for linear

systems only. This approach has been applied to nonlinear systems, through the use of

global feedback linearization, first applied to the nonlinear system.

The work by Liu and Mills (1998) introduces a method to design an MSS

controller using a two-stage procedure. Given a set of n desired closed-loop performance

specifications, first, tune each of n linear controllers to satisfL at least one specification at

a time. These n controllers are called sample controllers. Then, using a convex

Page 21: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

combination approach, combine the n sarnple controllers to simultaneously meet al1

specifications. Finding a sample controller is a much simpler task than finding a

controller that satisfies al1 specifications simultaneously. The MSS control design

method provides an alternative design process that greatly simplifies controller design.

The MSS control method is employed to stabilize an AC induction motor control and to

achieve a set of simultaneous conflicting performance specifications.

Two control theories are addressed in this thesis. One is the conventional PID-

type of control and the other is the Multiple Simultaneous Specification (MSS) control

method developed at the University of Toronto, Department of Mechanical and Industrial

Engineering, (Liu, 1998). Cornparison will be made between these two control theones,

and the effectiveness of the MSS control method will be demonstrated by subsequent

expenments.

Page 22: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

Thesis Overview

In Chapter 2, the background theory and the literature review are presented. An

electromechanical dynamic model of the AC induction motor with a flux vector controller

applied is introduced. Chapter 3 discusses the MSS control synthesis. In Chapter 4,

simulation is presented. Software and the structure of simulation are descnbed in Chapter

4. In Chapter 5, the experimental setup is described. Detailed specifications of the

elements of the expenmental setup including connections, and al1 other details are

addressed in Appendix A and Appendix B. In Chapter 6, the dynamic model of the

expenmental setup compnsing an AC induction motor, flux vector controller, and an

inertial load is derived. Transfer function presentations are also studied for control

purposes in this chapter. Simulation and experimental results of the AC induction motor

using PD controller are presented in Chapter 7. In Chapter 8, the PD sample controllers

and the resultant MSS controller are studied. The results of both simulations and

experiments using the proposed control approach are addressed. Finally, Chapter 9

concludes the thesis.

Page 23: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

1.4 Thesis Contribution

The main contributions of this thesis are listed below.

1. The development of an expenmental test bed and the user program that can be

used to implement various types of control law, such as PID or MSS control,

to the high-speed AC induction motor.

2. The second contribution is the development of simulation prograrns of the AC

induction motor using commercial software MATLABISIMULINK. In the

simulation prograrns, the full nonlinear electrical dynamics model is taken into

account as well as the mechanical dynamic model.

3. The MSS control method are implemented and tested on the AC induction

motor. The experirnental result indicates that the MSS control method meets

the multiple simultaneous specifications.

Page 24: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

Chapter 2

Background Theory and Literature Review

2.1 Structure of the AC Induction Motor

2 1 1 Interna1 Structure of the AC Induction Motor

A motor basically consists of two parts. Le. the stator and the rotor. The internai

structure of AC induction motor is depicted in Figure 2.1. The stator is a stationary part

that sets the magnetic field. The stator is a permanent magnet in brush type DC motors or

a set of wire windings in AC induction motors. The rotor is a rotating part holding a

shaft that couples mechanical load. A typical rotor of the squirrel-cage type found in AC

induction motor has aluminum bars connected to the rings that short the ends together.

Page 25: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

Figure 2.1 : Intemal Structure of Squirrel-cage Type AC Induction Motor

2.1.2 Rotating Magnetic Field

Since the power source of the AC induction motor is three-phase alternating

current (AC), the stator has three pairs of windings. These three pain of windings create

a set of rnagnetic poles (Figure 2.2). Each phase of current establish rotating field in the

stator. Ln the squinel cage rotor, the current is induced due to the rotating field. Since

the ends of the bars are shortened, the induced current creates a new magnetic field in the

rotor and is attracted by the revolving field produced by stator currents. Consequently, as

the magnetic field rotates, the rotor rotates.

Page 26: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

2.2 Dynamic Modeling of AC Induction Motor

In AC machines, al1 signals exhibit a sinusoidal wave form. In other words, in

three-phase AC machines, the space vecton, such as the flux linkage vector, the voltage

vector and the current vector are sinusoidal wave forms. Unfortunately, alternating

properties are not convenient for control analysis purposes. This problem can be solved

by introducing rotating transfonned d-q coordinates (D-Q coordinates) with arbitrary

speed. This results in signals which are time-varying DC signals, and hence are easier to

analyze and manipulate in control schemes than AC signals. Based on this coordinates

transformation, the flux vector control method is developed and has been applied to AC

induction motors (Trzynadlowski, 1994).

In this section, a coordinate transformation will be discussed fint. Dynamic

modeling of the AC induction motor will then be addressed. Finally, the flux vector

control scheme will be introduced.

Figure 2.2: Current Phason and Space Vectors at ut = O0 and a = 60"

Page 27: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

2.2.1 ci-q Coordinate Transformation

in AC machines, the space vectors c m be described as follows:

where: F = vector representing space vector

superscript ' represents stationary reference frame

subscript , represents stator

Since the three components of the space vector, F i , constitute one vector, it can be

projected in the complex plane which has a real component and an imaginary component

(Figure 2.3). Therefore, if we define the real axis as the d-axis and the imaginary axis as

the q-mis. then the transformation of "abc" phases into "dq" axes is possible.

Figure 2.3: Space Vector Components in the d-q Axes

For instance, three-phase currents that have magnitude i,ib,and, i, of phases a, 6,

and c, respectively, can be expressed as follows:

Page 28: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

and the transformation abc + dq is perfomed as:

In these equations, the mis reference fiame has been transfomed. Therefore, the

stator axis as well as the rotor axis is transformed to a reference axis rotating with an

arbitrary angular velocity. In this way, the sinusoidal coupling between the rotor and the

stator circuit with the rotor position can be eliminated, if the stator and the rotor both

refer to the sarne reference frarne. Here, we assume that the referred ffame of reference is

rotating with the synchronous speed.

(c) current iQ 3

, (b) current d,q

I 1 1

Figure 2.4: Currents Transformation

Page 29: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

2.2.2 Electromechanical Dynamic Modeling of AC Induction Motor

AC induction moton are described by nonlinear dynamic equations, which can be

expressed as a set of differential equations representing both the electncal system

dynarnics and the mechanical system dynarnics. The dynamic behavior of a balanced

ilure-pliasr induction motor in the alectromechanical modcl consists of five ordinary

differential equations given below, expressed in stator fixed ci-q coordinates (Atkinson et

al., 1991).

where: IJ, IV = transfomed stator cunents in stator-fixed reference frame

I&, Iqr = transformed rotor currents in stator-fixed reference fnvne

V,I. Y, = transformed stator voltages in stator-fixed reference h e

û = rotor angular acceleration (radlsec')

0 = rotor angular velocity (radhec)

R, = rotor resistance of the motor

R, = stator resistance of the motor

L, = rotor inductance of the motor

L, = stator inductance of the motor

Me = mutual inductance of the motor

J = moment of inertia of the rotor and the load (kg-m2)

B = damping coefficient of the bearing (kg-m2/sec)

Q = M : - L , L ,

Page 30: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

This model includes mechanical equations as well as electrical relations. Note that the

choice of States for the state-space model is not unique. For the convenience of future

manipulation of the equations, we have chosen stator current and rotor flux, If!J. IV, yd,

and f ir as state variables. Since the rotor flux, and y,, can be represented as:

Substitution of equations (2.1 1) and (2.12) into equations (2.4) to (2.7), results in the

equations given below:

Where the positive constants Lc KI, a,, a2, a ~ , and Rl are given below:

Page 31: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

where: n, = number of motor pole pairs

Denvation of the dynamic mode1 of AC induction motor c m be found in many

references (Dawson et al., 1998).

2.2.3 Flux Vector Control

In the AC induction motor, altemating voltage is used as a power source so the

stator windings create a rotating magnetic field. Traditionally, an AC rnotor is controlled

by varying the magnitude and the fiequency of AC power source. However, controlling

the AC motor in this way is not sufficient for high performance control which requires

rapid torque control. Therefore, the Flux Vector Control method is often employed for

high performance control of AC induction rnotors.

The Flux Vector Control schcme onginally introduced by Blaschke (197 1)

defines conditions for decoupling the flux control fiom the torque control. A flux vector

controlled induction motor emulates a separately excited DC motor in two aspects:

1) Optimal conditions for torque production

2) Independent control of both magnetic flux and the torque developed in the motor

For cornparison purpose, we consider the torque developed by a DC bmsh motor.

The torque equation for a DC brush motor is expressed as follows:

Page 32: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

where: r = developed torque

1, = armature current

Kr = torque constant

yl = magnetic flux produced by the stator of the DC motor

while the torque equation of an AC induction given in equation (2.17). as:

In equation (2.18), the developed DC motor torque is controlled by varying the

m a t u r e current, Io, with a fixed magnetic flux, y/. Unlike DC motors, AC induction

motors produce a rotating magnetic flux as explained in the previous section.

Additionally, the rotor current is not accessible, i.e. the stator cunent is the only means to

control torque generated by an AC induction rnotor.

A flux vector controller appiied to an AC induction motor is such that, yl,, is set

to zero and v d r is set to a constant value. The dynarnic equations of the AC induction

rnotor become as follows.

and with y, = O and yd, = const, the torque equation (2.19) reduces to:

Page 33: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

It is shown that if yld, is controlled to be a constant value, then the torque equation for an

AC induction motor with a flux vector controller applied is a linear equation in terrns of

the motor current only, similar to a DC motor.

With the flux vector control method applied, it is possible to treat an AC

induction motor as a linear dynamic system. Here, we will not discuss the control of the

fluxes, yl,, and Readers are referred to one of the many references for details of the

flux vector control method, Le. Vas (1990).

In the expenmental setup used to demonstrate the MSS control design method, a

commercial flux vector controller is employed as an inner control loop. The outer

position control loop is designed using the MSS control design method. Thus. with a

linear torque relationship for the AC induction motor with an inner flux vector control

loop, we mode1 the torque equation of the AC induction motor in a very simplified form

as :

r = K , V (2.26)

where: r = total AC motor developed torque (N-m)

Kr = effective torque constant (N-mN)

V = input command voltage (V), proportional to I , ,

Under these conditions, i.e. y,, = O and ~h = const, we m e r simplim equations (2.20)

to (2.24) by ignonng the electrical dynamics given by equations (2.20), (2.21). This is

justified for our experimental set-up in which a large inertial load is attached to the

motor, leading to "fast" electrical dynamics given by equations (2.20) and (2.2 1), when

compared with the "slow" mechanical dynamics given by (2.23), i.e. Kokotovic, Khalil

Page 34: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

and O'Reilly (1986). In other words, comparing the much longer mechanical time

constant with the faster electrical tirne constant allows us to ignore electrical dynamics.

Hence, the AC induction motor dynamics can be simplified to only the mechanical

subsystem equation of motion given by

Page 35: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

2.3 Literature Review of AC Induction Motor Control

In the AC induction motor control area, many contml methods have already been

developed. Induction motor scalar control with variable fiequency has been investigated

by some authors (Mixon, 1984). However, it has been shown that the steady-state torque

under scalar control can be controlled accurately, but the transient torque response is

unsatisfactory.

To obtain high performance of AC induction motors, fast torque response is

required. Thus, for fast response of torque, the Flux Vector Control Method, originally

introduced by Blaschke (1971), has been employed by many authors to control AC

induction motors (Ho and Sen, 1988). It has been shown that the flux vector controlled

AC induction motors have better performance than scalar controlled motors by

cornparhg the behavior of an induction motor driven by flux vector control with a motor

dnven by scalar control (Finch et al., 1998). Recently, Direct Torque Control Method is

developed by Tiitinen et al. (1994) for better torque response and it is an on going

research area.

For position control of AC induction motors, many authors have conducted

experiments of AC induction motor position contro 1 with flux vector control theory

(Vukosavic and Stojic, 1993). Some of authors have employed a fùzzy sliding control

scheme for AC induction motor position control (Chen and Hsu, 1994).

Generally, Proportional Integral Derivative (PD) controller is widely used in

industry for position control. However, P D controller has a number of disadvantages.

The main disadvantage of PID-type control is its gain-tuning nature. To tune the gains

Page 36: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

properly to achieve better performance requires extensive time and experience. In fact, it

is tedious and time consuming to tune the Pm gains so that al1 desired performance

specifications are met simultaneously (Liu, 1998).

Page 37: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

2.4 Summary

In this chapter, necessary background theories to understand AC induction motors

are introduced. The internai structure and the pnnciples of operation of the AC induction

motor have been described briefiy. An electromechanical dynamic model of an AC

induction motor has been established. The flux vector control scheme based on a ci-q

coordinate transformation has been given and applied to AC induction motor dynamic

modeling. Flux vector control schemes reduce the nonlinear dynamic model of AC

induction motor to a linear model.

Some relevant literature on the control scheme of AC induction motors and

position control of AC induction motor have been also reviewed in this chapter.

Page 38: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

Chapter 3

MSS Control Problem

3.1 Introduction

In Chapter 1, the deficiencies of PID controller are introduced. It was discussed

rhat tuning controller gains is not an easy task, especially, when a set of specifications has

io be satisfied simultaneously and those specifications are stnngent. Thus, it is required

to develop a new controller that eliminates the task of tuning controller gains to satisfy

multiple sirnultaneous specifications. The MSS control design method has been

developed by Liu and Mills (1998), using a convex optimization approach and

successfully tested on the robot arm control.

A convex optimization approach to design controllers for linear dynamic system

was outlined by Boyd and Barratt (1991). Many design specifications have a simple

convex geometnc property, which allows linear controllers to be analytically derived

using convex theones, Boyd and Banatt (1991). The MSS control design method,

utilized here to control an AC induction motor, is based on the work of Boyd and Barratt

(1991). in this chapter, the bief outiine of ihe MSS control design methodology and

Page 39: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

implementation of the MSS controller to an AC induction motor will be presented

without proof. The reader is referred to Liu and Mills (1998) for details.

Page 40: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

3.2 System Framework Definition

tt is known that any linear time invariant system can be represented by a unifom

frarnework, as shown in Figure 3.1. The system can be represented by the following

transfer matrices in the fiequency domain (Liu and Mills, 1998).

where: ü(s) = actuator input from the controller, U O E 93'"'

W(s) = al1 other inputs to the system, W(S)E flmxl

Y(s) = output signal accessible to the controller, Y(s)E 9lPx'

Z(s) = output signal the designer is interested in, Z(s)a !Ri"

Pz, = transfer matrix fiorn W to 2, P , E !dm Pz. = transfer rnatrix fiom U to 2, Pz,, E

P,, = transfer matrix from W to Y, P , E 93

P,, = transfer matnx from U to Y, P,. E !IlPm

K(s) = controller transfer matrix from Y to LI, K(s) E 8 r*P

H(s) = closed-loop transfer matnx from W to Z, H(s) E 93 lm

Controller K(s) 4

Figure 3.1 : Linear System Framework

23

Page 41: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

Equations (3.1) to (3.3) are combined to obtain the closed-loop transfer function,

denoted by H(s) as:

Page 42: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

3.3 Convex Combination Method and MSS Controller Design

Let us assume that there are n required simultaneous specification values given by,

al. a?, .... a., which quantifies the system closed-loop performance. For example, in a

trajectory following tracking task, steady stcite enor of 2% and percentoge overshoot of

10% could be considered as two simultaneous specification values. Let us further assume

that there are n performance specifications, 41, h, .... #n. Our task is then to design a

controller that satisties the following:

#, Sa, f i = I.2, (3.5)

In other words, multiple simultaneous specifications should be achieved by designing a

sutisfuctory controller, K.@). which satisfies equation (3.5).

To find the satisfactory controller, we must find the combination vector A that

satis fies

If equation (3.6) has a solution, conditions for the existence of which are given in Liu

(1998), then a convex combination of Hj(s) are formed to determine the final closed-loop

transfer matrix H'(s), as given below.

Page 43: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

Since the closed-loop transfer function, H(s), is expressed in equation (3.4), ~ ' ( s ) can be

expressed in the same way as:

w here

and

Then, the satisfactory controller, ~'(s) , which satisfies al1 the required specifications cm

be denved as:

Here, readen should note that not al1 sets of sample controllers would yield a

solution to generate K.(,). Therefore, we need to test the feasibility of sample controllen

before perfoming the convex combination. The feasibility test will be studied in the nexi

section.

Under the assumption that a set of feasible sample controllers are found, it is

guaranteed that there is a solution io equation (3.6) as show below:

where:

Page 44: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

Equation (3.12) can be rewritten as:

From X, obtained from equation (3.14), A, can be calculated from equation (3.13). Now,

~ ' ( s ) c m be calculated from equation (3.9), and ~ ' ( s ) can be obtained from equation

(3.1 1).

Page 45: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

3.4 Feasibility of MSS Problem

In the previous section, it has been discussed that we can perform a convex

combination of 4 ( s ) to determine the final closed-loop transfer matnx ~ ' ( s ) if and only

if equation (3.6) has a solution. Therefore, we need to evaluate the feasibility of the

solution to equation (3.6) before perfoming convex combination with sample controllers.

To test for feasibility of the sample controllers, equation (3.8) should have no satisfactory

solution 11.

w here: 14 ' = [rr 1 Q,. . . . un] @ = [#,, 42.. O , #nlT

Y = [al, a, ..., a,,]*

With n required simultaneous performance speci fications speci fied, n sample

controllers, KI, Kr, .... K,, are selected from any existing linear control design approach.

Le. PID control, PD control, state feedback, etc. Each sample controller. K,, must satisfy

at least one of the required specifications, 6 S ai. Here, we define = #i (Hb as the ilh

specification value under thefh sample controller, 4. Then, the feasibility test can be

done as:

Page 46: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

If there is no such a vector [ur , ..., u,lT, that satisfies the equation (3.16), then the

selected sarnple controllers are feasible for convex combination.

Typically, the coexisting specifications conflict with each other. Hence, if some

or al1 specifications are too stringent, a controller c m o t be found :O satisQ al1

specifications simultaneously. If finding feasible sarnple controllen is difficult, then it is

suggested to relax the required specifications, or try different sample controller structures.

Page 47: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

3.5 MSS Control Method Implementation Realization

and

It was shown that the satisfactory controller, K'(s), which satisfies al1 the required

specifications, c m be derived mathematically. However, this controller is expressed in

the continuous fiequency domain, which is not suitable to apply in real time digital

control. Since the expenmental test-bed on which the MSS controller is irnplemented is a

digital control system using PC for calculation of control law, the controller has to be

discretized From a continuous linear transfer function to a discrete control law to

implement the MSS controller in a digital control system. In this thesis, the most widely

used approach, zero-order-hold (ZOH), has been used for discretization using the Direct

Method (Virk, 199 1) for realization.

Given the controller, K.(@, in continuous transfer function iorm, this is

discretized by using z-transform through ZOH

where Z denotes the z-transfom.

Afler the controller is discretized, a procedure of controller realization coding into

a cornputer algorithm is required. In this thesis, the Direct Method (Virk, 1991) is

employed to achieve this realization. Basicdly, in this method, the controller transfer

function is expressed as the ratio of two polynomials in i' as:

Page 48: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

where: U(z) = z-transformation of U(s), control input

E(z) = z-transformation of E(s), motor position error

Then, the control input can be expressed directiy into computer code as:

where: ti(k) = k? contro! input

e(k) = motor position error

For example, with n = 2, when the discretized MSS controller. ~ ' ( r ) is obtained as

Then, the controller algorithm

can be rewritten as:

Rearrange the equation (3.22) results

Then, the th control input can be expressed as:

Page 49: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

Equation (3.24) i s in a fonn, which c m directly be implemented in a computer

program.

Page 50: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

3.6 Summary

In this chapter, the general description of MSS control design methodology and

implementation to the control problem of an AC induction motor are presented. The

MSS controller is superiot to the conventional controller, such as PID, PD because it

eliminates the need of tuning gains to satisfy multiple simultaneous specifications.

In the MSS control method, sample controllers are selected and combined to

establish the control algorithm. The MSS controller is derived from convex combination.

The feasibility test of' sample controllers is discussed in this chapter. The derived MSS

controller is discretized by ZOH and realized by the Direct Method to implement into

computer prograrnrning code.

The whole procedure of MSS controller design method will be shown in Chapter

8 applied to an AC induction rnotor.

Page 51: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

Chapter 4

Simulation

4.1 Introduction

In this chapter, a simulation model of AC induction motor will be explained.

Currently available commercial software is used to model and simulate a vector-

controlled AC induction motor. A diagram representing the dynamic model of AC

induction motor will be introduced and the structure of the simulation program using

MATLABISIMULiNK will be discussed in this chapter. The simulation results will be

compared to the experimental results in Chapter 7 and Chapter 8.

Page 52: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

4.2 Simulation Software

In this section, software used for simulation is introduced. The electrical as well

as mechanical dynarnic mode1 of an AC induction motor is developed using

MATLABISIMULINK software package. in addition, controllers, such as PID controller

and the MSS controller, are also designed using MATLABISIMULINK software

package. The simulation results are analyzed later for the cornparison purposes to the

expenmental results. The procedure to conduct the simulations is presented in the

Appendix D.

In the simulation programming, S- function-type m- files are employed to enter the

differential equations directly into a block diagram representation of the machine and flux

vector controller. Readers can find the details about S-Functions fiom the manual of

SIMULMK, Wriling S-Functions (The MATH WOMS inc., 1 998).

In this thesis, simulations for the open loop test, the PID controller test, and the

MSS controller test are programmed and tested. Basically, a single simulation project

consists of five files. File named motor-rm is the main S I M U L M file. File named

mot0r.m is parameter definition m-file to speciQ the motor parameters, such as

inductance or resistance of the rotor and stator. Thus, mot0r.m has to be nui before

starting the simulation. Files named in& m and vcontrolm are S- function-type m- files,

which are embedded in SFunction block in the motor-rrn. File named p1otl.m is the

m-file to plot the results of the motor performance, such as produced torque, rotor

position, rotor velocity, and rotor acceleration. MATLAB files are included in the

Page 53: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

Appendix D and diskette with simulation files is included in this thesis. The complete

structure of the simulation mode1 of the AC induction motor will be discussed in the next

section with diagrams.

Page 54: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

4.3 Program Structure

A complete SIMULINK block diagrarn is shown in Figure 4.1 and the subsystems

of the simulation block diagram are descnbed in Figure 4.2,4.3, and 4.4. The simulation

program used in the thesis is from a mode1 presented by Wade, Dunnigan, and Williams

(1 997).

In the simulation program, a full set of differential equations in d-q coordinate

given in equation (2.4) to (2.8), is taken into account as a dynamic mode1 of AC induction

motor.

These differential equations are directly entered into an S-Function m-Ale. An S-Function

block, such as "ind" embedded in I .M. Elec in Figure 4.2 and "vcontrol" embedded in

Vector Controller in Figure 4.4, links the m-file into a graphical block.

Page 55: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

position

' T I * . Position

L 0-4 time 1 Clock Time

u Integrator we

1 - Acceleration I.M. Mech

Derivative

w acceleration

Flux Reference

Figure 4.1 : Vector Controlled AC Induction Motor SJMULMK Block Diagram

The S-Functions are one of the functions of the MATLAB to provide the

derivatives of al1 the states in the model, based on the current time, its input, and its

states. The derivative vector is retumed to the MATLAB integration routine, which uses

it to calculaie a new state vector. From those state vectors, output can be calculated as

well. The ni-file program code of "ind" and bbvcontrol" are included in the Appendix D.

The masked blocks, I .M .Elec, I .M .Mech, and Vector Controller are depicted

in Figure 4.2, Figure 4.3, and Figure 4.4, respectively and the details are explained.

Block I .M. Elec represents electric dynamic model of an AC induction motor. In

Figure 4.2, input 1 and input 2 are voltage input from vector controller, Y, and Vq. Output

1,2,3 and 4 are the stator cunents and the rotor cunents in stator fixed d-q coordinates,

flux

Page 56: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

e , 1 , I d , and 1 . Output 5 is the produced torque, Te. S-Function "ind" contains a

set of differential equations given in equation (4.2) to (4.6).

Block LM. Mech represents mechanical dynarnic mode1 of AC induction motor

given in equation (4.6). in Figure 4.3, the input is the developed torque, Te, and the

output is the rotor angular velocity, oc.

1

MUX ,

i Mux

we

Figure 4.2: I .M. Elec Block Diagram

~arnping

Figure 4.3: I .M. Mech Block Diagram

Page 57: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

Mux

Torque psir

Figure 4.4: Vector Controller Block diagram

+

Block Vector Controller represents flux vector controller. In Figure 4.4, input 1

is the rotor angular velocity, w,. Inputs 2 and 3 are the stator currents in stator fixed d-q

coordinate. 1, and I,,. Input 4 is the reference flux and input 5 is the reference torque.

Output 1 and 2 are voltage input, Y, and Y, to motor electric dynamic model. Output 3

and 4 are the stator currents in rotating D-Q coordinate ID, and I,,. Output 5 is rotor flux

in rotating D-Q coordinates, yl,. Output 3, 4, and 5 are used only for analysis purposes.

S-Function "vcontrol" is designed for flux vector controller. This block perfomis the

function of flux vector controller explained in section 2.2.3.

S-Function Vector Controller

Demux

P

~ont ro l Demux

Page 58: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

4.4 Flux Vector Controiier Design

In Chapter 2, it was shown that the rotor flux, y&, should be controlled to be a

constant value to linearize the dynamic model of AC induction motor. Recall the

equation (2.23).

Ln the simulation, a user designed Flux Vector Controller with PI controller is

employed to control the rotor flux to a constant value, while a commercial Flux Vector

Controller is installed for the linearization of the AC induction motor in the experimental

setup. The original model of the Flux Vector Controller used in this thesis has been

designed by Wade, Dunnigan, and Williams (1 997).

For constant rotor flux output, the MATLAB flux commands are given below.

These values are defined in the motmm file and entered into block ''Flux Reference" in

Figure 4.1.

Flxrt = [O; 0.04; 0.045; 0.51;

Flxrv = [O; 6.3; 0.787; 0.7871;

The plots of flux reference command and the flux output in the simulation are

given in Figure 4.5. Note the high flux reference at beginning, which is then reduced.

This b ~ g s the flux to its rated value very quickly. Since it takes negligibly short time to

Page 59: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

settle down to the steady state flux reference, about 40 milliseconds, the effect of the

transient state can be ignored.

Figure 4.5: Flux Reference and Flux Output

As shown in Figure 4.5, once the flux reach to the steady state, the flux is

controlled to a constant value so that the produced motor torque will be proportional to

the stator current, IV.

Page 60: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

4.5 Summary

In this chapter, a simulation of AC induction motor is introduced. A commercial

software, MATLAB/SIMULINK, used for the simulation is introduced. The structure of

the simulation is also discussed.

For the simulation of AC induction motor, a full set of differential equations is

taken into account as a dynamic model of AC induction motor. Thus, simulation

program includes electrical dynamic model as well as mechanical dynamic model of AC

induction motor. The Flux Vector Controller is also prograrnmed in the simulation.

Based on the simulation model developed in this chapter, appropriate simulation

model with di fferent controller will be designed and tested for the cornparison purposes

with the expenmental results in Chapter 7 and Chapter 8.

Page 61: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

Chapter 5

Experimental Setup

5.1 Introduction

A hi&-speed AC induction motor control system has been developed in the

Laboratory For Nonlinear Systems Control at the University of Toronto, Department of

Mechanical and Industnal Engineering. In this Chapter, the experimental setup is

described. The details of setup specifications are included in Appendix A and the wire

connections among the components are included in Appendix B. A setup modification

has been done to get consistent steady state error and this modification is explained in this

chapter as well.

Software used for experiment is introduced in this chapter. The program code for

experiments and instructions are included in Appendix E.

Page 62: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

5.2 Description of the Experimental Setup

The expenmental setup consists of an AC induction motor, in conjunction wiih a

commercial flux vector drive imer-loop control and a set of inertial loads attached to the

motor drive shafl. Figure 5.1 illustrates the mechanical hardware. Some parts have been

added to the original setup to get more accurate performance results and this modification

is also discussed in the section 5.2.1.

G i Controllet I 1 l

Figure 5.1 : Experimentai Setup

Page 63: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

In this section, every component is described bnefly. The detailed specifications

of the system components are included in Appendix A, and the necessary wire

connections between the components are included in Appendix B. The components of

the system according to the labeling of Figure 5.1 are listed in Table 5.1.

Table 5.1 : Experimental Facility Component S urnmary

Mode1 Number 1 Component

The AC induction motor used for experimentation is a 3-phase, 2-HP induction

motor with a rated speed of 1750rpm and a maximum speed 600ûrpm. An encoder

attached directly to the rotor detects the rotor position with a resolution of 1024

pulses/rev.

The AC induction motor is connected to the sh& by rigid couplings. An inertial

load is attached to the shaft, The load can be added to the shafi or removed from the shaft

to permit different values of moment of inertia.

To drive the AC induction motor, a commercial Flux Vector Controller is used

which is explained in Chapter 2. The Flw Vector Controller is connected to the Galil

Manu fac tuer

ZDNM3669T

H25E-FI -SS- 1024-ABZC-

4469-LED-SM 12-S

ZD 1 8H202-E

DMC-1700

ICM-1900

O1 090-052

AI 8 100-000-0 1

AC Induction Motor

Encoder

Flux Vector Drive

Digital Controller

Interconnect Module

Torque Sensor

Torque Sensor Indicator

Baldor

BEI Industrial Encoder

Division

Baldor

Galil Motion Control, Inc.

Galil Motion Control, Inc.

Durham Instruments

Aries instruments Ltd.

Page 64: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

DMC-1700 digital controller card installed in a penonal computer connected through the

Galil ICM- 1900 intercomect module.

A Galil DMC-1700 digital controller card with input cornmand range as -1OV - +10V is used as an interface card and is used to decode encoder signals, and send an

analogue input cornmand signal to the Flwc Vector drive. A Gailil DMC-1700 digital

controller has a PID control loop embedded inside. However, the cmbedded PID control

loop is bypassed to utilize a different control law used in this thesis. The setting

configuration of the Galili DMC-1700 controller to ignore the embedded PID control

loop is explained in the section 5.2.2. This digital controller is directly installed into the

ISA bus of the penonal computer. A 400MHz personal cornputer is used to compute the

control inputs and to store al1 the data, such as the angular positions, velocities,

accelerations, and control input signais.

A torque sensor is placed in the middle of the shaft to detect the torque developed

by the motor and to send a corresponding value to the indicator in voltages. The torque

sensor is calibrated and used for detemining a torque constant, K, for dynamic modeling

of AC induction motor in Chapter 6.

5.2.1 Experimental Setup Modification

Since the shaft is supported by a set of bearings, the fiction of the bearing affects

the behavior of the motor. One of the significant effects cm be found in steady state

errors. During the closed-loop control experiments, if the control input is not big enough

to overcome the friction of bearings, the results of steady state emr are not consistent.

Page 65: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

Thus, a weight is added to the system by hanging fiom a cable attached to the shafl as

shown in Figure 5.2. This modification gives a resistance torque to the motor due to the

gravitational force on the weight and results more consistent value of the steady state

errors .

AC Induction Motor

Figure 5.2: Expenmental Setup Modification

5.2.2 DMC-1700 Setting

A Gailil DMC-1700 digital controller has a P D control loop embedded inside as

described in Figure 5.3. However, in this thesis, the embedded P D control loop is

bypassed to utilize a different control law used, i.e. the MSS controller. Galil DMC-1700

controller can be configured to ignore the embedded PID controller by setting al1 PID

control gains, K , K,? and KD, to zero. For this procedure, the user simply type "KP 0-i. KI

OJ, KD O-i" on DMC terminal screen or program it in the computer code. Users can find

the detail sequence in Appendix C.3. Once al1 contml gains set to zero, we are able to

develop our own control law and place it as an outer control loop of DMC-1700

controller, such as MSS contmller or PID controller, as shown in Figure 5.4.

Page 66: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

Figure 5.3: Galil DMC-1700 controller with embedded P D control loop

Position input

Position input

Figure 5.4: Galil DMC-1700 controller with outer control loop

+ AC induction motor

0 Rotor position

Page 67: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

5.3 Software

The user program to operate the experiment setup has been developed in C

programming language. Microsoft Visual C++ Version 1.52~ compiler is used to

create the executable computer code. Library routines supplied by Galil Motion Control

Inc. must be included. The complete instruction to operate the rnotor through the

computer program is included in Appendix C.4.

The user program is programmed to interact with user, to compute the control

inputs, and to store the data of the motor, such as control inputs, rotor angular positions,

rotor angular velocities, and rotor angular accelerations.

There are three user prograrns. One is for constant input voltage test, named

const.~, another is for open loop test to estimate motor parameters, named 0pen.c and the

other is for controller test such as, PID or MSS controller, named convex.c. Prograrns are

included in Appendix E with instructions so that reader can refer them for future

modification.

Page 68: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

5.4 Summary

In this chapter, the cornponents of the AC induction motor position control system

experimental setup are described. This system is a demonstration system that enables the

use of proposed MSS control design method. The detail specifications of the system

components are included in Appendix A and the wire connections between the

components are included in Appendix B. A necessary setup modification is discussed.

This chapter also gives an explanation of software for experiments. Complete

instruction of operating motor through cornputer program from building to executing a

project can be found in Appendix C.4. The user programs are included in Appendix E as

weli.

Page 69: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

Chapter 6

AC Induction Motor Dynamic Modeling

6.1 Introduction

Dynamic modeling is a very important aspect in the field of control engineering.

To design a controller for an AC Induction Motor, its dynamic model has to be known

and the parameters of the system have to be determined before one can simulate the

system or conduct the experiments.

In this chapter, dynamic modeling of AC induction motor will be addressed. We

will develop a simplified linear dynamic model of the AC induction rnotor considering

some important characteristics of the set up. Lastly, the AC induction motor model in

block diagram form will be discussed in this chapter.

Page 70: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

6.2 Dynamic Model of AC Induction Motor

In Chapter 2, it was shown that the dynamic model of an AC induction motor is

represented by a set of ordinary differential equations that consists of four electrical

equations and one mechanical torque equation. In the AC induction motor control

literature, this electromechanical dynamic modeling is commonly used for controller

synthesis. Unfortunately, the MSS control design rnethod cm be applied to only lincar

dynamic systems, as explained in Chapter 3. Therefore, to utilize the MSS control design

method to AC induction motor position control experiment, we have employed a linear

dynamic model of the AC induction motor, through the use of a flux vector control, as

given in equation (2.23). Applying the flux vector control scheme to the AC induction

motor results in linear dynamic modei. We further sirnplified the equations of motor by

ignonng the high fiequency electrical dynarnics leading to only a single equation

describing the motor mechanical system. In the expenmental setup, this linearization is

achieved by using a commercial flux vector drive in an inner control loop.

The resultant simplified linear dynamic model of the AC induction motor is given

below,

~ ë + s e = ~ , v (6. 1 )

where: K r = effective torque constant (N-mN)

V = input command voltage (V), proportional to 1,

This dynamic model in equation (6.1) will be used for the MSS control method

experiments .

Page 71: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

6.3 Motor Torque Constant

In this section, determination of the torque constant, K, in equation (6.1) is

explained. For detemination of the torque constant, a commercial torque sensor

(Durham Instruments, Model No. 01090-052) has been used. The torque sensor

calibration procedure is described here as well.

6.3.1 Torque Sensor Calibration

A torque sensor is a device that detects induction motor torque using a strain

gauge sensor. A strain gauge produces a small voltage proportional to the torque applied

and the voltage is displayed at the indicator. In this thesis, a commercial torque sensor

has been used to estimate the torque constant, K .

Before the user conducts any experiments with the torque sensor (Durham

Instruments, Model No. 01090-052), a "zero calibration" with zero output reading with

zero torque applied and a "span calibration" giving a know output value when a known

torque is applied, must be conducted on the Torque Sensor Indicator (Aries instrument

Ltd. Model No. AI 8 100-000-01).

The "zero calibration" has been perfocmed with no measurand Le. torque. Zero

reading is achieved by adjusting the "C" (coarse) and "F" (fine) potentiometers at the

front panel of the indicator as shown in Figure 6.2.

Page 72: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

(a) Zero calibration (b) Span calibration

Figure 6.1 : Zero Calibration and Span Calibration of Torque Sensor Indicator ( -eies Instrument Ltd. Model No. -41 8 100-000-0 1 )

Figure 6.2: Torque Sensor indicator Front Panel

Having zeroed the unit successfully, a mass supported by a rod, extending fiom

the cylindrical load is used for "span calibration". A known torque is produced by the

extension load when a rod is attached to the inertial load, The rotor is locked so it could

not tum when the load is released at a horizontal position with respect to the motor rotor

as s h o w in Figure 6.3. The dimensions of the loads and extension rods are given in

Figure 6.4. The extension loads produce a constant torque due to gravity, of 19.5 N-m

and 12.1 N-m. respectively. With the torque sensor unit set arbitrarily to a gain of 6.78

N-mN, the output voltage corresponding to 19.5 N-m and 12.1 N-m are 2.876 1V and

1.785V, respectively. Table 6.1 conhns that both "zero calibration" and "span

calibration" were pedormed successfully. The average calibration values are obtained

nom the experiments conducted seven times with 5% of deviation for al1 of them.

Page 73: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

Table 6.1 : Zero Calibration and Span Calibration Data

Figure 6.3: Extension Load and Torque Sensor

Average (V) - 0.0042

2.8998

1.7955

Rod weight: 1.22kg 0,076 Cube weight: 3Skg

Gravitational torque: 1 9.5 N-rn Output voltage: 2.876V

4- 0.305

Rod weight: 1.6 1 kg Cube weight: 3.5kg

Gravitational torque: 12.1 N-m Output voltage: 1.78SV

Expected (V) O

2.876 1

1.785

Calibration Zero

Figure 6.4: Load Extension Rods Dimension

56

s ~ a n Long rod Short rod

Page 74: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

6.3.2 Motor Effective Torque Constant

Note in equation (6.1) that the motor dynamic mode1 includes a term, Kr , which

relates the applied input voltage to the flux vector controller to the current 1,. This

"effective torque constant" must be detemined. To determine the motor effective torque

constant, a set of input command voltages, kO.SV, +IV, and k W , is applied to the motor

with the ineniai load held fixed. The torque measured with this approach, using a

calibrated torque sensor, is shown in Table 6.2.

With these data, a linear least squares regression is employed to determine the

Applied input voltage (V)

Torque (N-m)

effective torque constant as Kr = 2.194 N-mN. The result of regression is shown in

Figure 6.5.

Table 6.2: Motor Torque vs. Applied Input Command Voltage

-2

-4.426

Applied Input (V)

Figure 6.5 : Motor Torque vs. Applied Input Cornmand Voltage

- 1

-2.157

1

2.178

-

-0.5

-1.099

- 3

4.374

O. 5

1.101

Page 75: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

6.4 Determining the System Dynamic Parameters

In this section, we discuss estimation of the dynamic parameters of the

mechanical mode1 of the AC induction motor using linear least-square estimation

method. Those parameters are moment of inertia of the rotor and the load, J, and

darnping coefficient, B.

6.4.1 Linear Least-Square Estimation

A linear least-square estimation method employed to estimate the dynamic

parameters of the AC induction motor, Le. J and B in equation (6.1). is introduced in this

section. Let us suppose that an r-dimensional vector, X, representing r parmeters to be

deterrnined and an n-dimensional vector, 2, representing n measurements are given.

Then the relation behveen X and Z is

where Q is a n x r matrix, which is known, and E represents unknown enors that occur in

the measurement (Sorenson, 1980). The estimated value, k, is defined as to minimize

the sum of the square of the errors, Es, with the given data, Z and Q, where

Since the objective is to minimize, E,, the following equation must be satisfied.

Page 76: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

To isolate X from equation (6.4), rewrite the equation (6.4) as:

~ ' ( 2 - p k , = O

then x is given by,

The estimated X value can be obtained from equation (6.6) with known Q and Z

from physical experiments. In Our case, r = 2, corresponding to two unknowns. J and B

and n = 4000, corresponding to the number of data collection.

6.4.2 Motor Parameter Estimation

Now, we need to determine the parameten of the dynamic mode1 of the AC

induction motor and load as given in equation (6.1). Note, in equation ( 6 4 , that J

represents the moment of inertia of the motor rotor and the inertial load. The damping

coefficient, B. represents viscous Wction of the motor due to the bearing fiction.

Let us make use of the linear least-square estimation algorithm discussed in

section 6.4.1 for the AC induction motor parameter estimation. The estimated moment of

inertia, j , and the estimated effective damping coefficient, B , can be found by applying

a senes of twenty pseudo random input command voltages to the motor and measuring

4,000 rotor position every 2.5 rnillisecond. The velocity and the acceleration of the rotor

are estimated h m the rotor position data.

Page 77: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

We rewrite equation (6.1) for our experimental setup as:

Cornparhg equation (6.2) and (6.7) defines the variables as:

Substituting equation (6.8) into equation (6.6) results the estimated value of j and B .

6.4.3 Parameter Estimation Simulation

Simulation was conducted for parameter estimation. A mode1 developed in

section 4.3 using MATLABlSIMULiNK was used for the simulation. A series of twenty

pseudo random input conunands are,

These input command are used for experiments as well.

The input command voltages, the rotor position, the rotor velocity, and the rotor

acceleration of simulation are depicted in Figure 6.6. j and B are determined to be

0.0623 kg-m2 and 0.0103 kg-m2/sec respectively in the simulation.

Page 78: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

Figure 6.6: Simulation of AC Induction Motor with Pseudo Random Control Inputs (a) Applied input (V) (b) Rotor position (rad) (c) Rotor velocity (radlsec) (d) Rotor acceleration (rad/sec2)

6.4.4 Parameter Estimation Experiment

Expenments were conducted for parameter estimation. For expenments, user

program 0pen.c is developed, which is included in Appendix E. The input command

voltages, the rotor position, the rotor velocity, and the rotor acceleration of expenment

are shown in Figure 6.7. The angular velocities and accelerations are calculated from the

angular positions using a Kalrnan filter algorithm embedded in the user program.

Page 79: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response
Page 80: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

6.5 AC Induction Motor in Block Diagram Form

The AC induction motor, with inner flux vector controller, transfer function in the

frequency domain, is obtained by substituting the parameten estimated in section 6.4 into

equation (6.1) to give

where: O (s) = Position of the rotor, 8 (t) in Laplace Transform domain

T (s) = Motor torque. s (t) in Laplace Transform domain

In the complete system model, the effective torque constant, K, is included in the

system transfer function. Therefore, block diagram given in tram fer function form of the

entire system is depicted in Figure 6.8.

Input Command Voltage ( V(s)) ____i ~~IZ~(I.-~ Js- + Bs

Position( 8 (SI

Figure 6.8: Block Diagram of the AC Induction Motor Dynamics

Here. we define the system transfer function, P(s), in frequency domain as:

Based on the estimated motor parameters, K, j , and & , and considering the block

diagram in Figure 6.8, the transfer funetion of the system, P(4, is obtained as:

Page 81: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

A schematic block diagrarn mode1 of the system dynarnics is shown in Figure 6.9.

Input Command 35.33 Position ( Ws) Voltage ( V(s))

Figure 6.9: The AC induction Motor with Inner Flux Vector Controller Transfer Function

The dynamic mode1 in Figure 6.9 will be used for the MSS control design method

in Chapter 8.

Page 82: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

6.6 Summary

In this chapter, estimates of inertia and damping coefficients of the motor and the

load as well as the effective AC induction motor torque constant under Flux Vector

Control are obtained through linear least-square estimation. An assumption made when

the estimation is performed, is that the dparnic parameters of the motor do not change

during the penod of data collection.

In the process of modeling, the dynamic model of the motor developed contains

both the AC induction motor and the flux vector controller. Thus, the overall system

transfer function has become linear dynarnic model. This linear dynamic model of the

AC induction rnotor will be used for the future experiment of the MSS control design

rnethod.

The dynamic models of the AC induction motor will be tesied and verified by

closed-loop simulations and expenments in the following chapten.

Page 83: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

Chapter 7

Motor Control with PD Controller

7.1 Introduction

In this chapter, PD controller is tested on the AC induction motor.

The simulation model of AC induction motor developed in Chapter 4 is used to

test the PD controller. The expenments are also conducted and the results will be

compared to the simulation results. The experimental setup is described in Chapter 5.

nie purpose of simulation is to compare the results with the experimental results

and study how accurate the simulated model is. In the simulation presented in this

chapter, the dynarnic model of the motor does not include disturbances and noises.

Therefore, the simulation results are not expected to be exactly the same as the

expenmental results. However, the dynarnic model of the motor can be verified that

only small deviation exists.

Page 84: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

7.2 Simulation of Step-Input Response

The PID controller is embedded in the simulation program as shown in Figure

7.1.

position

EEl+ Position

r""""""" acceleration O ! Flux Reference

I - I

Vector Controller

flux

I l

sum emor l control input Step Input : PID Controller :

Figure 7.1 : Vector Controlled AC Induction Motor SiMULZNK Block Diagram wi th

PID Controller

7.2.1 Setup Modification Dynamic Mode1

Let us consider the expenmental setup modification described in section 5.2.1.

The weight added to the systern by hanging nom a cable is attached to the shafi to give a

resistance torque to the motor. The dynamic model of this modification should be

Page 85: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

included in the dynamic model of AC induction motor in the simulation. Figure 7.2

shows the fiee body diagram of a weight attached to the shafi with a cable.

AC Induction Motor

Shaft

Weight 2 Figure 7.2: Free Body Diagram of System Modification

Recall the mechanical dynamic model equation from equation (6.1).

When the motor shaft rolls up the cable, the weight gives a resistance due to its weight

Thus, the dynamic model equation becornes and the acceleration.

ieight (1 where: rn = H cg)

g = gravitational acceleration (m/sec2)

r = radius of motor shaft (m)

and

where: JI = J + mr2

Page 86: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

In equation (7.3), it was measured that m = lkg, g = 9.8 m/sec2, r = 0.019m, and J =

0.0624 kg-m2. Equation (7.3) is modeled in the block I.M. Mech simulation model as

depicted in Figure 7.3.

1 sum l

Damping

Figure 7.3 : Block Diagram 1.M. Mech in the Simulation Mode1

This mechanical model will also be used for the MSS controller simulation in Chapter 8.

7.2.2 Simulation Results

In the simulation, the PD controller is used. Two sets of the PD gains are chosen

as Kpi = 7 Volthad, KclI = 0.55 Volt-sechad and Kg = 9 VoltIrad, Kti2 = 0.5 Volt-sechd.

The simulation results are shown in Table 7.1 and the plots are depicted in Figure 7.4 and

7.5.

Table 7.1 : Simulation Results of Motor Performance with PD controller

69

Percentage overshoot (%)

7.3 8

15.5 1

f

PD controller 1 (KpI=7, KdI=û.55)

PD controller 2 (K$=9, Kdf0.5)

Steady state error (rad)

0.0121

0.0094

Page 87: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

III 1

Figure 7.4: Simulation Results of KpI = 7 Volthad and Kdl = 0.55 Volt-sechad (a) Control input (volts) (b) Rotor position (rad) (c) Rotor veloci ty (ra#sec) (d) Rotor acceieration (rad/sec2)

Page 88: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

Figure 7.5: Simulation Results of Kpl = 9 Volthad and Kdl = 0.5 Voleseclrad (a) Control input (volts) (b) Rotor position (rad) (c) Rotor velocity (radsec) (d) Rotor acceleration (rad/sec2)

Page 89: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

7.3 Experiment of Step-Input Response

In this section, the results of step-input response of the AC induction motor are

presented. User program, convex.c is developed to test the motor in a closed-loop step

response test. Note that coavex.c is prograrnmed for both the PID controller test and the

MSS controller test as explained in Chapter 5. The instructions to switch between the

PID controller and the MSS controller with the source code are given in Appendix E.

The program prompts the user with options to select gains and the desired angular

position.

In the experiments, PD control is used. Two sets of the PD gains are chosen,

which are the same as in the simulations, KPi = 7 Volt/rad, Gr = 0.55 Volt-seclrad and

Kp2 = 9 Voltkad, Ka = 0.5 Volt-sechad. The Experimental results are s h o w in Table

7.2 and the plots are depicted in Figure 7.4 and 7.5. By comparing Figure 7.6 to 7.4 and

Figure 7.7 to 7.5, both results are very similar to each other.

Table 7.2: Experimental Results of Motor Performance with PD controller

PD controller 1 (Kpl=7, Kdl=OSS)

PD controller 2 ( K p r 9 , &=OS)

Steady state error (rad)

0.01 39

0.0108

Percentage overshoot (%)

2.6

9.8

Page 90: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

tirne( sec)

Figure 7.6: Experimental Results of Kpl = 7 Volthd and Kdl = 0.55 Volt-sechad (a) Control input (volts) (b) Rotor position (rad) (c) Rotor velocity (radsec) (d) Rotor acceleration (rad/sec2)

Page 91: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

Figure 7.7: Experimental Results of K' = 9 Volthad and KJ2 = 0.5 Volt-seclrad (a) Control input (volts) (b) Rotor position (rad) (c) Rotor velocity (radsec) (d) Rotor acceleration (radlsec2)

Page 92: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

7.4 Uncertainties in AC Induction Motor Modeling

It was shown that the results between the simulation and the experiments are very

similar to each other. However, by comparing the values of Table 1 and Table 2, there

are slight differences in steady state error and percentage overshoot between the

simulation results and the experimental results. These mismatches of the results between

the expenments and the simulations are caused by some uncertainties in AC induction

motor, which are not considered in the dynarnic modeling of the simulation. The possible

causes are rnodel parameter uncertainties, nonlinear effects of DMC-1700 controller,

unknown the Vector Controller model, disturbances and noises.

7.4.1 Mode1 Parameter Uncertainties

The inertia of the rnotor rotor and the loads, j , and the damping coefficient, B ,

used in the simulations are estimated of the motor txue values. They are obtained in

Chapter 6. It is valid to Say that j and B are never the same as the true values J and B.

Therefore, differences in simulation and experimental results exist.

7.4.2 Nonlinear Effects of DMC-1700 Controller

As discussed in Section 4.2, the range of the input command voltage of the DMC-

1700 controller is restricted such that minimum control input is -lOV and the maximum

control input is +lOV. in Figure 7.7, the plot of the control input shows that the control

input has saturated at the maximum value, +10V, for roughly 10 milliseconds while the

Page 93: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

control input in the simulation could exceed +10V. This nonlinearity of the DMC-1700

controller could cause the difference between the simulation and the experimental results.

7.4.3 Flux Vector Controller Mode1

In Chapter 4, it was mentioned that the simulations employ the Vector Controller

mode1 prcviously programmcd by Wade, Dunnigan, and Williams (1997). The PI

controller is embedded to set the rotor flux to a constant value. Unfortunately, for the

commercial Flux Vector Controller (Baldor, ZDNM3669T), the exact model of operating

system is not known. Thus, it is possible for the commercial Flux Vector Controller to

employ a different flux vector control scheme fiom the one used for the simulations.

Especially, the flux reference value initially could be differently set in the commercial

Flux Vector Controller. The inexact model of Flux Vector Controller could cause the

difference between the simulation and the experimental results.

7.4.4 Unknown Disturbances and Noises

90th the AC induction motor with the Flux Vector Controller and the DMC- 1 700

controller card are examined and proven to be working perfectly. The cables of the

motor are shielded to eliminate any possible noises. However, noises exist virtually in al1

electronic components. These unknown disturbances and noises simply cannot be

included in dynamic modeling without complicated mathematics. The difference

between the simulation and the experimental results could be from these unknown

disturbances and noises.

Page 94: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

7.5 Summary

Both simulation and experimental results of step-input response of the motor have

been discussed in this chapter. The cornparison of results between the simulation and the

experiments shows that the experimental results follow the simulation result very ciosely.

rhus. it is verified that the simulation mode1 is accurately designed and can be used for

future study.

The analysis of the slight difference between the results of the simulation and the

experiments are presented. We have concluded that model parameter uncertainties,

nonlinear effects of DMC- 1 700 controller, unknown Flux Vector Controller model,

unknown disturbances, and noises cause the difference between the simulations and the

experirnents.

Page 95: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

Chapter 8

Motor Control with MSS Control

8.1 Introduction

In this chapter, the MSS controller is designed using the procedure introduced in

Chapter 3. Basically, MSS controller design process can be done in two steps given by

Liu and Mills (1998). Step 1 is sample controllers selection and Step II is combination of

sample controllen. The MSS controller will be designed mathematically through this

two step process.

Numencal examples of the sample PD controllers, the MSS controller, and the

performance specifications for the MSS controller design method will be shown in this

chapter by following the overall procedute as well. The MSS controller is then applied to

an AC induction motor control. Both simulation and experiment are conducted to ver@

the effectiveness of using the MSS control method to meet multiple simultaneous

speci tications.

Page 96: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

8.2 System Framework Representation

Recall the equations (3.1) to (3.3) as:

If we assume that the controller is PD type, then. we can define:

where: 0" = actual rotor position (rad)

8'' = desired rotor position (rad)

e = B - B ", the position error (rad)

V = input command voltage (volt)

K, = proportional gain (volthad)

Kd = derivitive gain (volt-seclrad)

Substituting equations (8.4) to (8.8) into the unifortn framework of equation (8.1), we

obtain

Page 97: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

where: P(s) = the motor dynamic model, equation (5.16)

Equations (8.9) to (8.1 1 ) represent transfer matrices of the system given by equation

(5.16) in the frequency domain.

Page 98: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

8.3 Desired Performance Specifications and Sample Controllers Selection

We now carry out Step I of the MSS control design procedure. Step I of the MSS

control design is selecting sample controllers and testing the selected sample controllers

to ensure that those sample controllers are feasible to use for MSS controller design.

To design and test the MSS controller, we chose a step response as the reference

input for the expenment. Steady state error and percentage overshoot are chosen as

simultaneous performance specifications. These specifications are defined as:

Note. these specifications conflict with each other, Le. smaller steady state error leads to

greater ovenhoot and smaller overshoot leads to greater steady state error. We define the

performance specifications, written in terms of the closed-loop transfer functions as

follows:

To satisfy these two closed-bop performance specifications, two PD sample

controllers are selected, with the closed-loop performance data given in Table 8.1. Table

8.1 shows that each sample controller satisfies at least one required specification.

Page 99: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

1 Steady State Error 1 Percentage Overshoot 1

Table 8.1 : Required Specifications and Expenmental Performance Specifications of Sarnple Controllers

Required Specifications

Sample Controller 1 (Kp1=7, &i=0.55)

Sarnple Controller 2 (Kp2=9, Kdz=OS)

With these two sample controllers selected, we carry out the procedure of

feasibility test. As discussed in section 3.4, we need to test if these two sample

controllen are feasible for convex combination. Recall fiom equation (3.14) that if there

exists a vector. u, such that

(rad)

ai = 0.01 245

h i = 0.0139

b2 = 0.0108

min ur # > uT Y H

(%)

a2 = 6

hi = 2.6

h2 = 9.8

For our case. equation (8.16) represents

and

Equations (8.17) and (8.18) can be rewritten as:

Page 100: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

Equation (8.19) and (8.20) cm be expressed in matrix form as:

Substituting values from Table 8.1 into equation (8.21) and using the linear programming

software in ~ a t l a b ~ ~ ûptimization Toolbox result that there is no solution that satisfies

equation (8.2 1). In other words, it is proven that the selected two PD sample controllers

are feasible for the MSS controller design to satisfy two required specifications

simultaneously. Therefore, the MSS controller design procedure will be illustrated with

these sample controllen in section 8.4 to 8.6.

Page 101: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

8.4 Combination of the Sample Controllers

With two feasible sample controllers selected, we now cary out Step II of the

procedure. Step II of the MSS control design is combination of the sample controllers.

Recall the equation (3.6) to find the combination vector A that satisfies

For our case, equation (8.22) represents

If we define the combination vector, A as:

then, equation (8.23) becomes

Substituting values 60m Table 8.1 into equation (8.26) and solving the equation with a

linear programming algorithm h m ~ a t l a b ' ~ (1 W6), gives the solution as:

Page 102: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

and, therefore, the combination vector, A, can be obtained as:

Page 103: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

8.5 MSS Controller Determination

With the combination vector, A. given in (8.28), it is now possible to design the

MSS controller. Recall the PD controller form of the sample controllers from equation

(8.8), Le. K(s) = Kp(s) + &(s) S. In a similar way, we define the form of the MSS

controller as follows, where the * denotes the MSS controller:

The detail procedure of MSS contmller design from the combination vector, A. is

outlined in Cho (1998). Reader should read Cho's thesis for completeness. Following

the procedure results the MSS controller gains as follows:

Note that the achieved MSS controller given in equation (8.30) and (8.3 1) is in frequency

domain which is not appropriate to apply in real time control. In next section,

descntization and realization of the MSS controller given in (8.30) and (8.31) will be

discussed.

Page 104: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

8.6 MSS Controller Discretization and Realizatioo

To implement the MSS controller in real time control, the controller must be

descritized as discussed in section 3.5. By using the ~ a t l a b ~ ~ Control System ToolBox

(1 992), ~''(s) and &*(s) (the MSS controller expressed in the Frequency domain) can be

transformed into K,'(z) and &*(I) (the MSS controller in the sample domain) using the

Zero Order Hold method, Virk (1 99 1). The discretized convex controller tenns

corresponding to equation (8.30) and (8.31) with a one millisecond sampling time, are

given as:

Then the control algorithm is

u(k) = 1.05e(k) - 2.0924e(k - 1) + 1.0424e(k - 2)

+O.OS5 (k) - O. 1097 (k - 1) + 0.0547 (k - 2)

- (-i.9944u(k - 1) + 0.9945u(k - 2))

Page 105: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

8.7 Simulation Results with MSS Control Method

Equation (8.34) is implemented in software to perform simulation of the MSS

control method. The MSS controller is embedded in the simulation program as shown in

Figure 8.1. The masked blocks KP', K d * , and inputs are descnbed in Figure 8.2 to 8.4.

O time 1 Clock Time - - id^ 1

cuvent

,O b ids pl

Vector Controtter I;'

flux

7 1

.I + 1 I

Step Input ++ ihput command 1 1

- 1 KP' r Suml hputs

voltage : 1

: d d u / d k I I

1

MSS 1 t

1 1

I Controller :

Figure 8.1 : Vector Controlled AC Induction Motor SIMULINK Block Diagram with

MSS Controller

Page 106: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

Block KPb is depicted in Figure 8.2. The input is the motor position error and the

output is K,'. Block Memory has a fùnction to hold the values for one time of iteration.

Thus, previous error signal can be held and added to the current error.

error

Memory

Memoryl K P ~ LI Surn

Figure 8.2: Kpa Block Diagram

Block K d * is depicted in Figure 8.3. The input is the derivative of the motor

position error and the output is &*.

E derivative

of error (de) - Memory KdZ

-.m+ de(k-2 + Memoryl Kd3

Sum

Figure 8.3: K d * Block Diagram

Page 107: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

Block inputs is depicted in Figure 8.4. Input is the sum of K,' and and the

output is the final input cornmand voltage of MSS controller to the AC induction motor.

w Memory

MSS controller final input

cornmand voltage

Memory 1

Figure 8.4: inputs Block Diagram

With the simulation program described above, a simulation of AC induction

rnotor position control with the MSS controller was conducted. Figure 8.5 illustrates the

simulation results of the control input, position, velocity, and acceleration time responses

of the motor and inertial load under the MSS controller.

The MSS controller gives us following results:

hUSE.) = 0.0120 rad < ai = 0.01245 rad

hco.s., = O % < C Y ~ =6 %

satiswng the two simultaneous performance specifications given by equation (8.35) and

(8.36).

Page 108: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

Figure 8.5: AC Induction Motor Simulation of Step Response under MSS Controller (a) Control input (volts) (b) Rotor position (rad) ( c ) Rotor velocity ( d s e c ) (d) Rotor acceleration (rad/sec2)

Page 109: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

Experimental Results with MSS Control Method

With the MSS controller determined, experiments were conducted to determine

the closed-loop performance of the AC induction motor. Wiih the step response test, we

fourid that the MSS controller given by equation (8.32) and (8.33) gives us following

results:

#lcssE.l = 0.0028 rad < ai = 0.01245 rad

h (os, = 3.2 % c = 6 %

satisfying the two simultaneous performance specifications given by equation (8.37) and

(8.38). Figure 8.6 illustraies the step responses of the two sample controllen and the

resultant MSS controller. It is s h o w that the MSS controller satisfies both specifications.

Note that sarnple controller 1 and 2 satisfies only one required specification each. Figure

8.7 illustrates the control input, position, velocity, and acceleration time responses of the

motor and inertial load under the MSS controller. As it is s h o w in Figure 8.7, the

experiment of the MSS controller gives us greatly similar results as the result of the

simulation shown in Figure 8.6. This fact confirms that the simulation was properly

modeled and the MSS controller was successfully designed in both simulation and

expenment.

Note, in Figure 8.7, that the control input is saturated at the +10V, for roughly 10

rnilliseconds. This observable fact is caused by the charactenstic of the DMC-1700

controller that is the restricted range of the input command voltage in minimum, -10V,

Page 110: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

and the maximum, +10V. Since 10 milliseconds is a negligibly short period, we ignore

this effect.

1 . Sample controller 1 (Kpl = 7 Voltkadian, Kdl = 0.55 Volt-seclradian) 2. Sarnple controller 2 (Kp2 = 9 Volt/radian, KdZ = 0.5 Volt-sedradian) 3. MSS controller

Figure 8.6: AC Induction Motor Position versus Time under Sarnple Controllers and MSS Controller

Page 111: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

O O 5 1 1 5 2 2 5 tim sac)

l 1 1

1

-300 1 , , 1 O 0 5 1 1 5 2 2 5

tim a(sec)

Figure 8.7: AC Induction Motor Experiment Step Response under Convex Controller (a) Control input (volts) (b) Rotor position (rad) (c) Rotor velocity (rad/sec) (d) Rotor acceleration (rad/sec2)

Page 112: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

8.9 Summary

In this chapter, the MSS control method is used to denve a new MSS controller.

A numencal design example was given to illustrate an entire procedure for MSS

controller design method with step input as the reference input. Steady state error and

the percentage overshoot were chosen as multiple conflicting specifications.

Both simulation and experiment were conducted and the results were compared

with the MSS controller. It was shown that the results of simulation and the experirnent

are very similar to each other.

Page 113: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

Chapter 9

Concluding Remarks

9.1 Summary

This thesis addresses the application of the MSS control design method as an

outer position-loop, applied to an AC induction motor, with a flux-vector imer control-

loop, to treat multiple simultaneous conflicting specifications. It is s h o w that the

proposed MSS control design method is straightfonvard and easily implemented on an

AC induction motor.

We have employed a greatly simplified dynarnic model of the AC induction

motor. The simplification of the AC induction motor dynamic model is achieved through

the use of a commercial flux vector controller applied to the AC induction motor. Use of

the Flux Vector Controller permits the nonlinear electrical dynarnics of the AC induction

motor to be simplified so that it is possible to directly apply the MSS control design

method. A simple mechanical model of the AC induction motor is used to design the

MSS controller.

Page 114: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

The MSS controller, based on the simplified dynamic mode1 of the motor, is

designed to achieve two confiicting simultaneous performance specifications. The MSS

controller design procedure can dramaticaily reduce the effort to design a controller when

compared with the effort to design a single controller to meet multiple simultaneous

performance specifications. While finding sarnple controllers is still challenging, this

task is rniich simpler than that of tuning a single set of controller gains to meet a set of

multiple simultaneous conflicting performance specifications. The proposed MSS

control designed is verified through simulations and experiments. Both simulations and

expenmental results clearly confirm that the proposed control method is able to satisfy

multiple simultaneous specifications successfully.

Page 115: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

9.2 Recommendations for Future Work

Based on the work rcported in this thesis, the following topics could be studied in

future works:

1. Experiments and simulations can be conducted to investigate the performance of

the linear positioning system with additional performance specifications such as

rising time or settling time, which are also considered as typical performance

speci fications.

2. The linear positioning table can be attached to the AC induction motor to simulate

the Surface Mounting Technology (SMT) machines more exactly and tested with

the MSS control method. Furthemore, a multiple-axis positioning system cm be

developed and the MSS control method is applied for stabilizing the system and

satisfying desired performance specifications simultaneously.

3. The MSS control method can be directly adopted for controlling SMT currently

available in the Laboratory for Nonlinear System Control, Department of

Mechanical and Indusaial Engineering, University of Toronto. For the

experiments, circuit boards can be populated with IC or silicon chips at high

speed and great precision.

Page 116: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

Bibliography

h i e s Insirurnrnts ltd., The Strcrin Guuge: Chunieleon, 1992.

Atkinson, D.J., Acamley, P.P., Finch, J.W.. "Observen for induction motor stat

and parameter estimation", IEEE Trans. Ind. Appiicat.. vol. 27, no. 6. pp. 1 1 19

- 1127, 1991,

Baldor Motors and Drives., Series 18H AC Flux Vector Control, 1997.

Blaschke, F . , "Das prinzip der fieldonentierung, die grundlage fur der

transvector-regelung von asynchronmachinen", Siemens Zeitschrfl, pp. 757,

1971.

Boyd, S.P., Barratt, C.H., Linear Controller Design: Limits of Per/ormunce.

Prentice-Hall, Inc., New Jersey, 199 1.

Chen, T.C., Hsu, J.U., "Fuzzy sliding mode controller for induction motor

position control", IEEE IECON Proceedings, vol. 1, pp. 44 - 49, 1994.

Cho, D., Multiple Simultaneous Spec$cation Control of Brushless D. C. Motor

and High-speed Linear Positioning Systent. M.A.Sc. Thesis, Department of

Mec hanical and Industrial Engineering, University of Toronto, 1 998.

Dawson, D.M., Hu, J., Burg, T.C., Nonlinear Control of Eiectric Machinery,

Marcel Dekker, Inc., New York, 1998.

Finch, J. W., Atkinson, D.J., Acamley, P.P., "Scalar to Vector: General Principles

of Modem Induction Motor Control", Fourth International Conference on Power

Electronics and Variable-Speed Drives, pp. 364 -369, 1 990.

10. Galil Motion Control inc., Command Refeence, 1997.

1 1. Galil Motion Control hc., DMC - 1700, 1997.

12. Ho, E.Y.Y, Sen, P.C., "Decouplhg Control of Induction Motor Drives", IEEE

Transactions on Industrial Electronics, vol. 3 5 , no. 2, pp. 25 3 - 262, 1988.

Page 117: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

13. Kokotovic, P., Khalil, H., O'Reilly, J., SNtgular Perturbation Methods in

Control: Analysis and Design. Academic, 1986.

14. Liu, H.T., Mills, J.K., "Robot trajectory control system design for multiple

simultaneous speci fications: theory and expenrnentyT, ASME J. Dynamic Systems,

Meas. And Control, vol. 120, pp. 520 - 523, December 1998.

15. Mixon, A., "induction Motor Control with Variable Frequency", Control of

Po wer Svstems Con ference, Con ference Record, pp. 48 - 5 3, 1 9 84.

16. Sensor Developments Inc., Modulor Torque Sensor, 1987.

17. Sorenson, H. W., Parameter Estimation: Principles and Problems, New York:

Marcel Dekker Inc., 1980.

18. The MATH WORKS Inc., Control System Toolbox, 1992.

19. The MATH WORKS tnc., MATLAB for Windows, 19%.

20. The MATH WORKS Inc., Writing S-Functions, 1998.

2 1. Tiitinen, P., Pohjalainen, P., Lalu, J., "The next generation motor control method

- Direct torque conrol, DTC", froc. EPE Chapter Symp., Lausanne,

Switserland, 1994.

22. Trzynadlowski, A.M., The field orientation principfe in control of induction

ntotors, Klewer Academic Publishes, 1994.

23. Vas, P., Vector control of AC Machines, Oxford Univ. Press, London, 1990.

24. Virk, G.S., Digital Computer Control Systems, Macmillan Education Ltd,

London, 199 1.

25. Vukosavic, S.N., Stojic, M.R., "On-line tuning of the rotor time constant for

vector-controlled induction motor in position control applications", IEEE

Transactions on Industrial Electronics, vol. 40, no. 1, pp. 130 - 138, 1993.

26. Wade, S., Dunnigan, M.W., Williams, B.W., "Modeling and Simulation of

induction Machine Vector Control with Rotor Resistance Identification", IEEE

Transactions on Power Electronics, vol. 12, no. 3, pp. 495-506, 1997.

Page 118: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

Appendix A

Component Specifications

In this appendix, the specifications of the components are presented. User or

interested readen should read the component manuals for full details. The components

manuals are available in Laboratory of Nonlinear Control System at Department of

Mechanical and Industrial Engineering, University of Toronto.

Page 119: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

A. 1 AC induction Motor Specitications

Motor data is depicted in Figure A.1 as shown below. Information c m be found

from the web site of "Baldor Motors and Drives", http://www.baldor.com/information.

CATALOG DATA

CATALOG ITEM: ZDNM3669T EFF @ FULL LOAO: 84 HORSEPOWER: 2 VOLT CODE: F

RPM: 1725 SHIPPING WEIGHT: 97 NEMA FRAME: 182TC MULTIPLIER SVM: Al

TYPE: 0628M LIST PRICE: 1534 "Cm DIMENSION: 18.91

MOTOR DATA

VOLTAGE: 230/460 ENCLOSURE: TENV FULL LOAD AMPS: 5.R12.9 MOUNTING: F1

PHASE: 3 BASE: RG HERTZ: 60 D.E. BEARING: 6206 POLES: O4 O.D.E. BURING: 6205 CODE: 04 ROTAïION: R

DESIGN: 9 SPEC NUMBER: 06F13SW782 1 SERVICE FACTOR: 1.00 RATING:

ADDITIONAL MOTOR INFORMATION

SUBSlïTUTE PART NUMBER: N/A ADJUSTABLE FREQUENCY CONTROL: ZDl8H202-E

S O R STARTER: contact factory C-FACE K f f : N/A

Figure A. 1 : Catalog Data, Motor Data, and Additional Information of the AC induction Motor

Motor Performance data is depicted in Figure A.2. Motor Performance data

information also can be found h m the web site of b'Baldor Motors and Drives",

http ://www. baIdor.com/infomation.

Page 120: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

RATING - NOMINALS Rated Output 2 Volts 230/460 Full Laad Amps 5.8/2.9 Speed 1725 Hertz 60 Phase 3 NEMA Design Code 6 LR KVA Code M

Efficiency 84.0

Power Factor 76 Service Factor 1.00 Rating - Duty 4OC AMB-CONT

CHARACTERISTICS Break Down Torque 30 Locked-Roter Torque 25 Starting Current 25 No-Load Currsnt 1 .7

Lino-line Resistance @ 25 degress C 6.2 temperature Rise, in degrces C @ F t N;A

LOAC CHARACTERISTICS - TESTED % of Rated toad 25 50 7 5 100 12s 150 S.F. Power Factor 39 57 69 77 81 84 Efficiency 71.3 80.8 83.7 84.6 84.4 83.6 Speed (rprn) 1785 1772 1759 1745 1730 1714 tine Amperes 1.9 2.2 2 .5 2.9 3.4 4

Figure A.2: Performance Data of the AC induction Motor

Page 121: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

A.2 Flux Vector Controller Specifications

Flux Vector Controller specifications and ratings are depicted in Figure A.3 and

Figure A.4, respectively. Readen should read the user manual of "Senes 18H AC Flux

Vector Control" from page 7-1 to 7-4 for details (Baldor Motors and Drives, 1997).

Section 7 Specifications, Ratings & Dimensions

Specif ications:

Harsepower

input Frequercy

Outwt \Joitage

OU~PLJ! Ciirrem

Scrvice Fnc:ur

Duty

Overioad Capacity

Operating Conditions:

Vcltaqe Range 230 VAC Models 460 VAC Models 575 VAC Models

input Line Impedance-

Ambient Opsrating Temperature;

Rated Storage Temperature:

Enclosure:

O to Mâxlmum Input VAC

See Ratings Table

Continuous

Constant Torque Mode: 170-200% for 3 secs 150% for 60 secs

Variable Torque Mode: 11 596 for 60 secs

180-264 VAC 31) 60 HZ / 180-230 VAC 311 50 HZ 340-528 VAC 3t9 60 HZ i 340460 VAC 30 50 HZ 495-660 VAC 30 60 HZ

3% Minimum Required

O to +40 "C Oerate Output 2% per 'C over 40 'C to 55 'C Max

- 30 'C tO +65 'C NEMA 1 . E and €0 (suffix) Modeis NEMA 4X indoor W (sufiix) Models

NEMA 1 . 10 to 90% RH Non-Condensing NEMA 4X indoor: To 100% RH Condensing

Sea tevel to 3300 Feet (1 000 Meters) Derate 2% par 1000 Feet (303 Meters) above 3300 Feet

Figure A.3: Specifications and ûperating Conditions of the Flux Vector Controller

Page 122: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

i S : 3C ' 6 0 ' I t J C B O ' 3 7 7 0 : ' 4 ' 5 5 9 0 , '8 '

' 4 11 22 ' 1 1 1.' ' 34 1 4 9 . 22 ! L4 ' 180 2 7 ' 4 6 '

37 2 52 ' 02 u ? 62 ' '09

I' ' 53 5 '00 .m '

1 '2 -4s 760

Note: -E. -€O= -W= -MO=

NEMA 1 Enclosure NEMA 4X lndoar Enclosure Protected Chassis (not NEMAI)

Figure A.4: Ratings of the Flux Vector Controller

Page 123: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

A.3 Encoder Specifîcations

Encoder dimensions, mechanical specifications, and electrical specifications are

depicted in Figure AS to A.7. information can be found from the web site of "BEI

Industrial Encoden", http://beiied.com/specs-h2S.html.

H25 E - 2.50 Servo Mount

Figure A.5: Dimensions of the Encoder

Shah Diomctcr: 318" nominal Flat on Sbin: 0.80 long X 0.03 decp

Shaft Loading: Up to 40 fbs. axial and 35 Ibs radid Sboft Runout: 0.0005 T.I.R. at midpoint

Starting Torque at 2SC: 1 .O insz maximum without shrifl seal; 2.5 in-oz maximum with shrift s a 1

Beariags: Cl- ABEC 7 Sbaft: 31 6 shnlcss steel

Housing and Cover: Die cast aluminum Beiring Lik: 2 X 108 revs at rated SM loading. 1 X 1Ol0 revs itt 10% of ratcd shaf?

l oading (mff s specs) Maximum RPM: 10,000

,Moment of laertia: 4.1 X oz-in-scc2

Wcigbt: 13 oz. typical

Figure A.6: Mechanical Specifications of the Encoder

Page 124: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

Cycles Pcr SbrR Tura: I to 50,800 (Sct. Sec design guide for inicrpolation options.

Supply Voltage: SV to 24Vk5% arc available IC t&& 4469: SV to 1 SV In. VOu' = Vin 7406(R): SV standard; 7.5V to t4V optional 7272: SV to 24V In. Vaut = Vm -2V

Current Requiremeots: TTL: 175 ml\ maximum, 125 mA typical Output Format: 2 channcls in quadrature 127' ciectrical typicd. Optional index is t>picüll)

gted K cycle widc &&UQW Wavcf6rmi Output IC's: 3469,7272,7406,7406R

Protcctian Level: Rcvcrse, overvoltage and output short circuit (on 4469,7272. only)

Frequcnq Respaase: 100 kHz (cal1 factory for highcr frqucncics) . .

Output Term. Pin Outs: NOTE: Othcr electrical options available

Figure A.7: Electncal Specifications of the Encoder

Page 125: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

A.4 Torque Sensor and Indicator Specifications

Torque sensor specifications are depicted in Figure A.8. Information can be

found t o m the user manual of "Modular Torque Sensor" (Sensor Developrnents Inc.,

1987).

STATIONARY TORQUE SENSORS

Code: lncrcmcntal Cycles Pcr Sbaft Turn: 1 to 50,800 -. Sec design guidc for intcrpotaiion

options. Supply Voltage: SV to 24Vi5% arc availablt

4469: SV to 1 SV in. VoUt = Vin 7406(R): SV standard; 7 . W to 34V optional 7272: SV to 24V In. Vaut = V m -2V

Current Rquircments: TTL: 175 mA maximum, 125 rnA rypiwl Output Format: f chsnnrls in quadrature *27* elcctricai typical. Optionül index 1s rypicdly

gatd % cycle wide Output IC's: 4469,7272,7406.7406R (sct IC

Protectioa Level: Rtvcnc. ovctvaltogc and output short circuit (on 4469.7272 only)

Illumination: LED Frcqurncy Response: LOO kHz ( d l factory for highcr frcsluencics)

. . Output Term. Pin Ou@:

NOTE: Othcr clcctrical options avaitabie

Figure A.8: Torque Sensor Specifications

Page 126: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

Indicator specifications are depicted in Figure A.9. Information can be found

from the user manual of "The Strain Gauge: Charneleon" for details (Aries instruments

ltd, 1992).

Al 81 00 Specification INPUT: h. ,.5 and FULL BRIDGE STRAIN GAUGE

6dn ro j k i ~

EXCITATION : 2V tu 24V DC (f t V ta f 12V DC) at 7 5 m A (WITH AEMOTE SENSING)

OUTPUT: f l O V O C at 20mA standard f SV OC at 20mA optional 4-20mA - ogtional

ZERO AOJUST: f 2mVN SENSITIY1TI: O 24mVIV FS at 24V exc Io 5 O m V N FS a i 2V exc.

(e.Q ai 1 OV exc. O SmVN FS ta lOmVN F S) FREQUENCI RESPONSE: DC to SkHz (f 5%) FILTE! [SELECTABLE): Lùw pass OC to 200Hz (f 5%) INPUT IMPEDANCE: > 5 0 K n OUTPUT IMPEOLNCE: < 1 n NOISE: 3pV r n s . R.T.I. OP€RATI%G TEMPERATURE IAN6E: OcC IO +50aC

(+3ZCF to +12ZG0 TEMPERATURE COEFFlClEWTS: ZERO = f O 01%/'C

SPAN = f 0.01%PC LlNE VOLTAGE: 1 0 5 to 125V'50160Hz - standard

200 ta 2 4 0 V 50160Ht - optional 1.2V OC - aptionai

OlSPUV UPOATE: 3 times/second HUY l OiTY: O to 90% RH inon-condensingj

Figure A.9: Indicator Specifications

Page 127: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

Appendix B

Component Connections

In this appendix, the connections among the components, such as motor encoder,

Flux Vector Controller, interconnect module, and controller card, are shown. For the

user who is going to use current experimental set up, current wire connections expressed

by the colow of the wire are included. It is strongly recommended for the user or

interested readers to read the user manual for each components OF set up before operation.

Specific page numbers for detail explanations in the user manuals are indicated in every

section.

Page 128: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

B.l System Diagram

Figure B.l shows the connections between the system components. The Cable 4

(2990 E87647: Low Voltage Computer Cable), between the ICM-1900 Interconnect

Module and the DMC-1700 Controller, is provided by the manufacture so that wire

connection is not necessary.

Flux Vector Induction Inertial

Con troller Motor Load Toraue I

Indicator

€ [CM-1900

Interconnect Module

Con troller DMC-1700 --E '

Personal Computer

Figure B. 1 : AC Induction Motor with Flw Vector Controller System Diagram

Page 129: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

B.2 Connection Between Encoder and Flux Vector Controller

The connections between the encoder and the Flux Vector Controller, Cable 1 , are

described in Figure 8.2. The user should read the user manual of "Senes 18H AC Flux

Vector Control" from page 3-30 to 3-3 1 for details (Baldor Motors and Drives, 1997).

Terminal Tightening Torque = 7 Lb-tn (0.8 Nm).

Figure B.2: Encoder Connections

The connections of Cable 1 in the current experimental set up are as follows:

I I w ire I Encoder

A

H I 1 1

B white 1 green

J

Flux Vector Controller

23

24

Line colour

brown

white

25

C

Strîpe colour

white

brown

green

K

white

D

Table B. 1 : Wire Connections between Encoder and Flux Vector Controller (Cable 1)

white

i 1

26

orange

28 orange

blue

I F 1 gray white I

27

white

30

white 29

Page 130: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

The colour of the wire explained in Table B.1 can be recognized as defined in

Figure 8 .3 given below:

Line Co1--.- 1 \ / LUUT - - Stnpe Colour

Figure B.3: Wire Colour Definition

Page 131: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

B.3 Connection Between Interconnect Module and Flux Vector Controller

There are several modes in the Flux Vector Controller we can set as discussed in

Appendix C.2. In this thesis, "Bipolar Speed and Torque Mode" is selected. The setting

procedure of Flux Vector Controller is described in Appendix C.2. Necessary wire

connections between the Interconnect Module and the Flux Vector Controller, Cable 2

and Cable 3, are described in Figure 8.4. Note that when the switch No.12 of Flw

Vector Controller is open, the mode is "Speed Mode", which means that speed is

proportional to the input comrnand voltage. In our case, 'Torque Mode" is selected by

closing the switch No.12, which means that the torque is proportional to the input

command voltage. Switch No. 8, 9, 10, 12, 16, and 17 are connected with each other as

shown in Figure BA. The user should read the user manual of "Senes 18H AC Flux

Vector Control" from page 3-41 to 3-42 (Baldor Motors and Drives, 1997) and "DMC-

1 700" from page 164 to 165 (Galil Motion Control, 1997) for details.

Page 132: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

--------- Wire connection kom the first column of ICM- 1 900 Wire connection fiom the second column of KM-1900

ICM- 1900

E R RETURN

RETUAN

RE TURN

RETURN

Interconnect Module Figure 8.4: Interconnect Module and Flux Vector Controller Connections

Page 133: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

The connections of Cable 2 and 3 in the current experimental set up are as

follows:

I 1 I I l

I 53 I b r o m I white I 3 1 t

Flux Vector Contro ller

ICM- 1900

1 L 1

1 85 white 1 green 1 33

84

Wire

Line colour

white

86

Stripe colour

87

orange

orange

88

Table 8.2: Wire Connections between ICM-1900 and Flux Vector Controller (Cable 2)

32

1

white 1 34

white

89

Wire

brown

36 green

gray

Flux Vector Controller

35

white

[CM- 1900

white 38

Line colour

74

Stripe colour

35

white

32 gray

29

1

78 1 brown 1 white 1 7

blue

white

h

77

1

white

white

1 1 t 1 39 1 green 1 white 1 17

I

P Y

orange

40

Table 8.3: Wire Connections between ICM-1900 and Flux Vector Controller (Cable 3)

4

green 5

white

blue

6

white 8

Page 134: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

B.4 Connection of Torque Sensor

The connections between the torque sensor and the indicator, Cable 5, are

described in Table 8.4. The user should read the user manual of "The Strain Gauge:

Charneleon" for details (Aries Instruments Itd, 1992).

+ EX 1 + Excitation 1 RED Terminal abbreviation of Indicator Explanation

+ SEN

Wire from Torque Sensor

- SEN

+ Sense

- EX

Comect to + EX

- Sense

1

- SIG

Table 8.4: Wire Connections between Torque Sensor and Indicator (Cable 5)

Connect to - EX

- Excitation

+ SIG

CAL

COM

OP

Black

- Signal White

+ Signal

Calibration sense

Common

Output

Green *

White/orange

Orange/whi te

Page 135: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

Appendix C

Operating Manual

In this appendix, the motor testing procedure is introduced. When the user install

the AC induction motor, Flux Vector Controller, Interconnect Module, and DMC-1700

controller card, fo llow the sequences care full y explained in this Appendix after proper

wire co~ec t ions between components as given in Appendix B. The details of the testing

sequences are introduced step by step from testing AC induction motor itself to operating

the motor with C++ language programming through the DMC-1700 controller. The

specific mode setting of the Flux Vector Controller for our expenments is also introduced

in this Appendix. The user can use this Appendix as an operating manual of current

expenrnental set up.

!! In any case of the motor turning and not being under

the control, press STOP key in the Flux Vector

Controller keypad. !!

Page 136: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

C.l Motor Test with Flux Vector Controller

In this section, motor testing procedure is explained when it is connected to the

Flux Vector Controller only. This test must be done successfully before the user starts

operating the motor through the DMC-1700 controller. It is strongly recommended

decoupling any lond attached to the motor rotor before turning on the motor power

to avoid sny kind of damage occurred from the sudden operation of the motor. For

better understanding of the expenmental set up components, a system diagram is depicted

in Figure C. 1.

Turn off the computer the DMC-1700 controller is installed. (Discomect any

possible connection between the Flux Vector Controller and the DMC- 1700

controller card.)

Tum the power switch on which is mounted on the wall in Room MC78A. The user

may need a key to open the lock (Figure C.2).

Check the keypad of the Flux Vector Controller whether or not the mode is "LOCAL".

The keypad of the Flux Vector Controller is depicted in Figure C.3. If the mode is

"REMOTE", press STOP key. The mode will then be changed to "LOCAL"

Press J 0 G key on the keypad. Then, the light of the J û G key will be on.

Press FWD key and hold it until the motor tums with a preset JOG speed (6OOrpm in

the current set up). Do the sarne procedure with R N key.

If the motor tums coaectly, the wires between the AC induction motor and Flux

Vector Controller are properly connected.

To operate the motor with comrnunicating of DMC-1700, it is necessary to change to

"REMOT€" mode by pressing LOCAL key.

Page 137: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

Figure C. 1 : Experimental Set up

Switch for AC Lnduction Motor

Figure C.2: Power Switch

Page 138: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

JOG . LCCAL j PROG 1

Figure C.3 : Flux Vector Controller Keypad (Baldor, Model No. ZD 1 8H202-E)

Page 139: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

C.2 Flux Vector Controller Setting

In the Flux Vector Controller (Baldor Series 18H Control), there are several

modes the user can select. Each mode has different wire connections between ICM- 1900

Interconnect Module and the Flux Vector Controller. Readers can find the details kom

the user manual fiom page 3-33 to 3-46 (Baldor Moton and Drives, 1997).

There are seven modes in the Flux Vector Controller as follows.

Keypad

Two Wire Control with 15 Preset Speeds

Fan Pump 2 Wire Control

Fan Pump 3 Wire Control

Bipolar Speed Torque Control

Serial

Process

In this thesis, we use Bipolar Speed and Torque mode for the expenments. The

Bipolar Speed and Torque mode can be set by operating the keypad on the Flux Vector

Controller keypad as follows.

1. Make sure that the current mode is ''LOCAL" as explained in section C.1. If it is

"REMOTE" mode, press STOP key.

2. Press PROG key once, then "PR= EMER FOR PRESET SP€€DS'will be

displayed.

3. Press A key until ''PRESS ENTER FOR INPUT" is displayed.

4. Press ENTER key, then "OPERATING MODE" will be displayed.

Page 140: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

If "?: 61POLAR" is displayed, then the mode Bipolar Speed and Torque mode is

already selected.

If it is not (Le. KEYPAD, STANDARD RUN, ISSPD, FAN PUMP ZWIRE, FAN PUMP

3WIRE, SERIAL, or PROCÛS MODE), press ENTER key, then the cursor appean.

Press A key until "P: BIPOLAR" is displayed and press ENTER key.

When the mode selecting is finished, press A key until "PRESS EMER FOR MENU

EXIT" is displayed and press ENTER key.

Press A key until "PRESS €MER FOR PROGRAMMING EXIT' is displayed

press ENTER key.

The Flux Vector Controller keypad will show initial display. Tum off the motor

power.

!! Turn off the motor power before moving on to next step! !!

Page 141: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

C.3 Test through DMC Terminal

Once the test of the motor with Flux Vector Controller (Appendix C. 1 ) and Flux

Vector Controller setting (Appendix C.2) are done, then the user c m test the motor

through DMC-1700 controller to confiinn that the wire connections between the ICM-

1900 Interconnect Module and the Flux Vector Controller are properly made. This

procedure can be done through DMC Terminal.

1 . Open the Shortcut to M e n 3 2 (Figure C.4). [Do not turn on the motor power at

tbis moment!)

Figure C.4: DMC Tednal Icon

124

Page 142: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

2. Click the menu Terminal and select the appropriate controller. For the current setup,

Controller 1 should be selected (Figure C. 5).

Figure CS: DMC Terminal Window

Page 143: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

3. First, type as follows on the DMC Terminal before turn on the motor power (Figure

C.6). Note that al1 commands should be written in the upper case.

The MT command selects the type of the rnotor and poluity of the drive signal.

Users can find the details of the cornmand MT in the COMMAND REFERANCE of

DMC-1700, page 99 (Galil Motion Control, Inc., 1997).

By typing these cornmand, any kinds of unexpected motor behaviour can be avoided

when the user turn on the motor power.

Figure C.6: Initializing DMC Terminal Window

126

Page 144: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

4. Turn on the motor power switch and observe if the motor is charged and the Flux

Vector Controller keypad displays "REMOT€". If not, press LOCAL key.

5 . Type any command introduced in user manual of "DMC-1700" (Galil Motion

Control, 1997). This test is for P D control loop embedded in DMC-1700 as

discussed in Chapter 5 (Figure C.7).

(Example: CN -1,l~ KP 2 J KI OJ KD 0 . 1 ~ DP Oci PR 40000~ SP 10000~ AC 10000~ DC 10000~ BGJ)

Figure C.7: Cornmands in the DMC Terminal Window

Page 145: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

6. Check the results if they are expected values using comrnands 'TP". The "TP"

command tell the current rotor position. Users cm find the details of the command

TP in the COMMAND REFERENCE of DMC-1700, page 139 (Gaiil Motion Control,

Inc., 1997). Position is expected to be around 4,000 if the user use the exarnple set

of comrnands.

7. To test with ignoring embedded PID controller, type as follows in the DMC

Terminal.

OF OJ KP OJ KI OJ KD OJ

8. With the command "OF", constant input cornmand voltage can be sent to the motor.

Type as follows in sequence.

9. Check the time to reach the maximum speed of the motor. If the motor tums with

different speed proportional to the b'Of" command value, then the rnotor and the

DMC-1700 controller are ready to be used for the experirnents.

Page 146: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

C.4 Test through C Program

The user prograrn to operate the experimental set up has been developed in C

programming language. Microsofi TM Visual C++ Version 1 .52~ compiler is used to

create the executable computer code. In this section, the sequences to operate the motor

with C prograrn step by step.

1 . Place the user program file in the proper directory. For example, coost.c is placed in

C:\Dmcdos\C\Users\cooot input (Figure C.8).

Figure C.8 : constac in C :U)mcdos\C\Usen\coiirt in put

Page 147: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

2. Open the Visuai C++ and open C program file that user wants to nui (Figure C.9).

Figure C.9: Visual C++ Icon

Page 148: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

3. Under the menu Project, select bcNew". Type the name of the project (usually it is

the same as the narne of C program file, Le. const in example) and choose Project

Type as "MS-DOS application (.€XE)" (Figure C. 10).

Figure C. 10: Creating the New Project

Page 149: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

4. It prompts the user to include files to build the project in the dialog box with the title

of "Edit - UKI pr~jCCt name.MAKi. Library routines supplied by Galil Motion

Control Inc. must be included to build and execute the project. Find the following

files under the directory of C:üDMCDOS\C\ and add them by double clicking on

their narnes. Total ten files are included in the directory including the user program

(Figure C. 1 1). Click Close.

dmcbin.~ dmccvs.~ dmcdma.~ dmcd0s.c drncfmw.~ dmcint.~ dmcisa.~ dmcsup.~ dmcuti1.c user program namex (i.e constac, openme, convexbc)

Figure C. 1 1 : Including Library Routines

Page 150: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

5 . Select Project under the menu Options and click Compiler in Customize Build

Options (Figure C. 12).

. ~ . ~ o ~ o ~ ~ ~ ~ o ~ e e e ~ e e e e m e œ e m t œ ~ ~ ~ e e m a m e ~ m s t ~ m e m ~ e v m ~ ~ ~ a e o e m ~ e e m t e ~ ~ ~ o e œ ~ m s ~ m.

;orstan: -.u.raqe %cndzr;g çzzgsu. m/

Thir d x y ~ ~ r -5 <i s . r ~ l c '.tut I t r s e d ~ ï g a r:ny:e input coibarrd vdta3c ~ m . m a e e a e e e o ~ e e e m ~ m m m e e m e m m e a o a e m ~ s m m e e ~ ~ m ~ e e m v e * m e . i ~ m m m m m * ~ ~ m m a m e ~ m H u e e B ~ ~ a

( 1 onq

Figure C. 12: Configuring Project Options

Page 151: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

6. Select Memory Model in Categow and set Huge in Category Settings: Memory

Model (Figure C. 13). Click OK. Click OK, again.

œ 'hW.t OOI CO- tage sen<l:Cg :=3zan ./ prcqrai ;; 4 ;:rple ' . u t t a .rcr.dirig a !s;aq;c rnput cui iord w d t o j o 9

Figure C. 13: Configuring the Memory Size

Page 152: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

7. Select "Build uwr project name.EXE" under the menu Project (Figure C. 14).

. I l L l f ~ t l o a . , , ' y r

- )Iot;or c0Bp:otm : 109 ., hiit t m r l >Sh 1 . . m. . UFFP-R t ,rqnt-?qI 1.e~ WJ' ,

Figure C. 14: Building a Project

8. If the dialog box saying that "The current project has changed. Would you like

to build the affected files?" appears, then click Yes.

Page 153: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

9. If there is no error found, user cm execute this project by choosing 4bExecute user

pmject name.ME'' also under the menu Projecl (Figure C. 15).

wunbag Cd136 wrrnbaq C4136 wuning Cd136 wunrng Cd047 v u n i a g C4024 r u n i n g Cd136 vuobag C4136 varnlnq Cd136 v u n i a g C l l 3 b vuarng '24136 vunrng C I 1 3 6 wuninq C4136 vunrng C413C Vuabag Cd136 vuning Cd136 vuarng Cd136 runrng 0 1 3 6 r u n t n g C4136 vuainq Cd136 vunrng C4136 vuniaq C a l 3 6 vuarng Ca136 vuning C41Ol vuning Cd101

Figure C. 15: No Error Found

Page 154: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

10. When the user executes the program, it prompts the user to enter the input command

voltage. The user is supposed to type any number between -10 and +10 and press the

enter key. The motor tums until 4,000 data of position, velocity, and acceleration of

the rotor are stored in the specific files (Figure C. 16).

Figure C. 16: Executing the Project

Page 155: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

1 1 . Repeat the same procedure for the different C programs, i.e. opeme, c0nvex.c.

Page 156: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

Appendix D

MATLAB Programs

In this appendix, al1 MATLAB programs used in simulations are included.

Instructions for users to execute the program are included as well.

The readers should have basic knowledge to use the SIMULMK. In this

Appendix, the instruction to use the SIMULINK and the description of the basic blocks

will be omitted.

Page 157: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

D. 1 Simulation Procedure

The procedure to perfonn the simulation of AC induction moior is as follows.

1 . Open MATLAB Venion 4.2 windows and change the directory to the one that

has simulation files (ex: C:\Matlab\Users\Sirnulation\open) (Figure D. 1 ).

2. Type "motorJ" to initialize the motor parameten.

3. Type "simullinki" to open the SUlLnINK window and open the "motor-rrn"

file.

4. Start the simulation.

5. When the simulation is finished, restore the MATLAB window and type "pl~tl".

Figure D. 1 : Simulation Directory Tree

Page 158: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

clear

Rs = 3.04; % stator resistance (ohm) Rr = 2 . 7 ; % rotor resistance (ohm) Ls = 0.4497; 3 stator inductance (Hl Lr = 0.4469; % rotor inductance (Hl Me = 0.4351; 3 mutual inductance (Hl

np = 2; % pole pair number

tau = Rr/Lr; K t = 1;

sample = [O. 296075 -0.36 O. 36225 -0.3261 0.151425 -0.459525 0 .SI1275 -0.1483 0.433025 -0.251275 0.4057 -0.287225 O. 36305 -0.34125 0 .A285 -0.198375 O .4O6l8 -0 -403125 0.1911 -0.285051 ;

for i = 1:21, tt (2*i-1,l) = 0.5* (i-1) ; tt (2*i, 1) = 0.5* (i-1) +0.002;

end

for j = 1:20, tv(2*jfl) = sample(j); tv(2+j+l,l) = sample(j1;

end

Flxrt = [O; 0.04; 0.045; 0.51; Flxrv = [O; 6.3; .787; . 7 8 7 ] ;

Tqrt = tt; Tqrv = tv;

Page 159: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

function [sys,xO] =ind(t,x,u, flag)

Rs = 3.04; % stator resistance (ohm) Rr = 2 . 7 ; % rotor resistance (ohm) Ls = 0.4497; 8 stator inductance (Hl Lr = 0.4469; % rotor inductance (Hl Me = 0.4351; % m u t u a l inductance (H)

np = 2 ; % pole p a i r number

elseif flag == I

idsn = (Rs*Lr*x(l) - U ( ~ ) * M ~ ^ ~ * X ( S ) - Rr*Me*x(3) - u(3)*Lr*Me*x(4) - ~r*u(l) 1 *aO;

iqsn = (u (3) *~e^2*x(l) + Rs*Lr*x(2) + u ( 3 ) *Lx*Me*x(3) - RrfMe*x(4) - Lrtu(2) ) *aO;

idrn = - (Rs*Me*x(l) - u ( 3 ) *Me*Ls*x(2) - Rr*Ls*x(3) - u(3) *Lr*Ls*x(4) - Me*u(l) PaO;

iqrn = - ( u ( 3 ) +Me*Ls+x(l) + Rs*Me*x(2) + u(3) *LrtLs*x(3) - Rx*Ls*x(4) - Me*u ( 2 ) *aO;

sys = [idsn;iqsn;idrn;iqrnl;

elseif flag == 3

end

Page 160: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

function [sys,xO]=vcontrol(tfxIu1flag)

Rs = 3.04; % stator resistance (ohm) Rr = 2.7; % rotor resistance (ohm) Ls = 0.4497; % stator inductance (Hl Lr = 0.4469; % rotor inductance (H) Me = 0.4351; % mutual inductance (KI

G1 = les; % integral gain G3 = 200; % proportional gain

if flag == O s y s = [5,0,5,5,0,11; xO = zeros(5,l);

elseif flag == 1 cose = cos(rem(x(2)+~(3) ,2+pi) ; sine = sin(rern(x(2) +x(3) ,2"pi) ) ; idse = u(î)*cose + u(3Ifsine; iqse = -u(2)*sine + u(3)*cose;

tau = R r / L r ; if x ( 1 ) ==O Psir=le-6; else Psir=x (1) ; end

sys = [tau* (Meeidse-x(1) ) ; % psir ~e/Psir*tau*iqse; % theta (sl) ~ ( 1 1 ; S theta(r1 ~ l * ( ~ ( 4 ) -idse) ; % GI*idserr ~l*(u(S)-iqse)]; % Gleiqserr

elseif flag == 3 cose = cos(rem(x(2)+~(3),2'pi)); sine = sin(rem(x(2)+x(3) ,2*pi) 1 ; idse = u(2)*cose + u(3)*sine; iqse = -u(2)*sine + u(3)*cose;

iderr = u(4) - (u(2) *case + u(3) *sine) ; iqerr = u(5) - ( - u ( 2 ) *sine + u ( 3 ) *cosel ;

Vdse = x ( 4 ) +G3*iderr; Vqse = x(S)+G3*iqerr; Vdss = Vdse*cose - Vqse*sine; Vqss = Vdse*sine + Vqse*cose;

sys = [~dss;~qss;idse;iqse;x(l) 1 ;

end

Page 161: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

subplot ( 2 2 2 ) plot (time,pos, 'b' ; title ( [ ' (b) ' 1 ) ; xlabel( ['Time(çec) ' 1 ) ; ylabel(['~osition(rad) ' 1 ) ; grid;

subplot (223) plot(time,vel, 'b') ; title( [ ' ( C I ' 1 1 ; xlabel( ['Time(sec) ' 1 ) ; ylabel ( [lvelocity (rad/sec) ' 1 ) ; axis (VI ; grid;

subplot ( 2 2 4 ) plot (time,accel, 'b') ; title( [ ' (dl ' 1 ; xlabel(['Time(sec) ' 1 ) ; ylabel ( ['~cceleration (rad/sec-sec-sec) ' 1 ) ; axis (a) ; grid;

Page 162: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

Appendix E

User Programs

In this appendix, al1 user programs are included. Instructions for users to execute

each program are included as well. To run the program, the user needs to copy the file to

any directory and lollow the procedure introduced in Appendix C.4.

Page 163: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

A program const.c is to test the command "OF" through DMC-1700 controller to

operate the motor.

When the program is executed, it prompts users to enter the input command

voltage. Usen are supposed to type any nurnber between -1 0 and +10 and press the enter

key. This program functions the same as "OF" command in the DMC terminal. The

motor will tum until 4,000 data of position are detecied. Rotor position, velocity, and

acceleration of the rotor are stored in the specific files so that users can look into these

files and plot the results.

Page 164: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

i* Constant voltage sending program */ !* */

/* This program is a simple test for sending a single input command voltage */ /+*******+*$********************************************************************/

/* Programmed by Seung-Ju Lee */

!* LAST UPDATED April2,1999*/

#inchde ~c::dmcdos\c\dmcdos.h~ Xinclude ~c:\dmcdos\c\àmcdrna.h~ #inchde <time.h> #inchde <stdlib.h> Xinclude <stdio.h> #inchde <math. h> #inchde <malloc.h>

void PrintError(1ong rc); void IntenuptCallback(USH0RT usinterruptStatus); !/void sleep(clock-t wait);

float float float float Most 'ifloat .' float tloat

/* Control input going into DMC 1700 ' 1 /* Actual position of the motot */

'* Vetocity of the motor */ /* Desired position minus the actual position*!

;***Kalman Filter Variables***/ float cos~gh,sin_gh,exp_gh,dclt~t;//,cos~g~,sui~h2,expPgh2; floa t gamma 1 =500.0; float gamma2=500.0; float phi[S] [5], kal[S], xkal[5], xkal~dt[5],velocityB[10005];

long main(int argc, char* argv[]) t

long rc; /* R e m code */

int finMo tion; /Wot ion complete flag */ char buffer[256]; /* Rcsponse from controller +/

// char tcommand[8]; /* To store 'tell torque, T T commamis in binary */ // char pcommand[8]; /* To store 'tell position, TP' commands in binary */ 11 long int surn;

int i ,j,k,s,u,v; dock-t start, fmish; double duration; char q[20]; float vol,volt; float T;

Page 165: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

FILE *fp,*fp 1 ,*fp2; BYTE bBinaryResult[32]; ULONG ulBinary ResultLength; ULONG ullength;

HANDLEDMC hdmc; /* Handle to controller */ CONTROLLEWO controllerinfo; /* Controller information structure $1

// sum = O; argc = argc; argv = argv;

, * Print Title of the program and get the controller Unfomtion */ ;******************************************************************************/

: * Open the connection with DMC 1700 $1

printf("0pen the connection\n\n"); rc = DMCOpen(&controilerinfo, &hdmc);

rc = DMCComrnand(hdmc, "MO;", buffer, sizeof(buffer)); rc = DMCCommand(hdrnc, "OFX=O;", buffer, sizeof(buffer)); rc = DMCCommand(hdmc, "MT-l;", buffer, sizeof(buffer)); rc = DMCCommand(hdmc, "CN 1 ,- 1 ; ", buffer, sizeoqbuffer)); rc = DMCCornmand(hdmc, "KPX=O;", buffer, sizeof(buffer)); rc = DMCCommand(hdmc, "KIX=O;", buffer, sizeoflbuffer)); rc = DMCCornmand(hdmc, "KDX=O;", buffer, sizeoflbuffer)); rc = DMCCommand(hdrnc, "SH;", buffer, sizeoqbuffer));

PQuery the state of the inputs. If the value is 255, this mans everything is on 'High' (OK)*I printf("Query the state of the inputs\n\nn); rc = DMCCornrnand-AsciiToBinary(hdrnc, "TI;", strlen("Ti; "), bBinary Result, sizeoq bBinary Result ),

&ulBinqResultLength); iqrc = DMCNOERROR) rc = DMCBinaryCornmand(hdmc. bBinaryResult, ulBinaryResultLength, buffer, sizeoqbuffer));

if (rc) PrintError(rc);

else {

Page 166: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

int temp; temp = atoi(buffer); printf("The value of the inputs is %d\n", temp);

1

rc = DMCCommand-AsciiToBinary(hdmc, "TM-1000;TM500:", strlen("'lM-100O;TM500;"), bBinaryResult, sizeof(bBEaryResult), &uBinaryResultLengih);

if(rc = DMCNOERROR) rc = DMCBinaryComrnand(hdmc, bBinaryResult. ulBinaryResultLength, buffer. sizeonbuffer)); if (rc) { PrintError( rc) ;

retum rc; I

/ Array to store the TT cornmand in binary / * tcommand[O] = Oxde;

tcommand[ 1 ] = 0x00; tcomrnand[2] = 0x00; tcommand[3] = 0x0 1 ; */

8 ' 1 A m y to store the TP command in binary /* pcomnd[O] = Oxd9;

pcornmand[ 1 ] = 0x00; pcommand[2] = 0x00; pcommand[3] = 0x0 1; * /

rc = DMCCommand(hdmc, "SH;". buffer. sizeoflbuffer));

**********************++++*************/ * USER INTERFACE */ ********************************a/

printq" Input voltage '? "); scant("%f ', &vol);

rc = DMCCommuid(hdmc. "DPX=O;", buffer, sizeoflbuffer));

for (i=O; ic4000; i*)

sprinaq, "OFX=?/of;",volt); rc = DMCCotnmand(hâmc, &q, buffer, sizeof(buffer));

Page 167: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

// rc = DMCBinaryCommand(hdmc,tcomrnand,4+ buffer, sizeof(buffer)); rc = DMCCornmand(hdrnc,"TT;", bu ffer, sizeoRbuffer)) ; torque[i] = (atoqbuffer));

// rc = DMCBinaryCommand(hdmc,pcommand,4, buffer, sizeoflbuffer)); rc = DMCCommand(hdrnc,"TP;", buffer, sizeof(buffer)) ;

position[i] = (atof(buffer))*2*3.14/4000; l* change the returned value into radian */ i/ thetaA = position[s];

input[i] = volt;

finish = dock(); duration = (double)(fmish - start) / CLOCKS-PER-SEC; printf( "\n%S.7f scconds\nùi\n", dwation );

/**Kaiman Filter Mamces Set up **/ delta-t = T; cos-gh = cos(gamma 1 *delta-t); sin-gh = sin(gamma l *delta-t); exp-gh = exp(-gamma 1 *delta-t);

= cos(gamrna2*dclta_t); sin_gh = sin(gamma2*delta-t); exp-gh = exp(-gamma2*delta - t);

!*********The test is frnished, resurne the initial condition ******* *******/

rc = DMCCommand(hdrnc, "MO;", buffcr, sizeof(buffer)); rc = DMCCommand(hdmc, ''OFX=O;", buffcr, sizcof(buffcr)); rc = DMCCommand(hdmc, "SH;", buffer, sizeof(buffer));

Page 168: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

/*** Tirne calculation ***! for (u=O; u4000: u++) {

xtime[u] = u*T;

* * * velocity calculation ** */ t'or (u= 1 ; ~ 4 0 0 0 ; u++) t

veIocity[u]=(-position[u+2]+8.0*position[u+ 11-8.0*position[u- 1 ]+position[u-2j)/( 1 2.0eT); I

j ***** Velocity calculation with Kalman Filter ****!

'*Save the various data into file, dat.txt, for Matlab use*/

printf("Saving the data into the file, dat.txt\nW); fopen("dat.txtW, "w"); if((@ = fopen("dat.txtN, "wi")) - NULL) p ~ a " C a n ' t open file"); for (u=O; u4000; u++)

{ fprincf(fp, "%f %f %f %f W, xtime[u], torque[u], position[u], velocity[u]); 1 fclose( fp);

/'*Save position into file, pos.txt, for Excel use*/

printf("Saving the data into the file, pos.txtbW); fopen("pos.txt", "wu); if((fp 1 = fopen("pos.txt", "w+")) = NWLL) pNitf("Can't open file"); for (j=û; j40ûû; j-ct)

@rintf(@ 1, "%W. position^]);

Page 169: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

/*Save velocity into file, vel.txt, for Excel use*/

printflWSaving the data into the file, vel.ixt\n\nw); fopen("vel.txt", "w"); if((fp2 = fopen("vel.txt", "w-t")) = NULL) printflWCan't open file"); for (j=O; je4000; j++)

t fprintf(fp2. "%hW. velocityB[jl): l

prin tf("Close the connectionh");

rc = DMCClose(hdmc); if (rc) t

PrintError(rc); return cc;

i

recurn OL;

void PrintEnor(1ong rc) {

printf("An error has occurred. Return code = %ld\nu, rc); 1

void IntermptCallback(USH0RT usintemiptStatus) i

usintcmptStacus = usinterruptStatus;

Page 170: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

A program 0peo.c is to estimate the motor parameters, J and B. by applying a

series of twenty pseudo random input command voltages to the motor. In this program

"OP' command is used to send input command voltages through DMC- 1700 controller to

operate the motor.

When the program is executed, it prompts users to press the enter key when ready.

4.000 rotor pozitions are measured every 2.5 millisecond. The velocity and the

acceleration of the rotor are estimated From the rotor position data. Input command

voltage, rotor position, velocity, and acceleration of the rotor are stored in the specific

files so that users can look into these files and plot the results.

Page 171: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

/*************************************************************************************/ /* This is a DOS application for ISA bus communications to a (0pen.c) */ /* Galil motion controller DMC1720 (Al1 commands are written in binary fonn) * / /*************************************************************************************! /* Programmed by David Cho */ /* Modified by Seung-Ju Lee */

/* LAST UPDATED Jan 28,2000*/

!* THIS PROGRAM IS USED TO TEST THE MOTOR M OPEN LOOP MODE*/ * A) RANDOM BiNARY VOLTAGE SEQUENCE TO TEST FOR THE MOTOR PARAMETERS *i

fiinclude ~c:\dmcdos\c\dmcdos.h~ #inchde <c:\dmcdos\c\dmcdma.h> #inchde <time.h> #inchde <stdlib.h> #inchde cstdio. h> #inchde <math.h> Xinclude <malloc.h>

void PrintEnor(1ong rc); void InterruptCalIback(USHORT usIntermptStatus); void sleep(c1ock-t wait);

tloa t torque[10005], voltage[6005]; float position[l 0005]; float acAf 10005]; tloat acB[10005]; tloat A 1 [1 00051, A2[10005]; int t.random; tloat s(2 IO~,vo1[20],xtirne[10005];

/* Torque of the motor *! /* Position of the motor */

I * * * Kalrnan Filter Variables* * */ float cos~h,sin-gh,exp-gh,delta-t,cos_gh2,sin_,exp_gh2; float gamma 1 =20.0; tloa t garnma2=500.0; float phi[S][5], ka1[5], xkal[S], xkal~dt[5],vtlocityA[12005],veloci~B[12005];

long rnain(int argc, char* argv[])

long

int char char char char char char long int int dock-t double

rc; /* Return code */

flnMotion; /* Motion complete flag */ buffer[256]; l* Rcsponse from controller */

ecommand[8]; /* To store commands in binary */ tcommand[8]; /* To store 'tell toque' conunands in binary */ pcomrnand[8]; /* To store the position of the motor */ vcornmand[8];

q[20l*p; sum;

i j,a,u,k,v,counterl ,counter2; start, f ~ s h ; duration;

Page 172: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

BYTE bBiniuyResult[32]; ULONG ulBinary Result Length; ULONG ullength;

HANDLEDMC hdmc; /* Handle to controller */ CONTROLLERNFO controllerinfo; /* Controller information structure */ sum = 0; argc = argc; argv = argv;

I* Controller imfomtion */ /*************************************************************************************/

i* Open the connection *l

printf("0pen the connectionh"); rc = DMCOpen(&controllerinfo, &hdmc); if (rc)

PrinError(rc); return rc;

i* Set the motor off */ rc = DMCCornmand(hdrnc, "MO;", buffer, sizeof(buffer)); if (rc)

PrintError(rc);

t* REvERISE THE POLANTY */ rc = DMCCommand(hdmc, "MT- 1 ;", bmer, sizeof(buffer)); if (rc)

PrintError( rc);

Page 173: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

l* SERVO HERE *! rc = DMCCommand(hdmc, "OFX=O;", buffer, sizeof(buffer)); rc = DMCCommand(hdmc, "SH;", buffer, sizeof(buffer));

rc = DMCCommand(hdmc, "K.PX=O;", buffer, sizeof(buffer)); if (rc)

PrintError( rc ) ;

I* Reverse the limit switches * l rc = DMCCornmand(hdrnc, "CN 1 ,- 1 ;", buffer, sizeoqbuffer)); if (rc)

PrintError(rc);

'*Query the state of the inputs*/ printf("Query the state of the inputs\n\nN);

rc = DMCCommand-AsciiToBinary(hdmc, "Ti;", strlen("TI;"), bBinaryResult, sizeoflbBinaryResult), &ulBinaryResultLength);

iqrc = DMCNOERROR) rc = DMCBinaryComrnand(hdmc, bBinaryResult, ulBinaryResultLength, buffer, sizeof(buffer));

if (rc) PrintError(rc);

e Ise {

int temp; temp = atoi(buffer); printflWThe value of the inputs is %d\nt', temp);

1

!* Set the X axis position * l printfiMSet the X axis positionh"); rc = DMCComrnand-AsciiToBinary(hdmc, "DPX=O;", strlen("DPX=O;"), bBinaryResult,

sizeof(bBinaryResult), &uBinaryResultLength); iqrc --. DMCNOERROR)

rc = DMCBinaryCornmand(hdmc, bBinaryResult, ~BinaryResultLength, buffer, sizeoflbuffer));

if (rc) PrintError(rc);

l* Query the X axis position */ printf'("Query the X axis position\n"); rc = DMCComand-AsciiToBinary(hdmc, "TPX;", strlen("TPX;"), bBinaryResult,

sizeof(bBinaryResult), &ulBinaryResultLength); if(rc = DMCNOERROR)

rc = DMCB inaryCommd(hdmc, bBinary Result, ulBinary ResultLength, bu ffer, sizeo f( bu ffer) ) ;

if (rc) PrintError(rc);

else {

long temp; temp = atol(buffer);

Page 174: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

printf'("The value of the X axis position is %Id\nM, temp);

/* Set the default sample rate */ printflUThis sets the sample rate\n\nW ); rc = DMCCommand_AQciiToBinary(hdmc, "TM- 1000;TM 1 OOO;", strlen("TM- 1000;TM 1 OOO;"),

bBinaryResult, sizeof(bBinaryResult), &ulBinaryResultLength); iflrc == DMCNOERROR)

rc = DMCBinaryCommand(hdmc, bBinaryResult, ulBinaryResultLength, buffer, sizeof(buffer)); if (rc) t PrintError(rc);

return rc: 1

rc = DMCCommand-AsciiToBinary(hdmc, "DPX=O;", strlen("DPX=O;"), bBinaryResult, sizeoflbBinaryResult), &ulBinaryResultLength);

if(rc == DMCNOERROR) rc = DMCBinaryCommand(hdmc, bBharyResult. ul8inaryResultLcngt.h. buffer, sizeof(buffer));

if (rc) Prin tError( rc);

!* USER MTERFACE * 1 *********************************/

printflVOPEN LOOP TEST BY SENDMG 10 RANDOM BINARY VOLTAGE SEQUENCEhh (TO OBTAiN MOTOR PARAMETERS J,B)\n\n");

'* Generate 20 numbers. */

Page 175: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

printf("When Ready, Please Press ENTER\nN); p = getcharo;

rc = DMCCommand AsciiToBinary(hdmc, "DPX=O;", strlen("DPX=O;"), bBinaryResult, sizeof(bBinaryRcsult), &;l13inary~esult~ength);

rc = DMCCommand(hdmc, "OFX=O;", buffer, sizeoqbuffer)); if(rc = DMCNOERROR)

rc = DMCBinaryCommand(hdrnc, bBinaryResult, ulSiaaryResultLength, buffer, sizeof(buff~er));

if (rc) PrintError(rc);

/********* start sending voltage and clock **********/

foa=0; j<20; j++) { sprinflq, "OFX=%f;", volb]); rc = DMCCommand(hdmc, &q, buffer, sizeof(buffer));

counter l = j4200; counter2 = counter 1 +200;

for( i=counter 1 ; iccounter2; i*) {

// rc = DMCCommand(hdmc,'TE;", buffer, sizeof(buffer)); rc = DMCCommand(hdmc,"TT;", buffer, sizeof(buffer));

Page 176: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

cc = DMCCommand(hhc,"TP;", buffer, sizeoflbuffer)); positionli] = atoqbuffer);

rc = DMCCommand(hhc, "MG@AN[ 1 J ;", buffer, sizeoqbuffer)); At [u] = atofibuffer);

rc = DMCCommand(hdmc, "MG@AN[3];", buffer, sizeof(buffer1); AL[u] = atoflbuffer);

finish = clock(); duration = (double)(finish - start) / CLOCKS-PER-SEC; printf( "Oh2.4f secondsh", duration );

'**Kalman Filter Matrices Set up **! delta-t = T; cos-gh = cos(gamma 1 *delta-t); sin-gh = sin(gamma 1 *delta-t); exp-gh = exp(-gamma 1 *delta-t);

cos-gh = cos(gamma2*delta-t); s i n j h = sin(gamma2*deItadt); expsh = exp(-gamma2*dclta-t);

Page 177: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

/***+***+*******Stop the Open loop test *********&**********+*+***/ if(a !=l) { rc = DMCComrnand(hdrnc, "MO;", buffer, sizeoflbuffer)); rc = DMCComrnand(hdrnc, "KPX=O;", buffer, sizeoflbuffer)); rc = DMCComrnand(hdrnc, "OFX=O;", buffer, sizeoflbuffer)); rc = DMCCommand(hdrnc, "SH;", buffer, sizeoflbuffer));

;*** Convert the positions into radian ***! for f ti=O: i i 4 O i ) O ; ut+)

position[u] = (position[u])*2*3.14/4000.0; 1

! * *** * Velocity calculation without Kalman Filter *** **/ for(u=O; u<4000; u++)

iflucl) { velocityA[u] = (position[u+ 11-position[u])m;

1 if(u>l)

I velocityA[u]=(-position[u+2]+8.O*position[u+ t ]-8.0*position[u- 1 ]+position[u-2])/( 1 2.0*T);

1

***** Velocity calculation with Kalrnan Filter ****!

!*Acceleration datas without Kalrnan Filter*/

acA [u] = (-position[u+2]+ 1 6.0*position[u+ 11-30.0*psition[u]+ 1 6.0*position[u- 1 1-positionlu- 2])/(1 2.0ST*T);

Page 178: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

/* *** *Acceleration calculation with Kalman Filter****/

/*** * Store datas into various files ****/

/**** Save the Accel. Vel, and datas into the matrix [Hl for Matlab use ****/ printf("Saving the velocity, and acceleration datas into the file, h.m (matrix [Hl), for Matlab use\nM); fopen("h.m", "w"); if((fp = fopen("h.mW, "w+")) = NULL)

printf("Canlt open file");

fprintf(fp, "H = [ \n"); for (i=O; i-4000; i++) {

fprintf(fp, "%.4f %.4f;\nfi, acB[i],velocityB[il);

fclose( fp);

/*** Tirne calculation ***/ for (u=O; ~ 4 0 0 0 ; u++) {

xtirne[u] = u*T; I

!*** Save the Rotor position value for Excel use ***/

princf("Saving the position datas into the file, pos,txt, for Excel useh"); f~pen('~pos.txt~~, "w+It); ifC(fp 1 = fopen("pos.txt", "w+")) = NULL)

prinâ("Cantt open fie");

for (i=O; i4000; i++) {

Page 179: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

!**** Save the VelocityB datas for Excel use ****/ printf("Saving the velocityB datas for Excel use\nt'); fopen("velb.fxt", "w"); if((fp2 = fopen("velb.txtW, "w+")) = NULL)

printf("Canit open file");

for (i=O; i4000; i++) {

fprintf(Q2, "%.4f\n",velocityB[il);

I*** Save the VelocityA datas for Excel use ***/ printf("Saving the velocityA datas for Excel use\nV); fopen( "vela.txt", "w"); if((fp3 = fopen("vela.txt", "w4")) - NULL)

printf("Can8t open file");

for (i=O: i4000; i++)

fprintf(fp3, "0/~.4f\n",velocityA[ij);

i *** Save the AcA. datas for Excel use ***! printf("Saving the acA datas for Excel useh"); fopen("acA.txtM, "w"); if((fp4 = fopen("acA.txt", "w+")) = NULL)

printf("Canlt open file");

for (i=O; i4000; i++) { fprinflw, "%.4h",acA[i]);

/*** Save the analogue I data into ANAl.at for Exce1 use ***/

/* printf("Saving analogue 1,2 datas into the file, for check use\nM);

fopen("ANA 1 .txt", "w"); if ((@3 = fopen("ANA1 .txt", "w+")) = NULL)

Page 180: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

printf("Cantt open île");

for u=0; j-4000; j++) { tprintf(@3, "?6.4h", A 1 b]); 1

fclose(fp3); * I

!*** Save the analogue2 data into ANA2.txt for Excel use ***!

fopen("ANAZ.mt", "w"); if ((fp4 = fopen("ANA2.mtW, "w+")) = NULL) printf("Cantt open file");

for (j=O; j-4000; j++)

fprintfl.4, "%.4ftn", A2u]); 1

fclose( fp4);

/*** Save the AcB. datas for Excel use ***l printf("Saving the acB datas for Excel use\nN); fopen("acB.txt", "w"); if((fp5 = fopen("acB.txt", "w+")) = WLL)

pnntf'("Can8t open file");

for (i=O; iC4000; i++)

fprintf( fp5, "%.Jfin",acB[i]);

/* ** Save the torque data into the maaix [VI for Matlab use * **/ printf("Saving the torque datas into the file, t0r.m (matrix [VI), for Matlab useùi"); fopen("tor.m", "w"); if7(@6 = f~pen(~ltor.rn~', "w+")) = NULL)

prin$("Canlt open file"); fprintf(fp6,"V = [ h");

for (i-O; i4000; i*) {

/*Save the torque data into the tor.txt for Excel use*/

Page 181: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

printf("Saving the torque datas into the file, tor.txt, for Excel usein"); fopen("tor.txt", "w");

if((fp7 = fopen("tor.txtW, "w+")) = NULL) prind("Canlt open file");

for (i=0; i4000; i++) { fprintf( fp7, "%hW. torque[i]*2.194);

1 fclose(fp7);

printf("C1ose the connection\nl');

printq" \n\n durrition T = %bW,T);

rc = DMCClose(hdmc); if (rc) t

PrintError(rc); return rc;

i

return OL;

void PrintError(1ong rc)

printf("An error has occurred. Return code = %ld\n", rc); 1

void IntemptCallback(USHORT uslnterruptStanis)

uslntemptStatus = usInterruptStatus; 1

Page 182: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

A program coovex.~ is to test the MSS controller. This program can be used for

PD controller as well as MSS controller.

If usen want to use this prograrn as the PD controller, simply comment out the

MSS control law part, which is indicated in the pmgram already. When the prograrn is

executed, it prompts users to enter desired position in radian, and then it prompts usen to

enter the gain values. When the user tests the motor, it is recommended to choose the

gains low gain values first, and then increase the gains gradually after confirming that the

motor is m i n g properly with low gains.

If usen want to use this program as MSS controller, comment out the PD control

law part, which is indicated in the prograrn. Users also need to comment out the part to

input the gain values since the MSS controller is already inside the program by default.

When the program is executed, it prompts users to enter desired position in radian.

Rotor position, velocity, acceleration, and control input data are stored in specific

files so that usen can look into these files and plot the results.

Page 183: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

i* ConveflD controller program */ /*******************************************************************************/

/* Programmed by Seung-Ju Lee */

/* LAST UPDATED Mar 29,1999*/

void PrintError(1ong rc); void IntemptCallback(USH0RT usIntemptStatus); void sleep(c1ock-t wait);

float torque[ 1 OOOS]; float input[10005]; /* Control input going into DMCl700 */ float actualpos[10005]; /* Actual position of the motor */ float error[10005]; I* Desired position minus the actual position*/ float kpz[ 100051; tloat kdz[ 100051; tloat xtime[ l00051;

. *** Kalrnan Filter Variables***! float acB[10005]; float cos~gh,sin~h,exp~h,dcIta~t,cos~gh;!,sin_gh2,exp~ght; tloat gamma 1 =30.0; float gamma2=500.0; float phi[S][S], kal[S], xkal[5], xkal-dt[5],velocityA[10005],velocityB[ 100051;

long main(int argc, char* argv[]) {

long rc ; /* Retum code */

int char char char long int int clock-t double char float

fl nMotion; /* Motion cornpletc flag *! buffer12561; /* Response from controller */ tcommand[8]; /* To store 'tell torque, TI* cornmands in binary */ pcommand[8]; /* To store 'tell position, TP' commands in binary */ sum;

j,k,s,v; start, frnish; durati0n.T;

qW1; vol,thetaA,desÙepos,kp,kd,maxt~ 1 ;

FILE *@,*@l,*fp2; BYTE bBinaryResult[3 21; ULONG ulBinaryResultlength;

Page 184: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

ULONG ullength;

HANDLEDMC hdmc; /* Handle to controller */ CONTROLLERiNFO controllerinfo; /* Controller information stnicture */ sum = 0; argc = argc; argv = argv;

: * Open the conncction with DMC 1700 */

printf("0pen the connection\n'~"); rc = DMCOpen(&controllerinfo, &hdmc);

rc = DMCComrnand(hdmc, "MO;", buffer, sizeof(buffer)); rc = DMCCommand(hdmc, "OFX=O;", buffer, sizeof(buffer)); rc = DMCCornmand(hdmc, "MT- 1 ;", buffer, sizeof(buffer)); rc = DMCCommand(hdmc, "CN 1 ,- 1 ;", buffer, sizeof(buffer)); rc = DMCComrnand(hdmc, "KPX=O;", buffer, sizeof(buffer)); rc = DMCCommand(hdmc, "KIX=O;", buffer, sizeof(buffer)); rc = DMCCommand(hdmc, "KDX=û;", buffer, sizeoflbuffer)); rc = DMCCommand(hdrnc, "SH;", buffer, sizeoflbuffer));

/*Query the state of the inputs. If the value is 255, this means everything is on 'High' (OK)*/ prinrfCWQuery the state of the inputs\n\a"); rc = DMCCommand-AsciiToBinary(hdmc, "TI;", strlen("TI;"), bBinaryResult, sizeof(bBinaryResult),

&ulBinaryResultLength); if(rc = DMCNOERFtOR) rc = DMCBinaryComrnand(hdmc, bBinaryResult, ulBinaryResultLengih, buffer, sizeofTbufTer));

if (rc) PrintError(rc);

else { int temp; temp = atoi(buffer); prina("The value of the inputs is %dW, temp);

Page 185: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

rc = DMCCommanddAsciiToBinary(hdrnc, "TM- 1 OOO;TM5OO;", strlen("TM- lOOO;TM5OO;"), bBinaryResult, sizeof(bBinaryResult), &ulBharyResultLcngth);

iurc = DMCNOERROR) rc = DMCBharyCommand(hdmc, bBinaryResult, uiBinaryResultLength, buffer, sizeof(buffer)); if (rc) ( PrintError( rc ) ;

retum rc; 1

T = 0.00125;

;* Array to store the TT cornand in binary *I tcornmand[O] = Oxde; tcomrnand[ 1 ] = 0x00; tcommand[2] = 0x00; tcomrnmd[3] = 0x0 1 ;

I* Array to store the TP comrnand in binary */ pcommand(O] = Oxd9; pcommand[ 11 = 0x00; pcommand[2] = 0x00; pcommand[3] = 0x0 1 ;

,*********************************/ * USER INTERFACE *! **************************.+I

printf("P1ease input the STEP position (in radian eg. ) "); scanf'("%f ', &desirepos);

I i desirepos=t ;

prin~''hDesired position is %h\ntt, desirepos);

printflWPlease input the value for KP(eg. 0.4) "); scanf("%f', &kp); printf("Kp is %finhw, kp);

printf("P1ease input the value for KD(eg. 0.06) "); scanf("%Ct, &kd); p ~ t f ( " K d is %fùihW, kd);

rc = DMCCornmand(hdmc, "DPX=O;", buffer, sizeof(buffer)); rc = DMCCommand(hdmc, "SH; ", buffer, sizeo f(buffer)) ;

actualpos[O]=O.O; thetaA = 0.0;

Page 186: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

/**Kalman Filter Matrices Set up **/

delta-t = T; cos-gh = cos(garnma 1 *delta-t); sin-gh = sin(gamma 1 *delta-t); exp-gh = exp(-gamma 1 *delta-t);

!**KAmm Filter Matrices Set up **/ delta-t = T; cos-gh = c o s ( g a m 1 *delta-t); sin-gh = sin(gamma 1 *delta-t); exp-gh = exp(-gma 1 *delta-t);

start = c fock();

for (s=O; ~ 4 0 0 0 ; su) {

Page 187: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

!* If you are using as PD controller, piease comrnnet out îhis part. */ 1 *

i* If you are using as Convex controller, please comment out this pan. */

Page 188: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

if(input[s]>=lO) vol=9.9999; eise if( input[s]<=- 1 O) vol=-9.9999;

else vol=input[s] ;

sprintf(q, "OFX=%Ctt, vol);

rc = DMCCommand(hdmc, &q, buffer, sizcof(buffer)); rc = DMCBinaryCommand(hdrnc,pcommand14, buffer, sizeof(buft'er)); actualpos[s] = (atof'(buffer))*2*3.14/4000; /* change the returned value into radian */ thetaA = actualpos[s];

rc = DMCBinaryComrnand(hâxnc,tcommand,4, buffer, sizeofibuffer)); torque[s] = atofibuffer);

/*****Velocity calculation without Kalman Filter*****/ i f(s>O)

{ velocityA[s] = (actuaipos[s] -actualpos[s- 1 ])/T;

I

/***** Velocity caiculation with Kalman Fiitcr ****/

/* * * **Acceleration calculation with Kalman FiltePn*l

Page 189: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

finish = clock( 1: duration = (double)(finish - start) 1 CLOCKS-PER-SEC; printf( "\n%2.7f seconds\n\n\n", duration );

, *********The test is finished, resume the initial condition **************/

rc = DMCComrnand(hdmc, "MO;", buffer, sizeoflbuffer)); rc = DMCCommand(hdrnc, "OFX=O;", baer , sizeof(buffer));

//CC = DMCCornmand(hdmc, "SH;", buffer, sizeoqbuffer));

for Cj=O; j<2000; j++) i

if(rnax<=actualposlj]) { max 1 =Max; rnax=actualpos~ ] ;

1

/*** Time calculation *** I for (j=O; je000; j*) {

xtimeu] = j*T; I

/*Save the various data into file, dat.txt, for Matiab use*/

printf("Saving the data into the file, dat.txt\n"); fopen("dat.txtN, "w"); if((@ = fopen("dat.txt", "w+")) = NULL) printf'( "Can't open file"); for (j=0; jK2000; j++)

{

Page 190: Multiple Simultaneous Specifications Control High-Speed · PDF filePage 6.5 AC Induction Motor in Block Diagram Form 6.6 Sumrnary 7.1 Introduction 7.2 Simulation of Step-input Response

/*Save position into file, pos.txt, for Excel use*/

printf("Saving the data into the file, pos.txtW); fopen("pos.txtW, "w"); if((@ 1 = fopen("p~s.txt~~, "w+")) = W L L ) printf("Can't open file"); for u=0; jc2000; j*)

fprintflfp 1, "%hW, actualpos~ 1);

printfl "Close the connectionh");

11 pnntf'(" \n steady state position = '>/oh", achialpos[1999]); printf(" \n steady state error = %W, desirepos-actualpos[l999]);

ii printf'(" \n\n maximum ovefshot = %f\n", max); printq" \n percent overshoot = %h", (max-desirepos)/desircpos* 100);

rc = DMCClose(hdmc); if (rc) I

PrintError( rc) ; r e t m rc;

1

return OL;

/*************Prht error codes if the commands to DMC1700 are not sent properly****"*******/

void PrintEnor(1ong rc) {

printf("An enor has occurred. Rcturn code = %1d\nM, rc); 1

void InterruptCallback(tiSH0RT usintemptStatus) {

usIntemptStatus = us1ntemptStatus;