Sistem Kendali Servo Pada Sumbu Mesin CNC Aciera...

22
Sistem Kendali Servo Pada Sumbu Mesin CNC Aciera F5 Oleh: Eko Purwanto Aribowo NIM: 612012802 Tugas Akhir Untuk melengkapi syarat-syarat memperoleh Ijasah Sarjana Teknik Elektro FAKULTAS TEKNIK ELEKTRONIKA DAN KOMPUTER PROGRAM STUDI TEKNIK ELEKTRO UNIVERSITAS KRISTEN SATYA WACANA SALATIGA

Transcript of Sistem Kendali Servo Pada Sumbu Mesin CNC Aciera...

Page 1: Sistem Kendali Servo Pada Sumbu Mesin CNC Aciera F5repository.uksw.edu/bitstream/123456789/12269/2/T1_612012802_Full... · Sistem kendali servo yang dibuat pada penelitian ini akan

Sistem Kendali Servo Pada Sumbu Mesin CNC Aciera F5

Oleh:

Eko Purwanto Aribowo

NIM: 612012802

Tugas Akhir

Untuk melengkapi syarat-syarat memperoleh

Ijasah Sarjana Teknik Elektro

FAKULTAS TEKNIK ELEKTRONIKA DAN KOMPUTER

PROGRAM STUDI TEKNIK ELEKTRO

UNIVERSITAS KRISTEN SATYA WACANA

SALATIGA

Page 2: Sistem Kendali Servo Pada Sumbu Mesin CNC Aciera F5repository.uksw.edu/bitstream/123456789/12269/2/T1_612012802_Full... · Sistem kendali servo yang dibuat pada penelitian ini akan
Page 3: Sistem Kendali Servo Pada Sumbu Mesin CNC Aciera F5repository.uksw.edu/bitstream/123456789/12269/2/T1_612012802_Full... · Sistem kendali servo yang dibuat pada penelitian ini akan
Page 4: Sistem Kendali Servo Pada Sumbu Mesin CNC Aciera F5repository.uksw.edu/bitstream/123456789/12269/2/T1_612012802_Full... · Sistem kendali servo yang dibuat pada penelitian ini akan
Page 5: Sistem Kendali Servo Pada Sumbu Mesin CNC Aciera F5repository.uksw.edu/bitstream/123456789/12269/2/T1_612012802_Full... · Sistem kendali servo yang dibuat pada penelitian ini akan

1

Sistem Kendali Servo Pada Sumbu Mesin

CNC Aciera F5

Eko Purwanto Aribowo1,F. Dalu Setiaji

2, Deddy Susilo

3

Program Studi Teknik Elektro,

Fakultas Teknik Elektronika dan Komputer,

Universitas Kristen Satya Wacana, Salatiga [email protected],

[email protected],

[email protected]

Intisari

Sistem kendali servo yang dibuat pada penelitian ini akan digunakan untuk

menggantikan perangkat servo pada mesin CNC Aciera F5 yang telah rusak.

Isyarat masukan dari setpoint akan diumpankan ke bagian pencacah untuk

dikurangkan dengan isyarat dari umpanbalik pada sistem servo. Hasil

pengurangan tersebut kemudian diumpankan ke pengendali PID dan

menghasilkan keluaran berupa sinyal PWM. Sinyal PWM kemudian disaring

dengan menggunakan Low pass Filter untuk mendapatkan tegangan konstan

sebagai masukan servo amplifier. Penalaan PID menggunakan metode Ziegler-

Nichols dan dipadu dengan metode osilasi.

Kata kunci: Servo, Mesin CNC, Ziegler-Nichols

1. Pendahuluan

Salah satu mesin yang digunakan sebagai media praktek mahasiswa di

Politeknik Atmi Surakarta adalah mesin CNC aciera F5. Setelah digunakan

selama 32 tahun, bagian kelistrikan dari mesin tersebut mengalami kerusakan

