Modelling and simulation of a measurement robot

Similar documents
Mechatronics Engineering. Li Wen

Lab 3: Model based Position Control of a Cart

Physics 240 Fall 2005: Exam #3. Please print your name: Please list your discussion section number: Please list your discussion instructor:

Laboratory 11 Control Systems Laboratory ECE3557. State Feedback Controller for Position Control of a Flexible Joint

Rotational Motion. Figure 1: Torsional harmonic oscillator. The locations of the rotor and fiber are indicated.

3 Lab 3: DC Motor Transfer Function Estimation by Explicit Measurement

Quanser NI-ELVIS Trainer (QNET) Series: QNET Experiment #02: DC Motor Position Control. DC Motor Control Trainer (DCMCT) Student Manual

ME 3210 Mechatronics II Laboratory Lab 4: DC Motor Characteristics

EDEXCEL NATIONALS UNIT 5 - ELECTRICAL AND ELECTRONIC PRINCIPLES. ASSIGNMENT No. 3 - ELECTRO MAGNETIC INDUCTION

Rotational Systems, Gears, and DC Servo Motors

Physics 240 Fall 2005: Exam #3 Solutions. Please print your name: Please list your discussion section number: Please list your discussion instructor:

Lab 3: Quanser Hardware and Proportional Control

Introduction to Control (034040) lecture no. 2

DcMotor_ Model Help File

Positioning Servo Design Example

MCE380: Measurements and Instrumentation Lab. Chapter 5: Electromechanical Transducers

DSC HW 3: Assigned 6/25/11, Due 7/2/12 Page 1

Exercise 5 - Hydraulic Turbines and Electromagnetic Systems

INC 341 Feedback Control Systems: Lecture 3 Transfer Function of Dynamic Systems II

Tutorial 1 - Drive fundamentals and DC motor characteristics

SRV02-Series Rotary Experiment # 1. Position Control. Student Handout

DC-motor modelling and parameter identification

Massachusetts Institute of Technology Department of Electrical Engineering and Computer Science Electric Machines

TCS SERVO SYSTEM: Mechanical Modeling

PHYSICS LAB Experiment 9 Fall 2004 THE TORSION PENDULUM

TEMPERATURE EFFECTS ON MOTOR PERFORMANCE

Appendix A: Exercise Problems on Classical Feedback Control Theory (Chaps. 1 and 2)

Elementary Theory of DC Permanent Magnet Motors

E11 Lecture 13: Motors. Professor Lape Fall 2010

SCHOOL OF COMPUTING, ENGINEERING AND MATHEMATICS SEMESTER 1 EXAMINATIONS 2012/2013 XE121. ENGINEERING CONCEPTS (Test)

Chapter 21 Lecture Notes

Department of Mechanical Engineering

Lab 5a: Pole Placement for the Inverted Pendulum

Lab 6a: Pole Placement for the Inverted Pendulum

The basic principle to be used in mechanical systems to derive a mathematical model is Newton s law,

FEEDBACK CONTROL SYSTEMS

Computer Aided Control Design

2002 Prentice Hall, Inc. Gene F. Franklin, J. David Powell, Abbas Emami-Naeini Feedback Control of Dynamic Systems, 4e

Rotary Motion Servo Plant: SRV02. Rotary Experiment #01: Modeling. SRV02 Modeling using QuaRC. Student Manual

Homework Assignment 4 Root Finding Algorithms The Maximum Velocity of a Car Due: Friday, February 19, 2010 at 12noon

Encoders. Understanding. November design for industry: Help clean up the ocean. Horizon failure forensics

Manufacturing Equipment Control

Varuvan Vadivelan. Institute of Technology LAB MANUAL. : 2013 : B.E. MECHANICAL ENGINEERING : III Year / V Semester. Regulation Branch Year & Semester

6) Motors and Encoders

Design a SSV. Small solar vehicle. Case SSV part 1

MATHEMATICAL MODELING OF OPEN LOOP PMDC MOTOR USING MATLAB/SIMULINK

