Digital Servo Drives

Péter Dr. Korondi

Krisztián Dr. Samu

Levente Raj

Annamária Décsei-Paróczi

Dénes Dr. Fodor

József Dr. Vásárhelyi

József Dr. Vass

A tananyag a TÁMOP-4.1.2.A/1-11/1-2011-0042 azonosító számú „ Mechatronikai mérnök MSc tananyagfejlesztés ” projekt keretében készült. A tananyagfejlesztés az Európai Unió támogatásával és az Európai Szociális Alap társfinanszírozásával valósult meg.

Published by: BME MOGI

Editor by: BME MOGI

2014


Table of Contents
1. Introduction
2. Classification of electric motors
2.1. Electromagnetic motors
2.1.1. Torque of electromagnetic motors
2.1.1.1. Cylindrical torque of Single-phase motor
2.1.1.2. Cylindrical torque of Multi-phase motors
2.1.1.3. Reluctance torque
2.1.1.4. Hysteresis torque
2.1.1.5. The impact of electronic power supply to the torque
2.1.2. Field-oriented approach method
2.1.3. Types of electromagnetic motors
2.2. Electrostatic motors
3. Classification of electric drives
3.1. Simple drives
3.2. Four quadrants servo drives
3.2.1. Torque sensing and measurement
4. Sliding mode control
4.1. Short historical overview
4.2. Introductory example
4.3. Solution of differential equations with discontinuous right-hand sides
4.4. Control relays
4.4.1. Condition for the existence of Sliding Mode
4.5. The solution of the differential equation of the introductory example
4.6. Design of the sliding manifold is state-space approach
4.6.1. Linear Quadratic approach
4.6.2. Frequency shaped LQ approach
4.6.3. H∞ optimal control approach
4.7. Discrete-time sliding mode design
4.8. Sliding mode Introductory example
4.8.1. Derivation of system trajectory
4.8.2. Error trajectory
4.8.3. Simple switching strategy
4.8.4. Explanation of sliding mode
4.8.5. Robustness of sliding mode control
4.8.6. Time function
4.8.7. Design of Sliding mode control
4.8.8. Comparison of sliding surface design methods
4.8.9. Control law
4.8.10. Switching surface of sliding mode
4.8.11. Observer based sliding mode
5. Internet based measurement of the servo motor
5.1. Aim of the measurement
5.2. Introduction
5.3. System overview
5.4. Presentation tools for measurement
5.4.1. Interface Box
5.4.2. Parameters of the Planetary Gearhead
5.5. General guidelines to experiments
5.6. Using the PCI-1720 D/A card – Motion control/ Exercise 1.
5.6.1. Initializing the PCI-1720 card by the function: DRV_DeviceOpen
5.6.2. Setting the voltage level on PCI 1720 card by the function: DRV_AOVoltageOut
5.6.3. Sample program of initializing and setting the voltage level on PCI-1720 card
5.7. Using the real-time clock with PCI 1720 D/A card – Motion control/ Exercise 2.
5.7.1. How real-time is achieved without real-time operating system?
5.8. Using the PCI-1784 Counter card – Motion control/ Exercise 3.
5.8.1. Initializing the PCI-1784 card by the function of DRV_DeviceOpen (see Exercise 1.)
5.8.2. Reset counter values on PCI-1784 card by the function: DRV_CounterReset
5.8.3. Start counting operation on PCI-1784 card by the function of DRV_CounterEventStart
5.8.4. Read counter values on PCI-1784 card by the function of DRV_CounterEventRead
5.8.5. Sample program of counter operations on PCI-1784 card
5.9. Open Loop Control measurement – Motion control/ Exercise 4.
5.9.1. Theoretical background for DC servomotor
5.9.2. Construction and equivalent circuit of DC servomotor
5.9.3. Mathematical model
5.9.4. Analysis of the model
5.9.4.1. Analysis of the transfer function
5.9.5. Digital filter
5.9.6. Description of the measurement
5.9.7. Exercise tasks
5.10. Closed Loop Control Measurements – Motion control/ Exercise 5.
5.10.1. Theoretical background of Control theories
5.10.2. Current controller
5.10.3. Methods for selecting the parameter values for PID controller Ziegler Nichols method
6. Sample measurement
6.1. Using the PCI-1720 D/A card -- Exercise 1
6.1.1. From the sample file (Dasoft.cpp) the following part should be copied to the text box:
6.1.2. Remove the code parts marked with red.
6.1.3. Change the code as it is highlighted with green.
6.2. Using the real-time clock with PCI 1720 D/A card – Exercise 2
6.3. Using the PCI-1784 Counter card -- Exercise 3
6.3.1. From the sample file (Dasoft.cpp) the following part should be copied to the text box:
6.3.2. Remove the code parts marked with red.
6.3.3. Change the code as it is highlighted with green.
6.4. Open Loop Control measurement – Motion control/Exercise 4. Open-loop test
6.4.1. Task 1. Response of the motor to constant torque
6.4.2. Task 2. Digital filter
6.4.3. Task 3. Response of the motor to sinusoidal voltage and compensation of the servo amplifier offset
6.4.4. Comparison of digital filters
6.5. Closed Loop Control Measurements -- Exercise 5
6.5.1. Parameter tuning of the P controller -- Test 1.
6.5.2. Step signal response of the P controller -- Test 2.
6.5.3. Response of the P controller to step changes in the reference speed signal -- Test 3.
6.5.4. Response of the P controller to step changes in the load -- Test 4.
6.5.5. Step signal response of the PI controller -- Test 2.
6.5.6. Response of the PI controller to step changes in the reference speed signal -- Test 3.
6.5.7. Response of the PI controller to step changes in the load -- Test 4.
6.5.8. Step signal response of the P and PI controller -- Test 1.
6.5.9. Stick-slip phenomenon
6.5.10. Step signal response of the position controller with inner shaft speed controller -- Test 1.
6.5.11. Fault tolerance measurements
6.5.12. Control of time-delay system
6.5.13. Sliding mode control results
6.6. Complex design and measurement
6.6.1. State feedback and its design
6.6.2. Application of reference signal correction
6.6.3. Design of the state observer
6.6.4. Integral control
6.6.5. Identification of the system
6.6.6. Design of the control
6.6.7. Identification of the motor
6.6.7.1. Analysis of the characteristics
6.6.7.2. Design of the excitation for the identification
6.6.7.3. Identification with the help of the MATLAB
6.6.8. Design of the control
6.6.8.1. Control without of the integrator
6.6.9. Integral control
6.6.10. Filter design for velocity measurement
6.6.11. Implementation
6.6.12. Control without integrator
6.6.13. Results of the measurement
6.6.14. Control with the integrator
6.6.15. Results of the measurement in the case of integrator
6.6.16. Appendix
7. Modelling Induction Motors
7.1. The AC Induction Motor
7.2. General equations of AC Motors
7.2.1. Machine equations in a natural co-ordinate system
7.2.2. Machine Equations in a common co-ordinate system
7.3. Modified Equivalent Circuits
7.4. Setting up the Model
7.5. Stator Coordinates
7.6. Field Coordinates
7.7. Model assumptions for the FOC method
7.7.1. Decoupling of the Nonlinearity
7.7.2. The Matlab/Simulink Model of the AC Motor
7.8. Vector versus Scalar control
7.8.1. Scalar Control
7.8.2. Vector Control
7.8.2.1. The FOC Algorithm Structure
7.9. Summary
7.9.1. The Matlab/Simulink Model of the Field Oriented Control
8. Sensorless Control with Speed Estimators
8.1. Sensorless FOC Techniquess
8.2. Observers’ Basics
8.3. The Kalman Filter Approach
8.4. Mathematical Background of Kalman Filters
8.4.1. Let us now descretize the continuous system:
8.4.2. Gauss-Markov representation
8.4.3. Auto-covariance of a stochastical system
8.4.4. Initial assumptions and the starting model
8.5. The Equation of the Kalman Filter
8.5.1. The state estimator equations are
8.5.2. The error of the state variable is
8.5.3. Determination of the error covariance matrix:
8.5.4. Basic equations and the algorithms of the Kalman Filter
8.5.5. Extended Kalman Filter
8.6. Applicability of the Kalman Filter
8.7. Motor model considerations
8.7.1. Estimating the rotor speed
8.7.2. Estimation of speed on the stationary reference frame
8.7.3. Estimation of speed in a rotating reference frame
8.7.4. Estimating the rotor resistance
8.8. Realization of the Kalman Filter
9. Glossary of SYMBOLS
9.1. Mathematical Symbols
9.2. General abbreviations
9.3. Abbreviations for fuzzy sets
References
List of Figures
2.1. Movement types of electric motors
2.2. Intermediate medium of electric motors for energy transfer
2.3. Classic and inside out stator and rotor designs
2.4. Path of flux in electromagnetic motors
2.5. The directions of the magnetic momentums in four neighbouring domain caused by the loop currents originating from the spin of the electrons.
2.6. Torque types
2.7. Most commonly used motor names
2.8. Single-phase asynchronous motors
2.9. Reluctance motors
2.10. Permanent magnet motors
3.1. Main components of electrical drives
3.2. Simple DC drive
3.3. Simple AC drive
3.4. Interpretation of the four quadrants
3.5. Signs of the current and voltages in all four quadrants
3.6. Direction of energy flow in different modes
3.7. AC drive using direct AC-AC converter
3.8. Usual layout of the servo drives
4.1. L-C circuit
4.2. Possible state-trajectories.
4.3. Removing the error.
4.4. Controller with relay
4.5. The state trajectory sliding along the surface S
4.6. The f(x) vector space pointing towards the surface S.
4.7. Introductory example
4.8. System trajectory
4.9. System trajectory
4.10. Error trajectory
4.11. Error trajectory
4.12. Simple switching strategy
4.13. Explanational animated figure about sliding mode control
4.14. Robustness
4.15. Time function
4.16. Design of Sliding mode control
4.17. Comparison
4.18. Control law
4.19. Switching surface
4.20. Observer based implementation
4.21. Application
4.22. Measurement results
5.1. System setup
5.2. Maxon A-max 26(110961) DC motor
5.3. Voltage change circuit diagram
5.4. Real circuit of voltage change
5.5. Maxon Planetary Gearhead GP 26(110395)
5.6. Maxon Digital Encoder HP HEDL 5540
5.7. Homepage layout
5.8. Exercise selection
5.9. Exercise results
5.10. Real-Time Extension architecture
5.11. Construction (http://dind.mogi.bme.hu/animation/chapter1/1.htm)
5.12. Equivalent circuit (http://dind.mogi.bme.hu/animation/chapter1/1_1.htm)
5.13. Time-domain equations (http://dind.mogi.bme.hu/animation/chapter2/2.htm)
5.14. Frequency-domain equations (http://dind.mogi.bme.hu/animation/chapter2/2_1.htm)
5.15. Derivation of transfer function of the DC motor (http://dind.mogi.bme.hu/animation/chapter2/2_2.htm)
5.16. Derivation of the time constants of the DC motor (http://dind.mogi.bme.hu/animation/chapter2/2_3.htm)
5.17. Derivation of state space representation (http://dind.mogi.bme.hu/animation/chapter3/3.htm)
5.18. Steady state, static characteristics (http://dind.mogi.bme.hu/animation/chapter3/3_1.htm)
5.19. Interactive figure of the static characteristics (http://dind.mogi.bme.hu/animation/chapter3/3_2.htm)
5.20. Analysis of the disturbance transfer function (http://dind.mogi.bme.hu/animation/chapter3/3_3.htm)
5.21. MatLab simulation of the motor
5.22. Analysis of the transfer function (http://dind.mogi.bme.hu/animation/chapter3/3_4.htm)
5.23. The MatLab model of the approximations
5.24. Bode diagram of a normal third order filter
5.25. Bode diagram of a third order Bessel filter
5.26. Classical PI controller (http://dind.mogi.bme.hu/animation/chapter4/4.htm)
5.27. Determination of the remaining phase margin (http://dind.mogi.bme.hu/animation/chapter4/4_1.htm)
5.28. Application (http://dind.mogi.bme.hu/animation/chapter4/4_2.htm)
5.29. Bode-diagram (http://dind.mogi.bme.hu/animation/chapter4/4_3.htm)
5.30. Note to classical PID controller (http://dind.mogi.bme.hu/animation/chapter4/4_4.htm)
5.31. Step response (http://dind.mogi.bme.hu/animation/chapter4/4_5.htm)
5.32. MatLab simulation of the controller motor
5.33. Position of the PI controller (http://dind.mogi.bme.hu/animation/chapter4/4_6.htm)
5.34. Response for load disturbance (http://dind.mogi.bme.hu/animation/chapter4/4_7.htm)
5.35. MatLab simulation of the speed control loop of the motor
5.36. Speed and current controller (http://dind.mogi.bme.hu/animation/chapter4/4_8.htm)
5.37. Explanation for neglecting the internal feedback line with kФ. (http://dind.mogi.bme.hu/animation/chapter4/4_9.htm)
5.38. Design concept (http://dind.mogi.bme.hu/animation/chapter4/4_10.htm)
5.39. Determination of Tu parameter (Tu ≈33 ms)
6.1. Sinusoidal output voltage
6.2. Open loop control Torque=1
6.3. Open loop control Torque=0.1
6.4. Comparison of unfiltered and filtered velocity
6.5. Comparison of different filters
6.6. Comparison of digital filters (period 0.1 s). Reference torque:l ight blue, unfiltered: blue, normal filter: green, Bessel filter: red
6.7. Comparison of digital filters (period 0.4 s). Reference torque: light blue, unfiltered: blue, normal filter: green, Bessel filter: red
6.8. P controller results for parameter tuning
6.9. P controller tuned by Ziegler Nichols method (P = 2.3)
6.10. P controller results for 3 step changes in the reference speed value
6.11. P controller results for step change in load
6.12. PI controller results for step change in the reference speed value
6.13. PI controller results for 3 step changes in the reference speed value
6.14. PI controller results for step change in load
6.15. P controller results for step change in the reference position
6.16. Stick-slip phenomenon
6.17. Position controller with P controller for position and PI inner shaft speed controller
6.18. Results of the position controller with P controller for position and PI inner shaft speed controller
6.19. PI control with a velocity filter
6.20. PI control with a velocity filter
6.21. PI control with a velocity filter
6.22. PI controller with and without anti windup function
6.23. Integral term without anti windup function
6.24. Integral term with anti windup function
6.25. Ultimate gain
6.26. PI controller for time delyed system
6.27. Reference signal correction in Discrete time
6.28. Observer based state feedback
6.29. Observer based state feedback with integrator
6.30. State feedback by integral control
6.31. Angular velocity with respect of time
6.32. Angular velocity with respect of time
6.33. Angular velocity with respect of the moment
6.34. Change of the angular velocity
6.35. Compare of the model and the measurement
6.36. The response of the step function
6.37. Model of the simulation
6.38. Results of the simulation
6.39. Moment
6.40. States
6.41. Model of the simulation with the integrator
6.42. Results of the simulation
6.43. Moment
6.44. Angular velocity
6.45. Step response
6.46. Bode diagram
6.47. Step response
6.48. Filtering
6.49. Result of the measurement
6.50. Results of the measurement in the case of integrator
7.1. An asynchronous motor
7.2. Classification of electric motors
7.3. Sinusoidal Current density distribution
7.4. Cross section of an Induction Motor
7.5. Three-phase stator and rotor windings of an asynchronous motor in the natural coordinate system
7.6. The coordinate systems for machine equation transformation
7.7. Equivalent circuit of the AC motor in normal operation
7.8. Equivalent circuit of fluxes
7.9. Vectorial diagram of fluxes and voltages
7.10. Modified equivalent circuit with the elimination of stator leakage
7.11. Modified equivalent circuit for fluxes if the rotor leakage is eliminated
7.12. Equivalent circuit of the motor valid also for transient operation
7.13. The chosen equivalent circuit
7.14. Connection between different coordinate systems
7.15. MATLAB/SIMULINK model of the AC motor
7.16. Maximal and Nominal Torque vs. Speed
7.17. Structure of a closed-loop scalar control with volts/hertz and slip regulation
7.18. The vector diagram of FOC principle
7.19. Basic scheme of FOC for AC-motor
7.20. Blockdiagram of a three Phases Asynchronous Motor Driver Using a FOC
7.21. Flux identification model in the case of a rotor-flux–oriented coordinate system
7.22. SIMULINK model of the rotor flux identification
7.23. FOC control of the induction motor
7.24. SIMULINK implementation of the FOC control block
7.25. The applied Torque
7.26. - components of the stator current
7.27. Rotor flux - components
7.28. The speed and reference speed in the case of FOC
7.29. d-q components of the stator current
8.1. Structure of the Speed estimator - Kalman Filter Techniques (KFT)
8.2. Structure of the MRAS
8.3. Speed adaptive Luenberger Observer
8.4. Speed Adaptive Extended Luenberger Observer
8.5. State Vector Reconstruction
8.6. Luenberger Observer Structure
8.7. The iterative algorithm of the KF
8.8. Flow chart of the KF
8.9. Structure of the Kalman Filter
8.10. Structure of the EKF
8.11. Off-Line identification
8.12. On-Line identification
8.13. Structure of the EKF based sensorless control
List of Tables
5.1. Parameters
5.2. Parameters
5.3. Parameters
5.4. Parameters
5.5. Parameters
5.6. Parameters
6.1. Ziegler-Nichols tuning chart