tetapi bagian mekanik mesin tersebut masih dapat berfungsi. Namun demikian,

baik kerusakan mekanik maupun elektronik pada mesin CNC, tetaplah membuat

mesin CNC tersebut menjadi tidak dapat digunakan. Oleh karena itu, perlu

dipikirkan bagaimana caranya agar mesin CNC aciera F5 dapat berfungsi kembali.

Kerusakan pada mesin Aciera F5 terjadi pada bagian servo driver dan

numerical control. Meskipun demikian, sirkuit penguat servo masih dapat

berfungsi. Masalah yang terjadi adalah penguat servo yang ada pada mesin ini

menggunakan sistem komunikasi analog. Pada saat ini sudah tidak ada lagi

numerical kontrol CNC yang menggunakan sistem komunikasi analog melainkan

menggunakan komunikasi digital. Sebetulnya masalah ini dapat diatasi dengan

mengganti keseluruhan sistem mulai dari motor hingga servo amplifier yang

mampu berkomunikasi dengan kontrol CNC secara digital dan tentunya dengan

daya dan torsi yang sesuai. Namun demikian, penggantian seluruh sistem

penggerak akan membutuhkan biaya yang mahal. Jika rangkaian servo driver

Page 6: Sistem Kendali Servo Pada Sumbu Mesin CNC Aciera F5repository.uksw.edu/bitstream/123456789/12269/2/T1_612012802_Full... · Sistem kendali servo yang dibuat pada penelitian ini akan

2

yang rusak dapat dibuat sendiri dengan sistem kendali digital, maka biaya

perbaikan mesin akan menjadi murah karena tidak perlu mengganti keseluruhan

sistem kelistrikan dari mesin.

2. Perancangan

Perbaikan mesin aciera F5 dimulai dengan pemeriksaan awal kondisi mesin.

Dari pemeriksaan awal mesin diketahui bahwa bagian servo amplifier mesin

masih dapat berfungsi. Meskipun demikian, bagian servo driver mesin sudah tidak

berfungsi sehingga perlu diganti. Saat ini servo driver yang sesuai dengan

spesifikasi yang diperlukan oleh mesin sudah tidak lagi diproduksi. Sehubungan

dengan hal itu, perlu adanya perancangan dan pembuatan servo driver untuk

menggantikan servo driver yang telah rusak.

2.1. Servo Driver

"Sistem pengikut (servo), adalah sebuah sistem yang keluaran prosesnya

selalu mengikuti masukan proses"[sulasno,thomas Agus Prayitno, teknik sistem

kontrol, 2007]. Masukan dari proses pengendalian motor servo pada mesin aciera

F5 adalah perintah posisi yang dihasilkan oleh unit kontrol numerik. kontrol

numerik bertugas memproses program CNC yang ditulis menggunakan bahasa

pemrograman G-code dan menghasilkan keluaran berupa isyarat posisi yang harus

dipenuhi oleh servo system. Isyarat yang diterima oleh servo system kemudian

dibandingkan dengan isyarat posisi dari encoder oleh servo driver. Dengan

mengurangkan kedua isyarat tersebut, kemudian dihasilkan isyarat error (e) yang

diperlukan untuk memperbaiki posisi plant agar sesuai dengan set point.

Page 7: Sistem Kendali Servo Pada Sumbu Mesin CNC Aciera F5repository.uksw.edu/bitstream/123456789/12269/2/T1_612012802_Full... · Sistem kendali servo yang dibuat pada penelitian ini akan

3

Gambar 1. Diagram alir servo driver

Gambar 2. Diagram alir sub program interrupt 1

Page 8: Sistem Kendali Servo Pada Sumbu Mesin CNC Aciera F5repository.uksw.edu/bitstream/123456789/12269/2/T1_612012802_Full... · Sistem kendali servo yang dibuat pada penelitian ini akan

4

Mulai sub program

interrupt 2

Koreksi arah

positip ya

tidak

Memori B = B-1 Memori B = B+1

Selesai sub program

