A Two Freedom Degree Manipulator Control for a Wooden Rotulator based on PIC Microcontrollers

Similar documents
Modeling, Simulation and Implementation of Speed Control of DC Motor Using PIC 16F877A

DESIGN OF A TWO DIMENSIONAL MICROPROCESSOR BASED PARABOLIC ANTENNA CONTROLLER

Microcontroller Based Closed Loop Speed and Position Control of DC Motor

DC motor control using arduino

dspic30f Quadrature Encoder Interface Module

Modelling and Control of Hybrid Stepper Motor

Sensors and Sensing Motors, Encoders and Motor Control

ME375 Lab Project. Bradley Boane & Jeremy Bourque April 25, 2018

DESIGN OF A CONTROLLER FOR AN INDUSTRIAL ROBOT ABB IRB 2000

Computer Numeric Control

Using Magnetic Sensors for Absolute Position Detection and Feedback. Kevin Claycomb University of Evansville

International Journal of Advance Engineering and Research Development

Effective Teaching Learning Process for PID Controller Based on Experimental Setup with LabVIEW

Stepping motor controlling apparatus

Sensors and Sensing Motors, Encoders and Motor Control

ACTUATORS AND SENSORS. Joint actuating system. Servomotors. Sensors

A COMPARISON STUDY OF THE COMMUTATION METHODS FOR THE THREE-PHASE PERMANENT MAGNET BRUSHLESS DC MOTOR

2.017 DESIGN OF ELECTROMECHANICAL ROBOTIC SYSTEMS Fall 2009 Lab 4: Motor Control. October 5, 2009 Dr. Harrison H. Chin

Step vs. Servo Selecting the Best

Administrative Notes. DC Motors; Torque and Gearing; Encoders; Motor Control. Today. Early DC Motors. Friday 1pm: Communications lecture

Implementing a Kalman Filter on FPGA Embedded Processor for Speed Control of a DC Motor Using Low Resolution Incremental Encoders

ANN BASED ANGLE COMPUTATION UNIT FOR REDUCING THE POWER CONSUMPTION OF THE PARABOLIC ANTENNA CONTROLLER

AN ARDUINO CONTROLLED CHAOTIC PENDULUM FOR A REMOTE PHYSICS LABORATORY

Where: (J LM ) is the load inertia referred to the motor shaft. 8.0 CONSIDERATIONS FOR THE CONTROL OF DC MICROMOTORS. 8.

Elements of Haptic Interfaces

Understanding RC Servos and DC Motors

CHAPTER 4 CONTROL ALGORITHM FOR PROPOSED H-BRIDGE MULTILEVEL INVERTER

PWM, ALT, HALT, HAST.

ISSN Vol.05,Issue.01, January-2017, Pages:

Teaching Mechanical Students to Build and Analyze Motor Controllers

combine regular DC-motors with a gear-box and an encoder/potentiometer to form a position control loop can only assume a limited range of angular

A software solution for displacement and angular speed measurement through virtual instrumentation

Design of double loop-locked system for brush-less DC motor based on DSP

IMU Platform for Workshops

Lab Exercise 9: Stepper and Servo Motors

Positioning Control System of a 3-Dimensional Ultrasonic Motor with Spherical Rotor

Introduction to Servo Control & PID Tuning

Microcontroller Based Electric Expansion Valve Controller for Air Conditioning System

ON THE PERFORMANCE OF LINEAR AND ROTARY SERVO MOTORS IN SUB MICROMETRIC ACCURACY POSITIONING SYSTEMS

Design of stepper motor position control system based on DSP. Guan Fang Liu a, Hua Wei Li b

7 Lab: Motor control for orientation and angular speed

DC SERVO MOTOR CONTROL SYSTEM

Fuzzy logic control implementation in sensorless PM drive systems

AutoBench 1.1. software benchmark data book.

Massachusetts Institute of Technology. Lab 2: Characterization of Lab System Components

