Project: Experimental determination of a Servo-Motor State Space Model

EE380-4 Course project Experimental determination of a Servo-Motor State Space Model Dr. A. Masoud, Course Project, Posted Thursday, October 8, 2015, Due a week before the end of the semester 151. Objective: To determine experimentally the state space model and the transfer function of the control laboratory servo-trainer using physical measurements instead of mathematical derivations. In addition, to be familiarized with the mathematical tools needed for doing this task Background: The servo-process you will be examining in the EE380 laboratory is the DC motor (figure-1). By now, you are familiar with how to model theoretically this process. To do this, you need to know beforehand all the parameters of the system. These parameters are usually not readily available. Computing them may be difficult or not possible. Therefore, the only other alternative is to determine the model of the servo-process experimentally. Figure-1: Equivalent circuit of a DC motor The motor used in the laboratory servo-trainer is a permanent magnet DC motor. The field is generated by the permanent magnet is a constant. This makes the armature voltage (Va) the only means of control available, i.e the motor is in an armature control mode. The state of the overall system (X) consists of the state of the electrical part which is the current in the inductor (the armature current Ia), the angular position (θ ) and the velocity of the mechanical part (θ ). As for the output, it can be selected as anyone of these variables. This makes writing the output equation of the state space model of the motor a simple and a straightforward task. The state vector of the overall system is: X=[ Ia θ θ ] T . However, we are going to use a simplified model that neglects the electrical component and focus only on the mechanical one. The state vector of the simplified model is: X=[θ θ ] T . The state equation of the simplified model in (1) Va, c d a b ⎥ ⎦ ⎤ ⎢ ⎣ ⎡ +⎥ ⎦ ⎤ ⎢ ⎣ ⎡ ⎥ ⎦ ⎤ ⎢ ⎣ ⎡ ⎥ = ⎦ ⎤ ⎢ ⎣ ⎡ f e θ θ θ θ    (1) Determining the model means that the input (Va(t)), the states (θ (t), θ (t)) and their derivatives can be directly measured or reliably computed. The parameters (a,b,c,d,e,f) are the unknowns that need to be determined from the measurements. To determine the parameters, we first need to change the form of the state space equations into the form in (2) , f e d c b a 0 0 (t) (t) 0 Va (t) (t) 0 0 Va 0 (t) (t) ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ ⎥ ⎦ ⎤ ⎢ ⎣ ⎡ ⎥ = ⎦ ⎤ ⎢ ⎣ ⎡ θ θ θ θ θ θ     (2) Now take “n” measurements of the states, their derivatives and the input and form the equations in (3). Determining the time instants (t1, t2,..,tn) at which measurements are to be taken are left up to the student. However, one should make sure that the measurements are distinct, i.e. do not take the same measurement more than once. Also make sure that measurements cover the significant period of observation. To make sure that you selected enough data use matlab command the check the rank of the matrix in equation (3). If the rank is 6, then you got enough measurements to solve the equation and determine the state space parameters. , f e d c b a 0 0 (tn) (tn) 0 u (tn) (tn) 0 0 u 0 . . 0 0 (t1) (t1) 0 u (t1) (t1) 0 0 u 0 (tn) (tn) . . (t1) (t1) ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ = ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ θ θ θ θ θ θ θ θ θ θ θ θ         (3) Equation (3) may be written in a more compact form (4) as: , f e d c b a b A ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ = ⋅ (4) Again, If the rank of the matrix A is equal to the corresponding parameters (rank(A)=6), the parameters can be determined uniquely. Matlab has commands that can both determine the rank of a matrix and solve a linear system of such a sort. While Va(t),θ (t) and θ (t)can be measured experimentally, θ (t) has to be obtained using numerical differentiation of θ (t). There are different formulas to numerically compute the derivative of a function f(x), below are three of them arranged in terms of their accuracy, Rough accuracy Medium accuracy Reasonably accurate Computing the transfer function of the servo-motor may be done in two ways. You could use the procedure studied in the EE380 laboratory and obtain the transfer function. The other method is to compute the transfer function from the state space equations. Figure-2: EE380 servo-trainer Project Procedure: 1- Consider the servo-trainer in figure-2. 2- Make sure that the zero knob of the power amplifier is adjusted so that the motor is not moving 3- Select the step test signal from the on-board power (Va(t)) supply and connect it to input of the power amplifier. 4- Use a storage oscilloscope to record θ (t) and θ (t). Make sure that the period of the recording starts shortly before applying the step response until the value of θ (t) becomes negligible. For step input, the speed exponentially decays. Usually a magnitude of 5% of the maximum is considered negligible. 5- Select a value for the magnitude of the step input (Va(t)). Make sure that your selection provides a typical response of the motor 6- Take more than 17 readings of the values of the above variables in the period of measurement 7- Numerically compute θ (t) at the selected samples in time. Use the three formulas and compare the results. In the computation, use only the most accurate formula 8- Repeat steps 6 & 7 for a magnitude of Va(t) above the nominal previously selected and below it 9- Create the linear system in (3) and use matlab to find the parameters of the state space system for the three cases 10- Assume that you select θ (t) as the output. In other words, the output equation is [ ] [ ] [] 0 Va ( ) ( ) ( ) 0 1 +⎥ ⎦ ⎤ ⎢ ⎣ ⎡ = t t t θ θ θ   11- Use matlab to convert the state space equations into the equivalent transfer functions. 12- Now use the velocity recording to compute the velocity transfer function using the time constant-based method taught in the EE380 lab. Compare the results with the ones computed from the state space model. Style of the Report: You must write a full report that contains all components. This includes, but not limited to: 1- Objective 2- Introduction 3- Theory & derivations 4- Data section 5- Data analysis, computation and graphs 6- Final results 7- Conclusions and discussion. In this section write your observations, whatever they are, about the work. This could be difficulties you encountered, improvements and suggestions, observations on how the trainer behaved or any other scientific/technical observation that you may have. 8- References 9- The report has to be typed. No had-written report will be accepted 10- All graphs, tables, photos, figures and illustrations have to be professionally prepared using a suitable software package You may work in a group of at most “Three”. However, you need to declare who your partner is well in advance.