interrupt 2

Gambar 3. Diagram alir sub program interrupt 2

Dalam diagram alir ditunjukan proses operasi pengurangan nilai masukan dari

numerical control dikurangi dengan pulsa umpan balik dari encoder. Apabila hasil

pengurangan tidak sama dengan "0" maka hal ini menunjukan bahwa terjadi

ketidaksesuaian antara posisi plant dengan set point. Jika hal tersebut terjadi,

maka nilai error yang didapat akan diproses melalui algoritma PID agar dihasilkan

keluaran yang dapat menggerakan motor sampai posisinya terpenuhi.

Servo system akan mengendalikan posisi poros motor DC agar dapat

menggerakan ketiga sumbu pada mesin Aciera f5. Sistem kendali yang dirancang

merupakan kendali close loop dengan penambahan kontrol PID.

Gambar 4. Diagram blok servo

2.2. Pengolahan sinyal pada mikrokontroler

mikrokontroler atmega 8 menerima masukan berupa isyarat posisi shaft motor

dari rotary encoder yang terhubung melalui pin interrupt 1 pada Microcontroler

Page 9: Sistem Kendali Servo Pada Sumbu Mesin CNC Aciera F5repository.uksw.edu/bitstream/123456789/12269/2/T1_612012802_Full... · Sistem kendali servo yang dibuat pada penelitian ini akan

5

atmega 8. Pin interrupt 1 dihubungkan pada keluaran encoder phase A lalu diatur

agar dapat membaca tepian positip setiap kali mendapatkan detak pulsa. Setelah

membaca tepian positip dari detak pulsa interrupt mikrokontroler akan memanggil

sub routin yang berisi program untuk menguji kondisi pin 1 pada port D. Pin D.1

dihubungkan dengan keluaran encoder phase B. Jika Pin D.1 berlogika tinggi

maka pencacah akan mencacah naik, sebaliknya jika pin D.1 berlogika nol maka

pencacah akan mencacah turun. Selanjutnya nilai hasil pencacahan disimpan pada

memori yang nantinya akan digunakan untuk menentukan besarnya isyarat error

(e). Hasil perhitungan nilai error kemudian diolah untuk menghasilkan analog

output yang baru dari mikrokontroler yang diambil dari pin OCR1A. Proses

tersebut akan berulang terus menerus hingga nilai kesalahan mendekati nol. Servo

amplifier memerelukan tegangan analog yang terbebas oleh nois sehingga

diperlukan adanya rangkaian tapis lolos bawah untuk menapis sinyal PWM yang

dihasilkan mikrokontroler.

2.3. Tapis Aktif PWM

Sebagai upaya dalam menghasilkan keluaran tegangan analog yang terbebas

dari komponen frekuensi maka dibuatlah sebuah tapis aktif. Tapis yang diperlukan

adalah tapis lolos bawah dengan frekuensi penggal pada 20Hz dan kecuraman

(roll-off) sebesar -20dB/dekade.

Untuk memenuhi tuntutan tersebut maka dipilihlah jenis penapis orde

pertama dengan menggunakan sebuah Op-Amp UA741. Adapun schematic

diagram dari rangkaian tersebut adalah sebagai berikut.

Gambar 5. Rangkaian servo driver dilengkapi tapis lolos bawah

Terdapat dua keluaran PWM dari mikrokontroler, satu diantaranya (PB.2)

merupakan isyarat yang nilaianya berubah-ubah tergantung dengan nilai set-point

dan kesalahan (error). Isyarat PWM yang lain (PB.1) merupakan isyarat yang

Page 10: Sistem Kendali Servo Pada Sumbu Mesin CNC Aciera F5repository.uksw.edu/bitstream/123456789/12269/2/T1_612012802_Full... · Sistem kendali servo yang dibuat pada penelitian ini akan

6

nilaianya tetap dan berfungsi sebagai referensi tegangan analog keluaran

rangkaian. Perlu diketahui bahwa tegangan analog yang diperlukan oleh sistem

