Anda di halaman 1dari 10

DESAIN DAN ANALISIS ROBOT KONTROL DIGITAL

ABDUL ROHMAN SAYYID Fisika Sains/III/A Universitas Islam Negeri Sunan Gunung Djati Bandung Bandung INDONESIA rohman.abdul301@gmail.com

Abstract: At the height and getting kompleknya energy's purpose problem electricity therefore at needs a system who can manage electric energy purpose that. AVR constitutes one of type in it mikrokontroler available logistic kind sort. Besides excess from AVR is have Power On Reset , which is not necessarily there is reset key from outside since last only by deadening supply , therefore self acting AVR will do reset . mikrokontroler just gets to issue one hight's tension or low, where is point than hight which is well worth 1 (one) and low well worth 0 (zero). while upon input most link with ground therefore inputan on does splits mikrokontroler shall well worth 1 therefore will blaze. so even contrariwise. There is point even tension on that series as big as 5 volts. It means to correspond to theory, since whereas for ATmega8 just gets is conected with tension among 4,5 5,5 V. There Is speed even on motor driver that we utilizes which is as big as 200 PWM. and our frequency utilize as big as 12 MHz.

Key word: Mikrokontroler, code vision AVR, Tension, Frequency,

Abstrak : Dengan meningkatnya dan semakin kompleknya persoalan penggunaan energy listrik maka di butuhkan suatu sistem yang dapat mengatur penggunaan energi listrik tersebut.AVR merupakan salah satu jenis mikrokontroler yang di dalamnya terdapat berbagai macam fungsi.Selain itu kelebihan dari AVR adalah memiliki Power-On Reset, yaitu tidak perlu ada tombol reset dari luar karena cukup hanya dengan mematikan supply, maka secara otomatis AVR akan melakukan reset. mikrokontroler hanya dapat mengeluarkan sebuah tegangan hight atau low, dimana nilai daripada hight yaitu bernilai 1 (satu) dan low bernilai 0 (nol). ketika pada saat input terhubung dengan ground maka inputan pada kaki mikrokontroler harus bernilai 1 maka akan menyala. begitupun sebaliknya. Adapun nilai tegangan pada rangkaian tersebut sebesar 5 volt. Hal ini berarti sesuai dengan teori, karena sedangkan untuk ATmega8 hanya dapat bekerja pada tegangan antara 4,5 5,5 V. Adapun kecepatan pada motor driver yang kita gunakan yaitu sebesar 200 PWM . dan frekuensinya kita menggunakan sebesar 12 MHz.

Kata kunci : Mikrokontroler, code vision AVR, Tegangan, Frekuensi,

1. Pendahuluan Latarbelakang Robot kontrol digital merupakan salah satu jenis robot yang digunakan pada

beberapa jenis AVR terdapat beberapa fungsi khusus seperti ADC, EEPROM sekitar 128 byte sampai dengan 512 byte. Konfigurasi Pin Atmega8

teknologi saat ini. Robot kontrol digital adalah sebuah robot yang dikendalikan

dengan menggunakan sebuah tombol ketika tombol tersebut ditekan maka sesuai dengan mikrokontroler sebelumnya yang telah diprogram digital akan

robot

control

bergerak. Sebagai mahasiswa fisika sains kita dituntut untuk mengerti dan memahami system yang ada pada komponen

mikrokontroler sebagai program dan juga sebagai komponen dasar yang ada pada komponen-komponen elektronika.
ATmega8 memiliki 28 Pin, yang masing-masing pin nya memiliki fungsi yang berbeda-beda baik sebagai port maupun fungsi yang lainnya. Berikut akan dijelaskan fungsi dari masing-masing kaki ATmega8. VCC Merupakan supply tegangan digital. GND Merupakan ground untuk semua komponen yang membutuhkan grounding. Port B (PB7...PB0) Didalam Port B terdapat XTAL1, XTAL2, TOSC1, TOSC2. Jumlah Port B adalah 8 buah pin, mulai dari pin B.0 sampai dengan B.7. Tiap pin dapat digunakan sebagai input maupun output. Port B merupakan sebuah 8-bit bidirectional I/O dengan internal pull-up resistor. Sebagai input, pin-pin yang terdapat pada port B yang secara eksternal diturunkan, maka akan mengeluarkan diaktifkan. arus jika PB6 pull-up dapat resistor Gambar 2.1. Konfigurasi Pin Atmega8