RLC Series Circuit. We can define effective resistances for capacitors and inductors: 1 = Capacitive reactance:

Note that a current-carrying solenoid produces a dipole field similar to that of a bar magnet. The field is uniform within the coil.

Laboratory Exercise M-2 Power measurements

LO-COG DC Gearmotors. Series GM8000. Series GM9000. Series GM BULLETIN LCG Series GM8000, GM9000, GM Power Your Ideas

Coupled Drive Apparatus Modelling and Simulation

MASSACHUSETTS INSTITUTE OF TECHNOLOGY Department of Physics Spring Experiment 5: Faraday s Law

Lab 1: Dynamic Simulation Using Simulink and Matlab

A FORCE BALANCE TECHNIQUE FOR MEASUREMENT OF YOUNG'S MODULUS. 1 Introduction

Overview of motors and motion control

Some tools and methods for determination of dynamics of hydraulic systems

Characteristics of DC Motors

EXPERIMENT 7: ANGULAR KINEMATICS AND TORQUE (V_3)

SOLUTION (17.3) Known: A simply supported steel shaft is connected to an electric motor with a flexible coupling.

JRE SCHOOL OF Engineering

Mathematical Modeling and Dynamic Simulation of DC Motors using MATLAB/Simulink Environment

Technical Guide for Servo Motor Selection

CHAPTER 8: ROTATIONAL OF RIGID BODY PHYSICS. 1. Define Torque

Physics 42 Exam 3 Spring 2016 Name: M T W

Laboratory Exercise 1 DC servo

ECE 5670/6670 Lab 8. Torque Curves of Induction Motors. Objectives

Lab 5: Rotational Motion II

Mechatronics Modeling and Analysis of Dynamic Systems Case-Study Exercise

TOPIC: ELECTRODYNAMICS - MOTORS AND GENERATORS AND ALTERNATING CURRENT. (Taken from the DoE Physical Sciences Preparatory Examination Paper )

Reglerteknik, TNG028. Lecture 1. Anna Lombardi

Lezione 9 30 March. Scribes: Arianna Marangon, Matteo Vitturi, Riccardo Prota

EE 474 Lab Part 2: Open-Loop and Closed-Loop Control (Velocity Servo)

2.004 Dynamics and Control II Spring 2008

ENHANCEMENT MAXIMUM POWER POINT TRACKING OF PV SYSTEMS USING DIFFERENT ALGORITHMS

IfA Fachpraktikum - Experiment 3.7A : Flexible Shaft A

Physics 1050 Experiment 6. Moment of Inertia

(Refer Slide Time: 00:01:30 min)

MAE106 Homework 2 - Solution DC Motors & Intro to the frequency domain

Revision Guide for Chapter 15

Electric Vehicle Performance Power and Efficiency

What happens when things change. Transient current and voltage relationships in a simple resistive circuit.

DC Motor Position: System Modeling

Rotational Motion. Rotational Motion. Rotational Motion

Physics 4 Spring 1989 Lab 5 - AC Circuits

PHY 123 Lab 6 - Angular Momentum

Survey of Methods of Combining Velocity Profiles with Position control

R10 JNTUWORLD B 1 M 1 K 2 M 2. f(t) Figure 1

Solved Problems. Electric Circuits & Components. 1-1 Write the KVL equation for the circuit shown.

Second measurement. Measurement of speed of rotation and torque

ADMISSION TEST INDUSTRIAL AUTOMATION ENGINEERING

MECHATRONICS ENGINEERING TECHNOLOGY. Modeling a Servo Motor System

State Feedback Controller for Position Control of a Flexible Link

Mechatronic System Case Study: Rotary Inverted Pendulum Dynamic System Investigation

Spontaneous Speed Reversals in Stepper Motors

Feedback Control Systems

AC Circuits Homework Set

MODELING AND IDENTIFICATION OF A MECHANICAL INDUSTRIAL MANIPULATOR 1

