MENGGUNAKAN MIKROKONTROLER PIC 16F84 UNTUK … 11_2... · Jurnal SAINTIKOM Vol. 11 / No. 2 ......

4
MENGGUNAKAN MIKROKONTROLER PIC 16F84 UNTUK SISTEM ROBOTIKA Zulfian Azmi Program Studi Sistem Komputer, STMIK Triguna Dharma Jl. A.H. Nasution No. 73F-Medan [email protected] Abstrak Sistem Robotika merupakan bagian dari kecerdasan buatan, yang yang dapat menggantikan pekerjaan manusia yang berbahaya. Sistem Robot modern memiliki karakteristik sensing, mampu bergerak, memiliki kecerdasan buatan dan membutuhkan energi yang memadai agar unit pengontrol dan actuator dapat menjalankan fungsi dengan baik. Robot yang kompleks membutuhkann mikrokontroler yang memadai. Semua input yang diterima oleh sensor akan diolah oleh mikrokontroler. Melalui program yang telah dibuat. Mikrokontroler akan melakukan aksi ke actuator, seperti lengan robot dan kaki robot. Dalam suatu mikrokontroler terdapat CPU, memori Bus,I/O.unit waktu (Timer),Watchdog Timer, ADC, dan komunikasi serial yang dibutuhkan robot. Penggunaan Mikrokontroler PIC 16F84 merupakan salah satu pilihan tepat karena komponen ini merupakan Mikrokontroler modern termasuk dalam mikrokontroler RISC 8 bit yang umumnya menggunakan arsitektur Harvard Machine yang menggunakan bus untuk memori data dan memori program terpisah sehingga dapat menghindari terjadinya manipulasi antara data dan program. Mikrokontroler menggunakan teknologi CMOS yang memiliki banyak keuntungan antara lain yaitu konsumsi daya yang rendah, tidak mudah terpengaruh noise, dan beroperasi dengan cepat dan level tegangan tertentu. Dan menggunakan memori flash yang memungkinkan program dapat dihapus dan diisi kembali hingga 1000 kali. Kata Kunci: Mikrokontroler, Robot, Microcontroller PIC16F84 Abstract Robotic Systems is a part of artificial intelligence, which can replace the human work is dangerous. Modern robot system has the characteristics of sensing, unable to move, has artificial intelligence and require adequate energy control unit and actuators that can function properly. Robots are complex membutuhkann adequate microcontroller. All input received by the sensor will be processed by a microcontroller. Through the program have been made. Microcontroller will take action to the actuator, such as a robotic arm and a leg robot. Contained in a microcontroller CPU, memory bus, I / O.unit time (Timer), Watchdog Timer, ADC, and a serial communications required robot. Using PIC Microcontroller 16F84 is one right choice because this component is included in modern microcontrollers 8-bit RISC microcontrollers generally uses the Harvard architecture Machine that uses a bus to the data memory and program memory separately so as to avoid any manipulation of the data and programs. Microcontroller uses CMOS technology that has many advantages such as the low power consumption, it is not easily influenced noise, and operate quickly and given stress level. And using flash memory which allows the program to be removed and recharged up to 1000 times. Keywords: Microcontroller, Robot, Microcontroller PIC16F84

Transcript of MENGGUNAKAN MIKROKONTROLER PIC 16F84 UNTUK … 11_2... · Jurnal SAINTIKOM Vol. 11 / No. 2 ......

Page 1: MENGGUNAKAN MIKROKONTROLER PIC 16F84 UNTUK … 11_2... · Jurnal SAINTIKOM Vol. 11 / No. 2 ... mikroprosesor seperti Intel Pentium hanya ... dimana orientassi dan penerapan mikrokontroler

MENGGUNAKAN MIKROKONTROLER PIC 16F84UNTUK SISTEM ROBOTIKA

Zulfian AzmiProgram Studi Sistem Komputer, STMIK Triguna Dharma

Jl. A.H. Nasution No. [email protected]

Abstrak