Dasar Teori :
AVR ATmega8 adalah mikrokontroler CMOS 8-bit berarsitektur AVR RISC yang memiliki 8K byte in-System Programmable Flash. Mikrokontroler dengan konsumsi daya rendah ini mampu mengeksekusi instruksi dengan kecepatan maksimum 16MIPS pada frekuensi 16MHz. Jika dibandingkan dengan ATmega8L perbedaannya hanya terletak pada besarnya tegangan yang diperlukan untuk bekerja. Untuk ATmega8 tipe L, mikrokontroler ini dapat bekerja dengan tegangan antara 2,7 5,5 V sedangkan untuk ATmega8 hanya dapat bekerja pada tegangan antara 4,5 5,5 V. AVR merupakan salah satu jenis mikrokontroler yang di dalamnya terdapat berbagai macam fungsi. Perbedaannya pada mikro yang pada umumnya digunakan seperti MCS51 adalah pada AVR tidak perlu menggunakan oscillator eksternal karena di dalamnya sudah terdapat internal oscillator. Selain itu kelebihan dari AVR adalah memiliki Power-On Reset, yaitu tidak perlu ada tombol reset dari luar karena cukup hanya dengan mematikan supply, maka secara

Khusus

digunakan

sebagai input Kristal (inverting oscillator amplifier) dan input ke rangkaian clock internal, bergantung pada pengaturan Fuse bit yang digunakan untuk memilih sumber clock.

otomatis AVR akan melakukan reset. Untuk

Sedangkan untuk PB7 dapat digunakan sebagai

output Kristal (output oscillator amplifier) bergantung pada pengaturan Fuse bit yang digunakan untuk memilih sumber clock. Jika sumber clock yang dipilih dari oscillator internal, PB7 dan PB6 dapat digunakan sebagai I/O atau jika menggunakan Asyncronous

Timer/Counter2 maka PB6 dan PB7 (TOSC2 dan TOSC1) digunakan untuk saluran input timer. Port C (PC5PC0) Port C merupakan sebuah 7-bit bi-directional I/O port yang di dalam masingmasing pin terdapat pull-up resistor. Jumlah pin nya

Gambar 5.1. Teknologi otomatisasi pada Teknologi robot sebenarnya telah ada sebelum kata robot digunakan, ilmuwan muslim merupakan pionier pertama teknologi robot. Donald Routledge dalam bukunya Studies in Medieval Islamic Technology, mengatakan bahwa hingga zaman modern ini, tidak satupun dari suatu kebudayaan yang dapat menandingi lengkapnya instruksi untuk merancang, memproduksi dan menyusun berbagai mesin sebagaimana yang disusun oleh Al-Jazari. Pada 1206 ia merampungkan sebuah karya dalam bentuk buku yang berkaitan dengan dunia teknik. Beliau tahun 1206 karya Al-Jazzari Kata Robot sendiri pertama kali digunakan oleh seorang novelist Karel Capek pada tahun 1920 Ketika membuat Teater Rossums Universal Robots (RUR), Robot menurut bahasa diambil dari kata Robota yang berasal dari bahasa Czech yang artinya pelayan atau pekerja. Sehingga robot dapat diartikan sebagai mesin yang dapat bekerja secara terus menerus sebagai pelayan atau pekerja yang dapat di kontrol atau bekerja secara otomatis sesuai dengan kebutuhan manusia atau tujuan pembuatannya. Oleh karena itu robot tidak harus berbentuk manusia atau hewan. Secara umum robot tergolong menjadi dua bagian yaitu robot otomatis dan robot teleoperated. Robot

mendokumentasikan lebih dari 50 karya temuannya, lengkap dengan rincian desain dalam buku, al-Jami Bain al-Ilm Wal Aml al-Nafi Fi Sinat at al-Hiyal (The Book of Knowledge of Ingenious Mechanical

otomatis dapat bekerja tanpa kontrol langsung oleh manusia, robot tersebut bekerja

Devices, Springer, 1973 Edition). Bukunya ini berisi tentang teori dan praktik mekanik. Karyanya ini sangat berbeda dengan karya ilmuwan lainnya, karena dengan piawainya Al-Jazari membeberkan secara detail hal yang terkait dengan mekanika. Dan merupakan kontribusi yang sangat berharga dalam sejarah teknik. Kontribusi Al-Jazari dalam dunia robotika salah satunya adalah jam gajah yang bekerja secara otomatis.