The control of the ball juggler

Automobile Prototype Servo Control

LINE MAZE SOLVING ROBOT

CHAPTER-5 DESIGN OF DIRECT TORQUE CONTROLLED INDUCTION MOTOR DRIVE

Design of Low Cost Embedded Power Plant Relay Testing Unit

HAND GESTURE CONTROLLED ROBOT USING ARDUINO

Designing of a Shooting System Using Ultrasonic Radar Sensor

Figure 1: Unity Feedback System. The transfer function of the PID controller looks like the following:

IN MANY industrial applications, ac machines are preferable

Detect stepper motor stall with back EMF technique (Part 1)

Control of Electric Machine Drive Systems

Design and Implementation of an Inverted Pendulum Controller to be used as a Lab Setup

Position and Velocity Sensors

Design and Implementation of FPGA-Based Robotic Arm Manipulator

Chapter 7: The motors of the robot

In-Depth Tests of Faulhaber 2657CR012 Motor

Design of Joint Controller Circuit for PA10 Robot Arm

DC Motor Speed Control using PID Controllers

Hardware-Software System for laboratory experimentation in electronic circuit

MEM01: DC-Motor Servomechanism

Lab 5: Inverted Pendulum PID Control

Hydraulic Actuator Control Using an Multi-Purpose Electronic Interface Card

MTY (81)

CS545 Contents XIV. Components of a Robotic System. Signal Processing. Reading Assignment for Next Class

Speed Rate Corrected Antenna Azimuth Axis Positioning System

Control System Design for Tricopter using Filters and PID controller

A Searching Analyses for Best PID Tuning Method for CNC Servo Drive

MicroToys Guide: Motors A. Danowitz, A. Adibi December A rotary shaft encoder is an electromechanical device that can be used to

CONTROLLING THE OSCILLATIONS OF A SWINGING BELL BY USING THE DRIVING INDUCTION MOTOR AS A SENSOR

n Measuring range ,02 N m to N m n Clockwise and counter-clockwise torque n Low linearity deviation of ± 0.05 % F.S.

A Do-and-See Approach for Learning Mechatronics Concepts


MODELING AND ANALYSIS OF DC MOTOR DRIVE. Dept of EEE, Karpagam College of Engineering, Coimbatore

Modeling & Simulation of PMSM Drives with Fuzzy Logic Controller

BLuAC5 Brushless Universal Servo Amplifier

Four Quadrant Speed Control of DC Motor with the Help of AT89S52 Microcontroller

A HARDWARE DC MOTOR EMULATOR VAGNER S. ROSA 1, VITOR I. GERVINI 2, SEBASTIÃO C. P. GOMES 3, SERGIO BAMPI 4

PART 2 - ACTUATORS. 6.0 Stepper Motors. 6.1 Principle of Operation

DESIGN OF MAGNETIC LEVITATION DEMONSTRATION APPARTUS

Design of PID Control System Assisted using LabVIEW in Biomedical Application

MOBILE ROBOT LOCALIZATION with POSITION CONTROL

L E C T U R E R, E L E C T R I C A L A N D M I C R O E L E C T R O N I C E N G I N E E R I N G

MODEL BASED DESIGN OF PID CONTROLLER FOR BLDC MOTOR WITH IMPLEMENTATION OF EMBEDDED ARDUINO MEGA CONTROLLER

High-speed and High-precision Motion Controller

Comparative Study of PID and Fuzzy Controllers for Speed Control of DC Motor

EasyMotion User s Manual Ver

Automatic Control Systems 2017 Spring Semester

2DOF H infinity Control for DC Motor Using Genetic Algorithms

International Journal of Advance Engineering and Research Development. Wireless Control of Dc Motor Using RF Communication

Analog Devices: High Efficiency, Low Cost, Sensorless Motor Control.