adalah -5V sampai dengan 5V.

Beda potensial dari keluaran Vout dan Vref akan mempengaruhi kecepatan

motor servo yang dikendalikan, semakin tinggi beda potensialnya semakin tinggi

pula angka putaran motor. Polaritas antara Vout dan Vref akan mempengaruhi

arah putaran motor. Sebagai contoh jika tegangan Vout sebesar 2,5V diukur dari

Vref maka motor akan berputar searah jarum jam dengan kecepatan 50%. Jika

tegangan Vout sebesar -5V diukur dari Vref maka motor berputar berlawanan arah

jarum jam dengan kecepatan 100% (Maksimum).

2.4. Penalaan PID

Pada mesin Aciera F5 sangat sulit untuk menentukan pemodelan secara

matematis dikarenakan pada mesin tersebut terdapat banyak komponen mekanis

yang saling terhubung. Oleh karena itu maka perancangan kontroler PID secara

analitis tidak mungkin dilakukan sehingga perancangan kontroler PID harus

dilakukan secara eksperimental. Metode tuning yang dipilih untuk menentukan

nilai Kp,Ti,dan Td adalah metode tuning Ziegler - Nichols dengan mengamati

kurva respon osilasi. Ziegler – Nichols mengusulkan aturan untuk menentukan

nilai Kp, Ti dan Td berdasarkan pada karakteristik tanggapan peralihan dari plant

yang diberikan.

Didalam perancangan kontroler PID diperlukan penentuan parameter kontroler

PID supaya sistem close loop memenuhi kriteria performansi yang diinginkan.

Metode penalaan pada penelitian ini didasarkan pada reaksi sistem untaian

tertutup. Plant disusun serial dengan kontroller PID. Semula parameter-parameter

integrator disetel tak berhingga dan parameter diferensial disetel nol (Ti = ~ ;Td =

0). Parameter proporsional kemudian dinaikkan bertahap. Mulai dari nol sampai

mencapai harga yang mengakibatkan reaksi sistem berosilasi. Reaksi sistem harus

berosilasi dengan magnitud tetap(Sustain oscillation) (Gutterus, 1994, 9-9). Nilai

penguatan proportional pada saat sistem mencapai kondisi sustain oscillation

disebut ultimate gain Ku. Periode dari sustained oscillation disebut ultimate

period Tu (Perdikaris, 1991, 433).

3. Pengujian dan Analisis

Pengujian dan analisis yang dilakukan meliputi pengujian kepresisian mesin,

Akurasi mesin, sinkronisasi sumbu X dan sumbu Y, kecepatan pergerakan mesin,

dan analisa kedalaman pemakanan pada benda kerja dengan kekerasan 60 HRc.

Pengujian akurasi pergerakan motor servo dilakukan dengan membandingkan

jarak yang dimasukkan pada pengendali MACH3 dengan keadaan sesungguhnya.

Pengukuran dilakukan dengan menggunakan dial indicator sebagai alat ukurnya.

Akurasi mesin yang ditargetkan minimal 0,05 mm maka alat ukur yang dipilih

adalah alat ukur dengan resolusi sebesar 0,01mm. Hasil dari pengujian yang

dilakukan adalah sebagai berikut.

Page 11: Sistem Kendali Servo Pada Sumbu Mesin CNC Aciera F5repository.uksw.edu/bitstream/123456789/12269/2/T1_612012802_Full... · Sistem kendali servo yang dibuat pada penelitian ini akan

7

Gambar 6. Pengujian akurasi sumbu X

Gambar 7. Pengujian akurasi sumbu Y

Page 12: Sistem Kendali Servo Pada Sumbu Mesin CNC Aciera F5repository.uksw.edu/bitstream/123456789/12269/2/T1_612012802_Full... · Sistem kendali servo yang dibuat pada penelitian ini akan

8

Gambar 8. Pengujian akurasi sumbu Z

