Modeling and Analysis of Signal Estimation for Stepper Motor - - PowerPoint PPT Presentation

modeling and analysis of signal estimation for stepper
SMART_READER_LITE
LIVE PREVIEW

Modeling and Analysis of Signal Estimation for Stepper Motor - - PowerPoint PPT Presentation

Modeling and Analysis of Signal Estimation for Stepper Motor Control Dan Simon Cleveland State University October 8, 2003 Outline Problem statement Simplorer and Matlab Optimal signal estimation Postprocessing


slide-1
SLIDE 1

Modeling and Analysis of Signal Estimation for Stepper Motor Control

Dan Simon Cleveland State University October 8, 2003

slide-2
SLIDE 2

Outline

  • Problem statement
  • Simplorer and Matlab
  • Optimal signal estimation
  • Postprocessing
  • Simulation results
  • Conclusion
slide-3
SLIDE 3

Problem statement

  • Speed control for PM DC motor
  • Aerospace applications

– Flywheel energy storage – Flight control trim surfaces – Hydraulics – Fans – Thrust vector control – Fuel pumps

slide-4
SLIDE 4

Problem statement

DC Machine Permanent Excitation

J T J kI L k L RI L V I

L /

/ / / / − = − − = ω ω

  • I = armature current

V = armature voltage L = inductance R = resistance k = motor constant ω = rotor speed θ = rotor angle J = moment of inertia TL = load torque

slide-5
SLIDE 5

State assignment:

  • x1 = I
  • x2 = ω
  • x3 = θ
  • x4 = TL / J

Measurements:

  • y = current (and possibly position)

Problem statement

slide-6
SLIDE 6

Problem statement

Estimate velocity x2

noise 1 1 y noise / 1 1 1 / / / +       = +             +             − − − = x V L x J k L k L R x

slide-7
SLIDE 7

Simplorer and Matlab

  • Simplorer

– Circuit element models – Electric machine models – Data analysis tools – Interfaces with Matlab / Simulink

slide-8
SLIDE 8

Simplorer and Matlab

  • Matlab

– Powerful math and matrix capabilities

  • Co-Simulation

– Link Simplorer and Matlab – Plot and analyze data in either environment

slide-9
SLIDE 9

Simplorer and Matlab

  • Use the SiM2SiM tool in

Add Ons / interfaces6

  • Begin the simulation in Simulink
slide-10
SLIDE 10

Simplorer and Matlab

Define Simplorer inputs and outputs in the property dialog of the SiM2SiM component Simplorer ↔ Simulink

slide-11
SLIDE 11

Simplorer and Matlab

  • Use the S-function property dialog in Matlab

to link Simplorer / Matlab signals

slide-12
SLIDE 12

Simplorer and Matlab

  • Begin the simulation in Matlab
  • Couple Simplorer’s and Matlab’s strengths

– Simplorer: power electronics, electromechanics, data analysis, state diagrams – Matlab: matrix algebra, toolboxes

  • Data analysis / viewing can be done in

either Simplorer or Matlab

slide-13
SLIDE 13

Optimal signal estimation

Given a linear system:

Dv Cx y w B u B Ax x

w u

+ = + + =

  • x = state

y = measurement u = control input w, v = noise Find the best estimate for the state x

slide-14
SLIDE 14

Optimal signal estimation

Suppose w ~ N(0, Q) and v ~ N(0, R). The Kalman filter solves the problem