Sistem Robotika merupakan bagian dari kecerdasan buatan, yang yang dapat menggantikanpekerjaan manusia yang berbahaya. Sistem Robot modern memiliki karakteristik sensing, mampubergerak, memiliki kecerdasan buatan dan membutuhkan energi yang memadai agar unitpengontrol dan actuator dapat menjalankan fungsi dengan baik. Robot yang kompleksmembutuhkann mikrokontroler yang memadai. Semua input yang diterima oleh sensor akandiolah oleh mikrokontroler. Melalui program yang telah dibuat. Mikrokontroler akan melakukanaksi ke actuator, seperti lengan robot dan kaki robot. Dalam suatu mikrokontroler terdapat CPU,memori Bus,I/O.unit waktu (Timer),Watchdog Timer, ADC, dan komunikasi serial yang dibutuhkanrobot. Penggunaan Mikrokontroler PIC 16F84 merupakan salah satu pilihan tepat karenakomponen ini merupakan Mikrokontroler modern termasuk dalam mikrokontroler RISC 8 bit yangumumnya menggunakan arsitektur Harvard Machine yang menggunakan bus untuk memori datadan memori program terpisah sehingga dapat menghindari terjadinya manipulasi antara data danprogram. Mikrokontroler menggunakan teknologi CMOS yang memiliki banyak keuntunganantara lain yaitu konsumsi daya yang rendah, tidak mudah terpengaruh noise, dan beroperasidengan cepat dan level tegangan tertentu. Dan menggunakan memori flash yang memungkinkanprogram dapat dihapus dan diisi kembali hingga 1000 kali.

Kata Kunci: Mikrokontroler, Robot, Microcontroller PIC16F84

AbstractRobotic Systems is a part of artificial intelligence, which can replace the human work is dangerous.Modern robot system has the characteristics of sensing, unable to move, has artificial intelligenceand require adequate energy control unit and actuators that can function properly. Robots arecomplex membutuhkann adequate microcontroller. All input received by the sensor will beprocessed by a microcontroller. Through the program have been made. Microcontroller will takeaction to the actuator, such as a robotic arm and a leg robot. Contained in a microcontroller CPU,memory bus, I / O.unit time (Timer), Watchdog Timer, ADC, and a serial communications requiredrobot. Using PIC Microcontroller 16F84 is one right choice because this component is included inmodern microcontrollers 8-bit RISC microcontrollers generally uses the Harvard architectureMachine that uses a bus to the data memory and program memory separately so as to avoid anymanipulation of the data and programs. Microcontroller uses CMOS technology that has manyadvantages such as the low power consumption, it is not easily influenced noise, and operatequickly and given stress level. And using flash memory which allows the program to be removedand recharged up to 1000 times.

Keywords: Microcontroller, Robot, Microcontroller PIC16F84

Page 2: MENGGUNAKAN MIKROKONTROLER PIC 16F84 UNTUK … 11_2... · Jurnal SAINTIKOM Vol. 11 / No. 2 ... mikroprosesor seperti Intel Pentium hanya ... dimana orientassi dan penerapan mikrokontroler

Zulfian Azmi: Menggunakan Mikrokontroler PIC 16F84…

Jurnal SAINTIKOMVol. 11 / No. 2 / Mei 2012

PENDAHULUANRobot modern memiliki karakteristik sen-

sing, dapat mendeteksi lingkungan sekitarnya,halangan, panas, suara dan image. Mampubergerak, dengan menggunakan kaki atau roda,cerdas, memiliki kecerdasan buatan agar dapatmemutuskan aksi yang tepat dan akurat danmembutuhkann energy yang memadai agarunit pengontrol dan actuator dapatmenjalankan fungsi dengan baik. Robot yangkompleks membutuhkan mikrokontroler yangmemadai. Semua input yang diterima olehsensor akan diolah oleh mikrokontroler.Melalui program yang telah dibuat,mikrokontroler akan melakukan aksi keactuator, seperti lengan robot atau roda dankaki robot. Mikrokontroler sebagai pengontrolsuatu sistem sesuai dengan yang diinginkanbaik itu sistem analog maupun sistem digital.Secara umum cara kerja sama sepertikomputer, karena mikrokontroler ini bisadikatakan sebagai komputer yang dimasukkandalam satu IC (integrated circuit) atau chip,sehingga ukurannya kecil. Mikrokontroler jugaterdiri dari dari prosesor, memori dan I/O(input/output) seperti pada komputer.Perbeda-annya dengan komputer adalahmikrokontroler hanya dapat menyimpan satuprogram, tidak seperti pada komputer dapatmenyimpan banyak program.

