BAB 2
LANDASAN TEORI
2.1
Komunikasi
Menurut
Schweber
(1998,
p1),
tujuan
komunikasi adalah
untuk
mengirim
pesan
dari
satu titik
ke
titik
lainnya
dan
untuk
meyakinkan
bahwa
pesan
tersebut
diterima secara langsung dan
dapat dimengerti. Pada umumnya, sistem komunikasi
terbagi ke dalam 3
macam bentuk transmisi, yaitu: Simplex, Half-Duplex, dan Full-
Duplex.
Komunikasi Simplex
adalah bentuk komunikasi satu
arah dimana salah satu
alat
hanya
dapat
mengirimkan
pesan,
sementara
alat
lain
hanya
dapat
menerima
pesan tersebut
tanpa
bisa
mengirimkan balik. Pada
komunikasi jenis
ini,
salah satu
bertindak sebagai transmitter yang
memancarkan pesan dan
yang
lainnya bertindak
sebagai receiver yang menerima pesan tersebut. Contoh komunikasi jenis ini adalah
pada radio FM/AM dan televisi.
Komunikasi
Half-Duplex
adalah
bentuk
komunikasi yang
sudah
dua
arah,
yaitu
satu
alat
dapat
memancarkan pesan
sekaligus menerima pesan,
namun
proses
transmisi
data
terjadi
secara bergantian atau tidak dalam
waktu
yang
bersamaan.
Contoh komunikasi jenis ini adalah pada HT (Handy Talkie).
Komunikasi
Full-Duplex
adalah
bentuk
komunikasi dua
arah
dimana
hubungan antar alat komunikasi memungkinkan untuk terjadinya transmisi data dua
arah pada waktu bersamaan (simultaneously). Hal ini dapat terjadi karena pada setiap
ujung
transmitter  saling
berhubungan
dengan
receiver, sehingga
memungkinkan
7
  
8
keduanya untuk dapat
memancarkan sekaligus menerima pesan dalam waktu
yang
bersamaan. Contoh penggunaannya adalah pada telepon.
Dalam dunia
komputer
elektronik
modern,
untuk
dapat
menghubungkan
2
device
yang berbeda
dibutuhkan
suatu
bentuk
komunikasi sehingga
keduanya bisa
saling
mengirimkan
data.
Untuk
itu
dikembangkan suatu
protokol
atau
interface
(antarmuka) antara
2
device.
Berdasarkan metode
transmisi data
yang
digunakan,
sistem komunikasi tersebut terbagi dalam 2 golongan besar, yaitu komunikasi secara
serial dan komunikasi secara parallel. Perbedaan yang mendasar di antara keduanya
selain
metode pengiriman data
yang
digunakan
adalah
jarak
maksimal
yang dapat
dijangkau dan kecepatan transfer data.
Komunikasi
secara
serial
dapat
menjangkau jarak
yang
relatif
lebih
jauh
daripada komunikasi secara paralel, namun dengan kecepatan pengiriman data yang
cenderung lebih lambat daripada komunikasi secara parallel. Namun, perkembangan
teknologi menciptakan komunikasi serial yang
lebih cepat daripada RS-232 dengan
adanya USB
dan
IEEE
1394
serial
port
(Derenzo, 2003,
p18).
Sistem
EMC
menggunakan
komunikasi
paralel 
karena 
kemudahan
akses 
protokol  yang
dibutuhkan.
2.1.1
Komunikasi Paralel
Interface
parallel
merupakan salah
satu
jenis
terminal
atau
port
yang
digunakan sebagai
jalur
transfer
data
atau
sebagai
I/O
Port
pada
sebuah
PC
sederhana. Kelebihan interface parallel adalah akses data yang cepat dimana data
dapat diterima dan
diolah
secara
serentak. Jenis
port
ini
memungkinkan
input
sampai dengan
9
bit
atau
output
sampai dengan
12
bit
secara
serentak,
dan
  
9
dengan   kebutuhan 
rangkaian 
sirkuit   eksternal 
yang   relatif   minim   untuk
implementasi fungsi-fungsi khusus sesuai kebutuhan pengguna.
Port parallel
terdiri dari 4
jalur
kontrol, 5
jalur status
dan
8
jalur
data.
Jalur
kontrol
memiliki alamat
register
yang
mengatur
mode
operasi
dan
memberitahukan informasi
untuk
menerima
input
dari
luar
atau
mengirimkan
output
keluar.
Jalur
status
berfungsi
untuk
memberikan
input
ke
PC
mengenai
status komunikasi siap atau tidaknya hubungan antar 2 device, siap atau tidaknya
untuk
memulai
transmisi,
dan
telah
berakhirnya transmisi
data.
Jalur
data
merupakan isi data yang akan ditransmisikan (Derenzo, 2003, p18).
Jenis baru dari Parallel Port telah distandardisasi sejak tahun 1994 dengan
standard
IEEE 1284.
Tujuannya
untuk
mendesain
driver dan
device baru
yang
saling  kompatibel  satu  sama  lainnya  dan  tetap  kompatibel  dengan  Standar
Parallel Port (SPP). Standard IEEE 1284 tersebut mendefinisikan 5 mode operasi
parallel port sebagai berikut :
1.   Compatibility Mode.
2.   Nibble Mode.
3.   Byte Mode.
4.   EPP Mode (Enhanced Parallel Port).
5.   ECP Mode (Extended Capabilities Port).
Mode
Compatibility, Nibble
dan
Byte
menggunakan hardware
standar
yang
terdapat
pada original
parallel
port
card.
Sementara
mode
EPP
dan
ECP
membutuhkan hardware tambahan dan
lebih
cepat dibandingkan
mode
lainnya,
namun tetap kompatibel dengan standar parallel port sebelumnya.
  