Pengujian kepresisian mesin dilakukan dengan membandingkan jarak yang

dimasukkan pada pengendali MACH3 dengan keadaan sesungguhnya. Pengujian

dilakukan dengan jarak uji yang tetap namun pengujian diulang sampai 30 kali

lalu diamati penyimpangan yang terjadi. Pengukuran dilakukan dengan

menggunakan dial indicator sebagai alat ukurnya. Kepresisian mesin yang

ditargetkan minimal 0,05 mm maka alat ukur yang dipilih adalah alat ukur dengan

resolusi sebesar 0,01mm.

Gambar 9. Pengujian kepresisian sumbu X

Page 13: Sistem Kendali Servo Pada Sumbu Mesin CNC Aciera F5repository.uksw.edu/bitstream/123456789/12269/2/T1_612012802_Full... · Sistem kendali servo yang dibuat pada penelitian ini akan

9

Gambar 10. Pengujian kepresisian sumbu Y

Gambar 11. Pengujian kepresisian sumbu Z

Pada percobaan pengujian keparalelan mesin didapat hasil bahwa keparalelan

mesin terdapat koreksi sebesar 0,01 mm. hal ini disebabkan karena kondisi

mekanik mesin yang sudah tidak presisi sehingga menghasilkan penyimpangan

ukuran. Pengujian ketegak lurusan mesin dengan menggunakan alat ukur bavel

protactor menunjukkan bahwa sudut yang terbentuk adalah 90° pada keempat sisi

pengukuran.

Pengujian kecepatan pergerakan maksimum diukur dengan menggunakan

stopwatch dan mistar. Mesin diprogram untuk bergerak sejauh 500 mm kemudian

Page 14: Sistem Kendali Servo Pada Sumbu Mesin CNC Aciera F5repository.uksw.edu/bitstream/123456789/12269/2/T1_612012802_Full... · Sistem kendali servo yang dibuat pada penelitian ini akan

10

dihitung kecepatan gerakan pada sumbu yang diuji. Pada progran diatur kecepatan

gerak tanpa pemotongan sebesar 500 mm per menit. Dari 25 kali pengujian

didapat hasil bahwa mesin menempuh jarak sejauh 500 mm dalam waktu 1 menit.

Pengujian kedalaman pemakanan bertujuan untuk mengetahui kekuatan mesin

dalam memotong benda kerja. Pengujian dilakukan dengan menempatkan benda

kerja berupa besi dengan tipe ST60 pada ragum mesin. Kecepatan spindle

ditentukan dengan menggunakan tabel Cuting Speed dan jenis material. Benda

kerja dipotong dengan kedalaman pemakanan sebanyak 5mm pada feeding 5 mm

per menit. Mesin dapat memotong benda kerja dengan benar sampai program

selesai dieksekusi seluruhnya.

4. Kesimpulan

Dari keseluruhan proses penelitian ini dapat diambil kesimpulan bahwa mesin

CNC aciera F5 telah mampu beroperasi kembali dan digunakan sebagai sarana

belajar mahasiswa. Adapun pengujian terhadap mesin menghasilkan kesimpulan

sebagai berikut:

Pengujian keakuratan mesin menunjukkan bahwa akurasi minimum mesin

yang dapat dicapai sebesar 0,04mm pada ketiga sumbu mesin. Pengujian

kepresisian mesin menunjukkan bahwa koreksi maksimum mesin sebesar 0,04mm

pada ketiga sumbu mesin. Resolusi terkecil yang dapat dibaca oleh mesin hingga

0,01mm. Pemotongan pada benda dengan kekerasan 60Hrc dengan kedalaman

5mm tidak menujukkan adanya gejala kerusakan alat potong ataupun kesalahan

fungsi pada keseluruhan sistem. Kecepatan maksimum pergerakan mesin

mencapai 500 mm per menit tanpa pemakanan.

Daftar Pustaka

[1] Sulasno dan Agus Prayitno, Thomas, Teknik Sistem Kontrol,Graha Ilmu,