Mikrokontroler dan mikroprosesor iniberbeda dalam banyak hal. Dalam komputer,mikroprosesor seperti Intel Pentium hanyadapat bekerja bila ada komponen pendukungseperti memori,hard disk, motherboard,komponen untuk menerima dan mengirimdata, dan lainnya. Mikroprosesor hanya bisamem-proses data, tetapi tidak dapatmenyimpan program, mernyimpan data,ataupun menyam-paikan data hasilpemerosesan ke keluaran. TetapiMikrokontroler dapat melakukan semua itusemua karena mikrokontroler telah dilengkapidengan kompoen pendukung seperti memoriprogram, memori data, register maupun input-

output. Oleh karena itu, mikrokontroler dapatmenyimpan program atau data danmengeksekusinya lalu memberikan hasilkeluaran melalui port-port IO-nya (input-output). Sehingga Mikrokontroler merupakankomponen utama pada pembuatan sebuahrobot.

Pemograman mikrokontroler merupakandasar dari prinsip pengontrolan kerja robot,dimana orientassi dan penerapanmikrokontroler adalah untuk mengendalikansuatu sistem berdasarkan informasi input yangditerima, yang kemudian diproses olehmikrokontroler, dan dilakukan aksi pada bagianoutput sesuai program yang telah ditentukansebelumnya. Mikrokontroler merupakanpengontrol utama perangkat elektronika saatini, termasuk robot tentunya. Mikrokontroleryang terkenal diantaranya seperti 89S51,AVRATmega 8535,Atmega 16,Atmega32,Atmega128,16F64. Beberapa merek lain yangterkenal,misalnya PIC 16F877 dan BasicStamp2. Dan pada pembahasan ini bagaimanakita memilih menggunakan Mikrokontroler16F64 dari segi kelebihannya.

PEMBAHASANMikrokontroler PIC16F84 merupakan salah

satu mikrokontroler modern termasuk dalammikrokontroler RISC 8 bit yang umumnyamenggunakan arsitektur Harvard Machine.Arisitektur Harvard machine menggunakan busuntuk memori data dan memori programterpisah sehingga dapat menghindari terjadinyamanipulasi antara data dan program.Mikrokontroler PIC 16F84 merupakan salahsatu keluarga PIC16F8X yang menggunakanteknologi CMOS (Compementary Metal OxideSemiConductor). Penggunaan tek-nologi CMOSini memiliki beberapa keuntung-an antara lainyaitu konsumsi daya yang rendah, tidak mudahterpengaruh noise, dan beroperasi dengancepat dan level tegangan tertentu. Selain itumikrokontroler ini juga menggunakan memori

132

Page 3: MENGGUNAKAN MIKROKONTROLER PIC 16F84 UNTUK … 11_2... · Jurnal SAINTIKOM Vol. 11 / No. 2 ... mikroprosesor seperti Intel Pentium hanya ... dimana orientassi dan penerapan mikrokontroler

Zulfian Azmi: Menggunakan Mikrokontroler PIC 16F84…

Jurnal SAINTIKOMVol. 11 / No. 2 / Mei 2012

flash yang memungkinkan program dapatdihapus dan diisi kembali hingga 1000 kali.

Pada Mikrokontroler PIC, pengeksekusiansatu instruksi membutuhkan 4 clock. Hal iniberarti jika menggunakan clock frekuensisebesar 1 MHz, maka priode clock yang didapatsebesar 1 Mikro second sehingga untukmengeksekusi 1 buah instruksi atau instructionCycle Time membutuhkan waktu 4 Mikrosecond. Clock frekuensi maksimum yangdidapat digunakan mikrokontroler keluarga PICini mencapai 33 MHz, sehingga instruction cycletime maksimum mencapai 121 nano second. .Keluarga PIC 16FXX hanya memiliki 35 instruksidan keluarga PIC 17XXX hanya memilikisebanyak 58 instruksi.