Texas A & M University Department of Mechanical Engineering MEEN 364 Dynamic Systems and Controls Dr. Alexander G. Parlos

King Saud University

International Journal of Advance Research in Computer Science and Management Studies

Transcription:

Modellbygge och Simulering, TSRT62 Modelling and simulation of a measurement robot Denna version: 4 oktober 2017 Servo- motor Strömregulator + u + i(t) [A] r (t) [V] u(t) [V] Arm Skruvtransmission Remtransmission REGLERTEKNIK Namn: Personnr: AUTOMATIC LINKÖPING CONTROL Datum: Godkänd:

Innehåll 1 Introduction 1 1.1 The Tools............................. 2 2 Description of the system 2 2.1 Current controller (Strömregulatorn).............. 3 2.2 Servo motor............................ 4 2.3 Belt transmission (remtransmission)............... 5 2.4 Screw transmission (skruvtransmissionen)........... 5 2.5 Robot arm............................. 5 3 Some modeling tips 6 4 Session 1 7 4.1 Preparations............................ 7 4.2 Exercises.............................. 8 5 Session 2 10 5.1 Preparations............................ 10 5.2 Exercises.............................. 10 A Tabeller 12 2

1 Introduction The lab consists of two four hour sessions and the goal is to create a model of the robot in figure 1 and verify the model using simulations. The robot is used to perform accurate measurements. There is a sensor on the robot arm which is activated when it comes in touch with something, and by letting the robot move between two surfaces, the distance between these can be computed. There are preperatory exercises for both sessions, see chapter 4.1 for session 1 and chapter 5.1 for session 2. Since there is a limited amount of time available at the session, the exercises have to be well prepared, and they will be checked before the session starts. In the first session, a model of the robot motor is developed and simulated using Simulink and MathModelica. Block-oriented modeling and objectoriented modeling is compared. In the second session, a more complete model of the robot is built and simulated using MathModelica. This will entail more complex modeling, using hierarchical models and sub-components. Figur 1: The robot, with and without cover. 1

1.1 The Tools The two tools used are Simulink and MathModelica. The goal with the is understand and appreciate different ways to approach modeling. Specific instructions to Simulink and MathModelica and examples to get started will be available on the course homepage. Simulink: Simulink is a simulation environment running in Matlab, based on blockoriented models. The purpose of Simulink is to allow users to easily describe and simulate systems. To simplify modeling, a graphical signal-based user interface is used. MathModelica: MathModelica uses the open object-oriented equation based modeling language Modelica. There are many components available in the standard library for Modelica, and the parts that will be used here are Blocks.Sources Electrical.Analog Mechanical.Rotational Mechanical.Translational See the course homepage for links to the component libraries. You should be able to complete the labs with these components only, but you are allowed to use additional ones if you want. 2 Description of the system A sketch of the system is seen in figure 2. The system consists of five parts connected according to figure 3. A short description of every sub-system follows below. 2

Servo- motor Strömregulator + u + i(t) [A] r (t) [V] u(t) [V] Arm Skruvtransmission Remtransmission Figur 2: The robot system Styrd process Ström regulator Servo motor Rem transmission Skruv transmission Robot arm Referens signal V A M Nm rad/s Nm rad/s N m/s Utsignal Figur 3: Main components in system, and their interaction. Interaction units in SI-units 2.1 Current controller (Strömregulatorn) Inputs to the current controller is a voltage which describes a reference signal for the motor current, and the motor current. The output is the voltage driving the motor, and the current drawn from the reference source. For simplicity on lab 2 we will use a current source instead of a current controller, which means we assume we have an ideal controller where the motor current always is the desired. Note though that if we use an ideal current source, we cannot have any inductance in the circuit. (why?) 3