{ }

) ˆ ( ˆ ˆ ) ˆ ( ) ˆ ( min

1 1

x C y K x A x D R D PC K KCP QB B PA AP P dt x x x x E

T T T w w T T

− + = = − + + = − −

− − −

slide-15
SLIDE 15

Optimal signal estimation

The H∞ filter solves the problem

θ 1 ) ( ˆ ) ( ˆ

2 2 2 2

1 1 1

< + + − −

∫ ∫ ∫

− − −

dt v dt w x x dt x x

R Q P S

This is a game theory approach. Nature tries to maximize the estimation error. The engineer tries to minimize the error.

Dv Cx y w B u B Ax x

w u

+ = + + =

slide-16
SLIDE 16

Optimal signal estimation

Rewrite the previous equation:

J J dt v w dt x x x x

x v w x R Q S P ) ( , , ˆ 2 2 2 2

max min 1 ˆ ) ( ˆ ) ( 1

1 1 1

< < + − − + − −

∫ ∫

− − −

θ θ

Game theory: nature tries to maximize J and the engineer tries to minimize J

slide-17
SLIDE 17

Optimal signal estimation

The H∞ filter is given as follows:

) ˆ ( ˆ ˆ

1 1

x C y K x A x D R D PC K PSP KCP QB B PA AP P

T T T w w T

− + = = + − + + =

− − −

  • θ

Note this is identical to the Kalman filter except for an extra term in the Riccati equation.

slide-18
SLIDE 18

Optimal signal estimation

  • The Kalman filter is a least-mean-squares

estimator

  • The H∞ filter is a worst-case estimator
  • The Kalman filter is often made more

robust by artificially increasing P

  • The H∞ filter shows exactly how to

increase P in order to add robustness PSP KCP QB B PA AP P

T w w T

θ + − + + =

slide-19
SLIDE 19
  • Steady state:

Optimal signal estimation

) ˆ ( ˆ ˆ

1 1

x C y K x A x D R D PC K PSP KCP QB B PA AP P

T T T w w T

− + = = = + − + + =

− − −

  • θ
  • This is an Algebraic Riccati Equation
  • Real time computational savings

Jacopo Riccati 1676-1754

slide-20
SLIDE 20

Postprocessing

Transfer Matlab data to Simplorer for plotting and analysis

slide-21
SLIDE 21

Postprocessing

  • Start the Matlab postprocessor interface

before starting the co-simulation

  • After running the co-simulation, the Day

postprocessor can exchange data with Matlab

slide-22
SLIDE 22

Postprocessing

Drag data between Day and Matlab

Matlab commands Matlab output Matlab variables

slide-23
SLIDE 23

Postprocessing

  • Day cannot handle arrays with more than

two dimensions – use Matlab’s “squeeze” command

  • Make sure Matlab data is not longer than

Simplorer’s time array

slide-24
SLIDE 24

Postprocessing

Simplorer data Matlab data

slide-25
SLIDE 25

Postprocessing

Analysis Characteristics to view statistical information

Select the desired

  • utput variable

Export to table

slide-26
SLIDE 26

Simulation results

motor parameters measurements control input Ouput from Matlab

slide-27
SLIDE 27

Simulation results

equations ˆ and implement x P

  • motor

PI Controller

slide-28
SLIDE 28

Simulation parameters:

  • 1.2 ohms, 9.5 mH, 0.544 Vs, 0.004 kg⋅m2
  • Initial speed = 0

cmd speed = 1000 RPM

  • External load torque

changes from 0 to 0.1

  • Measurement errors

0.1 A, 0.1 rad (1 σ)

Simulation results

slide-29
SLIDE 29

Simulation results

slide-30
SLIDE 30

Steady state parameters:

  • Initial speed = 1000

commanded speed = 1000 RPM

  • External load torque = 0
  • Measurement error = 0.1 A, 0.1 rad (1 σ)

Simulation results

slide-31
SLIDE 31

Simulation results

slide-32
SLIDE 32

Simulation results

slide-33
SLIDE 33

Simulation results

0.058 0.035 L = 2 L 938 941 k = 2 k 0.082 0.078 J = 2 J 0.120 0.122 R = 2 R 828 834 k = k / 2 0.060 0.060 J = 0.6 J 0.056 0.032 L = L / 2 0.106 0.102 R = R / 2 0.057 0.033 Nominal H∞ filter Kalman filter

RMS Estimation Errors (RPM) current and position measurements

slide-34
SLIDE 34

Simulation results

Now suppose we measure winding current but not rotor position. Can we still get a good estimate of motor velocity? [ ]

sigma)

  • ne

amps, (0.1 noise 1 y noise / 1 1 1 / / / + = +             +             − − − = x V L x J k L k L R x

slide-35
SLIDE 35

Simulation results

0.038 0.036 L = 2 L 959 959 k = 2 k 0.081 0.081 J = 2 J 0.154 0.154 R = 2 R 939 941 k = k / 2 0.060 0.060 J = 0.6 J 0.036 0.034 L = L / 2 0.102 0.102 R = R / 2 0.036 0.034 Nominal H∞ filter Kalman filter

RMS Estimation Errors (RPM) current measurement only

slide-36
SLIDE 36

Conclusion

  • Motor state estimation is required for

motor control

  • Kalman filtering and H∞ filtering can be

used for motor state estimation

  • Steady state filtering saves time
  • Simplorer / Matlab co-simulation
  • Estimate motor parameters R, L, J, k