10
Standardisasi IEEE 1284 ini kemudian berkembang lagi sehingga Parallel
Port terbagi
menjadi 3
kelompok. Pertama,
1284
Type
A
yang
merupakan
D-
Type Connector 25 pin. Tipe pin ini dapat ditemukan pada motherboard Desktop
PC sebagai konektor female LPT1.
Chart #1 (Female)
DB-25 Connector
Chart #2 (Male)
13
<------- 1
1 ------->
13
\
o o o o o o o o o o o o o/
\
o o o o o o o o o o o o /
-------------------------
25
<----- 14
\
. . . . . . . . . . . . ./
\
. . . . . . . . . . . . /
-------------------------
14 ----->
25
Gambar 2.1 Konektor D-Type 25 Female & Male Pin
Tipe kedua adalah 1284 Type B, yaitu 36 pin Centronics Connector. Tipe
ini merupakan konektor LPT1 yang terdapat pada beberapa printer dengan LPT1
port.
Yang
ketiga,
1284
Type
C,
sebenarnya merupakan 36
pin
conductor
connector yang menyerupai Centronics, namun berukuran lebih kecil.
  
11
Gambar 2.2 Konektor D-Type 25 Male Pin
Secara
garis
besar,
tipe
A
dan
B
memiliki
fungsi
pin-pin
yang
tidak
terlalu
berbeda
jauh, selain
memang memiliki fungsi
yang
sama
yaitu
sebagai
konektor LPT1. Konfigurasi pin kedua tipe tersebut dapat dilihat lebih jelas pada
tabel dibawah ini.
Pin No
(D-Type 25)
Pin No
(Centronics)
Register
Direction
In/Out
SPP Signal
Symbol
Hardware
Inverted
1
1
Control
Out
STROBE
C0
Yes
2
2
Data
Out
Data 0
D0
3
3
Data
Out
Data 1
D1
4
4
Data
Out
Data 2
D2
5
5
Data
Out
Data 3
D3
  
12
6
6
Data
Out
Data 4
D4
7
7
Data
Out
Data 5
D5
8
8
Data
Out
Data 6
D6
9
9
Data
Out
Data 7
D7
10
10
Status
In
nACK
S6
11
11
Status
In
BUSY
S7
Yes
12
12
Status
In
PE(Paper End)
S5
13
13
Status
In
SELECT
S4
14
14
Control
Out
AUTOFEED
C1
Yes
15
32
Status
In
ERROR
S3
16
31
Control
Out
INIT
C2
17
36
Control
Out
SELECT-IN
C3
Yes
18-25
19-30
Ground
Tabel 2.1 Perbandingan Konfigurasi Pin pada Parallel Port D-Type 25 dan
Centronics Type
Untuk dapat mengakses port paralel pada PC biasanya digunakan alamat
sebagai berikut :
  
13
LPT 1
LPT2
LPT3
Data
378h
3BCh
278h
Status
379h
3BDh
279h
Kontrol
37Ah
3Beh
27Ah
Tabel 2.2 Alamat Memori dari Parallel Port
(Buku Pedoman Praktikum Aplikasi Mikroprosesor dan Interfacing)
2.2
Motor Stepper
Motor  stepper  adalah  alat  yang  dapat  mengubah  data  atau  sinyal  pulsa
elektrik
menjadi
pergerakan mekanik.
Motor stepper
dapat
berputar
secara
diskrit
dengan
derajat
perubahan posisi
yang
tetap.
Dimana
setiap
pulsa
elektris
yang
diterima,  akan  menghasilkan  satu  langkah  putaran  pada  Shaft tersebut.    Motor
stepper dapat berotasi searah jarum jam (clock wise) atau berlawanan arah jarum jam
(counter clock wise) tergantung dari sinyal yang diberikan.
Motor stepper digunakan untuk menentukan pergerakan posisi dari suatu alat
yang akurat tanpa memerlukan sistem umpan balik yang rumit (
lebih mengarah ke
sistem lup terbuka ) sehingga memudahkan dalam pengontrolannya.
Pada kecepatan rendah,
motor
stepper
menghasilkan torsi
yang
lebih
besar
bila
dibandingkan dengan motor
DC.
Motor
stepper
memiliki karakteristik holding
torque
(torsi
menahan)
yang
berfungsi
untuk
mempertahankan
posisinya
dengan
kuat pada saat berhenti.
  