2.2 Servo motor The servo motor is a simple DC-motor mechanically connected to a tachometer. The current controller is electrically connected to the servo motor according to figure 4. The tachometer allows for yet another feedback loop from motor angular velocity which is proportional to tachometer voltage. This feedback is not used in our model of the robot, so the modeling of the tachometer can be seen as an extra exercise. Another addition would be to design a controller which controls the motor angular velocity by feedback from the tachometer. Tacho G + Strömbörvärde u + t 1 Ström reg. t 3 + M J Motor Last t 2 t 4 Figur 4: Electrical components sketch. Data for the motor and the tachometer can be found in figure 9, in appendix A Tables. The used motor has model number M-586-0585. The plot shows the relation between revolutions per minute (rpm) and torque. The upper curve is limiting the working area of the motor. From the curve we can see 3 different limitations; the motor has an upper rpm limit 6000 rpm, a maximum torque 1.05 Nm, and a maximum power. The lower curve shows the relation between torque and angular velocity on motor axle when the current to the motor is kept constant. The current can be read as Continuous stall current, i.e., 3.9 A. Under Winding specifications in figure 9 there are two resistors and one inductor. The reason for this is that the coil is not an ideal inductor, but is both inductive and resistive. With the notation in figure 5, Armature resistance is R I, Terminal resistance is given by R r + R I and Armature inductance is I I. 4

Induktor R r R I I I M = f(i) U = f(ω) Figur 5: Motor skecth. 2.3 Belt transmission (remtransmission) The servo is connected to a toothed cylinder shaped belt disc with outer diameter 20 mm and thickness 10 mm. A rubber belt drives another belt disc with outer diameter 80 mm and thickness 15 mm. The length of the belt is 750 mm and by elasticity it elongates 0.4 % of its full length at max load 200 N. In the Physics Handbook you can find how to compute inertia for the discs. The discs are made out of aluminum (density 2.7 10 3 kg/m 3 ). Energy losses happens at both discs; the smaller disc has a friction 2 10 5 Nms/rad while it is 5 10 5 Nms/rad for the larger one. 2.4 Screw transmission (skruvtransmissionen) The larger disc on the belt transmission drives a screw with pitch 1 revolution/inch. The screw drives the vertically working robot arm. Data for the screw transmission is found in figure 7 1 in appendix A. The screw in the robot is B-8000. The screw is connected to the robot arm through a spring. The spring constant is 75 kn/m. The length of the screw 2 is 1 m. Friction in the screw is assumed negligible. 2.5 Robot arm The robot arm is driven by the screw via the spring and moves vertically. The mass of the arm is 5.5 kg and the friction is 25 Ns/m. Note that we want 1 16 oz = 0.45359 kp, 1 kp = 9.81 N and 1 in = 25.4 mm according to the Table 2 Note that the inertia is given per unit length in the table. 5

to control the velocity of the arm, but for practical reasons we feedback the velocity of the motor which is connected to the tachometer. 3 Some modeling tips To simplify the two sessions, here are some general tips. Sub-models: To begin with, divide the large model into smaller models, and test every part by itself before you connect everything. This will also give you a better feeling for how the different parts work. Start with a simple model: Start with the most basic properties. As an example, if you model two cog wheels with different radii, the most important property is that they scale torque and angular velocity. Later properties that might be important are things like friction and possible elasticity in the cogs. Slow dynamics first: Extend the simple model with slow dyanmics first. If a cog wheel is attached to a long aluminium axle, the axle flexibility probably has slower dynamics than the wheel flexibility dynamics. In other words, the weakness of the axle is more important to model than weakness of the cogs. Changing standard blocks in mathmodelica: To change the equations in a standard block in MathModelica it is easiest to copy the block and save in another name. You can then edit the copy. 6

