csit.selu.educsit.selu.edu/.../final_reports/...jordan_final_report_fall_…  · web viewin this...

19
1 TECHNICAL PROJECT FINAL REPORT FOR ET 493 SENIOR DESIGN I PROJECT TITLE: Industrializing the Robotic Arm Southeastern Louisiana University Department of Computer Sciences and Industrial Technology Fall 2017 BY: Michael Hernandez, Peter DiMarco, Jordan Martin Instructor: Dr. Cris Koutsougeras Advisor: Dr. Mohammad Saadeh

Upload: others

Post on 23-Aug-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: csit.selu.educsit.selu.edu/.../Final_Reports/...Jordan_Final_Report_Fall_…  · Web viewIn this project, we will convert from an Arduino program to a PLC to control two robotic

1

TECHNICAL PROJECT FINAL REPORT FOR ET 493 SENIOR DESIGN I

PROJECT TITLE:

Industrializing the Robotic Arm

Southeastern Louisiana University

Department of Computer Sciences and Industrial Technology

Fall 2017

BY: Michael Hernandez, Peter DiMarco, Jordan Martin

Instructor: Dr. Cris Koutsougeras

Advisor: Dr. Mohammad Saadeh

Page 2: csit.selu.educsit.selu.edu/.../Final_Reports/...Jordan_Final_Report_Fall_…  · Web viewIn this project, we will convert from an Arduino program to a PLC to control two robotic

2

TABLE OF CONTENTS:

Cover page……..…………………………………………………….………………….…1

Table of Contents…………………………………………………….………………….…2

Abstract………....……………………………………………………….……....................3

Introduction……………………………………………………………...….………..….…4

Setup……………………..……...………….…………………………...…….……..….…5

Cost…………………………………………………………………………….…………..6

Issues & Progress………………………………………………………………..………...8

Resolutions………………………………………………………………………………...10

Contributions……………………………………………………………………………....13

Page 3: csit.selu.educsit.selu.edu/.../Final_Reports/...Jordan_Final_Report_Fall_…  · Web viewIn this project, we will convert from an Arduino program to a PLC to control two robotic

3

ABSTRACT:

This project is a continuation of a previous senior project that was worked on by a couple

of students under the supervision of Dr. Koutsougeras. The goal of the current project is to

transform the previous microcontroller based project into a PLC based project. The robotic arms

were designed using software such as Solidworks, and because the last physical design was only

run using an Arduino microcontroller, there is room for improvement in the design and it is to

use PLC’s to run it at the lowest expense possible. In this project, no parts and components had

to be redesigned, only rewired and improved, along with better functionality and more freedom

for the arms to allow for a more enhanced movement. When completed, this device is expected

to mimic a conveyor belt robotic arms system running on PLC’s with no use of microcontrollers.

This is done by the articulate function, operation, and response using actuators, motors, and

servos in such a system that responds to pulse modulation through PLC’s. The control of this

arm will be controlled by stored ladder logic connected from the PLC to the servo motors and

actuators. The main priority will be the controlling of the whole system, arms, conveyor belt, and

rotating disc functionality and communication with each other, as well as having an additional

belt on one side of the system which will return the object back to the starting point and

improving all aspects of the system. If the deliverables have been completed with additional time

to work on the project, reducing parts will be attempted to reduce costs.

Page 4: csit.selu.educsit.selu.edu/.../Final_Reports/...Jordan_Final_Report_Fall_…  · Web viewIn this project, we will convert from an Arduino program to a PLC to control two robotic

4

INTRODUCTION:

In almost every manufacturing process in an industry, the typical workforce includes

robotics. The most common type is the articulated robotic arm which includes rotation at the

joints and is usually arranged in a chain to reach into difficult places. Robots are essential for

smooth and efficient operation in a specific process, and to program that requires a computer.

The most common computers that run robots are called PLCs. A PLC is a programmable logic

counter that can provide control to a robotic arm or any other manufacturing equipment. In this

project, we will convert from an Arduino program to a PLC to control two robotic arms that will

move objects to and from conveyor belts, resembling a simple process that would be seen in the

industry. Examples of application: High-precision assembly, welding, order picking.

Timeline

Date Objective

10/2/17 - 10/8/17

COMPLETED

Take inventory of parts and determine what is

needed

10/9/17 – 10/30/17

COMPLETED

Order/Receive necessary parts

10/9/17 – 10/31/17

COMPLETED

Research how the parts will need to be

integrated to operate in a PLC format.

11/1/17 – 11/30/17

ONGOING

Integrate the robotic arms, conveyor belts, and

rotating platform to operate together.

Page 5: csit.selu.educsit.selu.edu/.../Final_Reports/...Jordan_Final_Report_Fall_…  · Web viewIn this project, we will convert from an Arduino program to a PLC to control two robotic

5

SETUP:

The design of the project is like an industrial plant’s contract packaging system. Mainly,

we want to have all functions running at the same time using a common delay in ladder logic.

Converting it to PLC, mainly used in industries, we can control multiple components at once.