berdasarkan program yang ditanamkan seperti robot line follower, robot avoider obstacle, robot humanoid, lampu lalu lintas, pintu otomatis, dan sebagainya. Sedangkan robot teleoperated harus dikontrol langsung oleh manusia, seperti robot kontrol, televisi, computer dan lainnya.

Secara umum prinsip dasar sistem robot terdiri dari tiga bagian utama yaitu input, proses, dan output. Input robot dapat berasal dari sensor, tombol kontrol, maupun program yang tertanam. Proses merupakan bagian otak robot yang menerima input dan membuat perintah pada output berisi logika atau kecerdasan buatan yang tertanam pada chip mikrokontroler, sedangkan output adalah actuator yang dapat berisi hidup matinya

6. Mengetahui aplikasi mikrokontroler dalam teknologi digital dan

otomatisasi.

Rumusan masalah : 1. Bagaimana memahami mikrokontroler? 2. Bagaimana memahami mikrokontroler. 3. Bagaimana cara mengetahui prinsip kendali motor DC menggunakan cara mengetahui dan cara mengetahui dan

sistem

minimum

prinsip

input-output

motor DC, LED, buzzer atau lainnya.

mikrokontroler. 4. Bagaimana cara mengetahui prinsip Gambar 5.2. Prinsip umum sistem robotika Pada percobaan kali ini, akan dibuat robot teleoperated sederhana menggunakan mikrokontroler ATmega 8, dengan kontrol navigasi tombol push-buttom yang dapat memberikan perintah pada robot untuk PWM (pulse width modulation) untuk kendali kecepatan motor DC. 5. Bagaimana cara mampu mendesain dan membuat sederhana. Mengetahui aplikasi mikrokontroler dalam teknologi digital dan otomatisasi. robot kontrol digital

bergerak maju, mundur, belok kiri dan belok kanan. Metode Percobaan :

2. Tujuan dan Rumusan Masalah


Adapun tujuan dari percobaan desain dan analisis robot control digital adalah untuk : 1. Mengetahui dan memahami sistem minimum mikrokontroler. 2. Mengetahui dan memahami prinsip input-output mikrokontroler. 3. Mengetahui prinsip kendali motor DC menggunakan mikrokontroler. 4. Mengetahui width prinsip PWM untuk (pulse kendali

ALAT DAN BAHAN 1. Papan PCB/protoboard 2. Multimeter 3. Kabel koneksi 4. Resistor 5. LED 6. Mikrokontroler ATmega 8 7. Motor driver L 293D 8. Tombol push-buttom 9. Software Proteus 10. Software Code Vision AVR

modulation)

kecepatan motor DC. 5. Mampu mendesain dan membuat Prosedur percobaan Desain dan Analisis Robot Kontrol Digital

robot kontrol digital sederhana.

Pada percobaan desain dan analisis robot kontrol digital yang pertama diakukan yaitu mendesain rangaian desain seperti pada gambar menggunakan software proteus dan setelah itu kita membuat program dengan menggunakan code vision AVR. Setelah program yang kita buat sudah benar dan sesuai, kemudian isi dari program code AVR diinput kedalam mikrokontroler ATmega8 pada desain dan analisis robot control digital yang ada pada desain proteus. Kemudian desain dan analisis robot control digital yang ada pada desain proteus diuji dengan Pada rangkaian desain robot control digital, pada rangkain ini kita menggunakan mikrokontroler ATmega 8 karena ATmega 8 lebih sederhana dibandingkan ATmega yang lain dan ATmega 8 pun lebih sesuai dengan kebutuhan pada percobaan ini. Pada Gambar Desain dan Analisis Robot Kontrol Digital

percobaan ini pada saat mikrokontroler bekerja, mikrokontroler hanya dapat

mengeluarkan sebuah tegangan hight atau low, dimana nilai daripada hight yaitu bernilai 1 (satu) dan low bernilai 0 (nol). ketika pada saat input terhubung dengan ground maka inputan pada kaki mikrokontroler harus bernilai 1 maka akan menyala motor yang ada