4 Session 1 During session 1 two models of the robot motor are built and verified by simulations. A block-oriented model in Simulink. An object-oriented model in MathModelica. In this part, we assume the motor is driven by a voltage source. 4.1 Preparations 1. Draw a bond-graph of the motor and mark causality. Is the graph conflict free? Which variables are suitable states? 2. Create a model of the motor using Simulink-blocks. 3. Think through how an object-oriented model should look like in Math- Modelica and which standard blocks you need. Available standard components can be found in the links given in the course home-page. 4. find all numerical constants required for the motor model. Be careful with the units! For the mechanical friction coefficient, use the diagram in figure 9 in appendix A, in particular the slope on the straight line. 5. In exercise 5 on session 1 you write Modelica-code for a nonlinear inductance. Think through what the code should look like. Use Math- Modelica possibilities for object-oriented modeling. In [1, par. 9.3] you find some guidelines. The constants k 1, k 2 och k 3 in the relation (1) on the next page can be declared as parameter Real. (Which units should they really have?) Tips on the Preparations. For the bond graph of the servo motor, don t forget that you should have 2 effort sources S e. One is of course the input voltage u r and the other one is the load on the rotation side (a torque). 7

For the simulink model: to see how the signals are connected and to easily answer question 1 during session 1, we recommend blocks such as Integrator, Gain, Sum in the model. Assume that the model is ẋ = 2 x + 1 u and we want to simulate the model and plot the 3 3 state x when the input u is a step. In figure 6 is one way to solve it using simple blocks. For students not familiar with Simulink, a small Figur 6: Example of simulink model guide is available in the course web page. Note that 60 RPM = 1 Hz = 2π rad/s. 4.2 Exercises 1. The electrical time-constant for the motor is defined as the time-constant for the current when a voltage step is made with the axle held still. The mechanical time-constant is defined as the time-constant for angular velocity during a voltage step with no load. The two time-constants are given in figure 9, appendix A. These can be computed using the constants you have derived (create differential equations, see [2]), or by simulation. Check that the values are consistent with the table. What could the reason be for one of the time-constants to deviate more than the other? 2. Do some comparisons between the two modeling programs. Same results? Why/why not? 3. Now study the MathModelica-model closer. One way to figure out which variables have been selected as state variables for simulation is 8

by looking at the box available for setting initial conditions. Compare with the choice in the bond-graph. Are they the same? 4. Now assume that the motor instead of an inductance contained two inductors in series with the same total inductance as earlier. Modify the bond-graph and the MathModelica-model. Is the bond-graph conflict free? If not, how can you solve this? Can the new Math- Modelica-model be simulated? How has MathModelica selected state variables? Explain why! 5. If you have larger currents in an inductor you might want to use a nonlinear model to better describe the physics. A model suitable for some coils is Φ(t) = k 1 arctan(k 2 i L (t)) (1) Φ(t) = k 3 u L (t) where i L (t) is the current, u L (t) is the voltage Φ L (t) is the magnetic flow through the coil. Create such a MathModelica-model and use instead of the earlier inductance in the motor model. Let k 1 = 3.39 10 3, k 2 = 1 and k 3 = 1. Try simulating the model for different input voltages. How large inputs are needed before you can see that the model is nonlinear? 6. Make sure the MathModelica-model of the motor can be re-used in lab 2. A good solution is to make the motor a block, and thus allow hierarchical modeling. This can be done by giving the model in- and outputs using the Flange-blocks. An icon can be drawn for the motor too. 9

5 Session 2 Now we model the whole robot in MathModelica. For simplicity we use a current source instead of a current controller. 5.1 Preparations 1. Using an ideal current with an inductance can cause problems how? In this lab we avoid the problem by not including the inductance in the model. 2. Find all numerical constants needed for the different sub-models. Be careful with units! 3. Plan for how the motor model can be extended gradually to a complete model. Think about how all sub-components should be simulated. The models should be constructed with the object-oriented approach used by MathModelica (hierarchical modeling) and extensions should be done according to the hints in Chapter 3. 5.2 Exercises 1. Extend to a model of the whole robot 2. Comment on all assumptions made. Which simplifications have been made? (E.g.: we assume all voltages in the controller are within limits) 3. When a system is extended with more dynamics simulations will take longer. Sometimes the difference in time can be larger than what can be explained from having a larger system. What other explanations could there be? 4. The answer on the previous question and the hints in Chapter 3 gives another rule of thumb for which dynamics to include in a model. Formulate this rule-of-thumb! 5. (a) The real system is very oscillatory. Can this be seen in the simulations? What causes the oscillations? This question is the reason the control group has studied this robot in reality. 10