yogyakarta,2006.

[2] Ogata, Katsuhiko, Modern Control Engineering, Prentice-Hall, Englewood

Cliffs,NJ.

[3] Ogata, Katsuhiko, Teknik Kontrol Otomatik, Jilid 1, Jakarta : Erlangga, 1991.

[4] Ogata, Katsuhiko, Teknik Kontrol Otomatik, Jilid 2, Jakarta : Erlangga, 1997.

[5] Wijaya,Eka Candra, Auto Tuning PID Berbasis Metode Osilasi Ziegler-

Nichols Menggunakan Mikrokontroler AT89S52 pada Pengendalian Suhu,

universitas diponegoro, 2000

Page 15: Sistem Kendali Servo Pada Sumbu Mesin CNC Aciera F5repository.uksw.edu/bitstream/123456789/12269/2/T1_612012802_Full... · Sistem kendali servo yang dibuat pada penelitian ini akan

LAMPIRAN

PROGRAM

/*****************************************************

This program was produced by the

CodeWizardAVR V2.05.0 Professional

Automatic Program Generator

© Copyright 1998-2010 Pavel Haiduc, HP InfoTech s.r.l.

http://www.hpinfotech.com

Project : Servo Driver

Version : 1.6

Date : 4/1/2015

Author : Eko Purwanto Aribowo

Company : Politeknik Atmi Surakarta

Comments:

Chip type : ATmega8L

Program type : Application

AVR Core Clock frequency: 12.000000 MHz

Memory model : Small

External RAM size : 0

Data Stack size : 256

*****************************************************/

#include <mega8.h>

#include <delay.h

float es,en,eni,end,e , //deklarasi sinyal

Page 16: Sistem Kendali Servo Pada Sumbu Mesin CNC Aciera F5repository.uksw.edu/bitstream/123456789/12269/2/T1_612012802_Full... · Sistem kendali servo yang dibuat pada penelitian ini akan

p=1000,

i=0.005,

d=100,

esp,esd,esi,

op,

oi,

od;

//External Interrupt 0 service routine

interrupt [EXT_INT0] void ext_int0_isr(void)

{

DDRD.1=1 ;

if (PIND.1==0)

{

e=e-0.001; //!!!!!!!!!!!!!!!!!!!!!!!!

}

else

{

e=e+0.001;

};

DDRD.1=1 ;

}

//

// External Interrupt 1 service routine

interrupt [EXT_INT1] void ext_int1_isr(void)

{

Page 17: Sistem Kendali Servo Pada Sumbu Mesin CNC Aciera F5repository.uksw.edu/bitstream/123456789/12269/2/T1_612012802_Full... · Sistem kendali servo yang dibuat pada penelitian ini akan

DDRD.0=1;

if (PIND.0==0)

{

e=e+0.001;

}

else

{

if (PIND.0==1)

{

e=e-0.001;

}

};

}

// Declare your global variables here

void main(void)

