SlideShare a Scribd company logo
1 of 16
1
Ministry of Higher Education
and Scientific research
ο€ͺο€ͺο€ͺο€ͺο€ͺο€ͺο€ͺ
University of Carthage
ο€ͺο€ͺο€ͺο€ͺο€ͺο€ͺο€ͺ
National Institute of Applied
Sciences et de Technology
Required Internship Report Summer 2015
Field of study: Instrumentation and Industrial Maintenance
Level: 4th
Year
Subject:
Realization of software in LABVIEW to control the
filling level of a glass of water served by an industrial
robot
Realized by: Marwa HADDAD
Company/University:
Labor Robotik und Handhabungstechnik, Hochschule Merseburg, Germany
2015/2016
2
I. Introduction
In March 2014, I participated in the competition of Tunirobots within the CIM Club. We’ve
made a small robot with different cards and I was the one who were trying to find the right
program for these cards. Since that period, I became passionate by robotic and programming and
I was always looking for an internship in this sector.
This report describes a LABVIEW program made for an industrial robot to control the filling
level of water served. You will find in it everything I did during this 2 months internship detailed;
the obstacles encountered and the solutions used. You will find at the end of the report a CD
containing this program and some videos of how it works.
The writing of this book gave me a great understanding of how LABVIEW is used to analyze,
order and command today’s technology. The importance of researches concerning new
technologies is great in our modern world.
I would like to thank both of my promoters Prof. Dr.-Ing. Achim Merklinger and Dipl.-Ing
Michael Bluhm for giving me the opportunity to study at Hochschule Merseburg and for the
support during this project.
The international office of Hochschule Merseburg has been a great help during my stay. Their
support office for foreign internship students is very well organized and always gave me a
welcoming feeling.
Last I would like to thank all the Erasmus and IAESTE student of Merseburg and my
roommates to keep up the spirit and for all the good times we had together, and the friends I
have made here. They gave me a different look on how different cultures also have their
similarities.
3
II. Description of the host Institution:
My internship was elabored at the Labor Robotic laboratory und Handhabungstechnik in
Hochschule Merseburg (HoMe) or University of Applied science Merseburg, Germany. The
University was founded on April 1st
1992. The campus site is in use since 1954 and was formally
known as the β€œCarl Schorlemmer” technical institution.
Figure 1 : presentation of the host institute
The University of Applied science Merseburg lectures 2895 students (AY 2014-15) in 4
departments:
ο‚· Department of Computerscience andCommunicationsystems
ο‚· Department of Engineering and Natural sciences
ο‚· Department of Social work,media and culture
ο‚· Department of Businesssciences
The department of computer sciences and communication systems focuses on core competence
as a mix between electrical engineering, computer science, mathematics, and technical writing.
The department of engineering and natural science is known for its mathematical and natural
science courses. Creative, communicative skills and the knowledge of management are the
fundamentals for the department of social work, media and culture. The department of Business
science lecturers the managers and specialists of tomorrow.
Main
Buidling Library
HoMe
Logo
4
The university offers 13 bachelors and 10 masters programs. 208 employees take care of the daily
routines of the school of which have 106 professors and faculty staff and 58 third-party funded
employees.
I worked within the department of computer sciences and communication systems. My Labor is
a Robotic Lab where students make workshops to be ready for the industrial experience.
As showen in the picture, my laboratory contains different robots.
III. Objectives and specifications of the internship
In the previous projects
ο‚· Computer gestewerter Ausgussvorgang
And
ο‚· Testhilfsmittel zur fehlersuche und Optimierung des Computergesteuerten
ausgussvorganges
Were realized that a glass was filled by an industrial robot. The filling level of the glass is watched
by continuously measuring the weight of the bottle. To realize this, a force-torque-sensor is
arranged between the arm and the gripper of the robot.
The sensor is connected to a computer (windows pc) using the serial interface (RS232). With the
help of a C# program the computer watches the weight of the bottle continuously.
If the pre-set filling level is achieved, the computer stops the filling process by sending a signal to
the robot controller.
Figure 2: Representation of the Labor
5
The connection between the computer and robot is realized by using the printer interface on the
computer and digital input/output on the robot controller.
My task was to create a new program using LABVIEW that realizes the same function as the C#
program (set a filling level, watch the filling process, stop the filling process is the level is
achieved).
ο‚· Workflow:
1. Familiarize with the previous program with help of its documentations
2. Create the LABVIEW program
3. Testing the program and removal errors
4. Final PowerPoint presentation of the resolution.
IV. Training Schedule
Figure 3: Training Schedule
6
V. Work done :
A. Problematic:
In the previous project done in this labor, they tried to fill a glass by an Industrial robot with C#
Program.. But this program was not working correctly and it couldn’t stop filling the glass when
the pre-set volume is achieved.
My task was to make the same program with LABVIEW and to resolve the problems occurred.
B. The hardware:
The System is composed of:
ο‚· An Asea IRB6/2 with a sensor in its arm
ο‚· An electrical cabinet
ο‚· A computer
ο‚· A bottle holder(which may include 3 bottle)
ο‚· A glass holder(which may include 9 glass)
a) The Asea Industrial Robot 6/2:
It consists of a cabinet with an integrated Power unit, a portable
programming unit and an electrically driven mechanical unit.
The handling capacity of the industrial robot is 6kg.
The IRB 6/2 owns five axes of motion.
The sensor used is situated between the arm and the clapet of the
robot and it calculates the different forces: Fx, Fy, Fz.
Figure 4: The hardware
Figure 5: Axes of the IR
7
b) The computer:
The computer is used to control and display the measured values of the forces and moments of
the sensor. In addition, the program code of the robot program can be output to the au PC. The
sensor and the program code of the IR are communicated respectively via RS232 interfaces.
The communication between the robot and the PC is done via a parallel port (LPT1).
2-1. The parallel interface:
The parallel port is an input-output interface with 8-bit data bus for transmitting the information.
The data transmission is asynchronous, so at any time, and is not aligned with a clock signal. In
addition to the eight data outputs (data register), 8 data inputs (status register) are installed to
allow a response of the peripheral device to be controlled.
The interface consists of 25 pins in D-
SUB connectors, which are accessed
from 3 tabs. It can read signals that their
electric potential difference is 5VDC as
output. Whereas for inputs, if the
difference is from 0 to 0.4 V, it will be
interpreted as LOW and if it is from 2.4
to 5 V it will be interpreted as HIGH.
The data lines can be loaded with up
to 32 mA to earth.
Pins 18 to 25 are ground terminals (GND)
The I/O address range is from 0xEC00 to 0xEC07 (default: 0x0378- 0x037F). However, only the
first two registers (0xEC00 and 0xEC01) will be used.
The Data tab has the address 0xEC00, includes 8 bits and is used to binary output, these
individual pins can be directly switched on and off (5 or 0 V).
The binary input is realized via the status register. Only the pins S3 (15), S4 (13), S5 (12) and S6
(10) are used because the rest is not available as a Pin.
There are characterized 8 digital Outputs and 4 digital inputs provided.
To access to the parallel Port, we use the software-side functions situated in a Dynamic Link
Library (DLL). This dynamic Library is located in the "inpout32.dll" file and is used by Logix4
provided at leisure. With the function "Out32" and the indication of Register address, the pins of
Figure 6: Parallel port
8
the Data Register on HIGH or LOW are switched. The function "Inp32" allows the reading of a
register address, in this case the Status register.
3- Connections
The aim of this connection is to establish a communication between the computer, and by that
we mean the program, and the robot controller. This robot controller provides free inputs and
outputs, as well as various interrupt inputs are available, which are based on 24 VDC level. The
PC provides a free parallel port available to the 5VDC outputs and inputssignals. To adjust this
altitude, a level converter is necessary. This fits from the PC to the robot controller 8 digital
inputs and 4 digital outputs of the robot controller to the 4 inputs of the PC to the 8 digital
outputs. Figure 4 shows the existing system with black arrows and frames.
Figure 7: connections between the IR and the PC
9
A. The software:
The main program starts after checking the willingness of the robot (a digital output number 27
will be set HIGH to signal it), the existence of the bottle and glass respectively in their magazine.
When the digital input number 27 is set HIGH signaling the willingness of the PC, the bottle can
be removed from the magazine.
When the robot reaches the first position, the weighing process starts. The sensor will send the
forces values which will be evaluated in the computer.
Is there enough water in the bottle? If yes the program continues untill the tipping point will be
approached. Then we start filling in the glass. The filling process can be interrupted by the pc
program when the pre-set filling volume is achieved. If it’s the case, the bottle is turned off again
and the robot moves t the home position.
To summarize the steps of the program are:
ο‚· Check the existence of the bottle and the glass
ο‚· Remove the bottle
ο‚· Start weighing process
ο‚· Reach tipping point position
ο‚· Start filling
ο‚· Interrupt filling when the pre-set volume is reached
ο‚· Move to home position
10
1- LABVIEW Program:
The program is composed
of 2 parts:
ο‚· A first part that calculates the initial volume of the bottle
ο‚· A second part that calculates the current volume of the bottle
the explanation will only include one part because both parts are have the same function.
The second part just repeats the function in real time till achieving the stop volume.
1-1. The serial port
First of all, we start by choosing the port where the sensor is connected. In this
case, it’s the serial port COM5. The parameters set for the sensor are:
- Baud rate= 9600
- Data bit= 8
- Parity= none
- Time out= 10second
- Stop bit = 1bit
Figure 8: The main program
Figure 9: serial port
11
We also have to configure the density of the liquid inside the bottle, the weight of the bottle and
the volume that we want to fill in the glass.
1-1-1. weighing process:
This window is used to display the measured values of the forces and the moments by the sensor.
First, we have to send these commands to the sensor so we can read the forces and the moments
as shown in β€œbuffer de lecture9”;
- SU: Start continuous data output
- SA4: averaging over 4 measurements values
- TF1: select the tool coordinate system
- QS: start the constant data output
The data from the sensor are transmitted in ASCII format. The row is a record (consisting of 45
bytes) in the β€œbuffer de lecture9” appears.
The character string is divided into the individual components, inverted,
converted and displayed. First, the separation of the components takes place in
substrings based on the comma. Subsequently, the components of the "string"
format are converted in the Number Format "double". Now the translation is
performing in the corresponding SI units.
The values of the force components are multiplied by the factor 1/10 to obtain
values in unit N.
To have stable forces, we take an average of 10 values of Fx, Fy and Fz.
Then, these values are multiplied by the factor 1/100
Figure 10
Figure 11
12
ο‚· The resulting force is given by the expression:
πΉπ‘Ÿπ‘’π‘  = √ 𝐹π‘₯
2 + 𝐹𝑦
2 + 𝐹𝑧
2
The resulting force is calculated because the force components are all perpendicular to each
other.
If the display is completed, the "stop" button can be pressed or the window on [x] getting closed.
In both cases, the sensor is a carriage return command (/ r, ASCII13) sent to stop the data
output. Subsequently, the serial interface closed.
ο‚· The volume of the bottle is calculated by this expression:
π‘‰π‘π‘œπ‘‘π‘‘π‘™π‘’ =
πΉπ‘Ÿπ‘’π‘  βˆ’ π‘š π‘’π‘šπ‘π‘‘π‘¦π‘π‘œπ‘‘π‘‘π‘™π‘’ βˆ— 9.81 βˆ’ πΉπ‘π‘™π‘Žπ‘π‘’π‘‘
9.81 βˆ— 𝜌
After calculating the initial volume of the bottle, the second part of the program start running
when the robot reaches the tipping point position (which is the point when we will start to fill the
liquid in the glass)
Figure 12: conversion part of the program
13
1-1-2. Filling process:
In this part of the program, we will calculate the current volume of the bottle in real time using
the same expression as given. We will stop filling when the current volume of the bottle become
lower than the stop volume.
ο‚· The stop volume is given by this expression :
π‘‰π‘ π‘‘π‘œπ‘ = π‘‰π‘π‘œπ‘‘π‘‘π‘™π‘’ βˆ’ π‘‰π‘‘π‘œ 𝑓𝑖𝑙𝑙
The program work following this condition: if π‘‰π‘–π‘›π‘–π‘Žπ‘‘π‘–π‘Žπ‘™ βˆ’ π‘‰π‘π‘’π‘Ÿπ‘Ÿπ‘’π‘›π‘‘ > π‘‰π‘ π‘‘π‘œπ‘ then the program
continue filling. If not the robot brings back the bottle to the magazine and moves to home
position.
1-2. The parallel port :
As said previously, to command the robot we use the parallel port as shown in the pictures.
To set the output, I’m actually calling a function of the C# program which is
called out32.
β€’ 888 is the conversion of the hexadecimal address 0x378 of
output
β€’ 1 is the number of digital output that you want to set on Figure 13
14
To read the input, I’m calling another function which is called inp32
β€’ 889 is the conversion of the hexadecimal adress 0x379 of Input
B. Obstacles occurred:
After finishing the programming, and testing it. We noticed that the resulting force πΉπ‘Ÿπ‘’π‘ changes
when we turn the position of the robot arm of 5N which is completely wrong because πΉπ‘Ÿπ‘’π‘  has to
be constant.
This variation of πΉπ‘Ÿπ‘’π‘ distort totally the volume of the bottle. As a consequence, all the results
obtained are false and the robot doesn’t stop filling the water in the glass.
οƒ˜ We concludethen that the sensoris notcalibrated.
C. Solutions:
To calibrate the sensor we used different masses. The aim is to compare the correct forces
applicated with the forces read by the program.
πΉπ‘π‘œπ‘Ÿπ‘Ÿπ‘’π‘π‘‘ =
π‘š βˆ— 9.81
1000
First, we try set constant X and Z axis and vary the mass on the Y axis. We got the following
table:
Tableau 1: Y Axis
Masses[g] 𝑭 𝒙 𝒄𝒐𝒓𝒓𝒆𝒄𝒕 [N] 𝑭 𝒙 𝒓𝒆𝒂𝒅[N] 𝑭 π’š 𝒓𝒆𝒂𝒅[N] 𝑭 𝒛 𝒓𝒆𝒂𝒅[N] 𝑭 𝒓𝒆𝒔[N]
0 0 -23.71 4,18 -1,65 24,13212
200 1.962 -23.72 5,72 -1,68 24,4577
250 2.4525 -23.74 6,32 -1,65 24,6222
400 3.924 -23.78 7,63 -1,71 25,03257
500 4.905 -23.75 8,4 -1,76 25,25312
700 6.867 -23.7 10,19 -1,7 25,85374
800 7.848 -23.72 11,1 -1,71 26,24448
1000 9.81 -23.69 12,71 -1,7 26,9379
1200 11.772 -23.68 14,39 -1,67 27,75974
1400 13.734 -23.7 16,12 -1,71 28,71356
1500 14.715 -23.73 17,26 -1,75 29,39529
Figure 14
15
Second, we fixed Y and Z axis and vary the mass on the X axis
Tableau 2: X Axis
Masses[g] 𝑭 𝒙 𝒄𝒐𝒓𝒓𝒆𝒄𝒕 [N] 𝑭 𝒙 𝒓𝒆𝒂𝒅[N] 𝑭 π’š 𝒓𝒆𝒂𝒅[N] 𝑭 𝒛 𝒓𝒆𝒂𝒅[N] 𝑭 𝒓𝒆𝒔[N]
0 0 3,44 25,7 -1,99 26,00546
200 1,962 5,3 25,72 -2,02 26,33797
250 2,4525 5,82 25,69 -2,04 26,41988
400 3,924 7,18 25,67 -2,02 26,73166
500 4,905 8,21 25,72 -2,02 27,07403
700 6,867 10,12 25,68 -2,02 27,67593
800 7,848 11,03 25,65 -2,04 27,99545
1000 9,81 13,1 25,7 -2,02 28,91678
1200 11,772 14,78 25,69 -2,05 29,70904
1400 13,734 16,48 25,68 -2,07 30,58329
1500 14,715 17,99 25,69 -2,06 31,43024
Finally we draw the curves πΉπ‘π‘œπ‘Ÿπ‘Ÿπ‘’π‘π‘‘ in function with πΉπ‘Ÿπ‘’π‘Žπ‘‘ and we got these expressions:
Y=1.0273x-2 for X
Y=1.1519x-2.91 for Y
To have the correctπΉπ‘Ÿπ‘’π‘  then;
We have to multiply the 𝐹π‘₯ π‘Ÿπ‘’π‘Žπ‘‘ by 1.0273 and to less 2.
We have to multiply the 𝐹𝑦 π‘Ÿπ‘’π‘Žπ‘‘by 1.1519 and to less 2.91.
VI. Consolidation of achievements
TABLE OF CONTENTS
INFORMATIQUE FOR INSTRUMENTATION
TECHNICAL CALIBRATION
SENSORS
PROJECT MANAGEMENT
COMMUNICATION
16
VII. Conclusion
During this internship, we were able to create a LABVIEW program which commands an
industrial robot doing the same function as the C# program.
The mission was to set an exact pre-set volume of the liquid inside the bottle in the glass.
The problem occurred in the C# was actually the sensor which is not calibrated and was making
an error of 6N, almost 5000ml of volume.
Thanks to the LABVIEW program, we calibrated the sensor by adjusting the values. As a
consequence, the resulting force is almost constant now and is varying of 0.15 N that cause a
difference of 10 or 15ml less than the exact volume that we want to fill in the glass.
To make it exact, we just have to make the calibration of the sensor more precise.
ο€ͺο€ͺο€ͺο€ͺο€ͺο€ͺο€ͺ
Knowing that during their practical hours, my mentor's students will use my program to control
that robot makes me feel happy and honored too… because my hours spent in research and
work have finally led to a very good result.
VIII. Bibliographies
β€’ Computer gesteuerter ausguss vorgang
β€’ Testhilfsmittelzurfehlersuche und Optimierung des Computergesteuert en
Ausguss vorganges mit ein em Industriel roboter