This allows the process to be faster and more efficient. The project includes two robotic arms,

two conveyor belts, and a rotating platform, all controlled by Do-more designer which allows the

system to move using several servos. The robotic arms will work in conjunction with two

conveyor belts and a rotating platform to move objects from one belt to another. The conveyor

belts will be powered by stepper motors that are programmed to the PLC, as well as the rotating

platform. The pictures below show how the previous project was set up. We have since

reconfigured the arms to the same length and started implementing positions where each arm will

pick and place.

Page 6: csit.selu.educsit.selu.edu/.../Final_Reports/...Jordan_Final_Report_Fall_…  · Web viewIn this project, we will convert from an Arduino program to a PLC to control two robotic

6

COST:

Our project consists of materials that came from a previous project, along with a

ClickPLC unit that includes a power supply, CPU, two output modules, and one input module.

We decided to ditch the ClickPLC for a more updated PLC called the BRX PLC to futureproof

the design and allow it to do more functions compared to the ClickPLC. The BRX PLCs are an

all-in-one system with a power supply built in, and a choice of 18 or 36 point. We decided to use

the 36-point terminal PLC because it will allow us to add additional servos and sensors to the

design, making it completely expandable with only one component. The component and price

breakdown are included below.

Quantity Description Model Number Cost/Unit Total Cost1 BRX 36-Point PLC BX-DM1-36ER-D 299 2991 USB Comm. Adapter BX-P-USB-B 27 274 ZIPLink Module ZL-RTB20-1 27 1084 ZIPLink Cable ZL-BX-CBL15 21 84

518

This was the initial cost before shipping and taxes, we ran into problems with the PLC,

included in the issues & progress, we purchased and had to return it and buy a different one,

along with additional parts included below.

Quantity Description Model Number Cost/Unit Total Cost1 BRX 36-Point PLC BX-DM1-36ED2-D 328 3281 Analog Output Module BX-08DA-2B 275 2751 ZIPLink Module ZL-RTB20-1 27 271 ZIPLink Cable ZL-BXEM-CBL20 21 213 12" C Channel 585454 10 301 Linear Actuator L16-R 70 70

751

Page 7: csit.selu.educsit.selu.edu/.../Final_Reports/...Jordan_Final_Report_Fall_…  · Web viewIn this project, we will convert from an Arduino program to a PLC to control two robotic

7

Additional problems persisted with the new BRX PLC and we decided to go back to the

original CLICK PLC which was somewhat easier to work with since the software was already

introduced to us.

Quantity Description Model Number Cost/Unit Total Cost1 CLICK Analog PLC C0-12DRE-2-D 189 1891 Analog Output Module C0-04DA-2 119 119

310

The total cost of the project as of late November comes out to roughly $1,280 and that includes

the first BRX PLC ($299) that we returned and were refunded because of the wrong

specifications.

Page 8: csit.selu.educsit.selu.edu/.../Final_Reports/...Jordan_Final_Report_Fall_…  · Web viewIn this project, we will convert from an Arduino program to a PLC to control two robotic

8

ISSUES & PROGRESS:

The first issues that we encountered for this project came from switching the operating

software from Arduino to PLC. The initial problem was that the Click PLC CPU did not provide

PWM (pulse width modulation) outputs that are needed to run the servos. One solution that we

could have used would have been to add multiple Arduinos to the system, but found that it would

become quite cumbersome when programming came around, and would look bad from an

industry standpoint.

We sought after a PLC unit that would provide us with the proper amount of outputs and

have PWM capabilities, and found a PLC the supposedly provided everything that we would

need, but after ordering and receiving it we discovered that the model we received did not have

all that capabilities needed. We ordered a relay output PLC which did not properly send a signal

to our test servo. We had to return that model and research more on what model would send a

signal to the servo. The new PLC that we ordered only had one difference which was a sourcing

output rather than a relay, but we would also need an analog output module that connects to the

PLC to send correct signals to the servos. Once we placed a second order and received the parts,

we started to research how to properly connect a servo to the PLC and send it a PWM signal to

move a certain degree. We ran into problems where we would upload a simple ladder logic to the

PLC and when it would ruin the code nothing would happen to the servo. We also observed that

when the servo is powered from a 5V DC plug, anything that touched the servo wire, conductive

or non-conductive, would make the servo rotate continuously. This was very confusing because

we would touch the signal wire without bare hands and the servo would turn. Even when we

would plug the signal wire into a common or ground terminal, the servo would turn. We emailed

Page 9: csit.selu.educsit.selu.edu/.../Final_Reports/...Jordan_Final_Report_Fall_…  · Web viewIn this project, we will convert from an Arduino program to a PLC to control two robotic

9

the PLC company and they responded with a different form of ladder logic which did not help

our problem.

After numerous trial and error situations with the servo, we decided to go back to the

CLICK PLC which offered an easier way of programming compared to the new software. We

received the order and quickly got underway with programming the servo but ran into a different

problem. When writing the code for the PWM signal being sent to the servo, there is a visual

