1397_robot pengelasan (hardware)

80
PROYEK AKHIR ROBOT PENGELASAN ( Hardware) Rizqi Firmansyah NRP. 7103 030 064 Dosen Pembimbing: Ir. Dedit Cahya Happyanto, MT NIP. 131 694 603 JURUSAN TEKNIK ELEKTRONIKA POLITEKNIK ELEKTRONIKA NEGERI SURABAYA SURABAYA 2006

Upload: mathius-nugroho-n

Post on 12-Nov-2015

44 views

Category:

Documents


2 download

DESCRIPTION

elektro

TRANSCRIPT

  • PROYEK AKHIR

    ROBOT PENGELASAN( Hardware)

    Rizqi FirmansyahNRP. 7103 030 064

    Dosen Pembimbing:Ir. Dedit Cahya Happyanto, MT

    NIP. 131 694 603

    JURUSAN TEKNIK ELEKTRONIKAPOLITEKNIK ELEKTRONIKA NEGERI SURABAYA

    SURABAYA 2006

  • ROBOT PENGELASAN ( HARDWARE )

    Oleh :

    RIZQI FIRMANSYAH7103 030 064

    Proyek Akhir ini Diajukan Sebagai Salah Satu Syarat UntukMemperoleh Gelar Ahli Madya ( A.Md. )

    DiPoliteknik Elektronika Negeri Surabaya

    Institut Teknologi Sepuluh Nopember Surabaya

    Disetujui Oleh:

    Tim Penguji Proyek Akhir : Dosen Pembimbing:

    1. Eko Henfri Binugroho, SST 1. Ir. Dedid Cahya Happyanto, MT NIP. 132 303 875 NIP. 131 694 603

    2. Ir. Rika Rokhana, MT NIP. 132 206 863

    3. Mohammad Syafrudin,ST,M.Eng NIP. 131 884 954

    Mengetahui :Ketua Jurusan Teknik Elektronika

    Ir. Dedid Cahya Happyanto, MTNIP. 131 694 603

  • ABSTRAK

    Pada proyek akhir ini, kami akan menjelaskan bagaimana membuatsuatu prototipe robot pengelasan. Robot pengelasan ini termasukkedalam jenis robot arm, dimana keandalan robot sangat tergantungpada piranti yang dipasang pada lengan robot. Piranti tersebut dikenalsebagai end effector. Untuk mencapai keandalan robot tersebut, dalamproyek akhir ini diberikan alat pengelasan pada end effector robot. Alatpengelasan tersebut harus mampu mengikuti objek berupa garis putihlurus yang ada pada dasar tempat meletakkan objek.Robot ini dilengkapi dengan kamera sebagai alat pengidentifikasi objek.Kamera tersebut terhubung dengan komputer dan diletakkan pada endeffector robot, kemudian komputer menggerakkan tiga buah motor DCsecara bersamaan berdasarkan data ADC dari mikrokontrollerATmega16( L ) melalui komunikasi serial RS 232 untuk mencari objekyang berupa garis putih lurus. Jika objek tersebut dikenali makakomputer akan menggerakkan robot untuk mendapatkan tanggapan yangberupa kemampuan pensil dalam mengikuti keseluruhan dari garis putihlurus tersebut. Pada kenyataannya robot hanya mampu mengikuti sedikitdari keseluruhan garis putih lurus tanpa bisa bergerak padakeseluruhan garis putih. Hal tersebut dikarenakan keterbatasan metodeyang digunakan dalam mengaplikasikannya dan penggunaan sensorposisi yang kurang presisi. Setelah dilakukan pengujian padakeseluruhan sistem didapatkan persentase error sebesar 81% untukobjek sepanjang 12 cm, 82,3% untuk objek sepanjang 10 cm, 40% untukobjek sepanjang 5 cm, dan 50% untuk objek sepanjang 4 cm .

    Kata kunci: Mikrokontroller ATmega16( L ), Komunikasi serial, Robotpengelasan.

  • ABSTRACT

    In this final project, we will describe how to make a welding robotprototype. This welding robot is involves in the classification of armrobot, where the robustness of the robot is depend on the deviceimplemented at the arm of the robot. Those device is known as endeffector. To reach the robustness of the robot, in this final project awelding tool is implemented to the end effector of the robot. This weldingtooll must has capability to follow an object. The object is a white line inthe bottom of the place where the object is lied.This robot is completed by a camera as a device to identified the object.Those camera is connected to the computer, then by the result of objectrecognizing before which is done by the camera, the computer will drivethree DC motors in the same time based on ADC data?s frommicrocontroller ATmega16( L ) through serial communication RS232 toget a response in a capability of pencil to recognizing the white line. Infact, the robot just has capability to point the white line without acapability to move the pencil along the whole white line. That problemare caused by the position censor can?t precision and the lack of themethod which is used to apply it. After evaluate the whole systems, weget an error approximately 81% for object as long as 12 cm, 82,3% forobject as long as 10 cm, 40% for object as long as 5 cm, and 50% forobject as long as 4 cm.

    Keyword: microcontroller ATmega16(L), serial communication, weldingrobot.

  • KATA PENGANTAR

    Alhamdulillah, segala puji syukur kehadirat Illahi Robbi AllahSWT yang telah melimpahkan rahmat, hidayah serta karunia-Nya yangtiada henti dan tidak lupa Shalawat dan salam semoga senantiasatercurahkan kepada Nabi yang terakhir, Nabi seluruh alam, RasulullahMuhammad SAW beserta keluarga, para sahabat serta seluruhpengikutnya sehingga penulis dapat menyelesaikan buku laporan TugasAkhir ini dengan judul :

    ROBOT PENGELASAN ( HARDWARE )

    Tugas akhir ini disusun untuk melengkapi persyaratanakademik dalam penyelesaian program pendidikan Diploma 3 padajurusan Teknik Elektronika Politeknik Elektronika Negeri SurabayaInstitut Teknologi Sepuluh Nopember Surabaya.

    Untuk menyusun dan menyelesaikan proyek akhir ini, penulismendasarkan literatur-literatur yang menunjang, hasil pengamatan danhasil penelitian serta uji coba selama perencanaan dan pembuatan alat,bimbingan dari dosen pembimbing serta sumbangan pemikiran dan sarandari semua pihak yang turut membantu hingga terselesaikannya tugasakhir ini.

    Sebagai penutup, tak ada gading yang tak retak mengibaratkanbahwa pada tugas akhir ini masih terdapat banyak kelemahan dankekurangan, meskipun penulis telah berusaha untuk melakukan yangterbaik. Dan akhir kata penulis berharap semoga tugas akhir ini dapatmemberi manfaat bagi penulis dan rekan-rekan mahasiswa padakhususnya serta seluruh pembaca pada umumnya.

    Surabaya, Agustus 2006

    Penulis

  • UCAPAN TERIMA KASIH

    Atas berkah rahmat Allah SWT serta dengan segala hormat dankerendahan hati, Saya selaku penyusun dan penulis tak lupamengucapkan banyak terima kasih kepada semua pihak yang banyakmemberikan masukan dan bantuan sehingga tugas akhir ini dapatterselesaikan dengan baik. Sujud syukur penulis haturkan kepada AllahSWT karena atas berkah rahmat-Nya penulis telah diberikan kesempatanuntuk menyelesaikan tugas akhir ini, juga tak lupa penulis ucapkanterima kasih kepada :

    1. Ayah dan ibunda, kakakku, adikku dan semua keluarga tercintayang telah memberikan dukungan doa, motivasi, materiil, kasihsayang dan segala-galanya yang tidak akan pernah bisa terukurnilainya.

    2. Bapak Dr. Ir. Titon Dutono, M.Eng selaku Direktur PoliteknikElektronika Negeri Surabaya.

    3. Bapak Ir. Dedid Cahya H, MT selaku Ketua Jurusan TeknikElektronika yang selalu memberikan yang terbaik bagi penulis.

    4. Bapak Ir. Dedid Cahya H, MT dan Eru Puspita, ST, M. Komselaku dosen pembimbing yang telah banyak memberikan ilmu,pengarahan, bimbingan, dan masukan-masukan kepada penulisselama mengerjakan Tugas Akhir ini.

    5. Partner TA-ku M. Fadlur Rahman, tiada kata yang terucapselain please forgive me and thank you very much.

    6. Dedek TMB 95 yang selalu memberi aku semangat, yang selalumengingatkan dan marahin aku, serta semua doa, bantuan danpengertiannya, memang dedek yang terbaik ??re d one n only4eva.

    7. C.V. COSTECH yang sudah banyak membantu terutama BJ,aim, soni, komting, dan yohan.

    8. Seluruh Bapak Ibu dosen PENS-ITS yang telah membagikanilmunya, mohon maaf penulis tidak dapat menyebutkan satu-persatu.

    9. Arek-arek di lab TA ( Turu Awan) lantai 2 dan semua teman-teman ELKA angkatan 2003.

    10. Seluruh karyawan-karyawan PENS-ITS serta pak satpam yangdengan setia menjaga keamanan kampus dimalam hari.

    11. M2 TERRORIST yang selalu ceria dan ramai menemaniaktivitas sehari-hari di kost.

  • 12. S 3051 AS yang selalu setia mengantarku kemana saja.13. Semua pihak yang telah membantu dalam penyelesaian tugas

    akhir ini yang tidak dapat penulis sebutkan satu-persatu.

    Semoga Allah SWT membalas budi baik mereka sertamemberikan hidayah dan inayah-Nya sehingga menjadi manusia yangselamat dunia dan akhirat, Amin..

    Surabaya, Agustus 2006

    Penulis

  • DAFTAR ISI

    HALAMAN JUDUL .................................................................... iLEMBAR PENGESAHAN ......................................................... iiABSTRAK ................................................................................... iiiABSTRACT ................................................................................. ivKATA PENGANTAR.................................................................. vUCAPAN TERIMA KASIH ........................................................ viDAFTAR ISI ................................................................................ viiiDAFTAR GAMBAR.................................................................... xDAFTAR TABEL ........................................................................ xi

    BAB I PENDAHULUAN ............................................................ 1 1.1 Latar Belakang .............................................................. 1 1.2 Tujuan.......................................................................... 1 1.3 Perumusan Masalah ...................................................... 2 1.3.1 Permasalahan.............................................................. 2 1.3.2 Batasan Masalah......................................................... 2 1.4 Metodologi ................................................................... 2 1.5 Sistematika Pembahasan ............................................... 3

    BAB II TEORI PENUNJANG.................................................... 5 2.1 Mikrokontroler AVR ATmega16L................................. 5

    2.1.1 Gambaran Umum..................................................... 5 2.1.2 Konfigurasi Pin ....................................................... 8 2.1.3 Port Sebagai Input/Output Digital ............................ 10 2.1.4 Port Sebagai ADC Digital........................................ 11

    2.1.5 Serial Pada ATmega16L.......................................... 16 2.2 Komunikasi Data Serial ................................................. 21 2.2.1 Metode Komunikasi ................................................ 21 2.2.2 Format Data Komunikasi Serial ............................... 22 2.2.3 Port Serial RS 232 ................................................... 24

    2.3 Piranti Masukan............................................................. 28 2.3.1 Webcam .................................................................. 29 2.3.2 Potensiometer.......................................................... 29

    2.4 Piranti Keluaran............................................................. 29 2.4.1 Teori Motor DC ...................................................... 30 2.4.3 Kontruksi Motor DC................................................ 32

    2.5 Transformasi ................................................................. 32 2.5.1 Dilatasi.................................................................... 33

  • 2.5.2 Rotasi...................................................................... 33

    BAB III PERENCANAAN DAN PEMBUATAN PERANGKATKERAS DAN MEKANIK............................................................ 37 3.1 Perencanaan Mekanik ................................................... 37

    3.2 Prinsip Kerja Sistem ........................................................ 383.3 Perencanaan Hardware .................................................... 40

    3.3.1 Rangkaian Sistem Minimum Mikrokontroler ATmega16L ........................................................... 41

    3.3.2 Rangkaian Downloader Sistem Minimum Mikrokontroler ATmega16L.................................... 443.3.3 Rangkaian Driver Motor DC .................................. 44

    BAB IV PENGUJIAN DAN ANALISA....................................... 474.1 Pengujian Minimum Sistem ATmega16L ...................... 474.2 Pengujian Komunikasi Serial ........................................ 484.3 Pengujian Rangkaian Driver Motor DC.......................... 494.4 Pengujian ADC Internal................................................. 504.5 Pengujian Sistem Keseluruhan ....................................... 51

    BAB V PENUTUP ....................................................................... 575.1 Kesimpulan ................................................................... 575.2 Saran ............................................................................. 57

    DAFTAR PUSTAKALAMPIRAN

  • DAFTAR GAMBAR

    Gambar 2.1 Blok Diagram Arsitektur ATmega16 ........................ 7Gambar 2.2 Pin-pin ATmega16L kemasan 40-pin ....................... 8Gambar 2.3 Timing diagram untuk Mode single-conversion ........ 12Gambar 2.4 Register ADMUX ................................................... 12Gambar 2.5 Register ADCSRA................................................... 13Gambar 2.6 Register ADCLAR = 0............................................. 14Gambar 2.7 Register ADCLAR = 1............................................. 14Gambar 2.8 Register SFIOR ....................................................... 15Gambar 2.9 Block diagram clock generasi logic .......................... 17Gambar 2.10 Operasi synchronous Clock ...................................... 19Gambar 2.11 Hubungan simplex ................................................... 21Gambar 2.12 Hubungan Half-Duplex ............................................ 22Gambar 2.13 Hubungan Full-Duplex............................................. 22Gambar 2.14 Format Data Serial .................................................. 24Gambar 2.15 Prinsip Dasar Port Serial .......................................... 25Gambar 2.16 Konektor Serial DB-9 pada bagian belakang CPU .... 26Gambar 2.17 WebCam ................................................................. 29Gambar 2.18 Prinsip Kerja Motor DC ........................................... 30Gambar 2.19 Bagian-Bagian Motor DC......................................... 32Gambar 2.20 Rotasi terhadap sumbu X.......................................... 34Gambar 2.21 Rotasi terhadap sumbu Y.......................................... 34Gambar 2.22 Rotasi terhadap sumbu Z.......................................... 35Gambar 3.1 Gambar mekanik robot pengelasan .......................... 38Gambar 3.2 Blok diagram sistem secara keseluruhan................... 39Gambar 3.3 Flowchart program robot pengelasan ........................ 40Gambar 3.4 Rangkaian Sistem Minimum Mikrokontroler ATmega16L............................................................. 41Gambar 3.5 Rangkaian Downloader Mikrokontroler ATmega16L............................................................. 44Gambar 3.6 Gambar rangkaian driver IC L293D ......................... 45Gambar 3.7 Gambar rangkaian TLP 521 dan 74LS04 .................. 45Gambar 4.1 Diagram blok dari rangkaian pengujian Mikrokontroller ....................................................... 47

  • DAFTAR TABEL

    Tabel 2.1 Konfigurasi pin port..................................................... 11Tabel 2.2 Bit pemilih tegangan ref............................................... 13Tabel 2.3 Pemilihan scaning ADC .............................................. 15Tabel 2.4 Persamaan untuk menyeting perhitungan register baud rate ............................................................................ 18Tabel 2.5 Konfigurasi pin dan nama sinyal konektor serial DB-9 ......................................................................... 26Tabel 2.6 Nama register yang digunakan beserta alamatnya ........ 27Tabel 4.1 Data hasil pengujian rangkaian driver .......................... 50Tabel 4.2 Data hasil pengujian adc ............................................. 51Tabel 4.3 Pengujian sistem keseluruhan ...................................... 52Tabel 4.4 Keberhasilan robot mengikuti objek sepanjang 12 cm .. 53Tabel 4.5 Keberhasilan robot mengikuti objek sepanjang 10 cm .. 53Tabel 4.6 Keberhasilan robot mengikuti objek sepanjang 5 cm .... 54Tabel 4.7 Keberhasilan robot mengikuti objek sepanjang 4 cm .... 54

  • BAB IPENDAHULUAN

    1.1. LATAR BELAKANGPerkembangan alat pengelasan dalam industri manufaktur

    memberikan dampak yang sangat besar terhadap dunia robotika. Salahsatu jenis robot yang sering digunakan dalam industri manufaktur adalahrobot pengelasan yaitu sekitar 28 % [1]. Hal ini tentu saja menuntutmanusia untuk dapat mengikuti perkembangannya. Robot pengelasanmempunyai peranan yang tidak bisa diabaikan, salah satunya adalahdapat menggantikan fungsi dari bagian tubuh manusia, misalnya fungsidari tangan dan mata manusia. Dalam hal yang lebih spesifik lagi,manusia melakukan pengelasan dengan bantuan tangan dan pengenalanobjek yang akan dilas melalui mata. Selain itu saat ini manusiamempunyai berbagai macam kegiatan yang membutuhkan waktu efisiendimana hal ini dapat diatasi dengan menggantikan tenaga manusiadengan tenaga robot karena robot dapat bekerja secara terus-menerus.Dengan menggunakan robot pengelasan maka resiko kecelakaanpengelasan pada tempat yang tinggi dapat dikurangi serta mendapatkanhasil pengelasan yang optimal dibandingkan melakukan pengelasanmanual. Dilain pihak biaya untuk mendatangkan robot pengelasan inisangat mahal dan rata-rata para industri manufaktur tersebutmendatangkan robot pengelasan ini dari luar negeri, sehingga masihjarang industri manufaktur yang menggunakan robot pengelasan.

    Untuk itu dalam tugas akhir ini akan dirancang sebuah prototiperobot pengelasan dengan penyediaan kontrol yang baik sehingga robotmampu mengenali objek dan mampu mengelasnya secara tepat. Robotpengelasan ini dirancang dengan memadukan sensor kamera sebagai alatidentifikasi obyek, potensiometer sebagai sensor posisi, rangkaian driver,dan rangkaian lainnya serta pemrograman dalam bahasa C dan softwareberbasis Visual Basic. Respon yang tinggi dari suatu alat pendeteksisangat diperlukan pada aplikasi ini, sehingga peralatan tersebut dapatdiandalkan dan diharapkan dapat menggantikan serta meringankan kerjamanusia.

    1.2. TUJUANTujuan yang ingin dicapai dalam pembuatan tugas akhir ini adalah

    untuk membuat prototipe robot pengelasan dengan mengaplikasikanmikrokontroller ATmega16( L ) yang digunakan sebagai kontrol ADC

  • yang berasal dari tiga buah potensiometer untuk mengetahui posisimasing masing joint robot yang menggunakan motor DC sebagaipenggeraknya. Dengan terselesaikannya tugas akhir ini diharapkan adanya prosesalih teknologi serta penguasaan dan pengalaman terhadap ilmu yangdiperoleh dan akhirnya robot ini dapat berguna dan dapat diaplikasikandimasa mendatang.

    1.3. PERUMUSAN MASALAH Sistem kontrol elektronika memiliki fungsi sebagai pengendalikegiatan yang dilakukan oleh robot pengelasan ini sehingga dapatmenghasilkan gerak yang presisi sesuai dengan yang diharapkan.

    1.3.1. PermasalahanMengacu pada perumusan masalah diatas maka permasalahan

    sistem pada perangkat keras adalah sebagai berikut :1. Bagaimana membuat sebuah driver motor DC sehingga motor

    mampu bergerak kekanan, kekiri, maupun diam ( berhenti ) denganmendadak.

    2. Bagaimana membuat perangkat keras elektronik pendukungminimum sistem berbasis mikrokontroller.

    3. Bagaimana mengatur jarak antara alat pengelasan dengan obyekyang akan dilas agar hasil pengelasan dapat maksimal.

    4. Bagaimana dapat menjalankan tiga motor secara bersamaanberdasarkan data dari adc dengan posisi dan kecepatan yangberbeda.

    1.3.2. Batasan Masalah Permasalahan dibatasi hanya pada pembuatan perangkat keras

    dan perangkat lunak yang memberikan data masukan bagi prosespengontrolan robot. Dengan batasan masalah sebagai berikut :1. Objek yang akan dilas berada pada tempat yang telah disediakan.2. Robot hanya mengelas dengan bentuk lintasan lurus.3. Objek tidak bergerak dan warna objek tidak sama dengan warna

    dasar tempat meletakkan objek.4. Warna dasar tempat meletakkan obyek berwarna hitam.5. Tidak ada halangan (obstacle) yang menutupi obyek.

  • 6. Obyek telah ditentukan dalam hal ini telah dikenali berupa garislurus berwarna putih.

    7. Kemampuan robot hanya mengenali garis putih dan mengikutisedikit dari keseluruhan panjang garis putih.

    1.4. METODOLOGI Untuk mencapai penyelesaian pengerjaan tugas akhir ini, langkahyang dilakukan adalah sebagai berikut :1. Melakukan studi literatur yaitu mencari referensi-referensi teori

    penunjang dan mempelajari literatur yang berhubungan denganperangkat keras sebagai acuan dalam desain awal perencanaan danpembuatan dari sistem mekanik dan hardware, diantaranya yaitu : Studi pendahuluan mengenai metode pergerakan yang akan

    dipakai oleh robot pengelasan. Studi pendahuluan mengenai ATmega16( L ) yang merupakan

    jenis mikrokontroler yang dipakai dalam tugas akhir ini. Studi pendahuluan mengenai Visual C sebagai bahasa

    pemrograman dasar yang dipakai pada mikrokontroler untukmengontrol robot.

    Studi pendahuluan mengenai motor DC sebagai unit penggerakdasar robot.

    2. Melakukan perancangan perangkat keras yang meliputi sistemminimum mikrokontroller ATmega16( L ), aktuator berupa driveruntuk menggerakkan motor yang terdapat pada bagian base,rectangular, dan gripper robot, estimator berupa rangkainpotensiometer, interface dan sensor kamera.

    3. Melakukan pembuatan dan pengujian perangkat keras yaitu dari hasilperencanaan akan dilakukan pembuatan hardware maupunmekaniknya. Pada tahap ini akan dilakukan pengujian pada tiap-tiapbagian (sub sistem) sebelum dilakukan proses integrasi sistem. Tujuandari tahap ini adalah untuk mengetahui sub sistem yang telahdirencanakan bekerja sesuai dengan yang diharapkan.

    4. Melakukan integrasi dan pengujian sistem yaitu menghubungkanantara perangkat lunak yang telah dibuat dengan perangkat keraskemudian dilakukan pengujian pada keseluruhan sistem untukmengetahui sistem yang telah direncanakan bekerja sesuai denaganyang diharapkan.

  • 5. Melakukan evaluasi dan presentasi hasil yaitu melakukan evaluasicara kerja dari sistem yang telah dibuat untuk mengetahui aspek-aspekyang mempengaruhinya, seperti : keberhasilan pengambilan gambar,pengujian data dan ketepatan dengan kontrol robot.

    6. Melakukan penyusunan buku tugas akhir yaitu melakukan penulisanlaporan lengkap dan detail tentang tugas akhir.

    1.5. SISTEMATIKA PEMBAHASAN Sistematika pembahasan dalam penyusunan buku laporan tugasakhir ini adalah sebagai berikut :

    BAB I PENDAHULUANBerisi latar belakang pembuatan, tujuan, perumusan masalah,permasalahan, batasan masalah, metodologi, dan sistematikapembahasan.

    BAB II TEORI PENUNJANGMenjelaskan mengenai teori-teori penunjang yang dijadikan landasandan rujukan perhitungan dalam mengerjakan tugas akhir ini.

    BAB III PERENCANAAN DAN PEMBUATAN PERANGKATKERAS DAN MEKANIKBerisi uraian tentang perencanaan dan pembuatan perangkat keras darisistem yang akan dibuat untuk diterapkan pada robot.

    BAB IV PENGUJIAN DAN ANALISADari alat yang telah dibuat dilakukan pengujian yang berhubunganterhadap perangkat keras, perangkat lunak dan penggabungan denganmekanik, disertai pengujian yang berhubungan secara langsung terhadapparameter sesungguhnya, apakah rangkaian yang diuji sesuai denganyang diharapkan atau masih terdapat error maupun kekurangannya.

    BAB V PENUTUPBerisi tentang kesimpulan dari keseluruhan pengerjaan tugas akhir dansaran-saran untuk memperbaiki kelemahan sistem yang telah dibuat demipengembangan dan penyempurnaan di waktu mendatang.

  • BAB IITEORI PENUNJANG

    Pada bab dua ini akan dijelaskan mengenai teori-teori yangdigunakan dalam perancangan dan pembuatan mekanik dan hardwaredari robot pengelasan.

    2.1 MIKROKONTROLLER AVR ATmega16(L)2.1.1 Gambaran Umum

    Mikrokontroler adalah suatu piranti yang digunakan untukmengolah data-data biner (digital) yang didalamnya merupakangabungan dari rangkaian-rangkaian elektronik yng dikemas dalambentuk suatu chip (IC). Pada umumnya mikrokontroler tediri daribagian-bagian sebagai berikut: Alamat (address), Data, Pengendali,Memori (RAM atu ROM), dan bagian input-Output.

    AVR merupakan seri mikrokontroler CMOS 8-bit buatanAtmel, berbasis arsitektur RISC (Reduced Instruction Set Computer).Hampir semua instruksi dieksekusi dalam satu siklus clock. AVRmempunyai 32 register general-purpose, timer/counter fleksibeldengan mode compare, interrupt internal dan eksternal, serial UART,programmable Watchdog Timer, dan mode power saving. MempunyaiADC dan PWM internal. AVR juga mempunyai In-SystemProgrammable Flash on-chip yang mengijinkan memori program untukdiprogram ulang dalam sistem menggunakan hubungan serial SPI.ATmega16 adalah mikrokontroler CMOS 8-bit daya-rendah berbasisarsitektur RISC yang ditingkatkan. Untuk lebih jelas tentang arsitekturdari ATmega16 ditunjukan pada gambar 2.1.

    Kebanyakan instruksi dikerjakan pada satu siklus clock,ATmega16 mempunyai throughput mendekati 1 MIPS per MHzmembuat disainer sistem untuk mengoptimasi komsumsi daya versuskecepatan proses.

    Inti dari AVR adalah mengkombinasikan set banyak instruksidengan 32 register yang bekerja untuk tujuan umum. Keseluruhan 32register tersebut secara langsung dihubungkan ke ALU (ArithmeticLogic Unit), mengijinkan 2 register yang berdiri sendiri untuk diaksesdalam satu eksekusi instruksi dalam tiap 1 clock cycle. Hasilarsitekturnya adalah kode yang lebih efisien etapi mampu mencapaikeluaran sampai 10 kali lebih cepat dibandingkan mikrokontrollerCISC konvensional.

  • ATmega16( L ) menyediakan fitur-fitur sebagai berikut : 16Kbyte ISP flash Program Memory dengan kemampuan membaca sambilmenulis. 512 byte EEPROM, 1 K byte SRAM, 32 baris I/O generalpurpose, 32 general purpose register, interface JTAG untukmendeteksi batas (boundary-scan). Mendukung debug dan programOn-chip, mempunyai 3 timer/counter yang fleksibel dengan modeperbandingan, interrupt internal dan eksternal, serial programmableUSART, interface 2 kabel, byte yang berorientasi pada serial interface2 kable, 8 channel, 10 bit ADC dengan pilihan input yang berbedasesuai pemrograman (hanya paket TQFP), timer watchdog yang bisadeprogram dengan internal oscillator, port serial SPI, dan 6 softwaremode penyimpanan daya yang bisa dipilih. Idle mode menghentikanCPU ketika mengijinkan USART, interface 2 kabel (two-wire), D/Dconverter, SRAM, Timer/counter, port SPI, dan system interrupt untukmelanjutkan kerjanya. Mode power-down menyimpan isi registertetapi membekukan oscillator, men-disable semua kerja chip yang lainsampai eksternal interrupt selanjutnya atau ada reset pada hardware.Pada mode penyimpanan daya, timer asinkron terus berjalan,mengijinkan user mengatur dasar waktu ketika sisa device lainnyaberhenti. Mode reduksi noise ADC menghentikan CPU dan semuamodul I/O kecuali timer asinkron dan ADC, untuk meminimalisasimen-switch noise selama proses konversi ADC. Pada mode stand by,crystal/resonator oscillator tetap berjalan pada saat sebagian device sisasedang berhenti. Hal tersebut mengijinkan start-up yang sangat cepatdikombinasikan dengan konsemsi daya rendah. Pada mode standbytambahan (Extended standby), kedua-duanya oscillator dan timerasinkron terus berjalan.

    Device dibuat menggunakan tehnologi memory nonvolatilehigh density Atmel. ISP flash on-chip mengijinkan memory programdiprogram dalam system melalui interface SPI serial, denganpemrograman memory nonvolatile konvensional, atau program bootyang berjalan pada inti AVR. Program boot dapat menggunakaninterface apapun untuk mendownload program aplikasi pada flashmemory aplikasi. Software pada bagian boot Flash akan terus berjalanketika bagian application flash di-update, menyediakan operasimembaca ketika menulis. Dengan mengkombinasikan 8 bit RISC CPUdengan In-System Self-Programmable Flash dalam chip monolitik,atmel ATmega16 adalah microcontroller yang tangguh yangmemberikan solusi dengan fleksibilitas yang tinggi dan biaya yangefektif untuk banyak aplikasi control embedded.

  • ATmega16 AVR didukung dengan program yang lengkap dantools pengembangan system, seperti : compiler C, macro assembler,program debugger/simulator, emulator dalam rangkaian, dan kitevaluasi.

    Gambar 2.1 Blok Diagram Arsitektur ATmega16 1

    1 http://www.atmel.com/dyn/resources/prod_documents/24665.pdf

  • 2.1.2 Konfigurasi PinPin-pin pada ATmega16 dengan kemasan 40-pin DIP (dual in-

    line package) ditunjukkan oleh gambar 2.2. Kemasan pin tersebutterdiri dari 4 Port yaitu Port A, Port B, Port C,Port D yang masingmasing Port terdiri dari 8 buah pin. Selain itu juga terdapat RESET,VCC, GND 2 buah, VCC, AVCC, XTAL1, XTAL2 dan AREF.

    Gambar 2.2 Pin-pin ATmega16 kemasan 40-pin 2

    Diskripsi dari pin-pin ATmega 16L adalah sebagai berikut :1. VCC : Supply tegangan digital.2. GND : Ground3. PORT A : Menjalankan analog input ke A/D converter. Port A

    juga berfungsi sebagai 8 bit directional I/O port jikaA/D converter tidak digunakan. Ketika pin PA0-PA7

    2 Ibid hal 2

  • digunakan input dan secara eksternal pull-low ,mereka seperti sumber arus jika internal pull- upresistor diaktifkan. Pin port A adalah tri-states ketikakondisi sebuah reset menjadi aktif, sekalipunclocknya tidak jalan.

    4. PORT B : Port B adalah 8 bit bi-directional I/O port denganInternal pull-up resistor .Buffer output port B inimempunyai karakteristik symmetrical drive dengankapabilitas source dan sink yang tinggi.Sebagaiinput, pin port B adalah eksternal pull-low sepertisumber arus jika pull-up resistor aktif. Pin port Badalah tri-states ketika kondisi sebuah reset menjadiaktif, sekalipun clocknya tidak jalan.

    5. PORT C : Port C adalah 8 bit bi-directional I/O port denganInternal pull-up resistor. Buffer output port B inimempunyai karakteristik symmetrical drive dengankapabilitas source dan sink yang tinggi.Sebagaiinput, pin port C adalah eksternal pull-low sepertisumber arus jika pull-up resistor aktif. Pin port Cadalah tri-states ketika kondisi sebuah reset menjadiaktif, sekalipun clocknya tidak jalan.Jika interfaceJTAG enable, pull up resistor di pin PC5(TDI),PC3(TMS), dan PC2(TCK) akan aktif sekalipunreset terjadi.

    6. PORT D : Port D adalah 8 bit bi-directional I/O port denganInternal pull-up resistor .Buffer output port D inimempunyai karakteristik symmetrical drive dengankapabilitas source dan sink yang tinggi.Sebagaiinput, pin port D adalah eksternal pull-low sepertisumber arus jika pull-up resistor aktif. Pin port Dadalah tri-states ketika kondisi sebuah reset menjadiaktif, sekalipun clocknya tidak jalan.

    7. RESET : Sebuah low level pada pin akan lebih lama dari padalebar pulsa minimum akan menghasilkan resetmeskipun clock tidak berjalan.

    8. XTAL1 : Input inverting penguat Oscilator dan input intenalclock operasi rangkaian.

    9. XTAL2 : Output dari inverting penguat Oscilator.10. AVCC : Pin supply tegangan untuk Port A dan A/D

    converter . Sebaiknya eksternalnya dihubungkan ke

  • VCC meskipun ADC tidak digunakan. Jika ADCdigunakan seharusnya dihubungkan ke VCC melaluilow pas filter.

    11. AREF : Pin referensi analog untuk A/D konverter.

    2.1.3 Port Sebagai Input/Output DigitalATmega16L mempunyai empat buah port yang bernama PortA,

    PortB, PortC, dan PortD. Keempat port tersebut merupakan jalur bi-directional dengan pilihan internal pull-up. Tiap port mempunyai tigabuah register bit, yaitu DDxn, PORTxn, dan PINxn. Huruf xmewakilinama huruf dari port sedangkan huruf n mewakili nomor bit. BitDDxn terdapat pada I/O address DDRx, bit PORTxn terdapat pada I/Oaddress PORTx, dan bit PINxn terdapat pada I/O address PINx. BitDDxn dalam regiter DDRx (Data Direction Register) menentukan arahpin. Bila DDxn diset 1 maka Px berfungsi sebagai pin output. BilaDDxn diset 0 maka Px berfungsi sebagai pin input.Bila PORTxn diset1 pada saat pin terkonfigurasi sebagai pin input, maka resistor pull-upakan diaktifkan. Untuk mematikan resistor pull-up, PORTxn harusdiset 0 atau pin dikonfigurasi sebagai pin output. Pin port adalah tri-state setelah kondisi reset. Bila PORTxn diset 1 pada saat pinterkonfigurasi sebagai pin output maka pin port akan berlogika 1. Danbila PORTxn diset 0 pada saat pin terkonfigurasi sebagai pin outputmaka pin port akan berlogika 0. Saat mengubah kondisi port darikondisi tri-state (DDxn=0, PORTxn=0) ke kondisi output high(DDxn=1, PORTxn=1) maka harus ada kondisi peralihan apakah itukondisi pull-up enabled (DDxn=0, PORTxn=1)atau kondisi output low(DDxn=1, PORTxn=0). Biasanya, kondisi pull-up enabled dapatditerima sepenuhnya, selama lingkungan impedansi tinggi tidakmemperhatikan perbedaan antara sebuah strong high driver dengansebuah pull-up. Jika ini bukan suatu masalah, maka bit PUD padaregister SFIOR dapat diset 1 untuk mematikan semua pull-up dalamsemua port. Peralihan dari kondisi input dengan pull-up ke kondisioutput low juga menimbulkan masalah yang sama. Kita harusmenggunakan kondisi tri-state (DDxn=0, PORTxn=0) atau kondisioutput high (DDxn=1, PORTxn=0) sebagai kondisi transisi.

  • Tabel 2.1. Konfigurasi pin port 3

    Bit 2 PUD : Pull-up DisableBila bit diset bernilai 1 maka pull-up pada port I/O akan

    dimatikan walaupun register DDxn dan PORTxn dikonfigurasikanuntuk menyalakan pull-up (DDxn=0, PORTxn=1).

    2.1.4 Port sebagai Analag Digital Converter (ADC)ATmega16 mempunyai ADC (Analog to Digital Converter)

    internal dengan fitur sebagai berikut (untuk lebih detil dapat mengacupada datasheet) : 10-bit Resolution 65 - 260 s Conversion Time Up to 15 kSPS at Maximum Resolution 8 Multiplexed Single Ended Input Channels Optional Left Adjustment for ADC Result Readout 0 - VCC ADC Input Voltage Range Selectable 2.56V ADC Reference Voltage Free Running or Single Conversion Mode ADC Start Conversion by Auto Triggering on Interrupt Sources Interrupt on ADC Conversion Complete Sleep Mode Noise Canceler

    Dibawah ini gambar timing diagram untuk mode singleconvertion maksudnya hanya satu input chanel saja yang dikonversi.

    3 ibit hal 49

  • Gambar 2.3. Timing diagram untuk Mode single-conversion 4

    Register-register yang dipakai untuk mengakses ADC adalah:1. ADMUX ADC Multiplexer Selection Register

    Gambar 2.4. register ADMUX 5

    Bit 7:6 REFS1:0 : Bit Pemilih tegangan referensiBit ini berfungsi untuk memilih tegangan referensi ADC untuklebih jelasnya terdapat pada tabel dibawah ini.

    4 ibit hal 2035 ibit hal 211

  • Tabel 2.2. bit pemilih tegangan ref 6

    Bit 5 ADLAR : ADC Left Adjust Result Bit 4:0 MUX4:0 : Bit pemilih Analog Channel dan Gain

    2. ADCSRA ADC Control and Status Register

    Gambar 2.5. register ADCSRA 7

    Bit 6 ADSC : ADC Start ConversionPada mode single-conversion, set bit ini untuk memulai tiapkonversi. Pada mode free-running, set bit ini untuk konversipertama kalinya. Bit ADSC bila dibaca akan bernilai 1 selamaproses konversi, dan bernilai 0 bila konversi selesai. Mengisi bitini dengan nilai 0 tidak akan mempunyai dampak. Bit 5 ADATE : ADC Auto Trigger Enable

    Bila bit ini diisi 1 maka auto trigger ADC akan diaktifkan. ADCakan memulai konversi pada saat tepi positif dari sumber sinyaltrigger ang dipilih. Sumber sinyal trigger ditentukan denganmenseting bit ADTS pada register SFIOR. Bit 4 ADIF : ADC Interrupt Flag

    Bit ini akan bernilai 1 pada saat ADC selesai mengkonversi danData register telah diupdate. ADC Conversion CompleteInterrupt akan dijalankan bila bit ADIE dan bit-I pada register

    6 ibit hal 2117 ibit hal 213

  • SREG diset 1. ADIF akan di-clear secara hardware bilamengerjakan penanganan vektor interrupt yang bersesuaian.Alternatifnya, ADIF dapat di-clear dengan menuliskan 1. Hati-hati bila bekerja dengan Read-Modify-Write pada ADCSRA,interrupt yang tertunda dapat dinonaktifkan/batal. Hal ini jugaberakibat sama bila instruksi SBI dan CBI digunakan. Bit 3 ADIE : ADC Interrupt Enable

    Mengisi bit ini dan bit-I pada register SREG menjadi 1 akanmengaktifkan ADC Conversion Complete Interrupt. Bit 2:0 ADPS2:0 Bit pemilih ADC Prescaler

    Menentukan bilangan pembagi antara sumber clock XTAL keclock ADC.

    3. ADCL, ADCH ADC data register Bila ADLAR = 0

    Gambar 2.6. register ADCLAR = 0 8

    Bila ADLAR = 1

    Gambar 2.7. register ADCLAR = 1 9

    8 ibit hal 2149 ibit hal 214

  • Setelah ADC selesai melakukan konversi kedua register ini berisihasil konversi. Bila channel differensial dipilih maka hasilnyadalam format 2s complement. Saat ADCL dibaca, data registertidak akan meng-update data sampai ADCH dibaca. Jika hasilnyadirata kiri (left adjust) dan hanya butuh 8-bit maka cukuplahdengan membaca ADCH. Jika butuh 10-bit, baca ADCL dahulukemudian ADCH. Register SFIOR berfungsi untuk sumber autotriger. Dimana kita dapat memilih beberapa mode untuk konversi.

    4. SFIOR Special Function I/O Register untuk sumberauto trigger

    Gambar 2.8. register SFIOR10

    Tabel 2.3. Pemilihan scaning ADC 11

    10 ibit hal 21511 ibit hal 215

  • Bit 7:5 ADTS2:0 : ADC Auto Trigger SourceBila ADATE dalam register ADCSRA diset 1, maka nilai dalambit-bit ini akan menentukan sumber mana yang akan mentriggerkonversi ADC. Bila bit ADATE bernilai 0, maka bit-bit initidak akan mempunyai efek. Sebuah konversi ditrigger olehsinyal rising-edge dari interrupt flag yang dipilih. Perlu diingatbahwa memindah sumber trigger yang di-clear ke sumbertrigger lain yang di-set akan menyebabkan positive-edge padasinyal trigger. Bila ADEN dalam register ADCSRA diset, jugaakan memulai konversi. Memindah mode ke mode freerunningtidak akan menyebabkan pulsa trigger, meskipun bila flaginterrupt ADC diset. Bit 4 RES : Reserved bit

    Bit cadangan, bila dibaca hasilnya nol.

    2.1.5 Serial Pada ATmega16( L )Universal synchronous dan asynchronous pemancar dan

    penerima serial adalah suatu alat komunikasi serial sangat fleksibel.Jenis yang utama adalah : Operasi full duplex ( register penerima dan pengirim serial dapat

    berdiri sendiri ) Operasi Asychronous atau synchronous Master atau slave mendapat clock dengan operasi synchronous Pembangkit boud rate dengan resolusi tinggi Dukung frames serial dengan 5, 6, 7, 8 atau 9 Data bit dan 1 atau 2

    Stop bit Tahap odd atau even parity dan parity check didukung oleh hardware Pendeteksian data overrun Pendeteksi framing error Pemfilteran gangguan ( noise ) meliputi pendeteksian bit false start

    dan pendeteksian low pass filter digital Tiga interrupt terdiri dari TX complete, TX data register empty dan

    RX complete. Mode komunikasi multi-processor Mode komunikasi double speed asynchronous

    1. Generasi ClockLogic generasi clock menghasilkan dasar clock untuk

    pengirim dan penerima.USART mendukung empat mode operasiclock : Normal Asynchronous, Double Speed Asynchronous mode

  • Master Synchronous dan Slave Synchronous. Bit UMSEL padaUSART control dan status register C ( UCSRC ) memilih antaraoperasi Asychronous dan Synchronous. Double speed ( hanyapada mode Asynchronous ) dikontrol oleh U2X yang manaterdapat pada register UCSRA. Ketika mengunakan mode operasisynchronous ( UMSEL = 1 ) dan data direction register untuk pinXCk ( DDR_XCK ) mengendalikan apakah sumber clock tersebutadalah internal ( master mode) atau eksternal ( slave mode ) pin-pin XCK hanya akan active ketika menggunakan modeSynchronous.

    Gambar 2.9. Block diagram clock generasi logic 12

    Keterangan sinyal :txclk : clock pengirim ( internal clock )rxclk : clock dasar penerima ( internal clock )xcki : input dari pin XCK ( sinyal internal ).

    Digunakan untuk operasi slave synchronous.xcko : clock output ke oin XCK ( sinyal internal ).

    Digunakan untuk operasi master synchronousfosc : frekuensi pin XTAL ( system clock )

    12 ibit hal 139

  • 2. Generasi Internal Clock Pembangkit Boud rateGenerasi internal clock digunakan untuk mode-mode operasi

    master asynchronous dan synchronous.Register USART boud rate ( UBRR ) dan down-counter

    dikoneksikan kepada fungsinya sebagai programmable prescaleratau pembangkit boud rate. Down-counter, dijalankan pada systemclock ( fosc ), dibebani dengan nilai UBRR setiap counter telahdihitung mundur ke nol atau ketika register UBRRL ditulisi.Clock dibangkitkan setiap counter mencapai nol. Clock ini adalahpembangkit boud rate clock output ( fosc/( UBBR+1 )). Pemancarmembagi boud rete generator clock output dengan 2, 8, atau 16cara tergantung pada mode. Pembnagkit output boud ratedigunakan secara langsung oleh penerima clock dan unit-unitpelindung data. Unit-unit recovery menggunakan suatu mesinstatus yang menggunakan 2, 8, atau 16 negara yang tergantungpada cara menyimpan status dari UMSEL, bit-bit U2X danDDR_XCK.

    Table di bawah menunjukan penyamaan perhitungan boudrate dan nilai UBRR tiap mode operasi mengunakan sumberpembangkit clock internal.

    Tabel 2.4. persamaan untuk menyeting perhitunganregister boud rate 13

    Catatan : baud rate menunjukan pengiriman rate bit tiap detik(bps)

    13 ibit hal 140

  • 3. Eksternal ClockEksternal clock digunakan untuk operasi mode slave

    synchronous. Eksternal clock masuk dari pin XCK dicontohkanoleh suatu daftar sinkronisasi register untuk memperkecilkesempatan meta-stabilitas. Keluaran dari sinkronisasi registerkemudian harus menerobos detector tepi sebelum digunakan olehpengirim dan penerima.

    Proses ini mengenalkan dua period delay clock CPU danolehkarena itu maksimal frekuensi clock XCK eksternal dibatasi olehpersamaan sebagai berikut :

    Keterangan : bahwa fosc tergantung pada stabilitas systemsumber clock. Oleh karena derekomendasikan untukmenambahkan beberapa garis tepi untuk menghindari hilangnyamungkin data dalam kaitan dengan variasi frekwensi.

    4. Operasi Synchronous ClockKetika mode sinkron digunakan ( UMSEL=1 ), pin XCK

    akan digunakan sama seperti clock input ( slave ) atau clockoutput ( master ). Dengan ketergantungan antara tepi clock dandata sampling atau perubahan data menjadi sama. Prinsip dasarnyaadalah data input ( on RxD ) dicontohkan pada clock XCKberlawanan tepi dari tepi data output ( TxD ) sehingga mengalamiperubahan.

    Gambar 2.10. Operasi synchronous Clock 14

    14 ibit hal 141

  • UCPOL bit UCRSC memilih yang mana tepi clock XCKdigunakan untuk data sampling dan yang mana digunakan untukperubahan data. Seperti yang ditunjukan pada gambar di atas,ketika UCPOL nol data akan diubah pada tepi kenaikan XCK dandicontohkan pada tepi XCK saat jatuh. Jika UCPOL dalamkondisi set, data akan mengalami perubahan pada saat tepi XCKjatuh dan data akan dicontohkan pada saat tepi XCK naik.

    5. Inisialisasi USARTUSART harus diinisialisasi sebelum komunikasi manapun

    dapat berlansung. Proses inisialisasi normalnyaterdiridaripengesetan boud rate, penyetingan frame format danpengaktifan pengirim atau penerima tergantung pada pemakaian.Untuk interrupt menjalankan operasi USART , global interruptflag ( penanda ) sebaiknya dibersihkan ( dan interrupt globaldisable ) ketika inisialisasi dilakukan.

    Sebelum melakukan inisialisasi ulang dengan mengubah boudrate atau frame format, untuk meyakinkan bahwa tidak adatransmisi berkelanjutan sepanjang peiode register yang diubah.Flag TXC dapat digunakan untuk mengecek bahwa pemancartelah melengkapi semua pengiriman, dan flag RXC dapatdigunakan untuk mengecek bahwa tidak ada data yang tidakterbaca pada buffer penerima. Tercatat bahwa flag TXC harusdibersihkan sebelum tiap transmisi ( sebelum UDR ditulisi ) jikaitu semua digunakan untuk tujuan tersebut.

    USART sederhana inisialisasi kode contoh berikutmenunjukan fungsi satu assembly dan satu C itu mempunyaikesamaan dalam kemampuan. Pada contoh tersebitmengasumsikan bahwa operasi asinkron menggunakan metodepoling ( tidak ada interrupt enable ) frame format yang tetap. Boudrate diberikan sebagai fungsi parameter. Untuk kode assembly,parameter boud rate diasumsikan untuk di simpan pada registerr16, r17. Ketika menulis fungsi pada register UCSRC, bit URSEL(MSB) harus diset dalam kaitan dengan pembagian penempatanI/O oleh UBRRH dan UCSRC.

    Lebih mengedepankan inisialisasi rutin dapat dibuat sepertiitu meliputi frame format sebagai parameter, disable interrupt danlain-lain. Bagai manapun juga banyak aplikasi menggunakanseting tetap boud dan register control, dan untuk aplikasi jenis inidapat ditempatkan secara langsung pada keseluruhan routine, atau

  • dikombinasikan dengan inisialisasi kode untuk modul I/O yanglain.

    2.2 KOMUNIKASI DATA SERIALKomunikasi data serial sangatlah berbeda dengan format

    pemindahan data pararel. Disini, pengiriman bit-bit tidak dilakukansekaligus melalui saluran pararel, tetapi setiap bit dikirimkan satu persatumelalui saluran tunggal. Dalam pengiriman data secara serial harus adasinkronisasi atau penyesuaian antara pengirim dan penerima agar datayang dikirimkan dapat diterima dengan tepat dan benar oleh penerima.Dalam komunikasi secara serial terdapat tiga macam mode transmisiserial dalam mentransmisikan bit-bit data, yaitu : synchronous,asynchronous dan isochronous saja yang digunakan.

    Transmisi serial mode asynchronous digunakan bila pengirimandata dilakukan satu karakter tiap pengiriman. Antara satu karakterdengan yang lainnya tidak ada waktu yang tetap. Karakter dapatdikirimkan sekaligus ataupun beberapa karakter kemudian berhenti untukwaktu yang tidak tertentu, kemudian dikirimkan sisanya. Dengandemikian bit-bit data ini dikirimkan dengan periode yang acak sehinggapada sisi penerima data akan diterima kapan saja. Adapun sinkronisasiyang terjadi pada transmisi serial asynchronous adalah denganmemberikan bit-bit pertanda awal dari data dan penanda akhir dari datapada sisi pengirim maupun dari sisi penerima.

    2.2.1 Metode Komunikasi Metode komunikasi dibagi menjadi 3, yaitu :

    1. Mode Komunikasi Simplex Pada mode komunikasi simplex ini jalur komunikasi yangdiberikan adalah satu arah. Dalam komunikasi, pengirim dan penerimaadalah permanen, dimana pada pengirim adalah selalu mengirim datadan penerima selalu menerima data.

    Gambar 2.11 Hubungan simplex

    2. Mode Komunikasi Half-Duplex Mode ini komunikasi data dilakukan dalam dua arah, dimana

    masing-masing sebagai penerima atau sebagai pengirim data. Namun

    Pengirim Penerima

  • pada mode ini tidak dapat dilakukan secara bersamaan, melainkanbergantian (two way alternativ)e. Jika salah satu sebagai pengirimmaka yang lain adalah sebagai penerima, demikian juga sebaliknya.

    Gambar 2.12 Hubungan Half-Duplex3. Mode Komunikasi Full-Duplex Mode komunikasi full-duplex pada prinsipnya sama denganmode komunikasi half-duplex, bedanya adalah komunikasi dapatdilakukan dalam dua arah yang terjadi secara bersamaan.

    Gambar 2.13 Hubungan Full-Duplex

    2.2.2 Format Data Komunikasi Serial Dalam teknik komunikasi data serial dikenal istilah format dataserial. Format data serial ini terdiri dari parameter-parameter yangdipakai untuk menentukan bentuk data serial yang akandikomunikasikan. Ada beberapa macam format data serial yang dapatdigunakan, dimana elemen-elemennya terdiri dari :1. Kecepatan mobilisasi data per bit (Baud rate)

    Laju perpindahan data serial seringkali dinyatakan dalam satuanbaud. Laju baud dalam kanal komunikasi merupakan laju tercepat dariperpindahan bit. Laju pemindahan bit kanal jaringan biasanya lebihrendah dari laju baud. Keterlambatan tersebut karena bit ekstraditambahkan untuk keperluan pewaktuan. Dalam sistem kecepatantinggi, pemindahan juga diperlambat oleh tundaan aktif prosespengolahan.Data serial dapat dimobilisasikan pada berbagai baud rate.modem asynchronous adalah 300 bps sampai dengan 19200 bps.Kecepatan transmisi (Baud Rate) merupakan suatu hal yang amatpenting dalam komunikasi data seri asinkron, mengingat dalamkomunikasi data seri asinkron clock tidak ikut dikirimkan, sehinggaharus diusahakan bahwa kecepatan transmisi mengikuti standard yangsudah ada.

    PenerimaPengirim

    PengirimPenerima

    PenerimaPengirim

    PengirimPenerima

  • 2. Jumlah bit data per karakter (data length)Dalam komunikasi data serial mode asynchronous biasanya

    berlangsung transmisi data yang dikemas dalam bentuk karakter.Dalam satu karakter diperbolehkan terdiri dari beberapa variasi jumlahbit. Dari sekian variasi yang diperbolehkan diantaranya dalah terdiridari 7 bit dan 8 bit (panjang data karakternya saja). Kedua variasi iniadalah yabg paling sering digunakan dalam komunikasi data serial.Tetapi meskipun demikian tidak menutup kemungkinan jikadiinginkan untuk menggunakan variasi jumlah bit yang lain asalkanmasih diperkenankan dalam penulisan inisialisasi peralatan serial yangbersangkutan.3. Parity yang digunakan

    Bit parity adalah bit yang digunakan sebagai alat pemerikasaankesalahan sederhana dalam proses transmisi data digital. Pemakaianparity ini akan diikutsertakan dalam proses penulisan inisialisasiperalatan serial yang bersangkutan. Bit parity ini akan diletakkansetelah susunan bit dat. Kemungkinan dari jenis parity ini ada tigamacam, yaitu : parity ganjil, parity genap dan tanpa parity (tidakdiikutkan dalam pemeriksaan kesalahan). Level digital dari bit parityini akan ditentukan oleh jenisnya. Jika seluruh bit data yang adadijumlah dan hasilnya dibagi dua, maka sisanya akan dianggap sebagailevel digital dari bit parity yang bersangkutan. Jika salah satu dari bitdata tertanggu dalam proses transmisinya, maka bit parity yangdibangkitkan tidak benar, dan hal semacam ini dapat dideteksi olehperalatan serial pada terminal yang sedang berfungsi sebagai terminalpenerima.

    Pada jenis parity genap (even) akan dibangkitkan bit parity yangmemiliki level digital berupa kebalikan dari sisa hasil bagi jumlah nilaiseluruh bit data yang telah dijelaskan diatas, dengan kata lain bit parityakan bernilai 0 (null) jika sisa hasil baginya sama dengan 1 (satu).Demikian juga sebaliknya, apabila yang dipakai jenis parity ganjil,maka bit parity yang dibangkitkan akan bernilai 1 jika sisa hasilbaginya sama dengan 1. Di dalam proses komunikasi data serial modenull modem asynchronous, seringakali bit parity ini tidak dipakai.4. Jumlah stop bit dan start bit

    Pada komunikasi data serial pada mode asynchronous, port serialyang menerima karakter serial harus tahu kapan karakter itu diawali dankapan karakter itu diakhiri. Bertolak dari hal tersebut, maka dalamproses komunikasi data serial juga disertakan bit awal dan bit akhir.Jika tidak ada karakter yang dikirim, maka bit tanda yang selalu bernilai

  • 1 akan dikirim terus-menerus. Bit awal (start bit) yang selalu bernilai 0(null) akan menandai awal dari pengiriman suatu karakter. Setelah bitawal, maka selalu diikuti bit data dan bit parity jika ada. Dan akhirnyaterdapat satu atau dua bit yang menandakan akhir dari karakter yangdikirimkan. Bit-bit inilah yang dinamakan stop bit, dan kombinasijumlahnya adalah satu atau dua bit.

    Sebelum berkomunikasi dengan port serial, perlu diputuskanterlebih dahulu mengenai parameter-parameter format data serial yangmeliputi : kecepatan transmisi yang digunakan, jenis patity yangdigunakan atau tidak memakai parity sama sekali, jumlah stop bit yangdigunakan dan panjang data yang dinyatakan dalam jumlah bit datayang digunakan. Ilustrasi level tegangan digital dari contoh format dataserial ini ditunjukkan pada gambar 2.16. Pilihan ini kebanyakandidasarkan pada kemampuan dari piranti yang dihubungkan pada portserial.

    Gambar 2.14 Format Data Serial

    2.2.3 Port Serial RS-232Salah satu perangkat penunjang proses komunikasi data serial

    pada terminal komputer dengan dunia luar adalah port serial. Sepertihalnya port paralel yang sering digunakan untuk keperluan interfacing,maka port serial juga merupakan gerbang I/O dari sebuah komputer.Hanya saja di dalam port serial akan dilakukan perubahan bentuk dataparalel menjadi data serial pada jalur keluaran dan sebaliknya dataserial menjadi data paralel pada jalur masukan. Port serial adalah piranti untuk mengubah informasi paralel(datang dari komputer), menjadi informasi serial (pergi ke modem,saluran telepon, maupun media yang lain, misalnya kontroller).

  • Demikian juga sebaliknya, mengubah data serial dari media luarkomputer menjadi paralel data dalam komputer. Gambar 2.15.menunjukkan Prinsip Dasar Port Serial.

    Gambar 2.15 Prinsip Dasar Port Serial

    Jadi pada komunikasi serial hanya ada satu bit informasi yangditransmisikan melalui port serial pada suatu saat. Dengan demikiansecara otomatis hanya ada satu kabel yang diperlukan dalam prosestransmisi data ini. Dikatakan pula bahwa komunikasi data secara serialmemiliki kesederhanaan dalam hal pengkabelannya. Hal tersebut dapatterwujud tidak lain karena adanya port serial yang merupakan pirantidari sebuah komputer yang sanggup mengubah bentuk data paralelmenjadi data serial dan juga sebaliknya dari data serial menjadi dataparalel.

    RS-232C merupakan salah satu standard interface dalam prosestransfer data antar komputer terutama dalam bentuk serial transfer. RS-232C merupakan kependekan dari Recommended Standard number232 revision-C. Standard ini dibuat oleh Electronic IndustryAssociation (EIA), untuk interface antara peralatan terminal data danperalatan komunikasi data, dengan menggunakan data biner sebagaidata yang ditransmisi. RS-232C adalah suatu serial data interfacestandarad yang dikeluarkan oleh EIA. Standarisasi meliputi konektor,fungsi serta posisi tiap pin timing (pewaktu) dan level tegangan atauarus. Standar ini juga berisikan karakterstik sinyal listrik, karakteristikmekanik dari cara operasional rangkaian fungsional.

    Dalam transmisi data, sinyal penanda adanya bit yang dikirimdidenifisikan sebagai tegangan lebih dari -3 volt terhadap ground.Sebuah space didefinisikan sebagai tegangan yang lebih positif dari +3volt terhadap ground. Sedangkan sinyal tidak didefinisikan biladiantara +3 volt dan -3 volt. Oleh karena itu, interfacing untuk level

  • tegangan dari suatu sistem minimum yang mempunyai paralatan LSIkomunikasi data serial menggunakan RS-232C sedikit mengalamikesulitan. Hal ini dikarenakan tegangan catu daya yang dipergunakandalam sistem itu biasanya adalah single voltage +5 volt. Padahalkeluaran RS-232 harus dapat mengeluarkan tegangan simetris (plus-minus). Sangat boros, apabila menggunakan tegangan catu simetris,tetapi hal ini dapat diatasi dengan menggunakan IC DC to DCConverter khusus seperti MAX 232, dengan tegangan keluaran +10dan -10 volt. Konektor standard hubungan antara RS-232 inimenggunakan konektor DB-9.

    Pada komputer IBM PC kompatibel biasanya kita dapatmenemukan dua konektor port serial DB-9 yang biasa dinamai COM 1dan COM 2.

    Gambar 2.16 Konektor Serial DB-9 pada bagian belakang CPU

    Tabel 2.5 Konfigurasi pin dan nama sinyal konektor serial DB-9No Pin Nama Sinyal Direction Keterangan

    1 DCD In Data Carrier Detect /Receive Line Signal

    Detect2 RxD In Receive Data3 TxD Out Transmit Data4 DTR Out Data Terminla Ready5 GND - Ground6 DSR In Data Set Ready7 RST Out Request to Send8 CTS In Clear to Send9 RI In Ring Indicator

    Keterangan mengenai fungsi saluran RS 232 pada konektorDB-9 adalah sebagai berikut :

  • Received Line Signal Detect, dengan saluran ini DCEmemberitahukan ke DTE bahwa pada terminal masukan adadata masuk.

    Receive Data, digunakan DTE menerima data dari DCE. Transmit Data, digunakan DTE mengirimkan data ke DCE. Data Terminal Ready, pada saluran ini DTE memberitahukan

    kesiapan terminalnya. Signal Ground, saluran ground. Ring Indicator, pada saluran ini DCE memberitahu ke DTE

    bahwa sebuah stasiun menghendaki hubungan dengannya. Clear To Send, dengan saluran ini DCE memberitahukan bahwa

    DTE boleh mulai mengirim data. Request To Send, dengan saluran ini DCE diminta mengirim

    data oleh DTE. DCE Ready, sinyal aktif pada saluran ini menunjukkan bahwa

    DCE sudah siap.Untuk dapat menggunakan port serial kita perlu mengetahui

    alamatnya. Biasanya tersedia dua port serial pada CPU, yaitu COM1dan COM2. Base address COM1 biasanya adalah 1016 (3F8h) danCOM2 biasanya 760 (2F8h). Alamat tersebut adalah alamatyang biasadigunakan, tergantung dari komputer yang digunakan. Tepatnya kitabisa melihat pada peta memori tempat menyimpan alamat tersebut,yaitu memori 0000.0004h untuk base address COM1 dan memori0000.0402h untuk base address COM2. Setelah kita mengetahui baseaddress-nya, maka kita dapat menentukan alamat register-register yangdigunakan untuk komunikasi port serial ini.

    Tabel 2.6 Nama register yang digunakan beserta alamatnya.Nama Register COM1 COM2

    TX Buffer 3F8h 2F8hRX Buffer 3F8h 2F8hBaud rate Divisor Latch LSB 3F8h 2F8hBaud rate Divisor Latch MSB 3F9h 2F9hInterrupt Enable Register 3F9h 2F9hInterrupt Identification Register 3FAh 2FAhLine Control Register 3FBh 2FBhModem Control Register 3FCh 2FChLine Status Register 3FDh 2FDhModem Status Register 3FEh 2FEh

  • Keterangan mengenai fungsi register-register tersebut adalah sebagaiberikut :

    Rx Buffer, digunakan untuk menampung dan menyimpan datadari DCE.

    Tx Buffer, digunakan untuk menampung dan menyimpan datayang akan dikirim ke port serial.

    Baud rate Divisor Latch LSB, digunakan untuk menampungbyte bobot rendah untuk pembagi clock pada IC UART agardidapat baud rate yang tepat.

    Baud rate Divisor Latch MSB, digunakan untuk menampungbyte bobot rendah untuk pembagi clock pada IC UARTsehingga total angka pembagi adalah 4 byte yang dapat dipilihdari 0001h sampai FFFFh. Sebagai catatan, register Baud RateDivisor Latch ini bisa diisi jika bit 7 pada register Line ControlRegister diisi 1.

    Interrupt Enable Register, digunakan untuk menset interupsiapa saja yang akan dilayani komputer.

    Interrupt Identification Register, digunakan untukmenentukan urutan prioritas interupsi.

    Line Control Register, digunakan untuk menentukan jumlahbit data, jumlah bit pariti, jumlah bit stop, serta untukmenentukan apakah baud rate divisor dapat diubah atau tidak.

    Modem Control Register, digunakan untuk mengatur saluranpengatur modem terutama saluran DTR dan saluran RST.

    Line Status Register, digunakan untuk menampung bit-bityang menyatakan keadaan penerimaan data dan status kesalahanoperasi.

    Modem Status Register, digunakan untuk menampung bit-bit yangmenyatakan status dari saluran hubungan dengan modem.

    2.3 PIRANTI MASUKANPiranti masukan adalah peralatan yang berfungsi sebagai

    penghubung antara lingkungan dengan sistem atau peralatan yangdikontrol. Peralatan ini biasanya disebut dengan sensor atau transduser.Sensor sangat diperlukan dalam sistem yang otomatis. Sensor yang baikpada suatu sistem adalah mempunyai kualitas, memenuhi kemampuan,dan tidak terlalu mahal dibandingkan sistem yang digunakan. Sensorharus memenuhi beberapa syarat diantaranya yaitu range/span atau jarak,error, resolusi, dan linier. Jenis sensor terbagi menjadi tiga kelompok

  • besar diantaranya switching sensor, position sensor, veleocity andacceleration sensor.

    2.3.1 WebCamWebCam adalah sebuah kamera yang digunakan untuk

    mengambil objek gambar secara benar dan nyata yang dibutuhkanuntuk image processing , obyek di depannya nantinya akan diambilkemudian diolah menjadi data-data yang diinginkan di dalamkomputer.

    Gambar 2.17 WebCam

    2.3.2 PotensiometerPotensiometer merupakan sensor posisi yang akan memberikan

    kemampuan pada robot untuk mengetahui posisi tiap-tiap joint robotyang akan dijadikan sebagai titik acuan (referensi) untuk pergerakanrobot. Perubahan resistansi akan mempengaruhi tegangan yang masukpada potensiometer tersebut. Perubahan tegangan pada potensiometerini akan mewakili perubahan derajat posisi pada robot. Data yangdikirim oleh potensiometer akan dikonversi oleh ADC internal yangterdapat pada mikrokontroler Atmega16(L) dan akan dijadikan dataacuan mikrokontroler untuk melakukan pergerakan pada robot.

    2.4 PIRANTI KELUARAN ( MOTOR DC )Motor DC biasanya digunakan dalam rangkaian yang memerlukan

    kepresisian yang tinggi untuk pengaturan kecepatan, pada torsi yangkonstan. Semua motor DC beroperasi atas dasar arus yang melewatikonduktor yang berada dalam medan magnet. Motor DC disinidigunakan sebagai motor penggerak utama .Terdapat dua tipe motor DC berdasarkan prinsip medannya yaitu:

    1. Motor DC dengan Magnet Permanen.2. Motor DC dengan Lilitan yang terdapat pada Stator.

    Sedangkan tipe motor DC yang digunakan disini adalah tipemagnet permanen, karena tipe ini lebih mudah pengontrolannya,disamping itu dimensinya yang tidak terlalu besar.

  • 2.4.1.Teori Motor DCMotor DC pada saat ini digunakan pada industri yang

    memerlukan gerakan dengan kepresisisan yang tinggi untukpengaturan kecepatan pada torsi yang konstan. Motor DC berfungsimengubah tenaga listrik menjadi tenaga mekanis dimana gerak tersebutberupa putaran dari motor. Prinsip dasar dari motor arus searah adalahkalau sebuah kawat berarus diletakkan antara kutub magnet (U-S),maka pada kawat itu akan bekerja suatu gaya yang menggerakan kawatitu. Arah gerakan kawat dapat ditentukan dengan mengguankan kaidahtangan kiri, yang berbunyi sebagai berikut :Apabila tangan kiriterbuka diletakkan diantara kutub U dan S, sehingga garis-garis gayayang keluar dari kutub utara menembus telapak tangan kiri dan arus didalam kawat mengalir searah dengan arah keempat jari, maka kawatitu akan mendapat gaya yang arahnya sesuai dengan arah ibu jari.Yang diperlihatkan dengan gambar berikut ini.

    Gambar 2.18 Prinsip Kerja Motor DC

    Pada motor arus searah medan magnet akan dihasilkan olehmedan dengan kerapatan fluks sebesar B. bila kumparan jangkar yangdilingkupi medan magnet dari kumparan medan dialiri arus sebesar I,maka akan menghasilkan suatu gaya F dengan besarnya gaya tersebutadalah:F = B I L 1.10

    -1dyne.(2.1)

    Dimana :B = kepadatan fluks magnet (Gauss)L = penghantar (cm)I = arus listrik yang mengalir (Ampere)

  • Persamaan di atas merupakan prinsip sebuah motor searah,dimana terjadi proses perubahan energi listrik (I) menjadi energimekanik (F), bila motor DC memiliki jari-jari sepanjang r, maka kopelyang dibangkitkan adalah :

    T = F . r = B I L . r(2.2)

    Pada saat gaya F dibandingkan, konduktor bergerak dalammedan magnet dan menimbulkan gaya gerak listrik yang merupaknreaksi lawan terhadap tegangan penyebabnya.

    Suatu motor listrik disebut sebagai motor DC jika memerlukansupply tegangan searah pada kumparan jangkar dan kumparan medanuntuk di ubah menjadi energi mekanik. Pada motor DC, kumparanmedan yang dialiri arus listrik akan menghasilkan medan magnet yangmelingkupi kumparan jangkar dengan arah tertentu. Konversi energilistrik yang di ubah menjadi energi mekanik berkangsung melaluimedium medan magnet. Energi yang akan diubah dari suatu sistemyang lainnya, sementara akan di simpan dalam medium medan magnetuntuk kemudian dilepaskan menjadi energi sistem yang lainnya.Dengan demikian, medan magnet berfungsi sebagai tempatpenyimpanan energi dan mengkopel proses pengubah energi.

    Dengan mengingat hukum kekekalan energi, proses konversienergi mekanik dapat dinyatakan sebagai berikut : Energi listriksebagai input = Energi mekanik sebagai output + Energi yang diubahsebagai panas + Energi yang tersimpan dalam medan magnet.

    Motor DC mempunyai dua bagian dasar yaitu :1. Bagian diam/tetap (stasioner) yang disebut stator. Stator ini

    menghasilkan medan magnet, baik yang dibangkitkan dari sebuahkoil (elektromagnetik) atau magnet permanen. Bagian statorterdiri dari bodi motor yang memiliki magnet yang melekatpadanya. Untuk motor kecil, magnet tersebut adalah magnetpermanen sedangkan untuk motor besar menggunakanelektromagnetik. Kumparan yang dililitkan pada lempeng-lempeng magnet disebut kumparan medan.

    2. Bagian berputar (rotor). Rotor ini berupa sebuah koil dimanaarus listrik mengalir.

    Suatu kumparan motor akan berfungsi apabila mempunyai :? Kumparan medan,berfungsi sebagai pengahsil medan magnet.

  • ? Kumparan jangkar, berfungsi sebagai pengimbas GGL padakonduktor yang terletak pada laur-alur jangkar.? Celah udara yang memungkinkan berputarnya jangkar dalam

    medan magnet.

    2.4.2. Konstruksi Motor DCKonstruksi dari sebuah motor DC ditunjukkan seperti pada

    gambar 2.33 dibawah ini. Pada motor arus searah rotornya mempunyaikumparan tidak hanya satu, terdiri kumparan dan komulator yangbanyak untuk mendapatkan torsi yang terus menerus. Rotor terdiri darijangkar yang intinya terbuat dari lempengan-lempengan yang ditakik.Susunan lempengan membentuk celah-celah tersebut dimasukikonduktor kumparan jangkar. Ujung tiap-tiap kumparan dihubungkanpada satu segment komutator. Tiap segmen merupakan pertemuan duaujung kumparan yang terhubung.

    Gambar 2.19 Bagian-Bagian Motor DC

    Kumparan penguat dihubungkan seri, jangkar merupakanbagian bergerak yang terbuat dari besi berlaminasi untuk mengurangirugi-rugi arus Eddy. Kumparan jangkar diletakkan pada slot besi disebelah luar permukaan jangkar. Pada jangkar terdapat komulator yangberbentuk silinder masing-masing diisolasi. Sisi kumparandihubungkan dengan segmen komulator pada beberapa bagian yangberbeda, tergantung dari tipe lilitan yang diperlukan.

    2.5 TRANSFORMASITransformasi adalah perubahan posisisuatu objek, baik perubahan

    posisi itu terjadi karena pergeseran, perputaran, atau juga penskalaan.Koordinat tiga dimensi dapat disimpan dalam bentuk matrik 1 x 4dengan format:

  • 1ZYX

    2.5.1. DilatasiDilatasi adalah pergeseran atau perpindahan tempat sebuah

    objek dalam dunia tiga dimensi. Dilatasi pada koordinat tiga dimensiadalah sebuah vektor yang memiliki tiga komponen yaitu perpindahansumbu X, sumbu Y, dan sumbu Z. Operasi pergeseran dapatdilambangkan dengan matrik 4 x 4.Matrik dilatasi :

    1000100010001

    tztytx

    dimana :tx adalah pergeseran pada sumbu Xty adalah pergeseran pada sumbu Ytz adalah pergeseran pada sumbu Z

    2.5.2. RotasiRotasi berarti berputar,dalam dunia tiga dimensi kita

    mengenaltiga jenis rotasi yaitu rotasi terhadap sumbu X, rotasiterhadap sumbu Y dan rotasi terhadap sumbu Z.

    Pada koordinat tiga dimensi kita tidak dapat mendefinisikanseperti koordinat dua dimensi. Untuk itu kita memiliki tiga buah matrikrotasi yang terpisah.

    Rotasi Sumbu X

    -10000cossin00sincos00001

    aaaa

  • Gambar 2.20 Rotasi terhadap sumbu X

    Rotasi Sumbu Y

    -

    10000cos0sin00100sin0cos

    aa

    aa

    Gambar 2.21 Rotasi terhadap sumbu Y

    Rotasi Sumbu Z

    -

    1000010000cossin00sincos

    aaaa

  • Gambar 2.22 Rotasi terhadap sumbu Z

  • ********** Halaman ini sengaja dikosongkan**********

  • BAB IIIPERENCANAAN DAN PEMBUATAN PERANGKAT

    KERAS DAN MEKANIK

    Pada bab ini akan dibahas mengenai perencanaan dan pembuatanperangkat keras dan mekanik yang akan diterapkan dalam sistem kerjarobot pengelasan.

    Pada perangkat keras dalam sistem ini menggunakanmikrokontroller ATmega16( L ) yang akan mengatur pergerakan motoryang terdapat pada robot dan sensor posisi (potensiometer) yang dipakai.Alat untuk menghubungkan antara sistem minimum ATmega16( L )dengan personal computer berupa sistem komunikasi data serial RS 232.

    3.1 PERENCANAAN DAN PEMBUATAN MEKANIKSistem mekanik yang dirancang dalam robot pengelasan di sini

    yaitu memakai robot arm yang sudah ada tetapi hanya dipergunakan tigajoint yaitu joint pertama untuk base robot, joint kedua untuk rectangularrobot, dan joint ketiga untuk gripper robot. Masing masing jointtersebut digerakkan oleh sebuah motor DC, sehingga ada tiga buah motorDC yang terdapat pada robot ini. Selain itu pada robot ini diletakkanpotensiometer sebesar 5K?, dimana potensiometer ini diletakkan padatempat yang terbuat dari bahan aluminium dan dilekatkan pada masing masing joint. Tujuan peletakan potensiometer pada masing masingjoint ini adalah untuk mengetahui posisi dan perubahan setiap sudutputaran dari masing masing joint selama motor digerakkan.Potensiometer ini dapat mengetahui posisi masing masing jointdikarenakan pada saat masing masing joint ini digerakkan oleh motor,pada saat itu juga motor tersebut mengkopel potensiometer.

    Pada bagian end effector robot ini diletakkan kamera dan nozelberupa pensil sepanjang 2 cm. Kamera disini berfungsi sebagai alatpengidentifikasi objek, dan pensil berfungsi sebagai alat untukmengetahui panjang yang dapat diikuti oleh robot ini berdasarkan garisputih lurus yang terdapat pada dasar tempat meletakkan objek. Garisputih lurus tersebut terbat dari isolatip dengan panjang yang berbeda-beda dan luasan sebesar diatas 1000 pixel. Sedangkan dasar tempatmeletakkan objek yang berupa garis putih lurus tersebut terbuat daribahan kayu dengan ukuran 55 cm x 30 cm. Untuk gambar mekanik robotdan dasar tempat meletakkan objek dapat dilihat pada gambar 3.1.

  • Gambar 3.1 Gambar mekanik robot pengelasan

    Panjang base robot = 27,5 cmPanjang rectanguler robot = 35,5 cmPanjang gripper robot = 20,5 cmPanjang nozzle robot = 2 cmPanjang jarak antara kamera dan nozzle = 7,5 cmPanjang dasar untuk meletakkan objek = 55 cmLebar dasar untuk meletakkan objek = 30 cmSudut antara base dan rectanguler = 1350Sudut antara rectanguler dan gripper = 1800Potensiometer 1 sebesar 5K? untuk base robotPotensiometer 2 sebesar 5K? untuk rectanguler robotPotensiometer 3 sebesar 5K? untuk gripper robot

    3.2 PRINSIP KERJA SISTEMSaat pertama kali sistem dijalankan, kamera akan mencari objek

    yang berupa garis putih lurus dengan cara menggerakkan ketiga buahmotor DC secara bersamaan. Apabila objek tersebut tidak dikenali PC,maka kamera akan mencari terus objek sampai objek yang dikenaliditemukan, apabila objek tersebut sudah dikenali maka PC akanmengambil data adc dari mikrokontroller ATmega(16L) berdasarkanketiga buah potensiometer yang terdapat pada masing masing jointrobot melalui komunikasi serial, kemudian data itu diproses dan dikirimlagi kemikrokontroller berupa data kontrol untuk menghasilkan gerak

  • motor karena output mikrokontroller ini telah dihubungkan denganrangkaian driver yang berfungsi untuk men-drive motor sehingga robotmampu menggerakkan masing masing joint terutama nozel berupapensil menuju ketempat objek yang telah dikenali. Pensil tersebut akanmengikuti keseluruhan dari panjang garis putih lurus tersebut meskipunpanjang garis putih tersebut diubah-ubah. Blok diagram sistem robotpengelasan secara keseluruhan ditunjukkan pada gambar 3.2 .

    Gambar 3.2 Blok diagram sistem secara keseluruhan

    Adapun flowchart ( diagram alir ) dari program sistem iniditunjukkan pada gambar 3.3

    AktuatorDriver motor dc

    mikrokontroller

    RS232USB

    PotensiometerWebCam

  • Gambar 3.3 Flowchart program robot pengelasan

    3.3 PERENCANAAN HARDWAREBeberapa hal penting dari sistem pengendalian robot pengelasan

    akan dijelaskan sebagai berikut : Sistem minimum ATmega16( L ), digunakan sebagai protokol

    dan pengontrol ADC.

  • Sistem komunikasi serial RS-232, digunakan sebagai jalurkomunikasi antara mikrokontroller dengan personal computerataupun sebaliknya. Driver motor DC, digunakan untuk mengendalikan arah putar

    motor pada tiap-tiap joint.

    3.3.1 Rangkaian Sistem Minimum MikrokontrolerATmega(16)L

    Gambar 3.4 Rangkaian Sistem Minimum Mikrokontroler ATmega16L

    Mikrokontroler disini berfungsi sebagai protokol aktivitaspada robot pengelasan dan pengontrol untuk ADC. SistemMikrokontroler yang direncanakan adalah menggunakan salah satuproduk dari ATMEL yaitu ATmega16L yang mempunyai memoriprogram internal 16 Kbyte sehingga tidak memerlukan memoriprogram eksternal. Kelebihan dari jenis mikrokontroler ini adalahkarena terdapat fasilitas ADC yang sudah built-in di dalamnya. Selainkarena kelebihan tersebut, Mikrokontroller ATmega16L dipilih jugakarena diperkirakan memiliki kapasitas memori , jumlah timer /counter, serta jumlah port yang cukup untuk digunakan dalam proyekakhir ini.

  • Pada rangkaian di atas port - port yang dihubungkan denganrangkaian downloader adalah port B.7 adalah SCK, port B.6 adalahMISO, port B.5 adalah MOSI, dan pin ke 9 adalah RESET. Padarangkaian sistem minimum mikrokontroler ATmega16( L ) dipakaifrekuensi osilator (XTAL) sebesar 8 MHz. Hal ini akan menyebabkanpengesetan komunikasi serial dengan menggunakan RS232 untukmemilih baudrate yang digunakan. Selain itu pada rangkaian initerdapat 7805 yang difungsikan sebagai regulator.

    Untuk mengatur jalannya data yang dikirim oleh komputer kemikrokontroler agar data yang terkirim diterima dengan sempurna olehmikrokontroler maupun data yang diterima oleh komputer darimikrokontroler agar data yang terkirim diterima dengan sempurna olehkomputer diperlukan perangkat lunak. Sehingga pada rangkaian diatasjuga terdapat rangkaian pengubah tegangan IC MAX232. Rangkaianini berfungsi untuk mengubah level keluaran tegangan yang keluar darikomputer yaitu level RS232 menjadi level tegangan TTL. Dimanategangan pada level RS232 menjadi level logika 1 didefinisaikan -3V sampai -15V dan logika 0 didefinisikan +3V sampai +15V. Padalevel TTL yang didefinisikan untuk kondisi 0 tegangannya 0 Voltsampai 0,4 Volt dan untuk kondisi 1 tegangannya 2,4 V sampai 5 V.

    Dalam perancangan ini untuk mengubah level tegangantersebut digunakan IC MAX232 dengan 4 buah kapasitor sebesar 1?Fdengan tegangan catunya sebesar 5 volt. Dengan perangkat tersebutdiharapkan dapat digunakan untuk mengirimkan atau menerima datadari komputer ke mikrokontroler atau dari mikrokontroler ke komputerdengan sempurna. Baudrate yang digunakan adalah 9600Bps denganmode asynchronous.

    Rangkaian mikrokontroler mempunyai kontrol direksi tiapbitnya yang dapat dikonfigurasikan secara individual. Maka dalampengkonfigurasian I/O yang digunakan ada yang berupa operasi portdan ada pula yang dikonfigurasikan tiap bit I/O. Berikut ini akandiberikan konfigurasi dari I/O mikrokontroler yang berupa operasi portdan konfigurasi tiap bit yang ada pada masing-masing port yangterdapat pada mikrokontroler.

    Port APada port A digunakan sebagai ADC untuk mengkonversi

    data yang dikirim oleh 3 buah potensiometer kemikrokontroler yang digunakan sebagai sensor posisi padapergerakan motor.

  • Port-port tersebut antara lain : Port A.0 difungsikan sebagai ADC untuk

    potensiometer1. Port A.1 difungsikan sebagai ADC untuk

    potensiometer2. Port A.2 difungsikan sebagai ADC untuk

    potensiometer3. Port B

    Pada port B digunakan untuk rangkaian led dandihubungkan dengan SPI port untuk downloader padamikrokontroler.

    Port-port tersebut antara lain : Port B.0 dihubungkan dengan led ke-1. Port B.1 dihubungkan dengan led ke-2. Port B.2 dihubungkan dengan led ke-3. Port B.3 dihubungkan dengan led ke-4. Port B.4 dihubungkan dengan led ke-5. Port B.5 dihubungkan dengan led ke-6 dan difungsikan

    sebagai MOSI. Port B.6 dihubungkan dengan led ke-7 dan difungsikan

    sebagai MISO. Port B.7 dihubungkan dengan led ke-8 dan difungsikan

    sebagai SCK. Port C

    Pada port C digunakan sebagai port kontrol untukpenggerak motor.

    Port C.0 difungsikan sebagai pengatur CW/CCWmotor1.

    Port C.1 difungsikan sebagai enable motor1. Port C.3 difungsikan sebagai enable motor2. Port C.4 difungsikan sebagai pengatur CW/CCW

    motor2. Port C.6 difungsikan sebagai pengatur CW/CCW

    motor3. Port C.7 difungsikan sebagai enable motor3.

    Port DPada port D hanya digunakan untuk komunikasi serial

    saja.

  • 3.3.2 Rangkaian Downloader Sistem MinimumMikrokontroler ATmega(16)L

    Gambar 3.5 Rangkaian Downloader Mikrokontroler ATmega16L

    Downloader ini dibuat untuk mempermudah mendownloadprogram ke mikrokontroler ATmega16( L ) dengan menggunakanCode Vision AVR C Compiler. Untuk interfacing dengan komputermenggunakan kabel dan port paralel DB25. pada rangkaian diatas SPIport dihubungkan dengan port-port yang ada pada sistem minimummikrokontroler ATmega 16( L ) yaitu port B.7 adalah SCK, port B.6adalah MISO, port B.5 adalah MOSI, dan pin ke 9 adalah RESET.

    3.3.3 Rangkaian Driver Motor DCDriver ini digunakan untuk menggerakkan motor yang

    terdapat pada bagian base robot, rectangular, dan gripper robot.Dibawah ini digambarkan rangkaian driver motor dc.

  • Gambar 3.6 gambar rangkaian driver IC L293D

    Gambar 3.7 gambar rangkaian TLP 521 dan 74LS04

    motor

  • Untuk rangkaian driver diatas disambungkan denganoptocoupler rangkaian TLP521 dan 74LS04. Optpcoupler inidigunakan untuk memisahkan supply driver motor dan mikrokontroleruntuk menghindari arus balik medan motor yang dapat merusak sistemminimum mikrokontroler. Untuk menjaga arus balik medan motordalam rangkaian driver motor, telah dibatasi dengan menggunakan 4buah dioda yang dipasang reverse diantara motor seperti yang tampakpada gambar diatas.

    Untuk memudahkan pengontrolan gerak dari tiga motor DCsecara bersamaan digunakan 74LS04 yang langsung menerima inputdari mikrokontroler dan dipasang sebelum masuk optocoupler TLP521.

  • BAB IVPENGUJIAN DAN ANALISA

    Dalam bab ini akan dibahas tentang pengujian berdasarkanperencanaan dari sistem yang dibuat. Pengujian ini dilaksanakan untukmengetahui kehandalan dari sistem dan untuk mengetahui apakah sudahsesuai dengan perencanaan atau belum. Pengujian pertama-tamadilakukan secara terpisah, dan kemudian dilakukan kedalam sistem yangtelah diintegrasi.Pengujian yang dilakukan pada bab ini antara lain :1. Pengujian minimum sistem mikrokontroller ATmega16L2. Pengujian rangkaian komunikasi serial.3. Pengujian rangkaian driver.4. Pengujian ADC5. Pengujian sistem keseluruhan

    4.1. PENGUJIAN MINIMUM SISTEM ATmega16LTujuan :Untuk mengetahui apakah mikrokontroller dapat bekerja dengan baik

    Peralatan:1. Minimum sistem mikrokontroller ATmega16L2. Rangkaian led pada PORT B3. DC power suply + 5 volt4. Seperangkat downloader Atmega16L dan program code vision avr

    Rangkaian :

    Gambar 4.1 diagram blok dari rangkaian pengujian mikrokontroller

    IBM PC downloader

    Led pada port B

    mikrokontroller

  • Persiapan:1. Memasang rangkaian seperti yang ditunjukkan pada gambar 4.12. Mengetik program pengujian3. Mendownload program4. Menjalankan program

    Hasil dan analisa :while (1) { // Place your code here n=1; PORTB=1; delay_ms(100); for(i=0;i

  • 2. Mensetting dan mengetik program3. Mendownload program4. Menjalankan program serial dengan menghubungkan hyperterminal.

    Hasil dan analisa :while (1) { // Place your code here n=getchar(); //AMBIL DATA DARI pc delay_ms(50); putchar(n); //KIRIM DATA KE pc PORTB=n; delay_ms(50); };

    Apabila ada penekanan pada keyboard maka akan tampil pada led yangberada pada port B, tampilan pada led adalah data ascii dari keyboard,misalnya penekanan huruf A maka pada led akan tampil data 61h .Untuk mendapatkan hasil pengujian seperti diatas maka sebelumnyaharus dicoba program yang dibuat untuk menguji program serial,selanjutnya beri data dengan cara penekanan pada keyboard maka akantampil data yang ditekan pada layar.

    4.3. PENGUJIAN RANGKAIAN DRIVER MOTOR DCTujuan :Untuk mengetahui apakah motor dc yang digunakan masih dapatberfungsi dengan baik dan digunakan untuk mengetahui apakahrangkaian driver motor dc dapat bekerja dengan baik.

    P eralatan :1. Rangkaian driver motor dc2. Motor 6 volt3. Kabel secukupnya4. Power supply

    Persiapan :1. Siapkan rangkaian driver motor dc2. Hubungkan supply 6 volt pada rangkaian driver motor dc3. Hubungkan motor dc dengan rangkaian driver motor dc4. Bila semua sudah terhubung nyalakan power supply

  • langkah pengujian :1. Berikan level tegangan high untuk pin 2 L293D demikian juga dengan

    pin 10.2. Amati arah perputaran motor.

    Hasil pengujian dan analisa :Tabel 4.1 data hasil pengujian rangkaian driver

    no Pin 1 Pin 2 Pin 7 Pin 9 Pin10

    Pin15

    M1 M2

    1 0 x x 1 0 0 Diam Diam2 1 0 0 1 0 1 Diam Kiri3 1 0 1 1 1 0 Kiri Atas4 1 1 0 1 1 1 Kanan Bawah5 1 1 1 0 X X Diam Diam

    Analisa :Pengujian dilakukan dengan memberikan level tegangan high atau lowpada pin-pin Vinh dan input 1-4 dari L293D sebagai komponen utamapada driver motor. Motor akan berputar jika Vinh diberi tegangan highdan pin yang lain diberi tegangan sebaliknya.motor akan berhenti jikaVinh diberi tegangan lom. Hal ini sudah sesuai dengan kerja IC l293D,sehingga dapat dikatakan bahwa driver dapat bekerja dengan baik.

    4.4. PENGUJIAN ADC INTERNAL ATmega16LTujuan :Untuk mengetahui data adc berdasarkan perubahan potensiometer danuntuk mengetahui apakah adc yang digunakan dapat memberi datasesuai yang diharapkan.

    Peralatan :1. Minimum sistem mikrokontroller Atmega16L2. Rangkaian led pada PORT B3. DC power suply + 5 volt4. Potensiometer5. Seperangkat downloader Atmega16L dan program code vision avr

    Persiapan :1. Memasang rangkaian uji2. Mengetik program3. Mendownload program

  • Hasil dan analisa :

    Tabel 4.2 data hasil pengujian adcNo Input(volt) Output(biner)1 0.00 0000 00002 2.5 1110 10003 5.00 1111 1110

    Pengujian dilakukan dengan memberikan tegangan high 5 volt danground pada ATmega16L. Dari pengujian rangkaian diperoleh datasesuai pada tabel 4.2. data output yang diperoleh merupakan datadesimal, sehingga diperlukan perhitungan apakah nilai desimal tersebuttelah sesuai dengan nilai tegangan analog input. Untuk perhitungannyaadalah sebagai berikut :Resolusi = nilai input maksimum/256Vout = output desimal x resolusiDari persamaan diatas jika tegangan input maksimum bernilai 5 voltmaka perhitungannya adalah sebagai berikut :Resolusi = 5/256 = 0.01953125 volt/bitDari tabel terlihat bahwa pada saat ADC diberi tegangan input 0 voltdiperoleh data output yang sesuai yaitu 0.

    4.5 PENGUJIAN SISTEM KESELURUHANPengujian ini dilakukan secara bertahap dan berhubungan satu

    dengan yang lain. Apabila tahap pertama belum berhasil maka pengujianberikutnya akan tertunda sampai pengujian tahap pertama selesaidilakukan., maka baik dari segi hardware maupun software harus siapdan dilakukan bertahap sehingga semua berjalan dengan baik serta dapatdianalisa kekurangan yang ada.

    Pengujian keseluruhan disini merupakan pengujian yangdilakukan dengan menggabungkan seluruh sistem hardware, mekanikdan software. Pada saat pengujian sistem keseluruhan robot belummampu mengelas dengan menggunakan alat pengelasan, sehingga kamimenggunakan nozel dari sebatang pensil yang diletakkan pada endeffector robot untuk mengetahui pergerakan robot dalam mengikuti garisputih lurus.

    Dari hasil pengujian yang dilakukan berkali-kali, robot dapatbergerak sesuai dengan tabel 4.3.

  • Tabel 4.3 pengujian sistem keseluruhan

    NO

    PANJANG

    OBJEK(PIXEL)

    LUASOBJEK(PIXEL)

    OBJEKDITEMU

    KAN

    OBJEKTIDAK

    DITEMUKAN

    AKSIROBOT

    1 94 1968 ya - Nozel dekatiobjek

    2 43 3240 ya - Nozel dekatiobjek

    3 48 1500 ya - Nozel dekatiobjek4 32 688 - ya cari objek5 39 750 - ya cari objek6 78 630 - ya cari objek7 28 885 - ya cari objek8 35 765 - ya cari objek9 40 864 - ya cari objek

    10 70 750 - ya cari objek

    11 43 2280 ya - Nozel dekatiobjek

    12 134 3200 ya - Nozel dekatiobjek

    Pengujian ini dilakukan dengan memberikan objek berupa garisputih lurus pada tempat objek yang telah disediakan. Set point untukluasan objek adalah diatas 1000 pixel. Jika luasan objek memenuhi setpoint maka robot akan menuju ketempat dimana objek tersebut dikenali,tetapi jika luasan objek dibawah set point tersebut maka robot akanmencari terus objek yang dikenali sampai ketemu. Seperti halnya padahasil pengujian pada nomor 4 (empat) sampai dengan 10 (sepuluh),karena luasan objeknya kurang dari 1000 pixel maka robot tidak mampumengenali objek dan dalam hal ini objek dianggap tidak ada sehinggarobot akan mencari terus objek yang dikenali sampai ketemu. Lainhalnya dengan hasil pengujian pada nomor 1, 2, 3, 11,dan 12 robotmampu mengenali objek dikarenakan luasan objek tersebut sesuaidengan set point yaitu diatas 1000 pixel. Setelah objek ini dikenali makarobot akan menggerakkan nozel untuk menuju ketempat dimana objektersebut berada untuk mengikuti keseluruhan dari panjang garis putihlurus tersebut.

  • Untuk mengetahui keberhasilan robot dalam mengikuti garis putihlurus dapat dilihat pada tabel dibawah ini.

    Tabel 4.4 keberhasilan robot dalam mengikuti objek sepanjang 12 cm

    NO PANJANGOBJEK ( cm )TARGETROBOT KETERANGAN

    1 12 GAGALHanya

    menyentuh satutitik pada objek

    2 12 GAGALHanya

    menyentuh satutitik pada objek

    3 12 GAGAL Mengikuti objeksepanjang 3 cm

    4 12 GAGAL Mengikuti objeksepanjang 2.5 cm

    5 12 GAGAL Mengikuti objeksepanjang 1 cm

    Tabel 4.5 keberhasilan robot dalam mengikuti objek sepanjang 10 cm

    NO PANJANGOBJEK ( cm )TARGETROBOT KETERANGAN

    1 10 GAGALHanya

    menyentuh satutitik pada objek

    2 10 GAGAL Mengikuti objeksepanjang 1 cm

    3 10 GAGALHanya

    menyentuh satutitik pada objek

    4 10 GAGAL Mengikuti objeksepanjang 3 cm

    5 10 GAGAL Mengikuti objeksepanjang 1.3 cm

  • Tabel 4.6 keberhasilan robot dalam mengikuti objek sepanjang 5 cm

    NO PANJANGOBJEK ( cm )TARGETROBOT KETERANGAN

    1 5 GAGALHanya

    menyentuh satutitik pada objek

    2 5 GAGALHanya

    menyentuh satutitik pada objek

    3 5 GAGAL Mengikuti objeksepanjang 3 cm

    4 5 GAGAL Mengikuti objeksepanjang 3 cm

    5 5 GAGALHanya

    menyentuh satutitik pada objek

    Tabel 4.7 keberhasilan robot dalam mengikuti objek sepanjang 4 cm

    NO PANJANGOBJEK ( cm )TARGETROBOT KETERANGAN

    1 4 GAGAL Mengikuti objeksepanjang 3 cm

    2 4 GAGALHanya

    menyentuh satutitik pada objek

    3 4 GAGALHanya

    menyentuh satutitik pada objek

    4 4 GAGALHanya

    menyentuh satutitik pada objek

    5 4 GAGAL Mengikuti objeksepanjang 3 cm Seperti terlihat pada tabel tabel pengujian diatas, ternyatameskipun robot sudah dapat mengetahui posisi dari objek yang berupagaris putih lurus dan mampu menggerakkan nozel menuju garis putihtersebut, tetapi robot hanya mampu mengikuti sedikit dari keseluruhangaris putih lurus tanpa bisa bergerak pada keseluruhan garis putih.

  • Persentase error untuk pengujian ini ditunjukkan dengan perhitunganseperti dibawah ini, yaitu :Persentase error = kegagalan / jumlah pengujian x 100%1) Persentase error pada objek sepanjang 12 cm ( tabel 4.4 )Persentase error no.3 = 9 / 12 x 100% = 75%Persentase error no.4 = 9.5 / 12 x 100% = 79%Persentase error no.5 = 11 / 12 x 100% = 91%Persentase error rata-rata = (75% + 79% + 91%) / 3 = 81%2) Persentase error pada objek sepanjang 10 cm ( tabel 4.5 )Persentase error no.2 = 9 / 10 x 100% = 90%Persentase error no.4 = 7 / 10 x 100% = 70%Persentase error no.5 = 8.7 / 10 x 100% = 87%Persentase error rata-rata = (90% + 70% + 87%) / 3 = 82.3%3) Persentase error pada objek sepanjang 5 cm ( tabel 4.6 )Persentase error no.3 = 2 / 5 x 100% = 40%Persentase error no.4 = 2 / 5 x 100% = 40%Persentase error rata-rata = (40% + 40%) / 2 = 40%4) Persentase error pada objek sepanjang 4 cm ( tabel 4.7 )Persentase error no.1 = 2 / 4 x 100% = 50%Persentase error no.5 = 2 / 4 x 100% = 50%Persentase error rata-rata = (50% + 50%) / 2 = 50% Faktor yang sangat berpengaruh terhadap kegagalan pengujian inidisebabkan karena beberapa alasan diantaranya adalah keterbatasanmetode yang digunakan dalam mengaplikasikan gerak dari robot, sensorposisi yang kurang presisi, , respon kamera yang lambat, dan letak antarakamera dengan nozel tidak berada dalam satu garis.

  • ********** Halaman ini sengaja dikosongkan**********

  • BAB VPENUTUP

    Pada bab ini akan dibahas mengenai hasil dan kelemahan dari alatyang telah dibuat. Setelah melakukan perencanaan, pembuatan danimplementasi sistem robot pengelasan, kemudian dilakukan pengujiandan analisa maka dapat diambil kesimpulan dan saran- saran sebagaiberikut :

    5.1. KESIMPULANDari beberapa tahap perencanaan dan pengujian yang telah dilakukandapat dimabil kesimpulan yaitu :1.