More Related Content

Similar to stage-allemagne

CBCS 2018 Scheme I sem Lab Manual for 18CPL17
CBCS 2018 Scheme I sem Lab Manual for 18CPL17 CBCS 2018 Scheme I sem Lab Manual for 18CPL17
CBCS 2018 Scheme I sem Lab Manual for 18CPL17 manjurkts
Β 
ELE2303 Assign 1 Page 1 ELE2303 Embedded Systems Design.docx
ELE2303 Assign 1  Page  1 ELE2303 Embedded Systems Design.docxELE2303 Assign 1  Page  1 ELE2303 Embedded Systems Design.docx
ELE2303 Assign 1 Page 1 ELE2303 Embedded Systems Design.docxjack60216
Β 
C Programming Lab manual 18CPL17
C Programming Lab manual 18CPL17C Programming Lab manual 18CPL17
C Programming Lab manual 18CPL17manjurkts
Β 
Report 2 microp.(microprocessor)
Report 2 microp.(microprocessor)Report 2 microp.(microprocessor)
Report 2 microp.(microprocessor)Ronza Sameer
Β 
IRJET - Simulink based Real Time Blood Pressure and Body Tempraure Monitr...
IRJET -  	  Simulink based Real Time Blood Pressure and Body Tempraure Monitr...IRJET -  	  Simulink based Real Time Blood Pressure and Body Tempraure Monitr...
IRJET - Simulink based Real Time Blood Pressure and Body Tempraure Monitr...IRJET Journal
Β 
EC6612 VLSI Design Lab Manual
EC6612 VLSI Design Lab ManualEC6612 VLSI Design Lab Manual
EC6612 VLSI Design Lab Manualtamil arasan
Β 
Installation of Sensors and Data loggers at project site
Installation of Sensors and Data loggers at project site Installation of Sensors and Data loggers at project site
Installation of Sensors and Data loggers at project site sarvan k
Β 
IRJET-Gesture Recognition Robot using Digital Image Processing
IRJET-Gesture Recognition Robot using Digital Image ProcessingIRJET-Gesture Recognition Robot using Digital Image Processing
IRJET-Gesture Recognition Robot using Digital Image ProcessingIRJET Journal
Β 
Smart Pen: Future of Handheld Gadget
Smart Pen: Future of Handheld GadgetSmart Pen: Future of Handheld Gadget
Smart Pen: Future of Handheld GadgetMuhammed Anaz PK
Β 
ECE 323 Final Project Report
ECE 323 Final Project ReportECE 323 Final Project Report
ECE 323 Final Project ReportJonathan Lepp
Β 
SMART HOME AUTOMATION USING MOBILE APPLICATION
SMART HOME AUTOMATION USING MOBILE APPLICATIONSMART HOME AUTOMATION USING MOBILE APPLICATION
SMART HOME AUTOMATION USING MOBILE APPLICATIONEklavya Sharma
Β 
IRJET - Lie Detector using MATLAB, Arduino and Biomedical Sensors
IRJET -  	  Lie Detector using MATLAB, Arduino and Biomedical SensorsIRJET -  	  Lie Detector using MATLAB, Arduino and Biomedical Sensors
IRJET - Lie Detector using MATLAB, Arduino and Biomedical SensorsIRJET Journal
Β 
IRJET- Navigation Camp – Bot
IRJET-  	  Navigation Camp – BotIRJET-  	  Navigation Camp – Bot
IRJET- Navigation Camp – BotIRJET Journal
Β 
CO--MODULE-1 (b) - Input-Output-Organization.pptx
CO--MODULE-1 (b) - Input-Output-Organization.pptxCO--MODULE-1 (b) - Input-Output-Organization.pptx
CO--MODULE-1 (b) - Input-Output-Organization.pptxahmedsalik057
Β 
ECET 340 Effective Communication/tutorialrank.com
 ECET 340 Effective Communication/tutorialrank.com ECET 340 Effective Communication/tutorialrank.com