νµθωερτψυιοπασδφγηϕκλζξχϖβνµθωερτ ψυιοπασδφγηϕκλζξχϖβνµθωερτψυιοπα σδφγηϕκλζξχϖβνµθωερτψυιοπασδφγηϕκ χϖβνµθωερτψυιοπασδφγηϕκλζξχϖβνµθ

Advanced Digital Motion Control Using SERCOS-based Torque Drives

Upgrading from Stepper to Servo

International Journal of Advance Engineering and Research Development

UNIT 2: DC MOTOR POSITION CONTROL

Transcription:

, October 25-27, 2017, San Francisco, USA A Two Freedom Degree Manipulator Control for a Wooden Rotulator based on PIC Microcontrollers Salvador Ramirez, Angel Carreon, Jaime Cerda, and Pedro Argumedo Abstract This document presents the X, Y y Z movement control of a manipulator with two freedom degree. It is shown its application as a wood letterer in two dimensions. The manipulator uses permanent magnet CD motors. The design of the manipulator velocity and position motor control is based on Microchip microcontrollers using full bridge converters using the pulse wide modulation technique. The manipulator control system includes a computer used as a user interface, where the user can draw the figure to be lettered. From this information the computer generates velocity and position commands for each mechanism. The document describes in detail the software and hardware used for the controller. Index Terms Controller, Manipulator, PWM, Microcontroller II. SERVOMECHANISM STRUCTURE Figure 1 shows a picture of the structure of the manipulator. The manipulator general structure has a cartesian geometry with two freedom degrees for the cartesian XY Z movement. The microcontroller previously described were chosen because they presented several advantages compared to the others such as: the nominal velocity, low cost, some of them have quadrature coders for encoders for position and velocity measurements, PWM outputs, USB communication, easiness to program, among other characteristics. I. INTRODUCTION NOWADAYS, robot manipulators are used in many industrial applications. They are used to lettering pieces, to cut materials with special forms, as graphic machines, as crane, as drills. An the heart of every manipulator there is a control system which will control each and every one of the servomechanisms so they can have the right position and velocity of each of their corresponding motor shaft [1], [2], [3]. This document presents the design of the three axis manipulator controller. Experimentally, this manipulator has been applied to an ultrasonic essay, to position the ultrasonic emisor/sensor. These works were realized with another type of micro controllers (Intel 80C196KC) and more complex hardware [4]. The design presented in this document is more compact and smaller 8 bit micro controllers are used. The manipulator is a cartesian type (plane X-Y ) mounted on an aluminum structure. The final effecter or tool is mounted on the Z axis [4]. The servomechanism is based on permanent magnet CD motors, which were chosen because of its high start torque, efficiency and its control easiness [5]. The control system has a distributed architecture. It has an independent control system for each servomechanism and a master controller for its synchronization. Each servomechanism control for the X, Y, Z axis is based on a 8 bit Microchip family microcontroller [6]. Each motor is feed by an full bridge cd-cd electronic converter using the pulse wide modulation (PWM) technique. To calculate the speed and position, a 256 pulses per turn digital encoder is used coupled to the shaft of each of the motors. This document describes in detail the software and hardware used for the controller. Fig. 1. The manipulator The block diagram in figure 2 shows the implemented controller general structure to handle the manipulator. Manuscript received July 20, 2017; revised August 5,2017. This work was supported in part by the Coordinacion de la Investigacion Cientifica de la Universidad Michoacana. Salvador Ramirez, Angel Carreon and Jaime Cerda are with the Electrical Enginnering School, Universidad Michoacana de San Nicolas de Hidalgo, Mexico. jcerda@umich.mx. Pedro Argumedo is with the Universidad Politcnica Metropolitana, Mexico. Fig. 2. Manipulator Structure