14
Formula
yang dapat digunakan
untuk menghitung torsi pada
motor stepper
adalah sebagai berikut:
T
=
2 x I
0
(?'/t) x (pf/180) x (1/24)
dimana: T = torsi
I
0
=
beban inertia (lb-in.²)
p
=
3.1416
f
=
perubahan sudut setiap step (derajat)
?' = step rate (steps per detik)
t
=
waktu (detik)
Pada
umumnya, motor
stepper
dibagi
menjadi
dua
jenis
yaitu
Permanent
Magnet
dan
Variable
Reluctance.  
Motor
stepper
bergerak
per
langkah, dimana
setiap
langkah
mempunyai
derajat pergerakan
yang
sama
tergantung
dari
resolusi
dari
motor tersebut. Motor stepper yang
mempunyai resolusi pergerakan yang kecil,
pergerakannya lebih
baik
dibandingkan
resolusi
yang
besar.
Hal
ini
disebabkan
karena
pergerakan
yang
besar
akan
menghasilkan gerakan
yang
lebih
kasar
dibandingkan dengan motor yang memiliki resolusi kecil.
Motor stepper dapat dikendalikan secara full step dan half step. Pengendalian
secara half
step
lebih
baik
daripada
pengendalian secara
full
step
karena dengan
pengendalian half
step
pergerakan
dari
motor
lebih
halus
daripada
menggunakan
pengendalian dengan pengendalian
full step.
  
15
2.2.1
Half Step
Half
Step
adalah
cara
mengendalikan motor
stepper
sehingga
menghasilkan  pergerakan  motor  yang  lebih  halus.  Karena  pergerakan  rotor
dalam
motor
stepper
yang bergerak
dengan
sudut
sebesar ½ derajat dari
besar
sudut antara
2
buah kutub
(coil)
yang
berdekatan, sehingga
pergerakan yang
dihasilkan lebih halus.
Untuk
lebih jelas, konfigurasi Motor Stepper dengan pengendalian Half
Step untuk setiap pergerakan motor adalah sebagai berikut :
Step
Coil 4
Coil 3
Coil 2
Coil 1
Pergerakan Motor
1
1
0
0
0
2
1
1
0
0
3
0
1
0
0
4
0
1
1
0
  
16
5
0
0
1
0
6
0
0
1
1
7
0
0
0
1
8
1
0
0
1
Tabel 2.3 Pergerakan Half Step
Pada  setiap
pergerakan
motor  sesuai
tabel  diatas,
terdapat
perubahan
sinyal digital yang dapat diamati sebagai bahan acuan.
Gambar 2.3 Sinyal Half Step
  
17
2.2.2
Full Step
Full step
adalah cara
mengendalikan motor
stepper
sehingga dihasilkan
pergerakan 
motor   namun 
tidak   sehalus 
pergerakkan 
Half   Step Ha ini
disebabkan
karena
pergerakan
rotor
dalam
motor
stepper
yang
bergerak per
1
buah kutub (coil).
Untuk
lebih jelas, konfigurasi Motor Stepper dengan pengendalian Full
step untuk setiap pergerakan motor adalah sebagai berikut :
Step
Coil 4
Coil 3
Coil 2
Coil 1
Pergerakan Motor
1
1
0
0
0
2
0
1
0
0
3
0
0
1
0
4
0
0
0
1
Tabel 2.4 Pergerakan Full Step
  
18
Pada  setiap
pergerakan
motor  sesuai
tabel  diatas,
terdapat
perubahan
sinyal digital yang dapat diamati sebagai bahan acuan.
Gambar 2.4 Sinyal Full Step
2.3
Sistem Operasi Linux
Linux merupakan sistem operasi yang dikembangkan pertama kali oleh Linus
Benedict  Torvalds  sebagai  sistem  operasi  open-source.  Dengan  sistem  dimana
source 
code 
program  terbuka 
untuk 
umum 
diharapkan
sistem 
ini 
dapat
dikembangkan
lebih
jauh
oleh
masyarakat
programmer
secara
online
melalui jasa
internet.
Untuk dapat
memahami sistem
ini dibutuhkan pengetahuan dan
wawasan
mengenai
bahasa
programming
yang
tidak
mudah
untuk
masyarakat awam. Inilah
mengapa sistem
ini tidak dengan
mudah diterima
masyarakat luas seperti
misalnya
Microsoft Windows.
Namun,
dengan
kemampuan open-source-nya
sistem
ini
dapat
dengan
mudah berkembang untuk dapat di aplikasikan untuk banyak tugas-tugas yang sulit
untuk diikuti oleh sebuah sistem operasi seperti Microsoft Windows.
  
19
2.3.1
Linux Debian
Debian merupakan salah satu proyek pengembangan sistem operasi open-
source  dengan basis pemrograman Linux. Proyek
ini  dipelopori  oleh  Ian
Murdock
pada tanggal
16
Agustus
1993. Dengan
semangat
yang
sama
seperti
para pengembang Linux, Debian dikembangkan secara bersama-sama di seluruh
dunia dengan tujuan membuat sebuah sistem operasi yang benar-benar gratis.
Menurut Garbee, Bdale et al. (2006), Sistem Debian ini di kembangkan di
atas kernel
GNU/Linux
dengan
banyak
aplikasi prepackaged.
Sistem
tersebut
telah
di
implementasikan pada
banyak
prosesor
mulai
dari produk
Intel
mulai
i386
ke
atas,
Alpha,
ARM,
Intel
IA-64,
Motorola 68k,
MIPS,
PA-RISC,
PowerPC,Sparc dan UltraSparc, IBM S/390 dan Hitachi SuperH.
Pada
saat
dimulai,
proyek
Debian
merupakan
satu-satunya sistem
pendistribusian
yang
terbuka
bagi
developer
dan
pengguna
untuk
ikut
bekerja
sama
mengembangkan produk
tersebut.
Debian
juga
merupakan
salah
satu
distributor Linux
yang
tidak
komersial
dan
merupakan proyek
besar
yang
terorganisir, dengan
dukungan
konstitusi,
kontrak
sosial
dan
kekuatan
hukum
lainnya.  Sistem  distribusinya  juga  melampirkan 
informasi  detail 
mengenai
produk untuk menjaga tingkat konsistensi meskipun telah di-upgrade.
2.4
CNC (Computer Numerical Control)
Pada sebuah industri, terdapat beberapa mesin besar yang tidak mudah untuk
di kontrol
oleh operator
manusia.
Dan
karena
tingkat
kesulitan
pekerjaan
tersebut,
menyebabkan 
sulit   untuk   membuat 
suatu   standarisasi 
kesuksesan   pekerjaan.
  
20
Kesulitan
ini
lah
yang coba di
atasi
untuk
meningkatkan
tingkat efektivitas
dan
produktifitas kerja.
CNC
dikembangkan untuk
dapat
menjawab
tantangan
tersebut.
CNC
merupakan suatu
sistem
kontrol
dengan
basis
komputer
yang
bekerja
untuk
menggerakan motor yang
terdapat pada
mesin-mesin berat.
Berdasarkan penjelasan
The
EMC
team
writers
(2000),
sistem
CNC
menggunakan komputer dan
motor-
motor
untuk
menggantikan pekerjaan
operator
manusia,
misalnya
untuk
memindahkan
mesin
potong
(cutting
tools)
atau
menggerakkan
suatu
mesin
berat
(turning
cranks).
Tujuan
pengembangan CNC
adalah
untuk
dapat
mengerjakan
pengontrolan mesin-mesin berat
secara
independen
tanpa
campur
tangan
manusia
pada
pekerjaan-pekerjaan dengan
tingkat
kesulitan
yang
tinggi.
Untuk
mencapai
tujuan
tersebut,
CNC
di
aplikasikan
mulai
dari
sistem-sistem
dengan
skala
lebih
kecil
terlebih
dahulu.
Berikut
ini
adalah
beberapa
bahasa
pemrograman yang
digunakan pada sistem CNC :
1.
APT (Automatically Programmed Tool)
2.
EIA RS-274
3.
AUTOSPOT
4.
COMPACT/COMPACT II
5.
EXAPT
6.
ADAPT (Adaptation of APT)
7.
MAPT
8.
UNIAPT
Untuk nomor 1 dan nomor 2 contoh standarisasi pada pemrograman CNC.
  
21
Dari
pengembangan CNC
tersebut,
lahir banyak
sistem kontrol
yang
lebih
canggih dan lebih spesifik, seperti contohnya EMC.
2.5
EMC (Enhanced Machine Control)
Menurut
The EMC team writers (2000),
EMC merupakan salah satu bentuk
pengembangan
dalam
sistem
kontrol
secara
real-time
yang
dikembangkan oleh
Intelligent  Systems  Division  di National  Institute of Standard  and Technology
(NIST).
Dengan
bekerja
sama
dengan
beberapa badan
lainnya,
NIST
berhasil
menyederhanakan sistemnya
menjadi sistem
yang dikenal dewasa
ini dengan
nama
EMC.
Gambar 2.5 Sistem EMC
Software EMC
ditulis
dengan
bahasa
C
dan
C++
dan
telah
berhasil
dihubungkan  dengan  PC  dengan  sistem  operasi  Linux,  Windows  NT  dan  Sun
Solaris. Namun, penggunaannya masih sering mengalami kendala kesulitan. Untuk
  
22
kemudahan 
pengoperasian 
kontrol 
oleh 
EMC, 
ketika 
menjalankan 
peralatan,
digunakan sistem operasi Linux Debian.
Biasanya
EMC
digunakan pada
PC
dengan
sistem
operasi
Linux
untuk
kemudahan penggunaan. Pada dasarnya, EMC terbagi dalam 4 komponen utama:
1.   EMCMOT : Pengontrol gerak yang berfungsi untuk sampling posisi dari sumbu
(axes)
yang
akan dikontrol,
menghitung
posisi selanjutnya pada
lintasan
yang
diberikan dan memperhitungkan output yang diberikan pada motor.
2.   EMCIO : Pengontrol Input/Output secara diskrit ,
3.   EMCTASK : Intepreter G-code
yang diberikan pada sistem.
4.   Antarmuka  pengguna: 
Antar 
muka 
bagi 
pemakai 
EMC 
(Graphical
User
Interface), misalnya: Tkemc, Xemc dan lain-lain.
EMC   adalah   sistem   software   yang   digunakan   pada   komputer   yang
mengontrol mesin-mesin misalnya mesin bubut, mesin potong, lengan robot dan lain
lain. EMC adalah free software yang open source. Salah satu fitur EMC adalah dapat
menginterpretasikan  standarisasi  bahasa  pemrograman  mesin  RS-247NGC  yang
lebih
dikenal
dengan
nama
G-Code,
menjadi
sinyal-sinyal digital
sehingga
dapat
menggerakkan aktuator, misalnya motor stepper, melalui port parallel pada PC.
Gambar
2.6
menjelaskan urutan
kerja
software
EMC
pada
PC.
G-Code
dimasukan oleh
user
melalui GUI
(Graphical
User
Interface)
EMC
misal:
Xemc,
Tkemc
dan
lain-lain.
EMC
akan
menginterpretasikan input
tersebut
berdasarkan
routine-routine
yang
mengatur
pergerakan dari
axis
kedalam
sinyal
digital.
Sinyal
tersebut akan
dikirim
melalui
port
parallel
pada PC
atau servo card
kepada
driver
dari
motor
(stepper atau
servo).
Motor
akan
menggerakan batangan
berulir
yang
merupakan axis dari sistem XY-Table.
  
23
Gambar 2.6 Proses yang dijalankan oleh EMC
Didalam
penelitian
ini,
digunakan
BDI  (Brain Dead Installinstaller
yang   berisi   Linux   Debian   sekaligus 
software 
EMC   yang   telah   terintegrasi
didalamnya yang memudahkan dalam proses installasi.
Ada  3  mode
operasi
untuk
memasukan
input
saat  menjalankan
software
EMC, yaitu :
1.   Mode Manual
Mode operasi yang menggunakan Control
Button yang ada pada software
yang
dikontrol melalui
mouse
dan
sebagian
tombol
pada
keyboard sebagai
input
software EMC.
2.   Mode MDI
Mode operasi yang menggunakan 1 buah “Block” bahasa pemrograman G-Code
sebagai input software EMC pada bagian MDI textfield.
  
24
3.   Mode Auto
Mode operasi yang menggunakan file berekstension .ngc
yang berisi kumpulan
“block” bahasa pemrograman G-Code sebagai input software EMC.
2.5.1
Koneksi pada Port Parallel untuk Integrasi EMC
Sofware
EMC mendukung pengontrolan 2-bit untuk motor stepper. 1 bit
berfungsi untuk mengontrol step atau clock dari stepper dan bit lainnya berfungsi
untuk
pengontrolan arah
(searah
jarum
jam
atau
berlawanan).
Pengontrolan
dilakukan melalui port parallel pada PC yang
memiliki 12
bit output dan 5 bit
input. 12
bit
output pada port parallel
tersebut dapat
mengontrol 6 buah motor
stepper.  5  bit 
input 
digunakan 
untuk  mendeteksi 
limit 
atau 
switch 
yang
digunakan
sebagai
indikasi
posisi
home.
Berikut
ini
adalah
konfigurasi port
parallel pada PC untuk integrasi EMC :
Pin Port Parallel
Fungsi
D0, Pin 2
Arah untuk sumbu X
D1, Pin 3
Clock untuk sumbu X
D2, Pin 4
Arah untuk sumbu Y
D3, Pin 5
Clock untuk sumbu Y
D4, Pin 6
Arah untuk sumbu Z
D5, Pin 7
Clock untuk sumbu Z
D6, Pin 8
Arah untuk sumbu A
D7, Pin 9
Clock untuk sumbu A
C0, Pin 1
Arah untuk sumbu B
  
25
C1, Pin 14
Clock untuk sumbu B
C2, Pin 16
Arah untuk sumbu C
C3, Pin 17
Clock untuk sumbu C
S3, Pin 15
Limit sensor sumbu X, Y ,Z positif
S4, Pin 13
Limit sensor sumbu X, Y ,Z negative
S5, Pin 12
Home sensor sumbu X, Y, Z
S6, Pin 11
Probe
S7, Pin 10
Spare
Tabel 2.5 Pemetaan port parallel pada pc
2.5.2
INI File
Menurut 
The
EMC
team
writers (2000), INI File
adalah
file
teks
yang
berisi
informasi tentang
konfigurasi-konfigurasi
peralatan dari
mesin
misalnya
mesin XY Table
yang digunakan. 
Berikut
ini adalah bagian dari INI File
yang
perlu
diperhatikan
untuk
menjalankan
XY
Table
yang
menggunakan motor
stepper:
1.   [EMC] SECTION
VERSION
Bagian ini berisi versi dari INI file
MACHINE
Bagian
ini berisi nama sistem yang akan ditampilkan apabila perangkat
lunak EMC dijalankan.
  
26
NML_FILE
Bagian ini berisi nama file NML.
DEBUG
Bagian
ini berisi pilihan
mode penampilan pesan debugging
yang akan
tampil pada text console.
RS274NGC_STARTUP_CODE
Bagian 
ini  berisi  perintah  g-code 
yang  akan  dieksekusi  pada  saat
perangkat lunak EMC dijalankan.
2.   [DISPLAY] SECTION
PLAT
DISPLAY
Bagian ini berisi Graphical User Interface (GUI) yang digunakan
CYCLE_TIME
Bagian
ini
berisi
nilai
periode
(detik)
dari
update tampilan
perangkat
lunak EMC.
HELP_FILE
Bagian
ini berisi
lokasi dan
nama dari
file
“help”
yang digunakan saat
tombol GUI HELP ditekan.
POSITION_OFFSET
Bagian 
ini  berisi 
tentang 
pengaturan 
display 
awal 
tentang 
posisi,
RELATIVE atau MACHINE.
POSITION_FEEDBACK
  
27
Bagian
ini
berisi
tentang
pengaturan display
awal
tentang
posisi,
ACTUAL atau COMMANDED.
MAX_FEED_OVERIDE
Bagian
ini berisi
tentang
nilai
maksimum dari FEED
OVERRIDE
yaitu
prosentase dari
kecepatan
yang
digunakan. Nilai 1.0
berarti
100%
dari
kecepatan.
PROGRAM_PREFIX
Bagian
ini
berisi
tentang
prefix
yang
akan
ditambahkan pada
NC
(Numerical Control) Program sebelum di-load.
INTRO_GRAPHIC
Bagian ini berisi nama file gambar yang akan ditampilkan pada saat EMC
dijalankan.
INTRO_TIME
Bagian ini berisi durasi waktu penampilan file gambar intro.
BALLOON_HELP
Bagian
ini
berisi
tentang penampilan popup
ballon
help
pada
interface
yang berbasiskan grafik (GUI).
LINEAR_UNITS
Bagian ini berisi tentang satuan yang dipakai pada sumbu linear. AUTO,
INCH, MM atau CM adalah nilai yang dapat dipilih.
ANGULAR_UNITS
Bagian ini berisi tentang satuan yang dipakai pada sumbu rotary. AUTO,
DEG, RAD atau GRAD adalah nilai yang dapat dipilih.
  
28
3.   [TASK] SECTION
PLAT
Hanya ada satu pilihan pada bagian ini yaitu NONREALTIME.
TASK
Nama dari program task controller yang akan berkorespondensi dengan
program I/O controller.
4.   [EMCMOT] SECTION
PLAT
Hanya ada satu pilihan pada bagian ini yaitu REALTIME.
EMCMOT
Bagian ini berisi nama modul motion control yang digunakan.
IO_BASE_ADDRESS
Bagian ini berisi alamat dari parallel port atau motion control card
PERIOD
Bagian  ini  berisi  nilai  periode  dari  pulse  yang  dikeluarkan  melalui
parallel port jika
menggunakan
“freqmod.o” motion control pada bagian
EMCMOT.
5.   [TRAJ] SECTION
AXES
Bagian ini berisi nilai dari banyaknya sumbu (axes) yang dikontrol.
COORDINATES
Bagian ini berisi nama dari sumbu (axes) yang dikontrol.
  
29
HOME
Bagian ini berisi nilai dari posisi yang telah di-homekan (homed position)
untuk tiap – tiap sumbu (axes).
LINEAR_UNITS
Bagian
ini berisi dari
nilai linear
units
per millimeter. Jika satuan
yang
digunakan adalah
inch
maka
bagian
ini
berisi
“0.03937007874016”,
namun
jika
satuan
yang
digunakan adalah
millimeter
maka
bagian
ini
berisi “1”.
ANGULAR_UNITS
Bagian ini
berisi
dari
nilai
angular
units
per
degree.
Jika
system
menggunakan radian maka bagian ini berisi “0.01745329252167”, default
bernilai 1.
DEFAULT_VELOCITY
Bagian ini berisi nilai awal dari kecepatan sumbu (axes) yang dikontrol
(units per second).
MAX_VELOCITY
Bagian
ini berisi dari
nilai maksimal dari kecepatan sumbu (axes)
yang
dikontrol (units per second).
DEFAULT_ACCELERATION
Bagian ini berisi nilai awal dari percepatan sumbu (axes) yang dikontrol
(units per second2
).
  
30
MAX_ACCELERATION
Bagian
ini
berisi
nilai
maksimum dari
percepatan sumbu
(axes)
yang
dikontrol (units per second²).
6.
[AXIS_#] SECTION
TYPE
Bagian ini
berisi
dari
tipe
dari
sumbu
(linear
atau
angular)
yang
digunakan.
UNITS
Bagian
ini berisi dari
nilai linear
units
per millimeter. Jika satuan
yang
digunakan adalah
inch
maka
bagian
ini
berisi
“0.03937007874016”,
namun
jika
satuan
yang
digunakan adalah
millimeter
maka
bagian
ini
berisi “1”.
P
Bagian
ini
berisi
nilai
dari
proportional
gain
jika
menggunakan
motor
servo untuk sumbunya.
I
Bagian
ini berisi
nilai
dari
integral
gain jika menggunakan motor
servo
untuk sumbunya.
D
Bagian ini berisi nilai dari derivative gain jika menggunakan motor servo
untuk sumbunya.
INPUT_SCALE
  
31
Bagian ini berisi nilai dari perbandingan jumlah step pada motor stepper
dengan pergerakan baut (mm) jika mur berputar 1 putaran penuh atau 360
derajat.
OUTPUT_SCALE
Nilai 
pada  bagian 
ini 
disarankan 
sama 
dengan 
nilai 
pada 
bagian
INPUT_SCALE
MIN_LIMIT
Bagian ini berisi nilai minimum dari jarak tempuh sumbu (axes).
MAX_LIMIT
Bagian ini berisi nilai maksimum dari jarak tempuh sumbu (axes).
MIN_LIMIT_SWITCH_POLARITY
Bagian ini berisi dari nilai kodisi (0 atau 1) switch yang aktif jika sumbu
(axes) telah sampai ke jarak tempuh minimalnya.
MAX_LIMIT_SWITCH_POLARITY
Bagian ini berisi dari nilai kodisi (0 atau 1) switch yang aktif jika sumbu
(axes) telah sampai ke jarak tempuh maksimalnya.
HOME_SWITCH_POLARITY
Bagian ini berisi dari nilai kodisi (0 atau 1) switch yang aktif jika sumbu
(axes) telah sampai ke posisi home.
HOMING_POLARITY
Bagian 
ini  berisi  dari  arah  pergerakan  homing diinisialisasikan,  “1”
berarti
kearah
sumbu
positive sedangkan
“0”
berarti
arah
pergerakan
menuju arah sumbu negative.
  
32
7.   [EMCIO] SECTION
EMCIO
Bagian ini berisi nama program I/O controller.
IO_BASE_ADDRESS
Bagian
ini  berisi  alamat
dari  port  yang  digunakan
untuk  mengontrol
motor.
2.6
RS-274NGC atau G-Code
Pada
tahun
1960
EIA
(Electronic Industry
Association) mengembangkan
standarisasi
RS-274 yang
merupakan
dasar
dari Numeric Control Programs untuk
pengaturan mesin-mesin CNC,
misalnya
mesin
yang
digunakan
untuk
pembuatan
PCB yang dikontrol secara numerik. Pada Februari 1980 revisi dari RS-274D (ISO
6983)
atau
Gerber
format
ditetapkan,
yang
terdiri
dari
beberapa
bagian
G-Code
D-Code
M-Code
Salah
satu
extension
atau
pengembangan
dari
RS-274D
yaitu
RS-274NGC
atau G-Code
yang spesifikasinya ditetapkan pada
tanggal 24 Agustus 1992 dengan
judul
”RS274/NGC
for
the
LOW
END
CONTROLLER -
First
Draft”.
Untuk
menuliskan perintah dalam pemrograman G-Code biasanya diawali dengan huruf G.
  
33
2.6.1
Block
Unit dasar dalam
pemrograman
NC
(numerical control) disebut
Block.
Block
terdiri
dari sebuah 
baris
yang
dapat
berisi
satu atau
beberapa
kata atau
Word. Sebuah kata atau Word berisi huruf yang mendeskripsikan fungsi – fungsi
yang akan dilakukan dan dikuti dengan field angka yang menjelaskan nilai dari
fungsi tersebut. 1 buah baris dapat diisi maksimum sebanyak 256 karakter.
Dalam sebuah Block boleh terdapat spasi, spasi tersebut akan dihiraukan.
Misal ”N02 G00
X20 Z20”
sama dengan ”N 02G00X2 0Z 20”. Dalam
sebuah
listing
program
dibolehkan adanya
baris
kosong,
baris
kosong
tersebut
akan
dihiraukan
oleh
EMC.
Penulisan
program
bersifat case
insensitive.
Berikut
ini
adalah sebuah contoh dari 1 buah Block perintah:
N02 G00 X20 Z20
Perintah tersebut dapat diterjemahkan sebagai berikut, N02
berarti baris
perintah nomor 2, bergerak dengan kecepatan maksimum ke posisi X = 20 dan Z
=
20.
2.6.2
Word
Word
atau
kata
yang
digunakan
dalam
pemrograman
NC  pada
EMC
adalah sebuah huruf yang diikuti oleh bilangan real.
Konfigurasi 
huruf   G   dan 
angka 
yang 
dapat 
diterima 
oleh 
EMC
ditampilkan pada Tabel 2.6.
  
34
G0 rapid positioning
G1 linear interpolation
G Code List
G56 use preset work coordinate system 3
G57 use preset work coordinate system 4
G2 circular/helical interpolation (clockwise)
G3 circular/helical interpolation (c-clockwise)
G4 dwell
G10 coordinate system origin setting
G17 xy plane selection
G18 xz plane selection
G19 yz plane selection
G20 inch system selection
G21 millimeter system selection
G40 cancel cutter diameter compensation
G41 start cutter diameter compensation left
G42 start cutter diameter compensation right
G43 tool length offset (plus)
G49 cancel tool length offset
G53 motion in machine coordinate system
G54 use preset work coordinate system 1
G55 use preset work coordinate system 2
G80 cancel motion mode (includes canned)
G81 drilling canned cycle
G82 drilling with dwell canned cycle
G83 chip-breaking drilling canned cycle
G84 right hand tapping canned cycle
G85 boring, no dwell, feed out canned cycle
G86 boring, spindle stop, rapid out canned
G87 back boring canned cycle
G88 boring, spindle stop, manual out canned
G89 boring, dwell, feed out canned cycle
G90 absolute distance mode
G91 incremental distance mode
G92 offset coordinate systems
G92.2 cancel offset coordinate systems
G93 inverse time feed mode
G94 feed per minute mode
G98 initial level return in canned cycles
Tabel 2.6 Daftar Instruksi G-Code
Selain menggunakan awalan huruf G, terdapat juga huruf-huruf lain yang
dapat dikolaborasikan dalam penulisan perintah pada EMC:
X position
Y position
Z
position
M code
  
35
F feed rate                                                  
T
tool selection
S spindle speed                                            I arc data X axis
N line number                                              J arc data Y axis
R
radius                                                        K arc data Z axis
Untuk bagian yang bergaris miring diisi angka dari nilai yang diinginkan.
2.6.3
Perintah-perintah Pergerakan Dasar G-Code
Perintah-perintah  dasar  G-Code 
yang  dibutuhkan 
untuk 
mengambar
objek-objek sederhana pada Sistem XY-Table ini adalah sebagai berikut.
2.6.3.1
Perintah G0
Perintah
“G0”
berfungsi
untuk
menggerakan
pointer
ke posisi
yang
diinginkan
dengan
membentuk garis
lurus
dengan
kecepatan
maksimum. Misalnya
perintah
“N01
G0
X10.00
Y5.00”
ini
berarti
mengerakan pointer
ke
posisi
X=10mm
Y=5mm
dengan
kecepatan
maksimum.
Gambar 2.7 Arah pergerakan perintah G0
2.6.3.2
Perintah G1
Perintah
“G1” berfungsi
untuk
menggerakan pointer ke posisi
yang diinginkan dengan membentuk garis lurus. Kelebihan perintah G1
  
36
dibanding   dengan   G0   adalah   kecepatan   yang   dapat   diprogram.
Misalnya perintah “N02 G1 X12 F8.0” ini berarti menggerakan pointer
ke posisi X=12mm dengan feedrate sebesar 8mm/menit.
Gambar 2.8 Arah pergerakan perintah G1
2.6.3.3
Perintah G2
Perintah
“G2”
berfungsi
untuk
menggerakan
pointer
ke posisi
yang diinginkan dengan membentuk busur (arc) dengan titik pusat dan
kecepatan
yang
ditentukan searah jarum jam.
I
adalah
nilai penambah
(incremental distance)  pada  sumbu  X  yang  menetukan  posisi  titik
pusat. Sedangkan J adalah nilai penambah (incremental distance) pada
sumbu Y yang menentukan posisi
titik pusat. Misalnya pointer saat ini
berada pada posisi X=0mm dan
Y=1mm, kemudian diberikan perintah
“G2
X1.0
Y0.0
I0.0
J-1.0
F5.0”
ini
berarti
gerakan pointer
ke posisi
X=1mm dan Y=0mm dengan membentuk busur dengan titik pusat (0,0)
dengan
kecepatan
5mm/menit. Penentuan
titik
pusat
pada
sumbu
X
menggunakan rumus
Xpusat
=
Xawal
+
I,
dan
pada
sumbu
Y
menggunakan rumus Ypusat = Yawal + J.
R
(Radius)
juga dapat
digunakan untuk penentuan titik
pusat.
Misalnya posisi
awal
pointer
berada
di
X=0
dan
Y=1
kemudian
diberikan
perintah
“G2  X1.0  Y0.0  R=1.0
F5.0”  ini  berarti
gerakan
  
37
pointer ke posisi
X=1
dan
Y=0
membentuk busur
searah jarum
jam
dengan radius sebesar 1mm dan feedrate 5mm/menit.
Gambar 2.9 Arah pergerakan perintah G2
2.6.3.4
Perintah G3
Perintah
“G3”  hampir  sama  dengan  perintah
G2  hanya  saja
gerakan yang dibentuk berlawanan dengan arah jarum jam.
Gambar 2.10 Arah pergerakan perintah G3
2.6.3.5
Perintah G4
Perintah “G4” berfungsi untuk menahan gerakan pointer selama
periode yang telah ditetapkan dalam detik.
Misalnya diberikan perintah
“G4 P4” yang berarti tahan gerakan pointer selama periode 4 detik.
  
38
2.6.3.6
Perintah G17
Perintah ”G17” berfungsi untuk menyatakan bidang kerja yang
dipilih adalah bidang XY.
2.6.3.7
Perintah G18
Perintah ”G18” berfungsi untuk menyatakan bidang kerja yang
dipilih adalah bidang XZ.
2.6.3.8
Perintah G19
Perintah ”G19” berfungsi untuk menyatakan bidang kerja yang
dipilih adalah bidang YZ.
2.6.3.9
Perintah G20
Perintah 
”G20” 
berfungsi 
untuk 
menyatakan 
satuan 
yang
digunakan adalah inch.
2.6.3.10  Perintah G21
Perintah 
”G21” 
berfungsi 
untuk 
menyatakan 
satuan 
yang
digunakan adalah milimeter.
2.7
L297
IC
ini
digunakan untuk
aplikasi
modul
driver
motor
stepper.
Modul
ini
menerima sinyal input dari PC atau modul kontroller (misalnya mikrokontroller) dan
menghasilkan output yang ditujukan kepada motor stepper sesuai dengan input yang
  
39
diterima.
L297
yang
dikonfigurasikan dengan
L298
dapat
mengontrol
2-Phase
bipolar stepper, 4-Phase unipolar Stepper dan 4-Phase variable reluctances motor.
Menggunakan modul
ini
mempunyai
keuntungan
diantaranya
adalah
pemakaian
komponen-komponen yang
sedikit
sehingga
dapat
menghemat
biaya
dan
tempat,
pengembangan piranti lunak yang lebih mudah dan kehandalan yang baik.
Gambar 2.11 Konfigurasi pin-pin L297
NO
NAMA PIN
FUNGSI
1
SYNC
Sinkronisasi clock jika menggunakan L297
lebih dari satu
2
GND
Ground
3
HOME
Pin yang mengindikasikan keadaan awal dari
motor stepper
4
A
Output sinyal A
5
Aktif 0, berfungsi untuk menghalangi sinyal
A dan B jika dihubungkan dengan L398 pin
EAa.
6
B
Output sinyal B
7
C
Output sinyal C
8
INH2
Aktif 0, berfungsi untuk menghalangi sinyal
C
dan D jika dihubungkan dengan L398 pin
  
40
EAb.
9
D
Output sinyal D
10
ENABLE
Enable Chip, bila bernilai 0 maka A,B,C,D
dan Pin INH 1,2 akan bernilai 0.
11
CONTROL
12
Vs
Tegangan Supply 5 volt
13
SENS2
Pin input untuk memonitor besar arus atau
tegangan yang dialirkan ke C dan D pada
motor stepper. Jika melewati batas
maka
INH2 bernilai 0.
14
SENS1
Pin input untuk memonitor besar arus atau
tegangan yang dialirkan ke A dan B pada
motor stepper. Jika melewati batas
maka
INH1 bernilai 0.
15
Vref
Tegangan referensi
16
OSC
Input pin osilator
17
Menentukan arah gerakan motor. Jika bernilai
1, maka stepper akan bergerak searah jarum
jam.
18
CLOCK
Menentukan clock untuk tiap langkah stepper
19
HALF/FULL
Menentukan metode pergerakan stepper. Jika
diberi nilai 1 maka metode pergerakan yang
dipakai adalah Half Step
20
RESET
Pin Reset
Tabel 2.7 Fungsi pin-pin L297
2.8
L298
L298 merupakan integrated circuit yang dapat men-drive tegangan dan arus
yang tinggi, IC ini di rancang untuk menerima input standar TTL logic level (5vollt)
untuk menjalankan beban induktif misalnya relay, solenoid, DC dan stepper
motor.
Seperti pada gambar dibawah ini dua buah pin enabel berfungsi untuk mengaktifkan
dan
me-nonaktifkan output
sinyal
dari
sistem secara
independent. Output tegangan
pin sense dari L298 dapat mengkontrol besarnya arus dengan
mengubah logic
input
dari pin enable menjadi low dengan tujuan menjaga agar modul atau alat yang akan
dikontrol dari tegangan dan arus yang terlalu tinggi.
  
41
Gambar 2.12 Konfigurasi pin-pin L298
MW pin
Pin SO
NAMA
KETERANGAN
1;15
2;19
SenseA   SenseB
Antara pin ini dan Gound terhubung
sense resistor untuk mengatur arus
yang menuju device
2;3
4;5
Out1 ; Out2
Pin output1 dan 2 yang terhubung ke
device
4
6
Vs
Tegangan Supply untuk
output/device
5;7
7;9
Input1 ; Input2
Pin Input 1 dan 2 (5volt)
6;11
8;14
EnableA;EnableB
Pin enable A dan B (aktif jika
diberikan logic high/5volt)
8
1,10,11,20
GND
Ground
9
12
Vss
Tegangan Supply untuk meng-
aktifkan L298
10;12
13;15
Input3 ; Input4
Input A dan B (5volt TTL logic)
13;14
16;17
Out3 ; Out4
Pin output3 dan 4 yang terhubung ke
device
-
3;18
NC
Tidak terhubung
Tabel 2.8 Fungsi pin-pin L298