(b) Play around by increasing and decreasing parameters to see if you can reduce the oscillations. Why is it not suitable to do these changes on the real robot? 6. Assume the spring between the screw and the arm is nonlinear F = 0.0012K π ( ) π tan 0.0012 (s s 0) where K = 75 kn/m is the spring constant, s is the length of the spring, and s 0 is the length of the spring at rest. (2) (a) (b) compare the linear and the nonlinear spring force by using Matlab to draw spring force against spring length. (Hint: From (2) you can see the period length of the force, i.e., how large values on s which are needed.) Describe similarities and differences between the linear and nonlinear spring. How is the robot behavior changed in simulation by changing the spring? Referenser [1] L. Ljung and T. Glad. Modellbygge och simulering. Studentlitteratur, 2004. [2] T. Glad and L. Ljung. Reglerteknik: Grundläggande teori. Fjärde upplagan, Studentlitteratur, 2006. 11

A Tabeller MECHANICAL PROPERTIES Static Anti- Frictional Screw Anti- Backlash Screw/Nut Drag Torque Inertia Backlash Life w/tfe Series oz.-in. (NM) oz.-in.-sec. 2 /in. Life Coating B 4000.3 10 5 N/A N/A B 6000 1.5 10 5 Typical Typical B 7000 3.5 10 5 Backlash Backlash B 8000 Free 5.2 10 5.003 -.010.003 -.010 B 10000 Wheeling 14.2 10 5 (.076-.25mm) (.076-.25mm) B 12000 30.5 10 5 B 14000 58.0 10 5 Figur 7: Mechanical data for the screw transmission. 12

Figur 8: Servo motor. 13

Torque Nm 1,1 0,9 Torque Nm 1,4 Torque Nm 1,4 0,7 0,5 0,3 1,0 0,6 1,0 0,6 0,1 0 0,2 0,2 Speed RPM 0 Speed RPM 0 Speed RPM 2000 4000 6000 2000 4000 6000 2000 4000 6000 M 586 0585 M 588 1100 M 589 1270 SPECIFICATIONS (1) M 586 M 588 M 589 0585 1100 1270 Operating Specifications Continuous stall torque Nm 0,2 0,35 0,40 Peak Stall torque Nm 1,05 1,50 1,44 Continuous stall current A 3,90 3,30 3,30 Maximum pulse current A 18,7 14,2 11,9 Maximum terminal voltage V 60 60 60 Maximum speed RPM 6000 5200 4700 Mechanical data Rotor moment of inertia (including tachometer) kg m 2 3,88 10 5 5,5 10 5 6.8 10 5 Mechanical time constant ms 10,2 10 8 Motor mass (including tachometer) kg 1,3 1,7 1,9 Thermal data Thermal resistance (armature to ambient)(2) C/W 5 4,2 4 Maximal armature temperature C 155 155 155 Winding specifications Torque constant (3) K τ Nm/A 0,056 0,105 0,12 Voltage constant (back emf)(3) V/kRPM 5,8 11 12,7 Armature resistance (4) Ω 0,8 1,6 1,8 Terminal resistance (4) Ω 1,15 2 2,2 Armature inductance mh 3,39 5,2 6,4 Electrical time constant ms 2,95 2,6 2,9 Tachometer data Linearity (maximum deviation) % 0,2 Ripple (maximum peak to peak) % 5,0 Ripple frequency cycles/rev 11,0 Temperature coefficient %/ C -0,05 Output voltage gradient V/kRMP 14±10 % (1) Ambient temperature (if not otherwise specified): 40 C. (2) Test conducted with unit heatsink mounted on a 254x254x6 mm. (3) Tolerance ±10% (4) At 25 C. Figur 9: Data for servo motor. 14