, October 25-27, 2017, San Francisco, USA Figure 2 presents : A master microcontroller who will perform the communications tasks with the computer as well as coordinate the XY Z displacements. The computer which will send information about the traces to follow to realize the lettering of the drawn picture. Three slave microcontrollers will be in charge of the closed loop control of the displacements and traces of each of the motors which move the the axis, and send a signal to the master when a trace is finished or if they are at he origen of each axis. Now we will briefly describe the function of the elements of the blocks diagram. Interface. It is in charge of the graphical communication with the end user. It sends the coordinates to make the routing of the figures. It is also the one in charge to make the transformations of the position commands which are entered in form of coordinates XY Z into pulses referring to the positions of each motor and the speed which each one of them has to move. This was developed in Matlab. Master Microcontroller. This is a PIC18F4550 micro controller [8]. This is in charge of receiving the position and velocity commands from the computar for each axis, to send them to the slave microcontrollers. This is also in charge the signals from the slaves the signals which indicates that they are already in the reference position in each axis, synchronizes the movement of the axis. Slave Microcontrollers. They are PIC18F2431 micro controllers [8]. They are in charge of the closed loops control for the motors of the axis XY Z independently, the displacement on each axis, and to finish such displacements. Power Amplifier. This is a CD-CD full bridge converter built cased on MOSFETs. This amplifier receives the PWM signal from the slave, and converts it to the adequate voltage and current levels to activate the corresponding motor [5]. Electromecanic System. It comprises by a CD motor, a 75 to 1 relation step-down gear box, a worm gear to convert the rotational movement into lineal movement with a 0.3cm per turn and the load to be displaced. Sensors. There are two kind or sensors: the encoder monuted on the shaft of each motor, and the magnetic, mounted on each axis. The encoder is a HP series HEDS-5000with a 256 slots disk [10]. It provides the microcontroler a digital signal corresponding to the motor shaft position and direction, as well as the cero position of the manipulator. The magnetic sensor provides the initial reference position and is located at the origen of the respective moving axis III. POSITION CONTROL ALGORITHM The control is a the key factor as it determines how useful the manipulator will be in the applications. The objective of the control algorithm is to generate the control action signals in such a way that the manipulator follow the position. The computer determines the displacements and the speed relation of each servomechanism and send them to the master who will transfer them to each of the axis. The position and velocity of the rotor shaft are related by equation 1. Fig. 3. Wanted speed profile Z =!dt (1) This implies that if we want to control the position then we must control the velocity. In this development the velocity profile shown in Figure 3 for each axis was chosen [11]. We can distinguish the following regions in this profile: Acceleration. The error position counter sends a command to obtain the maximum speed. The rotor speed up according to the motor dynamical equation and speed velocity controller used. Constant speed. When the rotor reaches the maximum speed set, the speed controller mantains constant such speed. Deceleration. To decelerate the motor with constant torque, the speed command must be according to equation 2 where q! c = p 2q (2) Actual position error (the difference of the wanted value and the actual position value given in pulses of the encoder mounted on the motor shaft. Negative acceleration o deceleration rate in pulses/sec 2. It depends on the motor parameters. Adjust. Ideally the motor must stop in the wanted position and must not move beyond when the controls is driver exactly by 2. I practice, however, there are always the possibility for the rotor to go beyond the wanted position, because of the data of the speed command are not given as an idle linear function, but in discontinuos form as a result of the digital quantization. Normally, the control system is designed in such a way that the rotor eventually will stop in the wanted position after several oscilation cycles around the reference. Stop. When the rotor stops at the wanted position, the controller sends the needed torque to maintain it is that position. To achieve the wanted profile, shown in Figure 3, the controller generates the reference speed commands which deepen on the position error according to the following rules: 8 2 max q if 0 <q<q f >< 2 max ( q) if q f <q<0! ref =! max if q f <q<q max >:! max if q max <q< q f

, October 25-27, 2017, San Francisco, USA Fig. 5. Speed IP controller Fig. 4. where qf Position errors and speed commands relation Error from the deceleration reginon starts (It defines directly the breaking duration).! ref Speed value wanted. B max Digital value representing the maximum deceleration used. q max Maximum position error. figure 4 shows these rules graphically. IV. SPEED AND POSITION MEASUREMENT The rotor position is determined capturing, using the microcontroller quadrature interface (QEI), the pulses train of the encoder mounted on the motor shaft. The input of the microcontroller QEA captures the encoder channel A, input QEB captures the encoder channel B, and the input IDX the index. Both channels are captured in quadrature A and B to detect movement as well as direction. Inputs QEA and QEB generate a pulses count for the up-transition as well as those down from pulses A and B. In this way 1024 puss can be detected per turn with the 256 slots encoder. Input IDX generates an interruption only in the down transition of the index signal. This signal is used to perform an adjust of the position at the end of each turn to rectify errors in the detection of the channel A and B pulses. To detect the movement direction, on each sample interruption routine the pulses of the channels A and B are read. Because they are out of phase for a quarter of cycle, the microcontroller quadrature interface has a turn direction detection bit which is read at the moment where the timer interruption is generated. The speed is calculated based on the pulses train coming from the encoder, taking into account, additionally, the sampling period used to read the channels. In this period the pulse counter is read, in the net sample it is read again and it is subtracted the first reading. V. SERVOMECHANISM MODEL IDENTIFICATION For the speed controller a Digital Integral-Proportional (IP) controller was implemented. The analogical [12] version of the speed control loop is shown in Figure 5. In this diagram, G p (s) includes the CD-CD converter, el CD motor and the mechanical system. To design the gain of the digital IP controller it is required to know the Gp(s) mathematical model. We now briefly describe the model for G p (s) used and the method used for its estimation. The CD motor transfer function with a voltage input and a speed output, normally is approximated with a second order model. However, because the motor electric time constant is much smaller than its mechanical constant, a first order approximation can be used for the speed controller design. Therefore, G p (s) can be represented using equation 3. G p (s) =!(s) U(S) = A (3) s+1 where:! is the angular speed in pulses/sec. U es el digital speed command sent by the microcontroller. a is the CD motor gain (final value which is close to the unitary step). is the time constant for Gp(s). This model was estimated for each servomechanism applying a step input (digital command u = 70 constant) to G p (s) for each axiisx, Y,yZ, capturing the speed output (in pulses/sec) and comparing the obtained response! vs t with the response of G p (s) to a step input as indicate in equation 4 [13].!(t) =Au[1 e t ] (4) VI. SPEED CONTROL DESIGN The close loop transfer function of the speed control system in figure 5, with the first order approximation of G p (s) is given by 5. G p (s) =!(s) KiA! ref (s) = s 2 + 1+KpA s + KiA Which in its digital form takes the form 6 [14]: A 1 K id G(z) = z 2 +[A 1 (K pd + K id ) R 1]z +[R A 1 K pd ] (6) where: K i Analogical integral gain. K p Analogical proportional gain. T Sampling period R = R(T ) e T A 1 = A 1 (T ) A[1 R(T )] K id = K i T Digital gain 1 K pd K p 2 K id Comparing eanalogic model equation 5 with the second order generalized system transfer function, we obtain 7 y 8. K i =!2 n A K i = 2! n 1 A (5) (7) (8)

Proceedings of the World Congress on Engineering and Computer Science 2017 Vol II, October 25-27, 2017, San Francisco, USA Fig. 6. Fig. 7. Speed control performance Fig. 8. Complete manipulator system Fig. 9. Figure drawn in the computer user interface. Step position command closed loop response donde: Damping factor.!n System natural frequency. In this way the analogical gains Ki y Kp and the digital gains Kid y Kpd, can be calculated selecting the values for and!n which provide the closed loop control system wanted behaviourque proporcionan el comportamiento deseado del sistema de control de lazo cerrado. To select this values, the equations which define the maximum over-impulse and the time to establish a second order sub-damped system VII. E XPERIMENTAL R ESULTS Firstly, all the designed hardware components such as the CD-CD converters tablets and microcontroler interfaces were tested. Then the software modules were tested in the following order: speed control and position of each of the servomotors, the communication software between the master and the computer as well as the slaves, the interface software as well as the computation of the positions and velocities by the computer. Finally, the tests of the manipulator as a lettering tool are realized. A good control of the servomechanisms is the key factor to assess how useful the manipulator will be. Because of that, special attention has deserved the assessment of the position and speed controllers designed for each servomechanism. Figure 6 shows the servomechanism axis X response in closed loop to a setp position command of 32,767 pulses. Tha graph shows good performance of the servomechanism with minimal over-impulse. Figure 7 presents the speed controller response corresponding to the change of position in Figure 6 We can see the speed adjusts itself to the profile wanted shown in figure 3. The same happens with the other axis. These responses were obtained through the serial port with a GUI developed with LabView. To test the manipulator as a letterer, several figures were traced and executed using the the computer user interface Figure 8 shows the complete manipulator system. Figura 9 shows the drawing made using the Matlab GUI [7] with the computer, while Figura 10 we can see the dragan lettered on the wooden surface, which is identical to the one in the computer. The capacity of the manipulator system allows to make traces using continuos por separated unes, as is the case of the first two letters and the last three respectively in Figure. The lettering was succesfully used on two different kind of surfaces: MDF and pine wood, using 1/32 router tips. The precision of the manipulator depends of the router tip used as its resolution is 3.9 10 8 m. VIII. F INAL REMARKS This document has presented the design of a manipulator control with two freedom degrees based on PIC microcontrollers, used as letters to draw figures onto wooden surfaces. The details of the hardware and software developed were presented. Special algorithms were included to control the position of each of the servomechanisms included in the manipulator. In this algorithm, the controllers generate

, October 25-27, 2017, San Francisco, USA Fig. 10. Figure letterer onto a wodden surface. speed commands which depend on the position error. The algorithms developed for the position and speed control provided a good precision. The document describes also the design of a speed digital IP control, including the applied method to estimate the model of each servomechanism. The estimated model includes a DC-DC electronic converter, the CD Motor as well as the mechanical system. The tests assessed to each servomechanism have shown the effectivity of the design here presented. REFERENCES [1] M. W. Spong and M. Vidyasagar, Robot Dynamics and Control, New York: John Wiley ans Sons Inc., 1976. [2] A. J. Critchlow, Introduction to Robotics, New York:Macmillan, 1985). [3] C. S. G. Lee, R. C. Gonzales and K. S. Fu, Tutorial on Robotics, Silver Springs, MD: IEEE Computer Society Press, 1986 [4] S. Ramrez, Diseo y construccin de un manipulador con dos grados de libertad y orientacin del efector final, Tesis de Maestra Octubre de 1998, Universidad Michoacana de San Nicols de Hidalgo. [5] Mohan/Undeland/Robbins. Power electronics: converters, applications, and Design, 2002. [6] www.microchip.com. [7] The MathWorks, Inc, Getting Started Guide, 2011. [8] Microchip, PIC18F2431 Datasheet, 2007. [9] Microchip, PIC18F4550 Datasheet, 2007. [10] Hewlett Packard, 28 mm Diameter, Two and three channel incremental optical encoder Heds-5000 series, Technical data, 1984 [11] Takasi Kenjo, Power Electronics for the microprocessors Age, Oxford Science Publications. 1994. [12] Katsuhiko Ogata. Ingeniera de Control Moderna, Prentice Hall 1998. [13] Samudre N. A, Modeling and Identification of Linear Systems from Input-Output Data, International Journal of Engineering Research & Technology, Vol.2 - Issue 8, August 2013. [14] Katsuhiko Ogata. Sistemas de control en tiempo discreto, Prentice Hall 1996.