1. Industrial Project Report 2
Topic: Implementation Controller
for Dispensing Robot
Made by: Vu, Trung Son
Nguyen, Ngoc An
Supervisor: Huynh, Nguyen Dang Khoa
Vietnamese-German
University
Pepperl + Fuchs
2. Contents
Summary Content of Report 1
Machine Description
G-code commands
Software Techniques
Our Current Situation
Q & A
3. Summary of Report 1
About Pepperl + Fuchs company
Situation of the machines
Planning & Schedule
Interpolation Algorithm
4. Machine Description
3 DOFs along to X-Y-Z axes
Working space: 300x300x100 [mm3]
Base Length Unit (BLU): 0.05 [mm]
Speed: 5 – 100 [mm/sec]
Motion control:
Linear interpolation in 3D.
Circular interpolation in XY plane.
5-phase Stepper Motors with drivers
(24V / 1.4A).
3 end-position sensors for machine
reference point.
3 user outputs (1 for PWM / 2 for
digital IO).
6. G-code commands
Design by MIT in 1960s.
The most popular CNC programming language.
Especially in lathe and milling machines.
But, where is G come from?
G-Command tell machine where and how to go.
M-Command Miscellaneous commands, tell
machine how to act.
7. G-code Commands
G0 rapid moving
G1 linear moving
G2 CW arc
G3 CCW arc
G4 dwell time
G28 searching
machine reference point
G90 absolute
programming
G91 incremental
programming
M3 switch on user
output
M4 switch off user
output
M98 start of loop
M99 end of loop
9. Software Technique
Double buffering (LCD)
Prevent tearing of objects
Semi-hosting environment
Using JTAG SWO wire to dump debug data back to
debug server
Allow usage of normal C function like printf(),
This is accomplished by create a virtual stdout and stderr
channel
In fact, our JLINK semi-hosting capabilities support 32 virtual
channel
Hardware Abstraction Layer (HAL)
Allow changing of hardware later
10. Current status of Project
Complete interpolation with acceleration control.
Almost complete implementation of G-code (7/12
commands).
Complete programming the driver for HMI devices
(keypad, screen, and SD card reader.)
Complete the design of PCBs.
11. Plan for two last weeks
Connect HMI module and Motion Control module.
Testing whole system and making demo run.
Making PCBs and wiring.
Check & Take over
We have a lot of conceptual things in report 1 but today there will be more detail and more interesting things.
Actually, it is not a programming language. It is just the instruction program to tell the machine what to do. It do not have something like for loop, while loop, if..else…, etc.
There are more than 100 G&M commands use for lathe and milling machines. However, we re-define our set of commands smaller and suitable with the needs of he machine