csit.selu.educsit.selu.edu/.../Final_Reports/...Jordan_Final_Report_Fall_… · Web viewIn this...
Transcript of csit.selu.educsit.selu.edu/.../Final_Reports/...Jordan_Final_Report_Fall_… · Web viewIn this...
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
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
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.
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.
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.
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
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.
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
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.
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.
11
A snip of the Arduino code is included below:
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
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
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.