ECET 340 Effective Communication/tutorialrank.comjonhson203
Β 

Similar to stage-allemagne (20)

CBCS 2018 Scheme I sem Lab Manual for 18CPL17
CBCS 2018 Scheme I sem Lab Manual for 18CPL17 CBCS 2018 Scheme I sem Lab Manual for 18CPL17
CBCS 2018 Scheme I sem Lab Manual for 18CPL17
Β 
ELE2303 Assign 1 Page 1 ELE2303 Embedded Systems Design.docx
ELE2303 Assign 1  Page  1 ELE2303 Embedded Systems Design.docxELE2303 Assign 1  Page  1 ELE2303 Embedded Systems Design.docx
ELE2303 Assign 1 Page 1 ELE2303 Embedded Systems Design.docx
Β 
C Programming Lab manual 18CPL17
C Programming Lab manual 18CPL17C Programming Lab manual 18CPL17
C Programming Lab manual 18CPL17
Β 
Report 2 microp.(microprocessor)
Report 2 microp.(microprocessor)Report 2 microp.(microprocessor)
Report 2 microp.(microprocessor)
Β 
IRJET - Simulink based Real Time Blood Pressure and Body Tempraure Monitr...
IRJET -  	  Simulink based Real Time Blood Pressure and Body Tempraure Monitr...IRJET -  	  Simulink based Real Time Blood Pressure and Body Tempraure Monitr...
IRJET - Simulink based Real Time Blood Pressure and Body Tempraure Monitr...
Β 
EC6612 VLSI Design Lab Manual
EC6612 VLSI Design Lab ManualEC6612 VLSI Design Lab Manual
EC6612 VLSI Design Lab Manual
Β 
Installation of Sensors and Data loggers at project site
Installation of Sensors and Data loggers at project site Installation of Sensors and Data loggers at project site
Installation of Sensors and Data loggers at project site
Β 
Robotics
RoboticsRobotics
Robotics
Β 
IRJET-Gesture Recognition Robot using Digital Image Processing
IRJET-Gesture Recognition Robot using Digital Image ProcessingIRJET-Gesture Recognition Robot using Digital Image Processing
IRJET-Gesture Recognition Robot using Digital Image Processing
Β 
A STUDY OF AN ENTRENCHED SYSTEM USING INTERNET OF THINGS
A STUDY OF AN ENTRENCHED SYSTEM USING INTERNET OF THINGSA STUDY OF AN ENTRENCHED SYSTEM USING INTERNET OF THINGS
A STUDY OF AN ENTRENCHED SYSTEM USING INTERNET OF THINGS
Β 
Smart Pen: Future of Handheld Gadget
Smart Pen: Future of Handheld GadgetSmart Pen: Future of Handheld Gadget
Smart Pen: Future of Handheld Gadget
Β 
Wmc lab (1)
Wmc lab (1)Wmc lab (1)
Wmc lab (1)
Β 
Mini Project- USB Temperature Logging
Mini Project- USB Temperature LoggingMini Project- USB Temperature Logging
Mini Project- USB Temperature Logging
Β 
ECE 323 Final Project Report
ECE 323 Final Project ReportECE 323 Final Project Report
ECE 323 Final Project Report
Β 
abstract
abstractabstract
abstract
Β 
SMART HOME AUTOMATION USING MOBILE APPLICATION
SMART HOME AUTOMATION USING MOBILE APPLICATIONSMART HOME AUTOMATION USING MOBILE APPLICATION
SMART HOME AUTOMATION USING MOBILE APPLICATION
Β 
IRJET - Lie Detector using MATLAB, Arduino and Biomedical Sensors
IRJET -  	  Lie Detector using MATLAB, Arduino and Biomedical SensorsIRJET -  	  Lie Detector using MATLAB, Arduino and Biomedical Sensors
IRJET - Lie Detector using MATLAB, Arduino and Biomedical Sensors
Β 
IRJET- Navigation Camp – Bot
IRJET-  	  Navigation Camp – BotIRJET-  	  Navigation Camp – Bot
IRJET- Navigation Camp – Bot
Β 
CO--MODULE-1 (b) - Input-Output-Organization.pptx
CO--MODULE-1 (b) - Input-Output-Organization.pptxCO--MODULE-1 (b) - Input-Output-Organization.pptx
CO--MODULE-1 (b) - Input-Output-Organization.pptx
Β 
ECET 340 Effective Communication/tutorialrank.com
 ECET 340 Effective Communication/tutorialrank.com ECET 340 Effective Communication/tutorialrank.com
