Home
        Interfacing Motors of PUMA 560 Robot with a PC
         Contents
1.                                                    G0 vZ v 4  60 527 NUL  60 0Z 7 VON  60 0      H4             144    60 2 nur   60 7         GO EZ E VON  60 27 NUL                  nur  60 L LE         60 Z E VON  60 52            60  2 2        60          UA  60 25 NUL    60 v c PAM  60 82 1 PAM  60    Z 1 14    60 pZ  4           ONL  60     LiF UO   60      Uy  60     p 143    60 2 7 NUL  60 vz     ONL  60     LE 4  GOELE 143             ie NUL  60         ONL  60 9Z Z NUL  60 52 2         60 91 Z VON  60 5 Z NUL  60 S z NUL    60 6Z 1 NUL  60 9    uow  60 2171 VON  60 H k             HEIS                     c           9           9  sAep 9               sAep 4  sAep    sAep Gp              sAep              c            s  ep    sAep              97    S  Bp 5  S  Bp    sKep OL      uoneung               2 1531 24  5152       ulJ0JJ8d                                                     doja sq  uonejuawWajdu apo       sje dwo y sjueuoduio  ye JO uoneorunuiuo   30q0y 0  W3JS  G 104109  uajs  s  04000 0  2d   sJU3UOdUWOJ      a2ej19ju       aje dwog Ayeuodun4 10408  SJOJOP M  N IESU                sueg pue 1    20  ajajdwoy       5               AjenpiAipu  20301 1521   20 0 AQuSsSsESIJ              pue                                1001 PUE             JOJON    QIBMYOS          5   lt   0  u07  uo YDJEISAY  adoos                           saAnos  qo pue  1209 eujag 0  SPEY F              IQ ULI jeep                                           ez        Iz  02  6   el  
2.    Table 2  Motor specification  7                                               Parameter Motor 1 3   Motor 1 3   Motor 4 6 Motor 4 6  Specified Measured   Specified Measured  Rated Current  A  5 3 N A 1 5        Rate Voltage  V  40 Reached 32 Reached  Rated Power Output  150 N A 30 N A   W   Rate Speed  RPM  1200 Reached 2350 Reached  Torque Constant   kg cm A  2 58       0 973        Voltage Constant   V krpm  26 5 28 0 10 8 81  Encoder Slots 250 250 250 250  Circular Potentiometer   Yes Yes Yes Yes       Algorithm for determining the rated parameters could not be found  Parameters are    marked    reached    if the specified operating values does not cause sudden increase in    temperature  jerk  or smoke when applied for a few seconds  Certain values were not tested so as    to prevent the motors from damaging  Torque constants were not tested due to lack of proper    equipment     Voltage constants were tested by using the developed software and measuring the RPM  corresponding to an incremental voltage  Matlab was used to approximate the value over the    testing range and Figure 1 shows the generated plot  The Matlab script is posted in Appendix A     Yellow PUMA  ECE4007L01           Input Voltage vs  Speed  2500          Motor 1    Motor 6       2000        1500        Speed  rpm     1000     et             Input Voltage  V           Figure 1  Input Voltage vs  Speed plot for Motors   and 6 generated using Matlab        The quadrature encoders were tested by countin
3.   cz                          eui   10 3007  uofsog   UOHEIGYED uogisog                                   pue sjapo2u3                                                             SPIBOG jnoyeaug pue  21425 UPM dnjes Jajouo    SPJEOG jnoyeaJg pue  21467 20               sued pue IPJO   J8j04ju0  dnjes   1904007  956 494 IN 20               SPEd pue Jap   dnjas 131101340  IN    ajajdwoy sjuauoduo  je 10 UOHBIIUNWWOJ   Jojop  PUE            JOJO  0                                 2030   YY AA            JAAG JOJON         PUB          JOJON                                 sJadwu oAJ8S 9                       sued pue JAPIO  waysks          ping                   01135            5   sJUSUOdUOJ      3J8LI3JU     1310 409 IN 0              21607 Jappe7 ujea1  190409 dnjas   J9  OJJUO                                                        83010        SJOJON M  N 1931  SJ0JON Z                     SPEd pue           2 29    5 Suysay           Ajenpinpu  SJOJON  521  Suysa  pue                            520101 a quassesig  bursa  pue uondadsu  30403    SJOJOP pue    S2ALIG JOJON  3JEMLOS  WaJS  S             UO YDJEISIN   adoos 22044 auyag   saajoalqo pue  1209          0                 3            I ui PP                                                                                                       ysiul4       HEIS    uogeJng                  SE     64    Yellow PUMA  ECE4007L01     APPENDIX I     TASK LIST    Below is the list of tasks that were completed by the team du
4.  Encoder Reading Yes Yes  Speed Calculation Yes Yes  Home Calibration Yes Yes  Position Error 0    80                     4  DESIGN APPROACH AND DETAILS    4 1 Design Approach    Hardware   Much time was spent on discovering the pinout diagrams for various parts in the robot  and the control system  All the information collected on the pinout diagrams has been  summarized in Appendix C    Figure 2 shows the wiring diagram for one axis system with detailed connections  The  wiring diagram shown in Figure 2 and the switch settings in Table C4 of Appendix C allows the  controller to implement the control loop and sends the appropriate command input signals  which    will be discussed further in the software section     Yellow PUMA  ECE4007L01  10       Motor Driver       Controller    GND GND     5V  wyo fo fu              5 M1 37  7 D1 10       12 M1 32       Note   Shared ground for Analog Input  Digital Grounds  for Motion and Digital connectors     Note    Only Motors 1 3 have brake  rated at 24V   Note     Use digital port for Index Encoder instead of  designated Index Encoder pin  Please refer to Software  section for the reason     Note  Arrows indicate direction from output to input     Note  Enable and Fault pins from the motor driver were not  connected in this phase  to simplify wiring     Note  M1 denotes Motion I O Connector for Axis 1 4 and  D1 denotes Digital I O Connector for Axes 1 4                 Figure 2  Sample wiring for one axis              Yellow PUMA  
5.  Vaux  5V                          With opto isolation enabled  it is necessary to provide Ground and 5 V to J1 9 and J1 10   in addition to the 24 V powering the motor driver  The enable pin J1 7 has to be pulled to the  AUX Ground for the motor driver to start  The Enable pin was hard wired into the Aux GND J1   9 and the Fault pin J1 8 was not connected  However  it is possible to control these two pins    through the digital ports on the controller     Yellow PUMA  ECE4007L01  41    Controller Pinout    The motors and motor drivers cannot be connected to the controller directly  as breakout    boxes are required to secure the connection  There are four 68 pin VHDCI  Very High Density    Cable Interconnect  connectors in the back of the NI PCI 7356  Four 68 pin breakout boxes were    purchased as well as four male to male connectors  Figure C3 gives a sample picture of the    breakout box used                 Figure C3  Breakout box for the NI PCI 7356        Since there are a total of 272 pins coming out from the controller  it is suggested to look    at the datasheet for NI PCI 7356  5   Note that the pins for Axis 7 and Axis 8 are not available    for this 6 axis controller     Yellow PUMA  ECE4007L01     42    APPENDIX D     FINAL DEMO VI    The FinalDemo vi is the main VI that needs to be opened using LabVIEW to run the  software  The purpose of the VI is to be able to read the encoder signals and the potentiometer  signal from the motor  control the rotation of the m
6.  the while loop and stop the motor             vj  pi d 276 70   i                OK Button    Figure D4  Block diagram of manual run mode        The auto run mode does the following tasks     e The go button  labeled as OK button in the block diagram  blinks and disables the  stop button     e Calls the RampFinal VI once the go button is pressed  For this purpose  the event  structure is used     e Enables the stop button once the motion is completed     Yellow PUMA  ECE4007L01  48    Boolean       Figure D5  Block diagram of the auto run mode     Encoder and Pot Reading Loop   The purpose of the encoder and pot reading loop section is to read and display the  encoder position and the analog input signal from the potentiometer  The block diagram of this  section is shown in Figure D6  In order to graphically display the encoder position in terms of  degrees  the following calculation is performed     CurrentPositionInDegrees   Mod EncPos 1000  1000  360      Yellow PUMA  ECE4007L01        49    Revolutions Encoder Position    Figure D6  Block diagram of the encoder and pot reading section        Speed Calculation Loop   The purpose of the speed calculation loop is to calculate the speed of the rotation in  RPM  The block diagram of the speed calculation loop is shown in Figure D7  The speed  calculation loop has a delay of 0 5 second between each loop run  The time delay is to allow  more encoder ticks over a longer period of time  thus creating an averaging effect  and make
7.  with a Rockwell  Automation motion control system  However  the project s motion control system was changed  from Rockwell Automation to National Instruments due to the unavailability of the  CompactLogix L45 in a timely manner  Table 4 displays the proposed versus actual software    specifications     Yellow PUMA  ECE4007L01  8    Table 4  Proposed vs  Actual Software Specifications       Proposed    Actual       Motion Controller    Rockwell CompactLogix L45    NI PCI 7356       Programming Language    Rockwell RSLogix5000    NI LabView 8 5          Driver       Built in       NI Motion 7 6       The software was intended to be able to read and display potentiometer and encoder    signals from the six motors to the user  and to control the analog output voltage signal for the six    motors using the NI PCI 7356 card  The software was also able to find and set the encoder index    position as the motor home position  calculate the speed of rotation  and receive position input    command  in number of revolutions   However  the current software can control only one axis     and the position command has an offset error of 80    Table 5 displays a list of the proposed    software objectives and compares it to the actual specifications that were achieved     Yellow PUMA  ECE4007L01        Table 5  Proposed vs  Actual Software Objectives                            Proposed Actual   Number of Axes Controlled 6 1   Analog Input Reading  POT  Yes Yes  Analog Output Control Yes Yes 
8. 6 Gain Limit Select bit 1 Down             The opto isolation is enabled to protect the PCI controller card in the case of an over   current flow or a short circuit  The motor driver was run in current mode  because in voltage    mode the amplification gain is fixed at 14  which translates a   10 V command signal to   140    V  Furthermore  the lowest current mode gain which is 0 2 was chosen to protect the motor from    over current condition during bench testing  Table C5 shows the setting for the Gain Limit Select    bits     Table C5  TA115 Gain and Current Limit Setting                               S1 5  bit0    51 6  bit D      jus Gain nd  Down Down 0 2 2  Up Down 0 4 4A  Down Up 0 6 vee    p Up 0 8 SA          Yellow PUMA  ECE4007L01     40    In current mode the gain limit select bits control the gain  and in voltage mode the bits  only control the maximum output current  Even with the lowest setting  the maximum output  current is over the rated current for the small motors    The pinout for the connectors is also necessary to complete the wiring  Table C6 shows    the information about each pin on the connectors     Table C6  TA115 Motor Driver Pinout                                        Connector J1 Connector J2  Pin Description Pin Description  1 Command Signal Input   1 Motor Power    2 Command Signal Input   2 Motor Power    3 Aux GND 3 GND  4 Aux GND 4 GND  5 Not Use 5                 24   Used   6 Not Use      7  ENABLE   5  8 FAULT 5     9 Aux GND      10
9. 7  Table 8 shows the ADC conversion value range for the    analog I O port     Yellow PUMA  ECE4007L01  17    Table 6  NI Motion LabVIEW VIs Implemented  10                       Name Description  Settings Name er        Board ID Bd ID Out Initialize Initializes the motion  Controller controller   error in  no error  error out  Axis Bitmap  Disabled     Enables the operating  Sample PID Rate    Enable Axes   2585 and defines the PID  nem eee and trajectory update  error in  no error       error out rate   Phase A  Index Configure Configures the encoder  Board ID Bd ID Out Encoder Phase A  Phase B  and  error in  no error  error out Polarity Index line polarities   Phase B    DAC Value  0   Board ID Bd ID Out     ontrols the output  DAC Resource Output Load DAC 1 P  Inp Vect   serror out vo tage   error in  no error      Port Data     Board ID Bd ID Out Reads the digital port  Read I O    Port  1  Resource Out P for encoder index  Retn Vect  eec error out ort reading     error in  no error                    Yellow PUMA  ECE4007L01     18          Status Type             Ret vect    error in       error            loss error out             Axis VS Map  Disabled   Board ID Bd ID Out Read    Axis or Vector Space Resource Output Reference Reads the encoder index   error out Status port   error in  no error      Value  Secondary Reset Position  0   Primary Reset Position  0   Board ID Bd ID Out  nue solita Output Reset Resets the encoder value  Inp Vect     I error out Position t
10. Analog Value Range LabVIEW Value Range  0 to 5 0 to 465 535   5 to  5  32 768 to 432 767  0 to 10 0 to 465 535   10 to  10  default   32 768 to 432 767       Two of the analog value ranges in Table 8 are used for communication between the NI    PCI 7356 and the rest of the system  TA115 Motor Driver takes command voltage signal in the    range of   10 V and the potentiometer gives analog output in the range of 0 V to 5 V     Yellow PUMA  ECE4007L01     20          The connection between the NI PCI card and the rest of the control system requires a    VHDCI cable  which is proprietary to NI devices     4 3 Constraints  Alternatives  and Tradeoffs    Hardware   Two power supplies  HP E3630A and Agilent E3634A  were provided by Dr  Thomas  Michaels  The HP power supply does not have sufficient output power to power one or more  motor driver  Hence the Agilent power supply was required to power the motor driver  and the  HP power supply was used as the  5 V signal supply  The HP power supply with analog voltage  output is less precise compared to the digital voltage output on the Agilent power supply    During motor testing  broken brake and broken Encoder A were found inside of Motor 3  and Motor 4  respectively  To ensure a properly working system  both motors were replaced   New motors were purchased through Dr  Thomas Michaels and were made for the same type of  robot to ensure matching mounting plate and specifications  However  because of the age of the  arm robot  these sp
11. ECE4007L01     11    Other Notes  e Ensure the brakes on Motors 1 3 release before power is supplied to the motor to  prevent any damages  A    clicking    sound will occur when a brake is released     e Index Encoder pulse width is very short  The optimal oscilloscope setting is 1V and  2ms for reading the encoders     e    solid state relay is suggested in order to control the brakes from the software  program     solid state relay candidate information is listed below     o Input  Logic  o Output  Up to 60 V DC and upto3 A  o Part No  Digi Key CC1126 ND    o Price   18    Software   The main LabVIEW VI shown in Appendix D is used as a software interface to control  the analog output port  and read the analog and digital input ports of the motion controller  The  software is connected to Motor Axis 1  Therefore  the parameters used in the software are  specific to Motor 1 only  In addition  the motor has no load mounted on it  The following    features are implemented in the software GUI as shown in Figure 3     Yellow PUMA  ECE4007L01     12          Figure 3  GUI displaying the manual and automated modes along the current encoder position   potentiometer value  and calculate RPM              e          Calibration  to set the encoder index position as the home position  This  feature runs automatically when the software is turned on  It runs the motor at the  minimum voltage required to move the motor     e Manual Auto Switch  to switch between the manual voltage control 
12. Final Report    Interfacing Motors of PUMA 560 Robot with a PC based Controller    ECE4007 Senior Design Project    Section LO1  Yellow PUMA Team    Josh Chao  Team Leader  Francis Fernandes  Denny Lie  Jackson Tanis    Submitted    May 1  2009    TABLE OF CONTENTS    Executive Sumann dis iv  1 Introduction  cp    ees 1  O seede 1  2 A           2  Bonds 2  2  Project Description and Goals                                                   3  3  Technical Specifications dd 4  4  Design Approach and Details                            sse 10  4 T   DEIA A RASENE 10  4 2    Godes and Standards iia ia 17  4 3 Constraints  Alternatives  and Tradeoffs          ooononncncnnnnononinanocinncnnononenanicnicicncnnon  21  5  Schedule  Tasks  and                                                       22  6  Project DemonstPation   ii 24  7  Marketing and Cost                                       eene 25  T L  Marketing Analysis                Coe ei eie utei obere aa UL pedes er aa de inas  25  TT Dot 27  8  Summary and Conclusions ni 29  9  Ritas aa 30  KD GREENE EE Bamana 32             B vn 33  Appendi C            36       AG 43  Appendix E TR nase 52  Appendix                        S 55  ACTION Gas 61    Yellow PUMA  ECE4007L01     Appendix Husdal    Appendix Tune sees ias    Yellow PUMA  ECE4007L01     111    EXECUTIVE SUMMARY    The Unimation PUMA  Programmable Universal Machine for Assembly  560 robot is a  six axis articulating arm robot  Applications such as welding  packaging  
13. L01  57    e Rate of change of the Output Voltage   1  0 4 1000    0 0025 Volts tick    e NewVoltage   Prev Voltage   0 0025  NewEncoder     PrevEncoder     DAC     a         Cm            Axis or Encoder   Axis    FLUR                               gt                 Desired Number of Revolutions    am                Figure F3  Block diagram of the voltage incline section        Constant Voltage  The constant voltage section runs the motor at a constant 2 V over the next 20  of the    total distance  A block diagram of the constant voltage section is shown in Figure F4     Yellow PUMA  ECE4007L01  58                   Figure F4  Block diagram of the constant voltage section        Voltage Decline  The block diagram of the voltage incline section is shown in Figure F5  The following  calculation is performed in this section   e The initial voltage is 2 V  the target end voltage is 1 V  and therefore the change in  voltage over the last 40  of the distance is  1 V   e Rate of change of the Output Voltage   1  0 4 1000    0 0025 Volts tick    e NewVoltage   Prev Voltage     0 0025  NewEncoder     PrevEncoder     Yellow PUMA  ECE4007L01  59                                                                No of Revolutions Completed     un                      Figure F5  Block diagram of the voltage decline section        Yellow PUMA  ECE4007L01  60    APPENDIX      PROPOSED PROJECT GANTT CHART    See next page for project Gantt chart     Yellow PUMA  ECE4007L01     61             
14. Low Lie  Controller  Setup Controller 2 days 3 31 2009   4 1 2009   Low Lie  Order and Parts Delivery  for Cables and Breakout   4 days 4 2 2009   4 7 2009   Low Fernandes  Boards  Controller Setup with  Cables and Breakout 1 day 4 8 2009   4 8 2009   Milestone   Fernandes  Boards  PE ad 14 days   4 9 2009   4 28 2009           Implementation Lie  Reading Encoders and          4 days 4 9 2009   4 14 2009   High Lie  Potentiometer         5days   4 16 2009   4 22 2009   High Fernandes  Calibration  Position Control 3 days 4 23 2009   4 27 2009   High Lie  Final Demonstration 1 day 4 28 2009   4 28 2009   Milestone   Fernandes   PROJECT DEMONSTRATION    The project demonstration took place on April 28  2009 at 12 00 pm in the Van Leer    building Room 113  The goal of the demonstration was to show that the developed software    could perform the following tasks     e Read feedback information from encoder and potentiometer     e Calculate the RPM of the motor     e Regulate the output voltage to the motor manually     e Tune the motor to start at the index pulse     Yellow PUMA  ECE4007L01        e Ramp up and down the voltage to the motor to the desired number of revolutions in  forward and reverse mode     The GUI shown in Figure 3 was divided into two controls  manual and automatic  The  software is to calibrate to the home position and display the encoder position  potentiometer  value  and the calculated RPM regardless of which control mode the software is executed  The  d
15. PUMA  ECE4007L01  1    1 2 Motivation    Even though the PUMA 560 robot could be considered as an old technology  it is  desirable to repair the robot because it can be used in different applications as previously  mentioned  Moreover  the repair cost would be considerably lower than the purchase cost of a  new six axis articulating arm robot  In fact  the functional system can be used by Dr  Thomas  Michaels  the project sponsor  as an automated measurement tool for research projects    In addition  this project shall provide the team members with practical learning  experience in robotic system including the system interface  the control system  and the robot   s  electrical design  This experience will prove useful for the team members in their future careers  especially in robotic industry as articulating arm robots are widely used in manufacturing    industries     1 3 Background    Industrial Robots    Industrial robots are reshaping the manufacturing industries  Since 2003  North American  manufacturing companies have spent up to  877 million for industrial robots  2   Depending on  the structures  industrial robots can be categorized into Selective Compliant Assembly Robot  Arm  SCARA   Gantry  Cartesian coordinate robot   and Articulating Arm  3   Specifically   articulating arm robots are widely used in manufacturing industries due to their wide range of  motion and reach  4     Depending on the end effectors  an articulating arm robot can perform different tasks   
16. Yellow PUMA  ECE4007L01     66    
17. agram of the RampFinal input and output ports are shown in Figure F2  The    input and output ports of the VI are listed in Table Fl     Yellow PUMA  ECE4007L01  55    Figure F1  Block diagram of the RampFinal VI        Yellow PUMA  ECE4007L01  56    RampFinal vi    Desired Number of Revolutions       Board ID    Axis or Encoder  DAC   error out    error in  no error     No of Revolutions Completed    Figure F2  Diagram of the RampFinal VI       Table F1       Ports of RampFinal VI                                  Name Direction   Description   Desired Numer of Input The desired number of revolutions to perform    Revolutions   Board ID Input Number assigned and used by NI MAX to identify  the PCI 7356    Axis or Encoder Input The encoder axis to read    DAC Input The analog output port to control  DAC Channel I  means control the analog output channel 1    No of Revolutions Output The elapsed number of revolution performed    Completed       For analytical purpose  the RampFinal VI can be broken down into 4 components   e Initialization  identical to the initialization section in the               VI    e Voltage incline   e Constant voltage    e Voltage decline    Voltage incline   The block diagram of the voltage incline section is shown in Figure F3  The following  calculation is performed in this section    e The initial voltage is 1 V  the target end voltage is 2 V  and therefore the change in    voltage over the first 40  of the distance is 1 V     Yellow PUMA  ECE4007
18. ble Colors  1 Motor PWR   Red  2 Motor PWR   Black  3                   Green  4 Encoder PWR   5V  Yellow  5                   White  6 Encoder GND Brown  7 Encoder I Purple  8 Pot PWR   5V  Orange  9 Brake PWR    10 Brake RET    11 Pot RET Gray  12 Pot o p Blue          Since all motors were disassembled from the robot  matching female connectors were    needed to test the motors on the bench  Two 15 pin VGA connectors were obtained and made for    the small motors  as shown in Figure C2  Note that the color of the wires corresponds to Table    C3     Yellow PUMA  ECE4007L01     38             Figure C2  Connectors for Motor 4 6           Unfortunately  since the matching female connector for the big motors could not be    found  the team implemented pin to pin connection to setup the big motor for bench testing     Motor Driver Pinout and Control  There are two connectors and one DIP switch on the motor driver  Table C4 describes the  setting on the DIP switch  Note that the values on the right most column were used for the    project     Yellow PUMA  ECE4007L01  39    Table C4  TA115 Switch Setting                                  Switch S1 Description  Up  Description  Down  Value Used   1 User Supplied  5 V Vaux TA115 supplied  5 V U    Opto isolation  Vaux E   Power OND and AUX Power GND and AUX  2 GND isolated Up     d GND Shared    Opto isolation   3 Fault Signal Active High Fault Signal Active Low Up  4 Voltage Mode Current Mode Down  5 Gain Limit Select bit 0 Down  
19. cing Motors of PUMA 560 Robot with a PC based Controller    1  INTRODUCTION    Many applications  such as welding  packaging  palletizing  and parts installation  have  been automated using industrial robots for higher efficiency and productivity  In particular  the  six axis articulating arm robots are widely used for these applications due to their wide range of  motion and reach  1     Georgia Tech   s ME department has donated a broken Unimation PUMA 560 robot  a six   axis articulating arm robot  to the ECE department  The team was able to inspect the mechanical  aspects of the robot and replace the broken motors  In addition  the broken controller was  replaced with National Instrument 7356 PCI controller card  The purpose of this project is to  serve as groundwork for future ECE students    project  and the functional system can be used as    an automated measurement tool for research projects     1 1 Objective    Initially  the team   s objective was to interface the PUMA 560 robot with a PC based  controller  so that given a single or series of input  the robot   s end effectors shall move to the  specified position in spatial coordinates  However  since the required control system was not  available through the sponsor  the final objective was changed to controlling a single axis of the  robot using received feedback signals with a PC based controller  The immediate purpose of this    project is to serve as groundwork for future ECE senior design project     Yellow 
20. ct the home  calibration section because there is a need to make sure that a certain task is completed before  moving to the next task  The home calibration section performs the following tasks     e Senda I V signal to start the motor  This is performed by sending a constant value of  3276 7  The analog output voltage ranges from  10 V to  10 V  However the  corresponding digital value range to send the signal is  32768 to  32767  Thus the  value  1 V is equivalent to  3276 7  This condition is then held for 10 ms before  moving to the next task     e Next  a 0 79 V signal is sent to the motor  It is the minimum required voltage to move  the motor without load  Note that a higher voltage is needed to start the motor due to  static friction  Generally the static friction constant is higher than the dynamic friction  constant     Yellow PUMA  ECE4007L01  46    Then  the digital input port is constantly checked for positive encoder index reading   Note that the encoder index is active low  The parameters sent to the Read I O Port  VI shows that the encoder index data is sent through the digital input port 1 digit O     If the encoder index position is found  the input port 1 digit O will go low  the encoder  position is reset to zero  break out from the loop  and set the output voltage to zero to  stop the motor              Figure D3  Block diagram of the home calibration section        Run Mode Loop    The case structure is used to construct the run mode loop because there ar
21. e fails to  read all the encoder index signal occurrences  The 200 RPM value is not the border line for the    misreading problem  the exact cutoff speed for the misreading problem is yet to be determined   5 SCHEDULE  TASKS  AND MILESTONES    Table 9 displays the scheduled tasks  duration  start dates  end dates  level of difficulty   and the main person responsible for the task  January 12  marked the commencement of the  project and April 28  was the end date  The proposed Gantt chart of the project is shown in  Appendix G  However  due to several changes in project definition and time constraints  the    proposed schedule was completely modified and the final Gantt chart is shown in Appendix H     Yellow PUMA  ECE4007L01  22    Table 9  Schedule  Tasks  and Milestones                                                                                                       NE Wem Main  Task Name Duration Stari           Person  Date Date Level     Responsible  Project Definition 23 days   1 12 2009   2 11 2009 Group  Meet with Dr  Thomas E   Michaels to Define Goals   10 days 1 12 2009   1 23 2009   Low Chao  and Objectives  Define Project Scope 3 days 1 26 2009   1 28 2009   Low Tanis  Research on Control  System  Software  Motor   10 days 1 29 2009   2 11 2009   Low Tanis  Drives  and Motors     A and  32days   2 12 2009   3 26 2009 Chao  Tanis  Disassemble Motors 7 days 2 12 2009   2 20 2009   High Chao  Sv    and days   2 23 2009   2 24 2009   Medium   Tanis  Test Motors I
22. e two possible    run modes available  the manual mode and the auto mode  The case decision is based on the    value sent by the Boolean control switch  The block diagram of the manual mode is shown in    Figure D4 and the block diagram of the auto mode is shown in Figure D5     The manual mode does the following tasks     The integer constant 48 and the double constant 11 is used to make sure that the case  condition inside the while loop is true during the first loop run  The integer constant is  compared with the axis value  which is supposed to be one  and the double constant is  compared with the control knob voltage     The current loop run axis value and the voltage value is then stored in the shift  register for the next loop run  After the first loop run  the axis value will not change  anymore  Therefore  as long as the control knob voltage value does not change  the  condition for the second case structure will remain false  and the Load DAC VI is not  called     Yellow PUMA  ECE4007L01  47    e Inside the condition true of the second case structure is the third case structure  The  third case structure is used to make sure that the appropriate factor is used in both  negative and positive output voltage case  The  1 V is equivalent to  3276 8 in Load  ADC VI  while  1 V is equivalent to 3276 7  This factor is than multiplied with the  value from the voltage control knob to convert it to the corresponding Load ADC VI  value     e Pressing the stop button will break
23. ecific motors were difficult to spot and were more expensive than the    equivalent counterpart used in the newer arm robots     Software   The software is developed in LabVIEW programming language rather than other  languages like C or C   because National Instruments provides NI Motion driver and LabVIEW  VIs that handles all communication between the motion controller and LabVIEW  In addition   building a user interface in LabVIEW is a matter of drag and drop    The encoder index from the motor is connected to the digital input port instead of the  encoder index port in the motion controller  because running the Read Reference Status VI    together with the Wait Reference VI in a while loop results in a lower encoder index sampling    Yellow PUMA  ECE4007L01  21    rate than running the Read VO VI in the same while loop  The idea behind connecting the Read  Reference Status VI with the Wait Reference VI was to wait for the encoder index signal to  ensure that the controller catches the signal  However  the Wait Reference VI only has a  maximum sampling rate of 1 reading ms  The situation can be improved by removing the Wait  Reference VI and using the while loop rate to sample the encoder index signal    In the home calibration  the motor is moved by sending the lowest voltage necessary to  move the motor  The reason is because the encoder index signal is too short  Running the motor  faster than 200 RPM will result in an inconsistent encoder index reading i e  the softwar
24. emonstration involved three runs  one in manual mode and two in automatic mode    e During the manual mode  the motor first rotated at 0 75 V  lowest voltage at which   Motor 1 runs  and stopped until the index pulse was found  The voltage was then  regulated manually between  2 00 V to  2 00 V to rotate the motor  Whenever the  motor was in motion  the GUI displayed the current encoder position  the  potentiometer value  and the calculated RPM of the motor numerically and  graphically    e    desired positive number of revolutions was entered for the automated run  Like the   manual mode  the motor first performed the home position calibration  Once the GO  button was clicked  the motor ramped up from 1 00 V to 2 00 V during the first 40   of the number of revolutions  stayed constant at 2 00 V for the next 20   and then  ramped down from 2 00 V to 0 75 V during the last 40  of the revolutions    e For the last run  a negative number of desired revolutions was entered  After the home   position calibration and once the GO button was clicked  the motor ramped up from    1 00 V to  2 00 V during the first 40  of the number of revolutions  stayed constant    at  2 00 V for the next 20   and then ramped down from  2 00 V to  0 75 V during  the last 40  of the revolutions     7 MARKETING AND COST ANALYSIS    7 1 Marketing Analysis    In 2004  approximately 5  to 15  of the industrial robots in injection molding industry  were six axis articulated robots  11   leaving a large mark
25. et for PUMA 560 robots to grow   However  since the PUMA 560 robot was manufactured back in 1985  12   it is not equipped  with modern technology such as high speed microprocessor and zero backlash mechanism such  as the harmonic drive gearing  13   Compared to the KUKA 5 sixx R850  14   a modern arm    robot in the same class  the PUMA 560 robot is inferior in many aspects such as speed     Yellow PUMA  ECE4007L01  25    repeatability  and payload as shown in Table 10  Although the PUMA 560 robot does not excel    in comparison  it is capable of completing any task where speed and accuracy are not critical     Table 10  Comparison between PUMA 500 Robot and KUKA 5 sixx R850 Robot                         Technical Specifications PUMA 560 KUKA 5 sixx R850  Axes 6 6  Repeatability  0 1 mm   0 03mm  Maximum Static Load 2 5 kg S kg  Maximum Speed 0 508 m s 7 6 m s   Reach 914 mm 814 mm                Hand held teach pendants such as the Motoman NXC100 teach pendant are commonly  used to program the movements of articulating arm robots in the industry  15   However   according to  16   PC based controllers have recently become more popular as they provide an  advantage of reduced cost  improved robustness  and open architecture platform  With six  degrees of freedom and re programming ability  the PUMA 560 robot will be able to handle  different types of tasks with changes only in the end effectors and software  thereby reducing    production cost and increasing its potential in t
26. fications and the method of open architecture implementation for PC based controller   2  PROJECT DESCRIPTION AND GOALS    Mechanically  the PUMA 560 robot has been inspected  and two new motors have been  purchased and properly tested to replace the broken motors  Electrically  the robot has not been  interfaced with the controller because there was an issue with the sponsored Rockwell controller     On March 26   2009  the team discovered that the sponsored controller  CompactLogix L43  can    Yellow PUMA  ECE4007L01  3    only control up to four axes  CompactLogix L45  which can control up to eight axes  was  requested  but the team was not able to receive good response from Rockwell Automation  As a  result  National Instruments PCI 7356 controller was selected as it met the needs for this project    Due to the above mentioned issue and time constraints  the team had set up new realistic  goals to be achieved by the end of this project which includes    e Establishing a system interface for the motor  the motor driver  and the NI controller   e Providing a GUI for end users to read in feedback signals from the motor   e Using the controller to control a single motor   s position and speed   e Establishing groundwork and proper documentation for future ECE students    project   Upon completion of this project  the team will provide essential framework of the  interface and control system and documentations of the robot  the motor driver  and the    controller for the next 
27. g  Power Transmission  Engineering   Magazine   pp 32    KUKA Roboter GmbH     KR 5 sixx R850      Company Website   Available     http   www kuka        robotics com usa en products industrial robots small robots kr5 sixx r850 start htm       Robot Worx   Motoman NX100 Teach Pendant      Company Website   Available     http   www robots com motoman php controller nx 100       M  Faroog     Implementation of a new PC based Controller for a PUMA robot     Journal    of Zhejiang University Science A     vol  8  no 12  pp  1962 1970  Nov  2007     W  Bihr and F  Degrange   1999      Interfacing of a Force Torque sensor on a PUMA 500    robot     Georgia Institute of Technology   Online   Available     http   helix gatech edu Students Sioux Will project html    Yellow PUMA  ECE4007L01  31    APPENDIX A     MATLAB CODE    Shown below is the Matlab code used to determine the voltage constant       oo    vl and v2 represents the input voltage  where rl and r2 represent  the rpm corresponding to the input voltage    This data are collected from actual testing    vli   17353   v2   1 22    ri    040 80 120 155 195 220 275 305 340 380 420 460 500 545 585 630  660 690 720 725 760 795 828 867 903 940 976 1011 1053 1087 1124 1161  1197 1239     r2    12 111 225 335 446 560 664 782 887 1001 1117 1238 1345 1462 1573  1687 1809 1926 2044 2155 2272 2382      oe    oe      Determine and plot the 1st order best fitting polynomial   Pl   polyfit vl  rl  1     new rl   polyval  P1  v1     P2   po
28. g the ticks seen in LabVIEW per  revolution  1000 ticks were registered per revolution  Assuming the program uses both encoders   90   out of phase from each other  and counts both rising and falling edge  1000 ticks per  resolution corresponds to 250 slots per encoder    Circular potentiometer connects both extremes in the output voltage range together  The  potentiometer output resets to zero when it reaches the input voltage  within the range of the  output voltage from zero to the input voltage  The potentiometer is geared down from the motor    shaft  but the gear ratio is not measured since it is not essential in completing the whole project     Yellow PUMA  ECE4007L01  7    Controller  During the project the controller was switched from Rockwell Automation to Nation  Instruments PCI 7356  to fully support all six axes on the robot  Table 3 shows the I O pins for    the controller and the required pins for the project     Table 3  NI PCI 7356 I O Pins  8                       Pinout Supports se ts Use  Encoder 3 3 Encoder A  B  and I  Analog Input 1 1 Potentiometer  Analog Output 1 1 Motor Power  Dita Po   x el  Various Switches  Home  3 0 Currently no Plan for  Limit  etc   Installation                      Other Notes   More information on the robot and its specification is given in Appendix B  to understand  the operation and limitation of the arm robot  when the arm robot is reassembled   Software   Previously the project was intended to interface the PUMA 560 robot
29. he market     Yellow PUMA  ECE4007L01  26    7 2    Cost Analysis    Table 11  Lists of Parts and Labor Costs                                        Item Description Retail Actual Value  Value  Robotic Arm PUMA Robot 560 Series  5 000 FREE  150 W Motors  1  Unimation Original Parts  600  600  30 W Motors  1  Unimation Original Parts  350  350  Servo Drives  6  TA115  4 200  4 200  PLC Controller NI PCI 7356  2 890  2 890  PCI Cables  4  68 Pin VHDCI M to MD68 M  220  220  Breakout Boards  4    68 Pin F Vertical Breakout  200  200  Desktop Dell GX260  350 FREE  Miscellaneous Tools  Wires  Connectors   100 FREE  Switches  Electrical  Components  Labor 600 hours x  50   hour  30 000 FREE  Total  43 910  8 460                      Table 11 lists the parts and labor costs needed to work on the project  The total actual  cost for this project ended up to be  8 460  which is higher than the estimated cost in the  proposal   5 150  The difference in the total cost was due to the purchase of NI PCI 7356  controller  which was sponsored by Dr  Michaels  All other items except for the PCI cables and  the breakout boards were also sponsored by Dr  Michaels    The PCI cables and the breakout boards  which cost  420 dollars  were purchased from  Daqstuff  a company that replicates connector cables and breakout boards for NI controllers   using the team   s senior design fund    Labor spent to work on the project was estimated to be 600 hours with typical market  engineer   s salary of  50 
30. hour  which results in  30 000 dollars  Table 12 shows the breakdown    for the estimated labor hours for each team member     Yellow PUMA  ECE4007L01  27    Table 12  Estimated Labor Hours    J  Chao  Hr     J  Tanis  Hr     D  Lie   r     Y y     Presentation       6    o   s  6    Website development   o   o 0    Project Hours    Project Research and Definition  Robot Inspection and Testing    Interface Components 31    Motor Driver Setup 8    OA  Code Implementation    0   0  Final Testing EJ 5  Total per Person    Total Hours       In order to achieve the original goal  which is to interface the whole PUMA 560 robot   the only additional parts that may have to be purchased are wires and connectors for the entire  wiring system  For these parts  additional cost of  250 dollars is estimated  Additionally  the  team estimated that four hundred labor hours are needed for the following tasks    e Reassemble the motors back to the robot   s body   e Implement kinematic equations on the controller   e Implement the control PID loop for position and speed control    e Test the overall system and make necessary adjustments    Yellow PUMA  ECE4007L01  28    8 SUMMARY AND CONCLUSIONS    The initially proposed design goal was to program kinematic equations into the control  system to make the end effectors of the robot move to a specified x  y  and z coordinate with a  specified rotational direction within an error of   I cm and   3   respectively  Due to several  problems that occu
31. lyfit v2  r2  1     new r2   polyval P2  v2        The voltage constant is the inverse of the lst order coefficient    of the polyfit constant    vel   1000 P1 1    vc2 1000 P2  1     hold on   plot vl  rl   r    v2  r2   o    vl  new rl   k   v2  new r2   k    legend  Motor 1    Motor 6     xlabel  Input Voltage  V      ylabel  Speed  rpm      title  Input Voltage vs  Speed               Yellow PUMA  ECE4007L01     APPENDIX B     THE UNIMATION PUMA 560 ROBOT    The arm robot has six revolute joints  and each joint is driven by a DC servomotor  The    orientation of each axis and the angle of rotation of each joint are shown in Figure B1  This six     axis configuration allows the robot to reach any point in its working envelope in any direction        WAIST 320     JOINT 1          SHOULDER 250     JOINT 2      JOINT 3               JOINT 4     axis of rotation  and maximum rotation range  16         EN    I    ELBOW 270      WRIST BEND 200         JOINT 5     FLANGE 532     JOINT 6     WRIST ROTATION 300      Figure B1  Schematic of Unimation PUMA 560 robot with joint angles           Figure B2 provides detailed physical dimensions of the arm robot  The information is    necessary for the implementation of forward and inverse kinematics     Yellow PUMA  ECE4007L01     33          Figure B2  Schematic of Unimation PUMA 560 robot with dimensions of the robot in  inches  17               Detailed technical specifications of the arm robot can be viewed in Table B1  Since the  p
32. mode and the  position input command mode  If the switch is set to manual  the motion of the motor  is controlled by turning the voltage control knob  If the switch is set to automatic  the  motion of the motor is controlled based on the input number of desired revolutions   The maximum voltage produced by the automatic mode is 2 V when running in  current mode with a gain of 0 2  The speed of the running is approximately 780 RPM     e Voltage Control Knob  to control the analog output voltage used to move the motor   The range of the output voltage is between  10 V to  10 V  The software has to be set  to manual mode to enable the voltage knob     e Input Number of Revolutions  to command the motor to move a certain number of  revolutions  The software has to be set to automatic mode for the input command to    Yellow PUMA  ECE4007L01  13    work  The motion is divided into 3 parts  voltage incline  40  of distance   constant  voltage  20  of distance   and voltage decline  40  of distance   as seen in Figure 4     Motion profile in auto mode    mn    a     m             gt      3  a     5  o    10 20 30 40 50 60 70 80 90  Distance        Figure 4  Motion profile in auto mode  for explanation purposes only  not  measured data         e Encoder Display  to display the current encoder position numerically and  graphically  The numerical display shows the number of encoder ticks  One complete  revolution is equal to 1000 encoder ticks     e POT Display  to display the analog in
33. n        si  v  EL  ei       62    Yellow PUMA  ECE4007L01     APPENDIX      FINAL PROJECT GANTT CHART    See next page for project Gantt chart     Yellow PUMA  ECE4007L01     63    60 82    ONL  160 22 7 VON  GOZZI  PIM  60 77 3NL  60 82 p         60 8 7          60 4 19 ONL                    60 0        VON  60 39           60 8 7          60 4 97 3NL  60 LE E ONL  60 92     NUL  GO ET E VON  60 3                             60 8 p PAM    60 97    NUL  60 52             60 6    VON   60 9Z    NUL    160 92    NUL  6O SZ E PAM  60   2    VON  60 9     Uy  GO S E NUL    60 PZ Z ONL  160 02 2 4  60 9Z    NUL                PIM  60 82  PIM  60 EZ L UA   60 b LIZ PIM    60 8Z  ONL  60   2    NUL  60 9L 7 nur  60 6 7 NUL   60 6 NUL    60 8 7 PAM           NUL  60 LE E ONL  60 92    NUL  60 9zic NUL    60 8 7 PAM  60 Vv PAM  GO LZ E Uy   60 9c     NUL  60 61     NUL  GOZE nur  60 6     VON   60 6  LOW    60 92    NUL  60 01     SNL                             PAM    60 9Z E NUL  60 PZ E ONL  GO LIE 185   60 9      4   60 52    PAM  60   2    VON  60 Z We nur  6O Z LT NUL    60 62 1 NUL  60 97 14 VON  60 2171 VON  GOZH                      sepe           5           y                                      y                             sAep of              sKep s  sKep                sKep      sKep S  sKep              cz              sKep zi                     gb              S  Bp              zi            sAep                sep     sKep zc    sKep 01  sKep     sKep 01         
34. ndication that the home calibration is complete     Yellow PUMA  ECE4007L01  52    e Ifthe switch is set to manual  use the voltage control knob to control the motor    e If the switch is set to auto press the blinking go button to start position command    e Press the stop button to close the software  In auto mode  user has to wait until the  motion is completed before pressing the stop button  The stop button is disabled    during the auto mode motion     The flowchart of the user interaction is shown in Figure El     Troubleshooting    Q  Why does not the motor move during the home calibration mode   A  It means that the motor doesn t have enough voltage supply  To solve this problem   change the voltage value in the second sequence in the home calibration section to a value that    is higher than 2600 26  0 79 V  or wait until the mot warms up     Yellow PUMA  ECE4007L01  53    Manual   Auto  Switch    LabVIEW Run    Home Calibration    Voltage Read  Control Number of  Knob Revolutions    Figure El  User interaction flowchart        Yellow PUMA  ECE4007L01     54    APPENDIX        RAMP FINAL VI    The RampFinal vi is called by the main VI in the run auto mode section  The purpose of  the RampFinal VI is to automatically create the motion profile as seen in Figure 7  which  consists voltage incline  40  of the distance   constant voltage  20  of the distance   and  voltage decline  40  of the distance   The block diagram of the RampFinal VI is shown in  Figure Fl  The di
35. ndividually  7 days 2 25 2009   3 5 2009   Medium Tanis  Motor Testing Complete   I day 3 6 2009   3 6 2009   Milestone   Tanis  Order and Parts Delivery   15 days 4 7 2009    3 23 2009   Low Chao  for 2 Motors  Test New Motors 2 days 3 24 2009   3 25 2009   Medium Chao  All Motors Working I day 3 26 2009   3 26 2009   Milestone   Chao  Rockwell Automation 18 days 3 4 2009 3 26 2009 Fernandes   Controller Lie  Setup Controller 5 days 3 4 2009   3 9 2009   Medium Fernandes  Learn Ladder Logic 12 days 3 10 2009   3 25 2009   High Fernandes  Switch to NI Controller   day 3 26 2009   3 26 2009   Milestone   Lie  Interface all    C 23 days   3 9 2009   4 8 2009 Chao  Tanis  omponents  PE pave 3 days   3 9 2009   3 11 2009   Medium   Tanis  Amplifier  Build Wiring System 5 days 3 12 2009   3 18 2009   Medium Chao  Order and Parts Delivery   3 days 4 9 5009    3 23 2009   Low Chao  for 6 Servo Amplifiers  Complete Wiring for    Moto TER I day 3 26 2009   3 26 2009   Milestone   Chao  Motor Driver Testing    days     3 27 2009  3 31 2009   Medium     Tanis  with Motor  Interfaced Controller to 5 days 4 1 2009   4 7 2009   Medium Chao          Yellow PUMA  ECE4007L01     23                                                                   6    Motor Driver and Motor  Communication of all   day   4 8 2009   4 8 2009   Milestone   Chao  Components Complete  NI Controller Setup 10 days   3 26 2009   4 8 2009        Order and Parts Delivery  for NI PCI 7356 3 days 3 26 2009   3 30 2009   
36. o zero   error in  no error       Encoder Position Reads the encoder  _ Board ID Bd ID Out Read position  One revolution  Axis or Encoder Resource Output Positi   1 1000 d  Retn Vect       M DUE osition is equal to encoder  error in  no error     ticks   Analog Value  Board ID Bd ID Out Reads the converted  ADC Resource Output Read ADCs   value from an ADC    input channel        Yellow PUMA  ECE4007L01     19       Table 7     Initialization Parameters for NI Motion LabVIEW VIs  10                                               Parameter name VI Value Description   Board ID Initialize 1 Number assigned and   Controller used by NI MAX to  identify the PCI 7356    Axis Bitmap Enable Axes True The value true means the  axis is enabled  There are  6 Axis Bitmap  parameters    Index Configure False The value false means   Encoder Polarity that the encoder index is  active low    Phase A Configure False The value false means   Encoder Polarity that the encoder A is  active low    Phase B Configure False The value false means   Encoder Polarity that the encoder B is  active low    DAC Load DAC DAC Channel 1 The analog output port to  control  DAC Channel 1  means control the analog  output channel 1    ADC Read ADCs ADC Channel 1 The analog input port to  read    Axis Reset Position Axis 1 The encoder axis to reset  the position    Axis Read Position Axis 1 The encoder axis to read  the position        Table 8  Analog Value Range vs  LabVIEW Value Range  10                          
37. otor  and provide a user interface to the user   The block diagram of the VI is shown in Figure D1  In addition to LabVIEW and NI Motion VIs     the FinalDemo vi also utilizes the developed RampFinal vi     Yellow PUMA  ECE4007L01  43    Figure D1  Block diagram of the FinalDemo VI        Yellow PUMA  ECE4007L01     44    For analytical purposes  the FinalDemo vi can be broken down into 5 components     e Initialization   e Home calibration   e Run mode loop   e Encoder and pot reading loop    e Speed calculation loop    Initialization   The parameters needed to properly control the motor is defined in the initialization  section  A block diagram of the initialization section is shown in Figure D2  The initialization  section performs the following tasks    e Initialize the voltage control value to zero   e Initialize the motion control   e Enable the operating axes    e Configure the encoder polarity  All encoders that are used are active low  The  assigned value that indicates active low is the Boolean false     Yellow PUMA  ECE4007L01     45    Axis Bitmap  Disabled  Phase       Voltage Value    Reinit To Default Reinit To Default    Figure D2  Block diagram of the initialization section        Home Calibration   The purpose of the home calibration section is to find the encoder index position and set  the index position as the home encoder zero position     block diagram of the home calibration  section is shown in Figure D3  The flat sequence structure is used to constru
38. palletizing  and parts  installation have been automated using such type of industrial robots for higher efficiency and  productivity    Georgia Tech   s ME department has donated one such robot to the ECE department  The  robot s controller was not functional  and the team tasks involved inspecting the mechanical  aspects of the robot and replacing the robot   s control system with a National Instruments  controller  The next phase involved interfacing all of the components PC  controller  motor  drivers  and motors  Once these components were functional  kinematic equations was to be  programmed into the control system in order to make the end effectors of the robot move to a  specified x  y  and z coordinate with a specified rotational direction  However  due to several  problems that occurred during the semester and time constraints  the final objective was changed  to control a single motor using feedback received from the encoders and potentiometer    With six degrees of freedom and re programming ability  the PUMA 560 robot is able to  handle different types of tasks with changes only in the end effectors and software  thereby  reducing production cost and increasing its potential in the market  With all the prices combined   the total cost was  8 460  With successful completion of the project  the functional system can  be used as an automated measurement tool for research and groundwork for future ECE students       projects     Yellow PUMA  ECE4007L01  iv    Interfa
39. put voltage from the motor   s potentiometer   The potentiometer is connected to a 5 V supply     e RPM display  to show the speed of the motor rotation  The speed is calculated based    on As At  where At is 0 5 sec and As is the encoder ticks difference in 0 5 sec  The  result is than converted into revolutions per minute     The NI PCI 7356 has a built in processor to read in the encoder signals  By default  it can  read encoder data at a rate of up to 20MHz  8   National Instruments also provides the NI Motion    driver that includes LabVIEW VIs needed to read the encoder data from the motion controller    Yellow PUMA  ECE4007L01  14    memory  The low level communication procedure between the motion controller and the  computer is handled within NI Motion    The software flowchart is shown in Figure 5  The first step is to set the necessary  parameters in order to run the motor  The software then moves to the home calibration algorithm   During this process  it also runs two other while loops simultaneously which is necessary for  encoder display and RPM calculation  The RPM calculation while loop runs at a slower rate than  the encoder while loop  because larger At leads to more accurate and stable results  After the  home calibration is performed  the software enters the run mode  which can be either in manual  mode or auto mode  In both modes  the software will run the third while loop necessary to  control the analog output voltage  Refer to Appendix E for block diag
40. rams and details on the    software implementation       Home calibration   Output voltage control    Hardware       VERE   Encoder readin         Initialization g      Analog input reading Handling      Motor speed calculation    Figure 5  Software implementation flowchart        The encoder signal from the motor is connected to encoder port on the motion controller     The motion controller is able to read the encoder signal at a rate of up to 20MHz  9   and stores    Yellow PUMA  ECE4007L01  15    the values in the memory  The value is obtained in the software using the Read Encoder Data VI   The encoder index signal is connected to the digital input port of the motion controller  The VI  that is used to read the digital input port is the Read I O VI  The potentiometer is connected to  the analog input port  and the value is read using the Read ADCs VI  All the VIs are listed in  Table 6    The home calibration is done by moving the motor at a low speed while constantly  reading the encoder index signal  Once the encoder index signal is found  the encoder value is  reset to zero using the Reset Position VI  and the motor is stopped    The automatic run mode is done by controlling the output voltage over the period of  encoder distance  The motion consists of 40  voltage incline  20  constant voltage  40   voltage decline as shown in Figure 6  In the first 40  of the distance  starting with the minimum  voltage of 1 V  the voltage is increased at a constant rate over the di
41. ring the semester     e Define and discuss design goals with Dr  Michaels    e Research and gather technical specifications about the PUMA 560 and motors    e Determine pin layout for the main wire harness connector ELCO 8016    e Check existence of limit switches    e Remove all motors from the robot    e Test brake release for the three big motors    e Test Encoders A  B  and Index for all six motors    e Test potentiometer output for all six motors    e Replace and test the two broken motors    e Learn to use the purchased motor driver    e Build wiring system to connect the motor driver and motor    e Replace Rockwell CompactLogix L43 controller with NI PCI 7356 controller    e Interface the NI controller with the motor and motor driver    e Develop a GUI to control the motor    Yellow PUMA  ECE4007L01  65    e Control the motor using command analog voltage    Read encoder and potentiometer feedback signals    e Calculate RPM of the motor in motion    e Control the position and speed of the motor    Below is the list of tasks that need to be achieved by future senior design teams     e Implement the control PID loop for position and speed control    e Add limit switches algorithm within the software program    e Wire and interface all 6 motors    e Program to control all 6 axes    Install the 6 motors into the robot    e Determine the actual limit switch values    e Program forward and inverse kinematic equations    e Test overall system and make necessary adjustments    
42. roject only modifies the control system  the actual performance of the robot should be close to    these specifications     Yellow PUMA  ECE4007L01     34    Table B1  Detailed Technical Specifications of the Unimation PUMA 560 Robot                   Axes 6 revolute axes   Drive Electric Brushed DC Servomotors  Repeatability  0 1 mm   Maximum Static Load 25      Maximum Straight Line Velocity 51 cm sec       Reach    86 6 cm to the wrist  92 2 cm to the flange       Weight          54 4 kg          Yellow PUMA  ECE4007L01     35    APPENDIX C     PINOUT DIAGRAM    Motor Pinout  Two types of motors are used  Motors 1 to 3 are shown in Figure C1 in the center  and    Motors 4 to 6 are shown in Figure      to the right           Figure C1  Two types of motor              The sample pictures of the connector along with the pin numbering are provided in Table    C1 and Table C2     Yellow PUMA  ECE4007L01  36    Table C1  Motors 1 3 Pinout Diagram                               3 1  6 4  9 7  12   11 10                  Pin Numbers           b  Sample Picture          Table C2  Motors 4 6 Pinout Diagram        a        12 13 14    15    Pin Numbers           b  Sample Picture          Table C3 gives the description of every pin  Note that the pin number applies to all    motors and the small motors have no brake     Yellow PUMA  ECE4007L01     37    Table C3  Pin Details for Motors in PUMA 560 robot                                                    Pin   Description Motors 4 6 Ca
43. rred during the semester and time constraints  the goal was not met  However     the re proposed goals of the project were successfully achieved     e    system interface is established for the motor  the motor driver  and the NI controller   e AGUl is provided for end users to read in feedback signals from the motor   e The controller is able to control a single motor s position and speed   e Established groundwork and prepared documentation for future ECE students    project   Appendix I shows all the tasks that were completed during the semester and also provides  a task list for future ECE senior design teams to achieve  Other helpful resources are also made    available on the Yellow PUMA website and can be accessed at the following link     http   www ece gatech edu academic courses ece4007 09spring ece4007101 ws5 index htm    Yellow PUMA  ECE4007L01  29     1      2      3    4      5      6      7      8      9     REFERENCES    ATSI   2008   Articulating Arm Robot  Online   Available     http   www atsi cc articulating arm robot htm       J M  Pethokoukis   2004  Mar  7   Industrial robots are reshaping manufacturing  U S     News  Online   Available        http   www usnews com usnews biztech articles 0403 15 1 5eerobots htm    ATSI   2008   Robot Basics  Online   Available  http   www atsi cc robotbasics htm       RobotWorx   2009   Industrial Arc Welding Robot Application  Online   Available        http   www robots4welding com applications php app arc welding  Au
44. s the  result more stable and more accurate than the result performed by faster loop run  The formula  used to calculate the speed is     RPM   Abs AEncPos 1000 60  At    Yellow PUMA  ECE4007L01  50    Figure D7  Block diagram of the motor speed calculation        Yellow PUMA  ECE4007L01  51    APPENDIX E     USER MANUAL    The user manual is made available to guide the user in running the software application  with ease    In order to use the software  the following items will be needed    e Windows based PC capable of running NI LabVIEW   e NI PCI 7356 Motion Controller   e NI LabVIEW 8 5 software   e NI Motion 7 6 software driver       FinalDemo VI    e RampFinal VI    The current developed software is not a standalone application  Therefore the correct  version of NI LabVIEW  NI Motion  and the VIs listed above will be needed to run the software  application    Follow the steps below to run the software    e Open the FinalDemo vi using NI LabVIEW    e Switch between the manual  manual voltage control using the knob  and auto  voltage   is controlled automatically based on the input number of revolutions  mode    e Ifthe switch is set to auto  put in the desired number of revolutions in the numeric   control  The numeric control accepts decimal input    e Click the start button    e The home calibration algorithm will run automatically  wait until the home   calibration is completed  The motor will stop spinning and the encoder position will    be reset  This will be the i
45. senior design group to continue on this project     3  TECHNICAL SPECIFICATIONS    Hardware  Motor Drivers  TA115 Motor Driver from Trust Automation was used  The manufacture specified    specification and actual specification  used and measured  are listed in Table 1     Yellow PUMA  ECE4007L01  4    Table 1  Trust Automation TA115 Motor Driver Specification  6                       Specified Values Actual Values  Actual Values  P Used Measured  Supply Voltage  V    15 48 24 N A  Digital Signal I O TTL Level 1     0   Same N A  Command Input  10V Same N A  Current Mode Ratio  0 2  0 4 0 6  0 8 N A 0 2  0 4 0 6  0 8      Vi   Voltage Mode Ratio  20 N A 14                                    minimize the number of power supplies used  the 24V power supply was used to  power both the motor drivers and the brakes for Motors 1  2 and 3  The actual voltage mode ratio  differs from the manufacturer specifications  With voltage mode ratio of 14  the output voltage is  in the range of   140V    In addition  the motor driver supports opto isolation  which connects the signal circuit to  the power circuit with optical devices instead of hard wires  Opto isolation protects the signal  circuit from catastrophic disasters such as lightning strikes by stopping the flow of high voltage  past the motor driver    Motors   The motors in the arm robot were disassembled from the robot and were tested on the    bench  Table 2 shows the results of the tests performed     Yellow PUMA  ECE4007L01  5 
46. stance until the output  voltage reaches 2 V  The motor will then move at a constant voltage of 2 V for the next 20  of  the distance and start declining to the minimum voltage required to keep the motor moving at  0 75 V during the last 40  of the position  The implemented motion profile is shown in Figure 7   Encoder value is used to determine the necessary changes in output voltage  The distance for the  incline  constant  decline voltage  and the rate of change of the output voltage are calculated in  advance based on the given number of revolutions  These values are calculated after the run  button is pressed  but before the motor starts spinning  The automatic run mode algorithm is    written in a separate VI shown in Appendix F  This VI is called from the main software VI     Yellow PUMA  ECE4007L01  16    Parameters  set up and 40  of distance 20  of distance 40  of distance  calculations From 1V to 2V     2   From 2V to 0 76V    Error  Handling    Figure 6  Flowchart of the RampFinal VI     Motion profile in auto mode               gt   m     E   gt          gt      5  o    10 20 30 40 50 60 70 80 90  Distance        Figure 7  Implemented motion profile in auto mode  for explanation purposes only  not a  measured data         4 2 Codes and Standards    The NI Motion LabVIEW VIs that were used or explored in the development process of  the software are listed in Table 6  based on NI Motion 7 7 and LabView 8 5  The initialization  parameters needed are listed in Table 
47. such as welding  assembly  painting  and packaging  Some of the commercial welding robots    include Panasonic VR 006  Motoman UP6  Fanuc  and ABB IRB 1600  1      Yellow PUMA  ECE4007L01  2    National Instruments PCI 735x Controller   National Instruments is a technology pioneer and leader in virtual instrumentation  On  June 8   2004  NI introduced high performance motion controller boards for PCI based  integrated motion data acquisition applications  The NI PCI 7350 series boards offer stepper and  servo motion control  various axis configurations and general purpose digital and analog I O  suitable for machine control applications such as semiconductor manufacturing or automated  component testing  5     In addition  the PCI controllers would provide a customizable control architecture which  makes the changes in the robot   s configuration easy for different applications  NI also provides  flexibility in software choices to program the PCI controllers including NI Motion Assistant     LabVIEW  LabWindows CVI  Measurement Studio for Microsoft Visual Basic  C and C     Other Related Research    A similar project  titled    Implementation of an open architecture for PC based control of  PUMA 560     was undertaken by a former research student in National University of Singapore   Parasar Kodati  6   Although the ServoToGo motion control card by IBM was used in this  project  the project   s report provided useful information about the PUMA 560 robot   s technical    speci
48. tomation com   2004   NI Introduces Four PCI Motion Controllers for Manufacturing and    Test Applications  Online   Available  https    www automation com content ni introduces four           pci motion controllers for manufacturing and test applications    Trust Automation  Inc   April 2000   TA115 Datasheet   Online PDF  Available     http   trustautomation com Library pdf Datasheets TA I 15 pdf       P  Nagy     The PUMA 560 Industrial Robot  Inside Out     Industrial Robot Journal  pp  4 67 4 79  1988   National Instruments  2008   735x Datasheet   Online PDF  Available     http   www ni com pdf products us 735x pdf       Parasar Kodati   2004  Aug    Implementation of an open architecture for PC based    control of PUMA 560  NUS  Singapore   Available      http   udel edu  parasar documents puma report pdf    Yellow PUMA  ECE4007L01  30     10      11      12      13      14      15      16      17     National Instruments  2005  November   NI Motion VI Help  Microsoft Windows Help  format     Online   Available     http   digital ni com manuals nsf websearch BF588B77C64200BE86257 11B0050D 137       M  Knights  Six axis robot  where they fit in injection molding  Plastics Technology   Online Article   October 1  2004  Available     http   goliath ecnext com coms2 summary 0199 1325378 ITM       Unimation  1985  March   PUMA Mark II Robot 500 Series Equipment Manual for VAL     and VAL PLUS Operating System    A  Lauletta  2006  April   The Basics of Harmonic Drive Gearin
    
Download Pdf Manuals
 
 
    
Related Search
    
Related Contents
NGS Vip Mouse    グッこんNowの取扱説明書―1 - plus  livedoor SIPフォンLDSP-0001/0002取扱説明書  VisionPRO User Manual  Particularidades a las condiciones generales de  Troubleshooting Wireless Connection to eduroam    Tripp Lite Heavy-Duty Power Extension Cord, 20A, 12AWG (IEC-320-C19 to IEC-320-C20), 6-ft.  USER MANUAL FOR    Copyright © All rights reserved. 
   Failed to retrieve file