menekan tombol yang ada pada rangkaian. Ketika motor berjalan berarti program yang pada code vision AVR telah benar.

3. Solusi dari Permasalahan


Data dan Analisis :

pada outputan akan menyala. begitupun sebaliknya, ketika pada outputan terhubung dengan power/Vcc maka nilai pada kaki mikrokontroler harus bernilai 0 untuk

DIAGRAM ALIR

menyala. dari dari tombol-tombol yang bekerja akan mengerluarkan tegangan yang

Merangkai rangkaian seperti gambar pada proteus

berupa low dan nilai tegangan pada outputan harus terhubung dengan Vcc atau power. Pada rangkaian mengggunakan crystal yang

input isi program AVR kedalam mikrokontro ler ATmega8

berfungsi sebagai pendorong atau pengatur


Desain Robot kontrol Digital
Membuat program pada AVR

data

yang

masuk Pada

dan saat

keluar tombol

dari yang

mikrokontroler.

terhubung dengan PORTD.0 yang telah diisikan program pada mikrokontrolernya


Uji rangkain

dengan menggunakan code vision AVR pada saat tombol PORTD.0 yang berada pada

inputan ditekan maka motor yang berada pada

inputan 1 dan inputan 2 akan berjalan karena pada saat tombol ditekan, ketika inputan bernilai hight maka nilai yang keluar pada outputan pun akan bernilai hight pula dan akan menggerakan motor driver L 293D sehingga robot dapat menjalankan motor kanan sehingga robot belok kekiri. Pada inputan 1 dan inputan 2 pasti terhubung dengan eneble karena enebel bersifat

dengan menggunakan code vision AVR terjadi kesalahan berupa ketika tombol belum ditekan, namun motor pada rangkaian sudah berjalan terlebih dahulu. Hal ini dikarenkan kesalahan pada saat pemrograman yang dilakukan menggunakan code vision AVR.

4. Kesimpulan
Dari percobaan yang telah dilakukan, dapat disimpulkan bahwa ketika suatu arus yang masuk dari inputan, maka nilai arus yang akan keluar pada outputan pun nilainya sama dan mikrokontroler akan bekerja ketika diisi dengan program yang menggunakan code vision AVR.

mendorong agar adanya arus yang masuk. Begitu pun pada tombol tombol PORTD.1 yang akan menggerakan robot agar robot dapat belok ke kanan, dan pada PORTD.2 akan menggerakan robot menjadi maju dan pada PORTD.3 akan menggerakan kedua motor untuk mundur. Semua program yang diinput pada mikrokontroler merupakan

program yang dibuat melalui program code vision AVR. dan setelah diuji tegangan pada rangkaian, diketahui nilai tegangan pada rangkaian tersebut sebesar 5 volt. Hal ini berarti sesuai dengan teori, karena untuk
ATmega8 hanya dapat bekerja pada tegangan antara 4,5 5,5 V ketika tegangan input

References: [1] Sanjaya, M. Modul membuat robot itu Asyik Bolabot Techno Robotic School, Bandung, 2012 [2] Malvino.prinsip-prinsip elektronika I Erlangga, Jakarta,1994 [3] Malvino. Prinsip-prinsip elektronika I Erlangga, Jakarta, 1994. [4] Winarno & Arifianto, D. Bikin robot itu gampang. 2011. [5] Andrianto, mikrokontroler H. AVR Pemrograman ATmega 16 Kawan Pustaka, Jakarta,

memberikan nilai 5 volt maka nilai pada tegangan outputan pun akan bernilai sama. Adapun kecepatan pada motor driver yang kita gunakan yaitu sebesar 200 PWM . dan frekuensinya kita menggunakan sebesar 12 MHz dan adapun Program-program yang digunakan pada kode vision AVR terlampir pada lampiran. Pada percobaan ini ada beberapa kesalahan pada saat penggantian letak kaki pada inputan, ketika kaki pada inputan dipindahkan dan ketika diprogram ulang

menggunakan bahasa C (Code Vision AVR). Penerbit Informatika, Bandung, 2008.

Lampiran 1

Gambar 1. Robot Kontrol Digital Motor Kanan Bergerak

Gambar 4. Robot Kontrol Digital kedua Motor Bergerak Mundur

Gambar 2. Robot Kontrol Digital Motor Kiri Bergerak