ECET 340 Effective Communication/tutorialrank.com
Β 

stage-allemagne

  • 1. 1 Ministry of Higher Education and Scientific research ο€ͺο€ͺο€ͺο€ͺο€ͺο€ͺο€ͺ University of Carthage ο€ͺο€ͺο€ͺο€ͺο€ͺο€ͺο€ͺ National Institute of Applied Sciences et de Technology Required Internship Report Summer 2015 Field of study: Instrumentation and Industrial Maintenance Level: 4th Year Subject: Realization of software in LABVIEW to control the filling level of a glass of water served by an industrial robot Realized by: Marwa HADDAD Company/University: Labor Robotik und Handhabungstechnik, Hochschule Merseburg, Germany 2015/2016
  • 2. 2 I. Introduction In March 2014, I participated in the competition of Tunirobots within the CIM Club. We’ve made a small robot with different cards and I was the one who were trying to find the right program for these cards. Since that period, I became passionate by robotic and programming and I was always looking for an internship in this sector. This report describes a LABVIEW program made for an industrial robot to control the filling level of water served. You will find in it everything I did during this 2 months internship detailed; the obstacles encountered and the solutions used. You will find at the end of the report a CD containing this program and some videos of how it works. The writing of this book gave me a great understanding of how LABVIEW is used to analyze, order and command today’s technology. The importance of researches concerning new technologies is great in our modern world. I would like to thank both of my promoters Prof. Dr.-Ing. Achim Merklinger and Dipl.-Ing Michael Bluhm for giving me the opportunity to study at Hochschule Merseburg and for the support during this project. The international office of Hochschule Merseburg has been a great help during my stay. Their support office for foreign internship students is very well organized and always gave me a welcoming feeling. Last I would like to thank all the Erasmus and IAESTE student of Merseburg and my roommates to keep up the spirit and for all the good times we had together, and the friends I have made here. They gave me a different look on how different cultures also have their similarities.
  • 3. 3 II. Description of the host Institution: My internship was elabored at the Labor Robotic laboratory und Handhabungstechnik in Hochschule Merseburg (HoMe) or University of Applied science Merseburg, Germany. The University was founded on April 1st 1992. The campus site is in use since 1954 and was formally known as the β€œCarl Schorlemmer” technical institution. Figure 1 : presentation of the host institute The University of Applied science Merseburg lectures 2895 students (AY 2014-15) in 4 departments: ο‚· Department of Computerscience andCommunicationsystems ο‚· Department of Engineering and Natural sciences ο‚· Department of Social work,media and culture ο‚· Department of Businesssciences The department of computer sciences and communication systems focuses on core competence as a mix between electrical engineering, computer science, mathematics, and technical writing. The department of engineering and natural science is known for its mathematical and natural science courses. Creative, communicative skills and the knowledge of management are the fundamentals for the department of social work, media and culture. The department of Business science lecturers the managers and specialists of tomorrow. Main Buidling Library HoMe Logo
  • 4. 4 The university offers 13 bachelors and 10 masters programs. 208 employees take care of the daily routines of the school of which have 106 professors and faculty staff and 58 third-party funded employees. I worked within the department of computer sciences and communication systems. My Labor is a Robotic Lab where students make workshops to be ready for the industrial experience. As showen in the picture, my laboratory contains different robots. III. Objectives and specifications of the internship In the previous projects ο‚· Computer gestewerter Ausgussvorgang And ο‚· Testhilfsmittel zur fehlersuche und Optimierung des Computergesteuerten ausgussvorganges Were realized that a glass was filled by an industrial robot. The filling level of the glass is watched by continuously measuring the weight of the bottle. To realize this, a force-torque-sensor is arranged between the arm and the gripper of the robot. The sensor is connected to a computer (windows pc) using the serial interface (RS232). With the help of a C# program the computer watches the weight of the bottle continuously. If the pre-set filling level is achieved, the computer stops the filling process by sending a signal to the robot controller. Figure 2: Representation of the Labor
  • 5. 5 The connection between the computer and robot is realized by using the printer interface on the computer and digital input/output on the robot controller. My task was to create a new program using LABVIEW that realizes the same function as the C# program (set a filling level, watch the filling process, stop the filling process is the level is achieved). ο‚· Workflow: 1. Familiarize with the previous program with help of its documentations 2. Create the LABVIEW program 3. Testing the program and removal errors 4. Final PowerPoint presentation of the resolution. IV. Training Schedule Figure 3: Training Schedule
  • 6. 6 V. Work done : A. Problematic: In the previous project done in this labor, they tried to fill a glass by an Industrial robot with C# Program.. But this program was not working correctly and it couldn’t stop filling the glass when the pre-set volume is achieved. My task was to make the same program with LABVIEW and to resolve the problems occurred. B. The hardware: The System is composed of: ο‚· An Asea IRB6/2 with a sensor in its arm ο‚· An electrical cabinet ο‚· A computer ο‚· A bottle holder(which may include 3 bottle) ο‚· A glass holder(which may include 9 glass) a) The Asea Industrial Robot 6/2: It consists of a cabinet with an integrated Power unit, a portable programming unit and an electrically driven mechanical unit. The handling capacity of the industrial robot is 6kg. The IRB 6/2 owns five axes of motion. The sensor used is situated between the arm and the clapet of the robot and it calculates the different forces: Fx, Fy, Fz. Figure 4: The hardware Figure 5: Axes of the IR
  • 7. 7 b) The computer: The computer is used to control and display the measured values of the forces and moments of the sensor. In addition, the program code of the robot program can be output to the au PC. The sensor and the program code of the IR are communicated respectively via RS232 interfaces. The communication between the robot and the PC is done via a parallel port (LPT1). 2-1. The parallel interface: The parallel port is an input-output interface with 8-bit data bus for transmitting the information. The data transmission is asynchronous, so at any time, and is not aligned with a clock signal. In addition to the eight data outputs (data register), 8 data inputs (status register) are installed to allow a response of the peripheral device to be controlled. The interface consists of 25 pins in D- SUB connectors, which are accessed from 3 tabs. It can read signals that their electric potential difference is 5VDC as output. Whereas for inputs, if the difference is from 0 to 0.4 V, it will be interpreted as LOW and if it is from 2.4 to 5 V it will be interpreted as HIGH. The data lines can be loaded with up to 32 mA to earth. Pins 18 to 25 are ground terminals (GND) The I/O address range is from 0xEC00 to 0xEC07 (default: 0x0378- 0x037F). However, only the first two registers (0xEC00 and 0xEC01) will be used. The Data tab has the address 0xEC00, includes 8 bits and is used to binary output, these individual pins can be directly switched on and off (5 or 0 V). The binary input is realized via the status register. Only the pins S3 (15), S4 (13), S5 (12) and S6 (10) are used because the rest is not available as a Pin. There are characterized 8 digital Outputs and 4 digital inputs provided. To access to the parallel Port, we use the software-side functions situated in a Dynamic Link Library (DLL). This dynamic Library is located in the "inpout32.dll" file and is used by Logix4 provided at leisure. With the function "Out32" and the indication of Register address, the pins of Figure 6: Parallel port
  • 8. 8 the Data Register on HIGH or LOW are switched. The function "Inp32" allows the reading of a register address, in this case the Status register. 3- Connections The aim of this connection is to establish a communication between the computer, and by that we mean the program, and the robot controller. This robot controller provides free inputs and outputs, as well as various interrupt inputs are available, which are based on 24 VDC level. The PC provides a free parallel port available to the 5VDC outputs and inputssignals. To adjust this altitude, a level converter is necessary. This fits from the PC to the robot controller 8 digital inputs and 4 digital outputs of the robot controller to the 4 inputs of the PC to the 8 digital outputs. Figure 4 shows the existing system with black arrows and frames. Figure 7: connections between the IR and the PC
  • 9. 9 A. The software: The main program starts after checking the willingness of the robot (a digital output number 27 will be set HIGH to signal it), the existence of the bottle and glass respectively in their magazine. When the digital input number 27 is set HIGH signaling the willingness of the PC, the bottle can be removed from the magazine. When the robot reaches the first position, the weighing process starts. The sensor will send the forces values which will be evaluated in the computer. Is there enough water in the bottle? If yes the program continues untill the tipping point will be approached. Then we start filling in the glass. The filling process can be interrupted by the pc program when the pre-set filling volume is achieved. If it’s the case, the bottle is turned off again and the robot moves t the home position. To summarize the steps of the program are: ο‚· Check the existence of the bottle and the glass ο‚· Remove the bottle ο‚· Start weighing process ο‚· Reach tipping point position ο‚· Start filling ο‚· Interrupt filling when the pre-set volume is reached ο‚· Move to home position
  • 10. 10 1- LABVIEW Program: The program is composed of 2 parts: ο‚· A first part that calculates the initial volume of the bottle ο‚· A second part that calculates the current volume of the bottle the explanation will only include one part because both parts are have the same function. The second part just repeats the function in real time till achieving the stop volume. 1-1. The serial port First of all, we start by choosing the port where the sensor is connected. In this case, it’s the serial port COM5. The parameters set for the sensor are: - Baud rate= 9600 - Data bit= 8 - Parity= none - Time out= 10second - Stop bit = 1bit Figure 8: The main program Figure 9: serial port
  • 11. 11 We also have to configure the density of the liquid inside the bottle, the weight of the bottle and the volume that we want to fill in the glass. 1-1-1. weighing process: This window is used to display the measured values of the forces and the moments by the sensor. First, we have to send these commands to the sensor so we can read the forces and the moments as shown in β€œbuffer de lecture9”; - SU: Start continuous data output - SA4: averaging over 4 measurements values - TF1: select the tool coordinate system - QS: start the constant data output The data from the sensor are transmitted in ASCII format. The row is a record (consisting of 45 bytes) in the β€œbuffer de lecture9” appears. The character string is divided into the individual components, inverted, converted and displayed. First, the separation of the components takes place in substrings based on the comma. Subsequently, the components of the "string" format are converted in the Number Format "double". Now the translation is performing in the corresponding SI units. The values of the force components are multiplied by the factor 1/10 to obtain values in unit N. To have stable forces, we take an average of 10 values of Fx, Fy and Fz. Then, these values are multiplied by the factor 1/100 Figure 10 Figure 11
  • 12. 12 ο‚· The resulting force is given by the expression: πΉπ‘Ÿπ‘’π‘  = √ 𝐹π‘₯ 2 + 𝐹𝑦 2 + 𝐹𝑧 2 The resulting force is calculated because the force components are all perpendicular to each other. If the display is completed, the "stop" button can be pressed or the window on [x] getting closed. In both cases, the sensor is a carriage return command (/ r, ASCII13) sent to stop the data output. Subsequently, the serial interface closed. ο‚· The volume of the bottle is calculated by this expression: π‘‰π‘π‘œπ‘‘π‘‘π‘™π‘’ = πΉπ‘Ÿπ‘’π‘  βˆ’ π‘š π‘’π‘šπ‘π‘‘π‘¦π‘π‘œπ‘‘π‘‘π‘™π‘’ βˆ— 9.81 βˆ’ πΉπ‘π‘™π‘Žπ‘π‘’π‘‘ 9.81 βˆ— 𝜌 After calculating the initial volume of the bottle, the second part of the program start running when the robot reaches the tipping point position (which is the point when we will start to fill the liquid in the glass) Figure 12: conversion part of the program
  • 13. 13 1-1-2. Filling process: In this part of the program, we will calculate the current volume of the bottle in real time using the same expression as given. We will stop filling when the current volume of the bottle become lower than the stop volume. ο‚· The stop volume is given by this expression : π‘‰π‘ π‘‘π‘œπ‘ = π‘‰π‘π‘œπ‘‘π‘‘π‘™π‘’ βˆ’ π‘‰π‘‘π‘œ 𝑓𝑖𝑙𝑙 The program work following this condition: if π‘‰π‘–π‘›π‘–π‘Žπ‘‘π‘–π‘Žπ‘™ βˆ’ π‘‰π‘π‘’π‘Ÿπ‘Ÿπ‘’π‘›π‘‘ > π‘‰π‘ π‘‘π‘œπ‘ then the program continue filling. If not the robot brings back the bottle to the magazine and moves to home position. 1-2. The parallel port : As said previously, to command the robot we use the parallel port as shown in the pictures. To set the output, I’m actually calling a function of the C# program which is called out32. β€’ 888 is the conversion of the hexadecimal address 0x378 of output β€’ 1 is the number of digital output that you want to set on Figure 13
  • 14. 14 To read the input, I’m calling another function which is called inp32 β€’ 889 is the conversion of the hexadecimal adress 0x379 of Input B. Obstacles occurred: After finishing the programming, and testing it. We noticed that the resulting force πΉπ‘Ÿπ‘’π‘ changes when we turn the position of the robot arm of 5N which is completely wrong because πΉπ‘Ÿπ‘’π‘  has to be constant. This variation of πΉπ‘Ÿπ‘’π‘ distort totally the volume of the bottle. As a consequence, all the results obtained are false and the robot doesn’t stop filling the water in the glass. οƒ˜ We concludethen that the sensoris notcalibrated. C. Solutions: To calibrate the sensor we used different masses. The aim is to compare the correct forces applicated with the forces read by the program. πΉπ‘π‘œπ‘Ÿπ‘Ÿπ‘’π‘π‘‘ = π‘š βˆ— 9.81 1000 First, we try set constant X and Z axis and vary the mass on the Y axis. We got the following table: Tableau 1: Y Axis Masses[g] 𝑭 𝒙 𝒄𝒐𝒓𝒓𝒆𝒄𝒕 [N] 𝑭 𝒙 𝒓𝒆𝒂𝒅[N] 𝑭 π’š 𝒓𝒆𝒂𝒅[N] 𝑭 𝒛 𝒓𝒆𝒂𝒅[N] 𝑭 𝒓𝒆𝒔[N] 0 0 -23.71 4,18 -1,65 24,13212 200 1.962 -23.72 5,72 -1,68 24,4577 250 2.4525 -23.74 6,32 -1,65 24,6222 400 3.924 -23.78 7,63 -1,71 25,03257 500 4.905 -23.75 8,4 -1,76 25,25312 700 6.867 -23.7 10,19 -1,7 25,85374 800 7.848 -23.72 11,1 -1,71 26,24448 1000 9.81 -23.69 12,71 -1,7 26,9379 1200 11.772 -23.68 14,39 -1,67 27,75974 1400 13.734 -23.7 16,12 -1,71 28,71356 1500 14.715 -23.73 17,26 -1,75 29,39529 Figure 14
  • 15. 15 Second, we fixed Y and Z axis and vary the mass on the X axis Tableau 2: X Axis Masses[g] 𝑭 𝒙 𝒄𝒐𝒓𝒓𝒆𝒄𝒕 [N] 𝑭 𝒙 𝒓𝒆𝒂𝒅[N] 𝑭 π’š 𝒓𝒆𝒂𝒅[N] 𝑭 𝒛 𝒓𝒆𝒂𝒅[N] 𝑭 𝒓𝒆𝒔[N] 0 0 3,44 25,7 -1,99 26,00546 200 1,962 5,3 25,72 -2,02 26,33797 250 2,4525 5,82 25,69 -2,04 26,41988 400 3,924 7,18 25,67 -2,02 26,73166 500 4,905 8,21 25,72 -2,02 27,07403 700 6,867 10,12 25,68 -2,02 27,67593 800 7,848 11,03 25,65 -2,04 27,99545 1000 9,81 13,1 25,7 -2,02 28,91678 1200 11,772 14,78 25,69 -2,05 29,70904 1400 13,734 16,48 25,68 -2,07 30,58329 1500 14,715 17,99 25,69 -2,06 31,43024 Finally we draw the curves πΉπ‘π‘œπ‘Ÿπ‘Ÿπ‘’π‘π‘‘ in function with πΉπ‘Ÿπ‘’π‘Žπ‘‘ and we got these expressions: Y=1.0273x-2 for X Y=1.1519x-2.91 for Y To have the correctπΉπ‘Ÿπ‘’π‘  then; We have to multiply the 𝐹π‘₯ π‘Ÿπ‘’π‘Žπ‘‘ by 1.0273 and to less 2. We have to multiply the 𝐹𝑦 π‘Ÿπ‘’π‘Žπ‘‘by 1.1519 and to less 2.91. VI. Consolidation of achievements TABLE OF CONTENTS INFORMATIQUE FOR INSTRUMENTATION TECHNICAL CALIBRATION SENSORS PROJECT MANAGEMENT COMMUNICATION
  • 16. 16 VII. Conclusion During this internship, we were able to create a LABVIEW program which commands an industrial robot doing the same function as the C# program. The mission was to set an exact pre-set volume of the liquid inside the bottle in the glass. The problem occurred in the C# was actually the sensor which is not calibrated and was making an error of 6N, almost 5000ml of volume. Thanks to the LABVIEW program, we calibrated the sensor by adjusting the values. As a consequence, the resulting force is almost constant now and is varying of 0.15 N that cause a difference of 10 or 15ml less than the exact volume that we want to fill in the glass. To make it exact, we just have to make the calibration of the sensor more precise. ο€ͺο€ͺο€ͺο€ͺο€ͺο€ͺο€ͺ Knowing that during their practical hours, my mentor's students will use my program to control that robot makes me feel happy and honored too… because my hours spent in research and work have finally led to a very good result. VIII. Bibliographies β€’ Computer gesteuerter ausguss vorgang β€’ Testhilfsmittelzurfehlersuche und Optimierung des Computergesteuert en Ausguss vorganges mit ein em Industriel roboter