representation in the ladder logic of the signal values, and as a test we ran the program before

wiring the servo and it gave us the correct values. After wiring the servo to the output terminal,

we ran the program and the servo was motionless. We tried to wire the 5V and ground straight to

the PLC and even with the same power source, the servo would not take the signal we were

sending to from the ladder logic. We are at a crossroads with this project and hope to find

additional guidance from our advisor and be in contact with the company on how to send any

PWM signal to move the servo.

Page 10: csit.selu.educsit.selu.edu/.../Final_Reports/...Jordan_Final_Report_Fall_…  · Web viewIn this project, we will convert from an Arduino program to a PLC to control two robotic

10

RESOLUTIONS:

Solving these issues that we have faced with this project come with additional challenges

that we will face next semester, but we are continuously working on implementing a PLC to

control servo arms. We have decided to use an Arduino as a median between the PLC and the

servo. The Arduino essentially sends a specific PWM signal to the servo following an analog

input signal from the PLC. We will use this design as a test example of how we can implement a

PLC into the control of a servo. The PLC will send an output 5V signal to an input on the

Arduino to trigger the PWM signal connected to the servo, causing the servo to turn based on the

code from the Arduino. A picture of this configuration is included below. The Arduino is directly

connected to the servo using pin 3 and the input signal coming from the PLC is connected to

analog input A3, causing the servo code to either run when the value from the PLC is high or

stop when the value is low.

Page 11: csit.selu.educsit.selu.edu/.../Final_Reports/...Jordan_Final_Report_Fall_…  · Web viewIn this project, we will convert from an Arduino program to a PLC to control two robotic

11

A snip of the Arduino code is included below:

Page 12: csit.selu.educsit.selu.edu/.../Final_Reports/...Jordan_Final_Report_Fall_…  · Web viewIn this project, we will convert from an Arduino program to a PLC to control two robotic

12

The PLC code is included below:

As the C1 terminal is high, the analog output signal is turned on and sends a 5V signal to

the Arduino to start the servo code. After 3 seconds from the timer, C1 receives a low signal and

produces a 0V signal that is sent to the Arduino to stop the servo. This is an example of how we

will semi-control the servos using the PLC and hope to use this knowledge to completely remove

Page 13: csit.selu.educsit.selu.edu/.../Final_Reports/...Jordan_Final_Report_Fall_…  · Web viewIn this project, we will convert from an Arduino program to a PLC to control two robotic

13

the Arduino from the system and focus mainly on signals from the PLC. If we cannot accomplish

this task early next semester, then we will focus on how to control the servos through Arduino as

a PLC and run parallel processes.

Individual Tasks:

Jordan Martin: At the start of this semester, we went over this project with our advisor Dr.

Saadeh as he explained what the students did last semester with this project and how it was left

off. After that we went over the objectives for this project which was to change the current

system from a microcontroller system to a PLC based system. After discussing as a team, it was

decided that I would oversee leading the rewiring the whole system to a PLC based system.

Being that we went through three different kinds of PLC, the wiring for each was different but it

all started with wiring it from the main pc through a USB cable, and then from the PLC’s module

(which was attached to the PLC) to an output from a Ziplink cable. From the Ziplink to a servo

motor just to test an output. Unfortunately, after 3 different PLCs, we finally got an output using

a brand-new CLICK PLC. I spent most of the semester rewiring each PLC that we ordered to a

servo motor just to get an output. Apart from that, I was able to help Michael with component

reconfiguration by planning how to attach the second table that held the second conveyor belt to

attach it to the first table for next semester.

Michael Hernandez: This semester I have been working on reconfiguring additional components

for this project. When this project was given to us, we had both robotic arms disassembled, along

with the rotary platform detached to the table, and with the second conveyor belt set up on a

second table with a motor on the other end. I spent the beginning of the semester assembling the

arms back on the table and replacing the components it was missing like gears and c-channel

Page 14: csit.selu.educsit.selu.edu/.../Final_Reports/...Jordan_Final_Report_Fall_…  · Web viewIn this project, we will convert from an Arduino program to a PLC to control two robotic

14

casings that were missing. In other words, I worked on assembling the arms back together to how

we had discussed with Dr. Saadeh that the end project would look like. Apart from that I

detached the rotary platform from the table because I had intentions to switch the platform to

another one that was not dented and damaged.

Peter DiMarco: For this semester, I was aiding in planning how we would connect the PLC to the

servos. I also helped Michael in rebuilding the robotic arms to two equal length for easier

programming. When each PLC arrived, I unpackaged and set everything up for testing and met

with Dr. Saadeh numerous times on how to wire each PLC and passed on that information to

Michael and Jordan. I had to assist in writing and configuring each code that was written to test

the servo on a PLC and Arduino and troubleshoot why the servo was not responding to the PLC

signal. I had to meet with Dr. Saadeh after class late in the evenings to discuss the issues we

were having each week with the PLC and offer suggestions on how to make a single servo

operate using a PLC by either research, contacting the company for guidance, or trying another

PLC.