Kemudian kalau ditinjau dariSpesifikasinya, Mikrokontroler PIC 16F84diantarnya kapasitas memori program sebesar1024 x 14 flash memori, RAM berukuran 68byte, memori data berukuran 64 Byte padaEEPROM memiliki 35 instruksi, memiliki timer 8bit dengan prescaller 8 bit , memiliki 13 I/O (5port A dan 8 port B), konsumsi daya yangrendah, tegangan operasi 5 VDC.

Pada mikrokontroler PIC 16F84 ini jugamemiliki pin sebanyak 18 buah dengan pinsebanyak 13 yang terdiri dari 5 pin port A dan 8pin port B. Dan Mikrokontroler PIC 16F84memiliki 2 blok memori yaitu memori programdan memori data. EEPROM dan RAM digunakansebagai memori data, sedangkan memori flashdigunakan sebagai memori program.

Pada Bank Memory, yang terdapat dalammikrokrontroler 16F84 terbagi menjadi 2 Bank,yaitu Bank 0 dan Bank 1. Bank ini dapatdiilustrasikan sebagai halaman pada buku. Jikaingin mencari suatu kata dalam kamus, makakita harus mengetahui letak kata tersebutberada dihalaman berapa. Hal ini tidak berbedadengan peta memori yang terdapat padaMikrokontroler yang hanya memilki 2 bank.Bank 1 biasa digunakan untuk kendali operasiyang aktual,misalnya untuk menetapkkan bit-bit mana port 1 yang ingin digunakan sebagai

input output,sedangkan bank 0 digunakanuntuk keperluan manipulasi data. Pengaturanletak bank dapat dilakukan pada register statuspada bit RP1 dan RP0.

Pada Mikrokontroler PIC 16F84 memiliki 8level stack dengan lebar data 13 bit. Memoristack ini digunakan untuk menyimpan nilai yangterdapat dalam program counter atau berisialamat selanjutnya yang akan dieksekusi olehCPU pada saat program sedang melakukaninstruksi lompat ke subprogram. Jadi pada saatsubprogram telah dieksekusi yang biasanyadiakhiri dengan instruksi RETURN,RETLW danRETFIE, maka nilai paling atas yang terdapatdalam stack akan diambil dan diletakkankembali dalam program counter sebagai alamatpengeksekusian instruksi berikutnya.

Dalam pemograman mikrokontrolerPIC16F84 sering kali di jumpai sejumlahkelompok instruksi yang dipakai secaraberulang. Pemograman assembly sangatsensitive terhadap kesalahan penulisan.Kesalahan dalam penulisan label saja dapatberjalan sesuai dengan yang diharapkan. Padapemograman PIC 16F84 dengan menggunakanMPLAB juga membutuhkan ketelitian dalamperancangan program. MPLAB merupakansuatu perangkat lunak berbasis windows yangdapat memudahkan kita dalam menulis kodeprogram.MPLAB memiliki fungsi yangdigunakan untuk pengembangan PICMicroseperti edit program assembly dan simulasi.

Kesalahan dalam penggunaan huruf kapitaljuga dapat menyebabkan terjadinya error.Karena itu salah satu cara yang tepat untukmenghindarinya adalah dengan membuatprogram secara perbagian sehingga pengujiandapat juga dapat dilakukan secara perbagian.Dengan demikian , kesalahan penulisan padaprogram dapat diddeteksi dengan mudah.Pembuatan program secara perbagian dapatdilakukan dengan macro dan sub programs.

Pada Microcontroller PIC ini memiliki 4sumber interupsi yang dapat dikelompokkanmenjadi 2 group. Group pertama termasuk

133

Page 4: MENGGUNAKAN MIKROKONTROLER PIC 16F84 UNTUK … 11_2... · Jurnal SAINTIKOM Vol. 11 / No. 2 ... mikroprosesor seperti Intel Pentium hanya ... dimana orientassi dan penerapan mikrokontroler

Zulfian Azmi: Menggunakan Mikrokontroler PIC 16F84…

Jurnal SAINTIKOMVol. 11 / No. 2 / Mei 2012