{

// Declare your local variables here

// Input/Output Ports initialization

// Port B initialization

// Func7=Out Func6=Out Func5=Out Func4=Out Func3=Out Func2=Out

Func1=Out Func0=Out

// State7=0 State6=0 State5=0 State4=0 State3=0 State2=0 State1=0

State0=0

PORTB=0x00;

DDRB=0xFF;

Page 18: Sistem Kendali Servo Pada Sumbu Mesin CNC Aciera F5repository.uksw.edu/bitstream/123456789/12269/2/T1_612012802_Full... · Sistem kendali servo yang dibuat pada penelitian ini akan

// Port C initialization

// Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In

// State6=T State5=T State4=T State3=T State2=T State1=T State0=T

PORTC=0x00;

DDRC=0x00;

// Port D initialization

// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In

Func0=In

// State7=T State6=T State5=T State4=T State3=T State2=T State1=T

State0=T

PORTD=0b00000011;// Harus do Pull UP input pin D0 dan D1

DDRD=0x00;

// Timer/Counter 0 initialization

// Clock source: System Clock

// Clock value: Timer 0 Stopped

TCCR0=0x00;

TCNT0=0x00;

// Timer/Counter 1 initialization

// Clock source: System Clock

// Clock value: 1500.000 kHz

// Mode: Fast PWM top=0x03FF

// OC1A output: Non-Inv.

// OC1B output: Non-Inv.

Page 19: Sistem Kendali Servo Pada Sumbu Mesin CNC Aciera F5repository.uksw.edu/bitstream/123456789/12269/2/T1_612012802_Full... · Sistem kendali servo yang dibuat pada penelitian ini akan

// Noise Canceler: Off

// Input Capture on Falling Edge

// Timer1 Overflow Interrupt: Off

// Input Capture Interrupt: Off

// Compare A Match Interrupt: Off

// Compare B Match Interrupt: Off

TCCR1A=0xA3;

TCCR1B=0x0A;

TCNT1H=0x00;

TCNT1L=0x00;

ICR1H=0x00;

ICR1L=0x00;

OCR1AH=0x00;

OCR1AL=0x00;

OCR1BH=0x00;

OCR1BL=0x00;

// Timer/Counter 2 initialization

// Clock source: System Clock

// Clock value: Timer2 Stopped

// Mode: Normal top=0xFF

// OC2 output: Disconnected

ASSR=0x00;

TCCR2=0x00;

TCNT2=0x00;

OCR2=0x00;

Page 20: Sistem Kendali Servo Pada Sumbu Mesin CNC Aciera F5repository.uksw.edu/bitstream/123456789/12269/2/T1_612012802_Full... · Sistem kendali servo yang dibuat pada penelitian ini akan

// External Interrupt(s) initialization

// INT0: On

// INT0 Mode: Rising Edge

// INT1: On

// INT1 Mode: Rising Edge

GICR|=0xC0;

MCUCR=0x0F;

GIFR=0xC0;

// Timer(s)/Counter(s) Interrupt(s) initialization

TIMSK=0x00;

// USART initialization

// USART disabled

UCSRB=0x00;

// Analog Comparator initialization

// Analog Comparator: Off

// Analog Comparator Input Capture by Timer/Counter 1: Off

ACSR=0x80;

SFIOR=0x00;

// ADC initialization

// ADC disabled

ADCSRA=0x00;

// SPI initialization

Page 21: Sistem Kendali Servo Pada Sumbu Mesin CNC Aciera F5repository.uksw.edu/bitstream/123456789/12269/2/T1_612012802_Full... · Sistem kendali servo yang dibuat pada penelitian ini akan

// SPI disabled

SPCR=0x00;

// TWI initialization

// TWI disabled

TWCR=0x00;

// Global enable interrupts

#asm("sei")

e=511;//nilai awal sinyal eror

while (1)

{

OCR1A=op+oi+od+511;

OCR1B=440; //reference signal

DDRD.1=1;

//kendali proporsional

en=e-511;

op=p*en; //nilai p ditentukan melalui tuning

//kendali integral

eni=en+esi;

oi=i*eni; //nilai Ki ditentukan melalui tuning

esi=eni;

//kendali Deferensial

end=en-esd;

Page 22: Sistem Kendali Servo Pada Sumbu Mesin CNC Aciera F5repository.uksw.edu/bitstream/123456789/12269/2/T1_612012802_Full... · Sistem kendali servo yang dibuat pada penelitian ini akan

od=d*end; //nilai Kd ditentukan melalui tuning

esd=end;

//pengaman jika terjadi over count

if (e>1000)

{

OCR1A=511;e=511;eni=0;end=0;en=0;esi=0;esd=0;op=0;oi=0;od=0;delay

_ms(100);};

if (e<20)

{

OCR1A=511;e=511;eni=0;end=0;en=0;esi=0;esd=0;op=0;oi=0;od=0;delay

_ms(100);};

}

}