Gambar 3. Robot Kontrol Digital kedua Motor Bergerak Maju

Lampiran 2

// Input/Output Ports initialization // Port B initialization

PROGRAM

ROBOT

KONTROL

//

Func7=In

Func6=In

Func5=In Func2=Out

DIGITAL MENGGUNAKAN CV AVR

Func4=In

Func3=In

Func1=Out Func0=In /****************************** This program was produced by the CodeWizardAVR Professional Automatic Program Generator Copyright 1998-2010 Pavel Haiduc, HP InfoTech s.r.l. http://www.hpinfotech.com // Port C initialization // Func6=In Func5=In Func2=In Func4=In Func1=In V2.05.0 // State7=T State6=T State5=T

State4=T State3=T State2=0 State1=0 State0=T PORTB=0x00; DDRB=0x06;

Func3=In Project : Version : Date : 11/29/2012 Func0=In // State6=T

State5=T

State4=T

State3=T State2=T State1=T State0=T PORTC=0x00; DDRC=0x00;

Author : Abdul Rohman Company : Comments:

// Port D initialization // Chip type Program type AVR Core : ATmega8 : Application Clock frequency: Func7=In Func6=In Func3=In Func5=In Func2=In

Func4=In

Func1=In Func0=In // State7=T State6=T State5=T

12.000000 MHz Memory model External RAM size Data Stack size : Small :0 : 256

State4=T State3=T State2=T State1=T State0=T PORTD=0x00; DDRD=0x00;

******************************/ // Timer/Counter 0 initialization #include <mega8.h> // Clock source: System Clock // Clock value: Timer 0 Stopped #include <delay.h> TCCR0=0x00; TCNT0=0x00; // Declare your global variables here // Timer/Counter 1 initialization void main(void) { // Declare your local variables here // Clock source: System Clock // Clock value: 11.719 kHz // Mode: Fast PWM top=0x00FF // OC1A output: Non-Inv. // OC1B output: Non-Inv.

// 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=0xA1; TCCR1B=0x0D; TCNT1H=0x00; TCNT1L=0x00; ICR1H=0x00; ICR1L=0x00; OCR1AH=0x00; OCR1AL=0x00; OCR1BH=0x00; OCR1BL=0x00;

// Analog Comparator Input Capture by Timer/Counter 1: Off ACSR=0x80; SFIOR=0x00;

// ADC initialization // ADC disabled ADCSRA=0x00;

// SPI initialization // SPI disabled SPCR=0x00;

// TWI initialization // TWI disabled TWCR=0x00; DDRD.0=0; // mendefinisikan sebagai

// 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;

input DDRD.1=0; // mendefinisikan sebagai input DDRD.2=0; // mendefinisikan sebagai input DDRD.3=0; // mendefinisikan sebagai input DDRD.5=1; // mendefinisikan sebagai ouput DDRD.6=1; // mendefinisikan sebagai

// External Interrupt(s) initialization // INT0: Off // INT1: Off MCUCR=0x00;

ouput DDRD.7=1; // mendefinisikan sebagai ouput DDRB.0=1; // mendefinisikan sebagai ouput

//

Timer(s)/Counter(s)

Interrupt(s)

PORTD.0=1; // kondisi awal PORTD.1=1; PORTD.2=1; PORTD.3=1;

initialization TIMSK=0x00;

// USART initialization // USART disabled UCSRB=0x00;

PORTD.5=1; PORTD.6=1; PORTD.7=1; PORTB.0=1;

// Analog Comparator initialization // Analog Comparator: Off

OCR1A=200; // pengatur kecepatan motor menggunakan PWM

OCR1B=200; while (1) { if (PIND.0==0) //gerak kiri { PORTD.5=1; PORTD.6=0; PORTD.7=0; PORTB.0=0; }

else if (PIND.1==0) kanan { PORTD.5=0; PORTD.6=0; PORTD.7=1; PORTB.0=0; } else if (PIND.2==0) { PORTD.5=1; PORTD.6=0; PORTD.7=1; PORTB.0=0; } else if (PIND.3==0) mundur { PORTD.5=0; PORTD.6=1; PORTD.7=0; PORTB.0=1; } else { PORTD.5=0; PORTD.6=0; PORTD.7=0; PORTB.0=0; } } //diam

//gerak

//gerak maju

//gerak

Anda mungkin juga menyukai