dalam intrupsi eksternal dan group keduamerupakan interupsi internal. Pada PIC 16F84terdapat pin ke-6 yaitu RB0/INT. Simbol INTmenjelaskan bahwa port RB0 tersebut dapatdigunakan RB0 sebagai pin interupsi, ada 2 halyang harus kita lakukan. MikrokontrolerPIC16F84 memiliki 4 sumber interupsi dimanasumber interupsi yaitu: Interupsi setelahpenulisan EEPROM selesai, Interupsi pada saatTMR overflow, Interupsi pada saat terjadiperubahan pada pin RB4-RB7, Interupsieksternal melalui pin RB0/INT.

Secara umum, setiap interupsimembutuhkan 2 bit yang saling berhubungan.Satu bit untuk mengaktifkan interupsi dan bityang lain untuk mendeteksi terjadinyainterupsi. Salah satu bit tersebut adalah GIEseperti yang telah dijelaskan diatas bahwa bitini digunakan untuk mengaktifkan semuainterupsi. Sehingga jika ingin mengaktifkaninterupsi, bit ini harus diaktifkan terlebihdahulu baru kemudian diakui bit-bit yang lainsesuai dengan interupsi sesuai dengan interupsiyang diinginkan.

Untuk mendownload program yang telahdibuat tersebut ke dalam chip PIC16F84 adalahdengan melakukan proses downloaddibutuhkan suatu interface atau board yangberfungsi sebagai downloader.

Kemudian jika ditinjau Catu Daya dariMikrokontroler PIC16F84, kinerja sistemmikrokontroler sangat dipengaruhi oleh catudaya yang diberikan pada mikrokontroler.Apabila catu daya yang diberikan terlalu besar,maka akan menyebabkan Mikrokontrolermenjadi rusak. Sebaliknya, apabila catu dayayang diberikan terlalu kecil, makaMikrokontroler tidak akan berfungsi denganbaik. Besarnya catu daya yang diperukan untuksebuah mikrokontroler adalah 5VDC. Catu daya5 V ini dapat dibuat dengan menggunakanIC7805. IC7805 memiliki banyak jenistergantung dari arus yang dibutuhkan. Jikadigunakan untuk sistem yang konsumsi arusnya1 A, maka digunakan IC regulator dengan tipe

LM7805 dengan kemasan TO-220 yangdilengkapi dengan metal pendingin. Apabilaarus yang digunakan hanya sekitar 50 mA,makadigunakan tipe LM78L05 dengan kemasan TO-92 yang dapat menangani arus hingga 100mA.

SIMPULANRobot yang kompleks membutuhkann

mikrokontroler yang memadai untuk dapatmendeteksi lingkungan sekitarnya darihalangan, panas, suara dan image. Mampubergerak, dengan menggunakan kaki atau roda,cerdas. Memiliki kecerdasan buatan agar dapatmemutuskan aksi yang tepat dan akurat danmembutuhkann energy yang memadai agarunit pengontrol dan actuator dapatmenjalankan fungsi dengan baik dan semuainput yang diterima oleh sensor akan diolaholeh mikrokontroler.

Mikrokontroler tidak sama dengan jenis ICatau chip yang lainnya. Mikrokontroler adalahchip yang dapat diprogram sesuai denganaplikasi yang ingin digunakan sedangkan IC atauchip yang lain telah memiliki fungsi yang tetapatau tidak dapat diubah lagi. Mikrokontrolerdeprogram dengan menggunakan bahasaassembly yang kemudian harus dikompilasimenjadi file.hex agar dapat di download kedalam mikrokontroler.

DAFTAR PUSTAKA

Budiharto Widodo. 2010. Robotika, Teori danImplementasi. Yogyakarta: ANDI.

Husanto Thomas. 2008. Kupas TuntasMikrokontroler PIC 16F84. Yogyakarta:ANDI.

Simarmata Janner. 2005. Pengenalan TeknologiKomputer dan Informasi. Yogyakarta:ANDI.

Stallings William. 2003. Operating SystemInternals and Design Priciples. PT.Prenhalindo. Jakarta: ANDI.

Sutabri Tata. 2005. Sistem InformasiManajemen. Yogyakarta: ANDI.

134