Anda di halaman 1dari 98

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

TUGAS AKHIR

ANALOG TO DIGITAL CONVERTER UNTUK PLC

MENGGUNAKAN MIKROKONTROLER

Diajukan Untuk Memenuhi Salah Satu Syarat

Memperoleh Gelar Sarjana Teknik

Program Studi Teknik Elektro

Disusun oleh:

ALEXANDER RAHMA ANGGA DEWANTA

NIM : 145114024

JURUSAN TEKNIK ELEKTRO

FAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS SANATA DHARMA

YOGYAKARTA

2018
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

FINAL PROJECT

ANALOG TO DIGITAL CONVERTER FOR PLC

USING MIKROKONTROLER

Presented as partial fulfillment of the requirements


For the degree of Sarjana Teknik
In Electrical Engineering Study Program

ALEXANDER RAHMA ANGGA DEWANTA

NIM : 145114024

DEPARTMENT OF ELECTRICAL ENGINEERING


FACULTY OF SCIENCE AND TECHNOLOGY
SANATA DHARMA UNIVERSITY
YOGYAKARTA
2018

ii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

iii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

iv
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

v
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

HALAMAN PERSEMBAHAN DAN MOTTO HIDUP

MOTTO :

Percayalah kepada Tuhan

dengan segenap hatimu dan janganlah bersandar

kepada pengertianmu sendiri


Amsal 3:5

Skripsi ini ku persembahkan untuk :


Tuhan Yesus Kristus dan Bunda Maria
Bapak Rahmadi dan Mama Sudarsinah
Keluarga dan Kerabat serta orang Terkasih
Teman-teman Teknik Elektro

vi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

vii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

INTISARI
Perkembangan ilmu pengetahuan dan teknologi untuk menghasilkan suatu produk,
menuntut teknologi yang mendukung. PLC Omron CPM2A dan sensor-sensor digital dan
analog dapat mendukung kemajuan produksi produk. Sensor analog tersebut membutuhkan
suatu Modul Analog Digital (MAD) agar dapat bekerja pada PLC Omron CPM2A. MAD
tersebut berfungsi untuk mengubah sinyal analog menjadi digital dan dapat diperoleh
dengan harga yang mahal. Selain itu teknologi sensor terus terbarukan seperti sensor
berbasis protokol I2C (Inter-Integrated Circuit) yang belum mendukung untuk digunakan
pada PLC Omron CPM2A .
Permasalahan tersebut perlu diatasi, dengan melakukan penelitian mengenai
konverter sinyal analog menjadi digital dan sensor berbasis I2C untuk PLC Omron
CPM2A. Selain dapat menghemat biaya, pengguna juga dapat menggunakan sensor
berbasis I2C untuk PLC CPM2A. Oleh sebab itu, dibuat sistem modul analog to digital
converter dan pengolahan data untuk sensor berbasis I2C agar dapat digunakan pada PLC
Omron CPM2A menggunakan mikrokontroler.
Modul analog to digital converter berhasil mengkonversi data analog menjadi digital
dari sensor berbasis analog dan menyimpannya di dalam memori PLC Omron CPM2A
dengan keberhasilan 100%. Modul analog to digital converter berhasil menggunakan
sensor berbasis protokol I2C dan mengirimkan data dari sensor untuk disimpan di dalam
memori PLC Omron CPM2A dengan keberhasilan 100%. Modul analog to digital
converter digunakan sebagai instrumentasi pengukuran cahaya (sensor LDR) dengan galat
2,78%, pengukuran suhu (sensor BMP180) dengan galat 10,76% .

Kata kunci : Analog to Digital Converter, Mikrokontroler, Sensor Berbasis Analog, Sensor
Berbasis I2C (Inter-Integrated Circuit) dan PLC Omron CPM2A.

viii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

ABSTRACT
The development of science and technology to produce a product, demanding
technology that supports. PLC Omron CPM2A and digital sensors and analog sensors can
support the advancement of production of the product. The analog sensor requires a Digital
Analog Modules (MAD) in order to work on the PLC Omron CPM2A. The MAD
functions to convert the analog signal into a digital and can be obtained at a great price. In
addition the sensor technology of renewable-based sensors such as continued Protocol I2C
(Inter-Integrated Circuit) that are not yet support for use on a PLC Omron CPM2A.
These problems need to be resolved, by doing research on the analog signal into a
digital converter and the I2C based sensors for the PLC Omron CPM2A. Besides being
able to save cost, users can also use the I2C based sensor to CPM2A PLC. Therefore,
created a system of modules of analog to digital converter and data processing for I2C
based sensor so it can be used on the PLC Omron CPM2A using microcontroller.
Module analog to digital converter success to converts the analog data into digital
from analog based sensor and stored it in PLC Omron CPM2A memory with the success of
100%. Analog to digital converter module is managed using the I2C Protocol based sensor
and transmits data from the sensor to be stored in PLC Omron CPM2A memory with the
success of 100%. Analog to digital converter module is used as a light measurement
instrumentation (sensors LDR) with error 2.78%, temperature measurement (BMP180
sensor) with error 10.76%.

Keywords: Analog to Digital Converter, Microcontroller, Analog Based Sensor, I2C Based
Sensor and the PLC Omron CPM2A.

ix
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

KATA PENGANTAR

Puji syukur kepada Tuhan Yang Maha Esa atas segala berkat dan karunia yang telah
diberikan selama ini sehingga dapat menyelesaikan penelitian tugas akhir dengan judul
―ANALOG TO DIGITAL CONVERTER UNTUK PLC MENGGUNAKAN
MIKROKONTROLER‖ dengan baik. Dalam pengerjaan tugas akhir ini penulis diberi
dukungan moril dan materi dari banyak pihak hingga tugas akhir ini selesai. Oleh karena
hal tersebut, penulis ingin menyampaikan ucapan terima kasih kepada:
1. Kedua orang tua penulis, Bapak Rahmadi Purwanta dan Ibu Theresia Sudarsinah
serta adik Batista Rahma B, Rafael Ananda R dan simbah, kerabat keluarga yang
memberikan dukungan doa dan kekuatan semasa kuliah hingga menyelesaikan
tugas akhir.
2. Bapak Petrus Setyo Prabowo, S.T., M.T., selaku Ketua Program Studi Teknik
Elektro Universitas Sanata Dharma Yogyakarta.
3. Bapak Djoko Untoro Suwarno S.Si. M.T., selaku Dosen Pembimbing yang
membimbing dengan penuh kesabaran, meluangkan waktu, memberikan ide, kritik
dan saran dalam menyelesaikan tugas akhir.
4. Bapak Martanto, S.T., M.T. dan Bapak Ir. Tjendro M.kom, selaku Dosen Penguji.
5. Bapak Dr. Samuel Kristiyana, S.T., M.T., yang telah membantu memberikan
pengajaran, pengetahuan, meluangkan waktu dan saran kepada penulis dalam masa
pengerjaan tugas akhir.
6. Ibu Wiwien Widyastuti ST., M.T., selaku Dosen pembimbing akademik Teknik
Elektro angakatan 2014 yang selalu memberikan saran dan perhatiannya
7. Seluruh dosen dan laboran Teknik Elektro yang dengan sabar mendidik serta
memberi pengetahuan.
8. Teman-teman group ―kontrakan‖ dan ―Pzinh‖ yang selalu memberikan semangat
dan hiburan yang menyehatkan.
9. Anna Clara Nilam P seorang wanita memberikan dukungan, semangat dan doa.
10. Sahabat-sahabat Teknik Elektro angkatan 2014 yang telah menjadi bagian dalam
proses perkuliahan dan hidup.
11. Semua pihak yang tidak dapat penulis sebutkan satu per satu atas bantuan,
bimbingan, kritik, dan saran dalam menyelesaikan tugas akhir ini.

x
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

xi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

DAFTAR ISI

TUGAS AKHIR ..................................................................................................................... i


LEMBAR PERSETUJUAN .................................................................................................. ii
LEMBAR PENGESAHAN .................................................................................................. iii
PERNYATAAN KEASLIAN KARYA ............................................................................... iv
HALAMAN PERSEMBAHAN DAN MOTTO HIDUP ..................................................... vi
LEMBAR PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH
UNTUK KEPENTINGAN AKADEMIS ............................................................................ vii
INTISARI ........................................................................................................................... viii
ABSTRACT ......................................................................................................................... ix
KATA PENGANTAR ........................................................................................................... x
DAFTAR ISI ....................................................................................................................... xii
DAFTAR GAMBAR ........................................................................................................... xv
DAFTAR TABEL ............................................................................................................ xviii
BAB I PENDAHULUAN ................................................................................................... 1
1.1. Latar Belakang ............................................................................................................ 1
1.2. Tujuan dan Manfaat Penelitian ................................................................................... 2
1.3. Pembatasan Masalah ................................................................................................... 2
1.4. Metodologi Penelitian ................................................................................................. 3
BAB II DASAR TEORI ...................................................................................................... 5
2.1. Mikrokontroler AVR ATmega328 ............................................................................. 5
2.1.1 Memori .................................................................................................................. 7
2.1.2. Input dan Output................................................................................................... 7
2.1.3. Software Arduino ................................................................................................. 7
2.1.4. Analog to Digital Converter ................................................................................ 8
2.1.5. Komunikasi Arduino .......................................................................................... 12
2.2. Sensor berbasis I2C (Inter-Integrated Circuit) ........................................................ 12
2.2.1. Konfigurasi Komunikasi I2C ............................................................................. 13
2.2.2. Prosedur Komunikasi I2C [4] ............................................................................ 13
2.2.3. Protokol I2C ....................................................................................................... 14
2.2.4. Sensor Gyroscope dan Accelerometer type MPU – 6050 [11] ......................... 15
2.2.5. Barometric Pressure Sensor BMP180 [12] ........................................................ 17

xii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

2.3. PLC (Programmable Logic Controller) ................................................................... 19


2.3.1. PLC Omron CPM2A [13] .................................................................................. 20
2.3.2. Struktur Memori PLC Omron CPM2A [13] ...................................................... 20
2.4. Komunikasi Data ..................................................................................................... 23
2.4.1. Komunikasi Serial RS-232 ................................................................................. 23
2.4.2 Konfigurasi Konektor RS-232C [16] .................................................................. 24
2.4.3. Komunikasi Host-Link [13][17]......................................................................... 25
2.5. LDR (Light Dependent Resistor) .............................................................................. 28
BAB III PERANCANGAN PENELITIAN ....................................................................... 31
3.1 Konsep Perancangan .................................................................................................. 31
3.2 Perancangan dan Pemilihan Perangkat Keras ........................................................... 31
3.2.1 Desain Hardware ............................................................................................... 32
3.2.2 Rangkaian Elektronik ......................................................................................... 33
3.2.3. Sensor LDR ....................................................................................................... 34
3.2.4. Modul Sensor Type MPU 6050 dan BMP180 .................................................. 36
3.3 Perancangan Perangkat Lunak .................................................................................. 36
3.3.1. Diagram Alir pada Arduino............................................................................... 37
3.3.2. Diagram Alir Sub Rutin Input Sensor ............................................................... 38
3.3.3. Diagram Alir Mikrokontroler Memproses Data................................................. 39
3.3.4. Diagram Alir pada PLC...................................................................................... 41
3.4. Perancangan Komunikasi antara Mikrokontroler dengan PLC ............................... 41
3.4.1. Mode Operasi PLC ............................................................................................. 41
3.4.2. Pengaturan Komunikasi ..................................................................................... 42
3.4.3. Konfigurasi Koneksi Mikrokontroler ke PLC .................................................... 42
BAB IV HASIL DAN PEMBAHASAN ........................................................................... 43
4.1. Implementasi Sistem ................................................................................................ 43
4.1.1. Proses Monitoring Data ...................................................................................... 43
4.1.2. Bentuk Fisik dan Proses Kerja Perangkat Keras ............................................... 44
4.2. Hasil dan Analisis Pengujian Sistem ....................................................................... 45
4.2.1. Komunikasi Mikrokontroler dengan PLC. ......................................................... 45
4.2.2. Pengujian Sensor Cahaya(LDR) ........................................................................ 48
4.2.3. Pengujian Sensor Suhu dan Tekanan (BMP180) ............................................... 51
4.2.3.1. Komunikasi I2C Pada Sensor BMP180 ...................................................... 51

xiii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

4.2.3.2. Hasil Pengujian Sensor Suhu BMP180 ....................................................... 53


4.2.3.3. Hasil Pengujian Sensor Tekanan BMP180 .................................................. 58
4.2.4. Pengujian Sensor Gyroscope (MPU6050) ......................................................... 59
4.2.4.1. Komunikasi I2C pada sensor MPU6050 ..................................................... 60
4.3. Pembahasan Perangkat Lunak .................................................................................. 61
4.3.1. Inisialisasi ........................................................................................................... 62
4.3.2. Program Perhitungan FCS .................................................................................. 62
4.3.3. Program Pengiriman Data .................................................................................. 63
4.3.3.1 Program Pendeteksi Sensor .......................................................................... 63
4.3.3.2 Program Pengiriman Data Sensor LDR dan BMP180 ................................. 64
4.3.4. Program Monitoring Data Memori PLC CPM2A .............................................. 68
BAB V KESIMPULAN DAN SARAN ............................................................................ 69
5.1. Kesimpulan ............................................................................................................... 69
5.2.Saran .......................................................................................................................... 69
DAFTAR PUSTAKA ......................................................................................................... 70
LAMPIRAN ........................................................................................................................ L1

xiv
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

DAFTAR GAMBAR

Gambar 1. 1 Blok Perancangan Alat ..................................................................................... 3


Gambar 2. 1. Konfigurasi pin ATmega328 [5] .................................................................... 5
Gambar 2. 2. Board Arduino Uno R3.................................................................................... 5
Gambar 2. 3. Tampilan Arduino Software (Arduino IDE) .................................................... 8
Gambar 2. 4. ADC saat (a) Sampling Rendah dan (b) Sampling Tinggi [7]......................... 8
Gambar 2. 5. ADC Multiplexing Selection Register [8] ....................................................... 9
Gambar 2. 6. ADC Control and Status Register A [8] ........................................................ 10
Gambar 2. 7. ADCL (a) dan ADCH (b) saat ADLAR bernilai 0 [8] .................................. 11
Gambar 2. 8. ADCL (a) dan ADCH (b) saat ADLAR bernilai 1 [8] .................................. 11
Gambar 2. 9. Digital Input Disable Register 0 .................................................................... 11
Gambar 2. 10. Konfigurasi I2C bus Master dan Slave[10] ................................................. 13
Gambar 2. 11. Protokol I2C keadaan START dan STOP. .................................................... 14
Gambar 2. 12. Proses Transfer Data[4] ............................................................................... 15
Gambar 2. 13. Modul MPU – 6050 ..................................................................................... 15
Gambar 2. 14. 3 –axis angular rate sensor ......................................................................... 16
Gambar 2. 15. 3 axis accelerometer .................................................................................... 16
Gambar 2. 16. BMP180 ....................................................................................................... 17
Gambar 2. 17. Flowchart pengukuran pada BMP180[12] .................................................. 17
Gambar 2. 18. Koefisien kalibrasi sensor BMP180[12]...................................................... 18
Gambar 2. 19. Address BMP180[12] .................................................................................. 18
Gambar 2. 20. PLC OMRON CPM2A dengan 20 I/O ........................................................ 20
Gambar 2. 21 Level Logika Tegangan TTL dan RS 232 [15] ............................................ 23
Gambar 2. 22 Konektor RS 232 jenis DB9 ......................................................................... 24
Gambar 2. 23. Konfigurasi Konektor RS-232C [16]........................................................... 25
Gambar 2. 24. One to One Comminication [13] ................................................................. 26
Gambar 2. 25. One to N Communication [13]..................................................................... 26
Gambar 2. 26. Blok diagram prosedur host link communication PLC CPM2A [13] .......... 27
Gambar 2. 27. Command Frame [13]................................................................................. 27
Gambar 2. 28. Response Frame [13] ................................................................................... 28
Gambar 2. 29. Perhitungan Frame Check Sequence (FCS) [13]. ........................................ 28
Gambar 2. 30. Sensor LDR [18] .......................................................................................... 29

xv
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Gambar 2. 31 Kurva Intensitas Cahaya vs Resistansi LDR ................................................ 29


Gambar 2. 32. Rangkaian Elektronik Sensor LDR ............................................................. 29
Gambar 3. 1. Diagram Blok Keseluruhan Sistem ............................................................... 31
Gambar 3. 2. Desain Hardware ........................................................................................... 32
Gambar 3. 3. Rangkain Elektronik ...................................................................................... 33
Gambar 3. 4. Rangkain Sensor LDR ................................................................................... 34
Gambar 3. 5. Diagram Alir pada Arduino dan PLC ............................................................ 37
Gambar 3. 6. Diagram Alir Sub Rutin Input Sensor ........................................................... 38
Gambar 3. 7. Diagram Alir Pemrosesan Data pada Mikrokontroler ................................... 39
Gambar 3. 8. Command Frame DM Area Write ................................................................. 40
Gambar 3. 9. Command Frame untuk pengaturan mode PLC ............................................ 42
Gambar 3. 10. Konfigurasi Konektor RS-232 ..................................................................... 42
Gambar 4. 1. Hasil Monitoring Menggunakan PC/laptop ...................................................44
Gambar 4. 2. Hasil Monitoring Menggunakan Programming Console ............................... 44
Gambar 4. 3. Perangkat Keras Keseluruhan Sistem Menggunakan Laptop/PC atau
Programming Console ......................................................................................................... 44
Gambar 4. 4 Modul Analog to Digital Converter ............................................................... 45
Gambar 4. 5 Data terkirim dari mikrokontroler pada aplikasi Terminal ............................ 46
Gambar 4. 6 Data diterima PLC .......................................................................................... 46
Gambar 4. 7. Nilai BCD Terbaca sebagai Nilai Heksadesimal ........................................... 47
Gambar 4. 8 Pengambilan Data Sensor ............................................................................... 47
Gambar 4. 9. Monitoring Data DM 1 dan DM 9 ................................................................. 50
Gambar 4. 10. Grafik Perbandingan Data ADC .................................................................. 50
Gambar 4. 11. Gelombang Keseluruhan ............................................................................. 51
Gambar 4. 12. Kondisi Gelombang ―START‖ .................................................................... 52
Gambar 4. 13. Address dan Data Sensor ............................................................................. 52
Gambar 4. 14 Kondisi Gelombang ―STOP‖ ........................................................................ 52
Gambar 4. 15. Monitoring Data DM 2 dan DM 10 ............................................................. 54
Gambar 4. 16. Grafik Perbandingan Pengukuran Suhu....................................................... 58
Gambar 4. 17. Monitoring data sensor tekanan ................................................................... 59
Gambar 4. 18. Gelombang ―START‖ dan ―DATA‖ ........................................................... 60
Gambar 4. 19. Keadaan ―TIDAK ADA DATA‖................................................................. 60
Gambar 4. 20. Gelombang Kondisi ―STOP‖ ....................................................................... 60

xvi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Gambar 4. 21. Data Pengukuran Gyroscope ....................................................................... 61


Gambar 4. 22 Program Inisialisasi ...................................................................................... 62
Gambar 4. 23. Perhitungan FCS .......................................................................................... 63
Gambar 4. 24. Pendeteksi Sensor LDR ............................................................................... 63
Gambar 4. 25. Pendeteksi Sensor BMP180......................................................................... 64
Gambar 4. 26. Perintah Monitor .......................................................................................... 64
Gambar 4. 27. List Program Pengiriman Data Analog ........................................................ 65
Gambar 4. 28. Inisialisasi Suhu dan Tekanan ..................................................................... 65
Gambar 4. 29. List Program Suhu ....................................................................................... 66
Gambar 4. 30. List Program Tekanan.................................................................................. 67
Gambar 4. 31. List Program Pengiriman Data .................................................................... 68
Gambar 4. 32. Ladder monitoring Data Sensor................................................................... 68

xvii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

DAFTAR TABEL

Tabel 2. 1 Spesifikasi board Arduino Uno [5] .................................................................... 6


Tabel 2. 2. Konfigurasi dan Deskripsi Pin Atmega328 [5] ................................................... 6
Tabel 2. 3. Pilihan Tegangan Referensi ADC [8].................................................................. 9
Tabel 2. 4. Pilihan Nilai Prescaler ADC [8] ........................................................................ 10
Tabel 2. 5. Pengaturan Kecepatan Sampling[12] ................................................................ 19
Tabel 2. 6. Pembagian SR, TR, HR, AR, LR, Timer/Counter area
PLC Omron CPM2A [13] ................................................................................................... 21
Tabel 2. 7. Pembagian IR area PLC Omron CPM2A [13] ................................................. 21
Tabel 2. 8. Pembagian DM area PLC Omron CPM2A [13] ............................................... 22
Tabel 3. 1. Hasil Perhitungan dengan resistansi pull-down 10Kῼ ......................................34
Tabel 3. 2. Hasil Perhitungan dengan resistansi pull-down 1Kῼ ........................................ 35
Tabel 3. 3. Hasil perhitungan ADC dan Vin ....................................................................... 36
Tabel 3. 4. Alamat memori penyimpanan data .................................................................... 41
Tabel 3. 5. Mode monitor PLC ............................................................................................ 42
Tabel 3. 6. Pengaturan Komunikasi Host Link [15] ............................................................ 42
Tabel 4. 1. Alamat Akses Data Sensor pada Memori DM PLC..........................................43
Tabel4.2. Data yang terkirim dan data yang tertampil .................................................... 47
Tabel 4. 3 Data Hasil Pengujian Sensor LDR ..................................................................... 49
Tabel 4. 4. Data Hasil Pengujian Sensor Suhu BMP180 .................................................... 55
Tabel 4. 5. (Lanjutan) Data Hasil Pengujian Sensor Suhu BMP180 ................................... 56
Tabel 4. 6. (Lanjutan) Data Hasil Pengujian Sensor Suhu BMP180 ................................... 57
Tabel 4. 7. Data Hasil Pengujian Sensor Tekanan BMP180 ............................................... 59

xviii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

BAB I
PENDAHULUAN

1.1. Latar Belakang


Teknologi dan ilmu pengetahuan berkembang dengan cepat dan pesat. Kehidupan
manusia yang menuntut untuk bergerak cepat dan mudah menjadi salah satu penyebabnya.
Teknologi dapat ditemui dalam berbagai aspek untuk mendukung kesejahteraan manusia,
seperti bidang industri, otomotif dan lain-lain. Dalam bidang tersebut, salah satu penerapan
teknologi sebagai pengendali (control) untuk mengatur kerja sistem, salah satu
komponennya adalah PLC (Programmable Logic Controller).
PLC merupakan pengontrol berbasis mikroprosesor yang memanfaatkan memori
yang dapat diprogram untuk menyimpan instruksi-instruksi dan mengimplementasikan
fungsi-fungsi semisal logika, sequencing, timing, pencacah, counting dan aritmatika guna
mengontrol mesin dan proses-proses. PLC dapat dihubungkan dengan perangkat-perangkat
input, seperti sensor dan perangkat-perangkat output, seperti aktuator [1]. Data-data yang
masuk kedalam prosesor pusat (CPU) yang ada di dalam PLC adalah sinyal digital. Sinyal
digital akan diolah sesuai dengan program, kemudian akan disimpan di dalam memori [2].
PLC yang akan digunakan dalam perancangan adalah CPM2A. PLC CPM2A mempunyai
keterbatasan jumlah input dan output (I/O) analog maupun digital, sehingga untuk
mengatasi keterbatasan tersebut perlu ditambahkan dengan suatu sistem modular untuk
dapat mengatasi keterbatasan tersebut [1]. Sistem modular yang dapat digunakan adalah
MAD (Module Analog Digital). MAD berfungsi sebagai pengubah sinyal analog input ke
data biner (digital) dan sinyal digital ke analog output [3]. Penggunaan MAD untuk
beberapa kalangan dapat menimbulkan permasalahan, terutama untuk industri skala kecil
menengah dan untuk dunia pendidikan, karena harganya yang relatif mahal.
Perangkat-perangkat sensor dapat mendukung kinerja PLC. Sensor – sensor dapat
berperan sebagai input PLC. Perkembangan teknologi sensor semakin cepat dan menjadi
lebih efisien. Sensor berbasis I2C merupakan perkembangan teknologi sensor yang handal.
Komunikasi berbasis I2C (Inter-Integrated Circuit) menggunakan SDA (serial data) dan
SDL (serial clock) [4]. Fasilitas komunikasi menggunakan SDA dan SCL pada PLC
CPM2A belum tersedia.

1
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Berdasarkan beberapa permasalahan tersebut, maka diharapkan pengembangan suatu


sistem modular yang dapat berfungsi untuk mengubah sinyal analog ke digital dan
mempunyai fasilitas untuk komunikasi berbasis SDA dan SCL menggunakan
mikrokontroler, sehingga dapat digunakan sebagai input pada PLC. Mikrokontroler
memiliki fasilitas yang mendukung sebagai input analog, digital dan komunikasi berbasis
I2C. Fasilitas tersebut bermanfaat untuk mengolah data dari sensor berbasis digital, analog
dan sensor berbasis komunikasi SDA dan SCL [5]. Penggunaan mikrokontroler karena
memiliki harga yang lebih terjangkau jika dibandingkan MAD dan memiliki kemampuan
untuk berkomunikasi dengan sensor berbasis I2C. Pemrosesan data pada sensor berbasis
I2C dan sensor analog sampai menjadi masukan PLC dilakukan oleh program
mikrokontroler. Mikrokontroler akan mengkonversi sinyal analog yang dikirim oleh sensor
berbasis analog menjadi sinyal digital. Hasil konversi tersebut akan dikirim secara serial
untuk disimpan di dalam memori PLC. Pada sensor berbasis I2C, data hasil pembacaan
sensor akan diterima oleh mikrokontroler melalui komunikasi berbasis SDA dan SCL,
kemudian data berupa sinyal digital akan dikirim ke PLC. Komunikasi antara
mikrokontroler dengan PLC menggunakan komunikasi serial RS-232. Data hasil
pembacaan sensor akan disimpan di dalam memori PLC dan dapat dilihat melalui software
pemrograman untuk PLC.

1.2. Tujuan dan Manfaat Penelitian


Tujuan dari penelitian ini adalah membuat suatu alat yang dapat digunakan sebagai
converter analog to digital signal menggunakan mikrokontroler Arduino, sehingga sensor
berbasis analog dan sensor berbasis I2C dapat digunakan sebagai input PLC.
Manfaat penelitian ini bagi penggunanya adalah menyediakan alat yang dapat
digunakan sebagai converter analog to digital signal menggunakan mikrokontroler
Arduino. Alat ini dapat membaca data dari input sensor berbasis analog dan mendukung
untuk sensor berbasis I2C, kemudian data akan disimpan di dalam memori PLC.

1.3. Pembatasan Masalah


Agar Tugas Akhir ini bisa mengarah pada tujuan dan untuk menghindari terlalu
kompleksnya permasalahan yang muncul, maka perlu adanya batasan-batasan masalah
yang sesuai dengan judul dari tugas akhir ini. Adapun batasan masalah adalah :
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

1. Menggunakan mikrokontroler ATmega328 dengan board Arduino Uno R3 untuk


pemrosesan data yang akan digunakan sebagai input PLC.
2. Menggunakan PLC Omron CPM2A sebagai tempat penyimpanan data.
3. Komunikasi serial RS232 digunakan sebagai penghubung antara mikrokontroler
dan PLC untuk proses pengiriman data.
4. Pengujian menggunakan 3 buah sensor, yaitu sensor cahaya, sensor suhu dan
tekanan serta sensor gyroscope.
5. Pengolahan data hasil pembacaan sensor akan selesai setelah data tersimpan di
dalam memori PLC.

1.4. Metodologi Penelitian


Dalam proses penelitian ini, metodologi yang digunakan untuk mempermudah
mencapai tujuan adalah sebagai berikut :
1. Studi Literatur
Tahap ini dilakukan dengan cara memahami dan membaca teori dari sumber
referensi berupa buku-buku, jurnal, artikel dan situs internet yang berkaitan dengan
PLC, komunikasi serial, sensor berbasis I2C, sensor berbasis analog, Arduino Uno
R3, komunikasi host-link. Skripsi-skripsi dari para peneliti juga digunakan sebagai
referensi dalam menyelesaikan tugas akhir ini.
2. Perancangan perangkat keras.

Sensor
Mikrokontroler

RS232 to TTL

berbasis I2C
Converter

Monitor
Adapter
RS232

PLC

Sensor
berbasis
Analog

Input Kontroler Komunikasi Serial Output


RS232

Gambar 1. 1 Blok Perancangan Alat


Tahap ini bertujuan untuk mendapatkan model yang optimal dari sistem yang akan
dibuat dengan mempertimbangkan dari berbagai faktor permasalahan. Perancangan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

perangkat keras meliputi desain alat yang akan dibuat dan penentuan dimensi dari
alat tersebut. Gambar 1.1 adalah blok model perancangan alat.
3. Perancangan perangkat lunak.
Perancangan dilakukan dengan membuat diagram alir program PLC dan
mikrokontroler. Perancangan program pada mikrokontroler berkaitan dengan
proses pengolahan dan pengemasan data yang dibaca oleh sensor agar dapat
terkirim ke PLC. Perancangan program pada PLC adalah membuat ladder,
mengatur memori yang akan digunakan sebagai tempat penyimpanan data.
4. Pembuatan perangkat keras dan perangkat lunak.
Pembuatan dilakukan dengan mengimplementasikan rancangan perangkat keras
dan perangkat lunak yang akan saling bersinergi membentuk sistem yang
diinginkan. Pemrograman perangkat lunak dapat menggunakan Arduino Software
untuk program mikrokontroler dan Software pemograman untuk PLC.
5. Proses pengambilan data dan pengujian .
Pengambilan data dan pengujian dilakukan dengan cara sebagai berikut :
1) Pengujian dengan menjadikan sensor berbasis I2C sebagai input pin pada
mikrokontroler dengan address sensor yang berbeda.
2) Pengujian sensor analog dengan satu jenis/type sensor, untuk mengetahui
keberhasilan konversi dari sinyal analog ke digital lalu akan dilihat hasil
datanya.
3) Pengambilan data penelitian dilakukan ketika data yang terbaca oleh sensor-
sensor akan diolah oleh mikrokontroler kemudian akan dikirim ke PLC melalui
komunikasi serial. Data yang diterima PLC akan tersimpan di dalam memori
PLC.
6. Analisis dan pengambilan kesimpulan.
Analisis dilakukan dengan mengamati apakah yang diperintahkan oleh program
pada mikrokontroler dan PLC sesuai dengan perancangan dan apakah dapat
dilaksanakan dengan baik. Mengambil kesimpulan dapat dilakukan setelah
melakukan analisis.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

BAB II
DASAR TEORI

2.1. Mikrokontroler AVR ATmega328


Penelitian ini, menggunakan mikrokontroler ATmega328. Mikrokontroler tersebut
diintegrasikan dengan board Ardunino Uno, sehingga mempermudah penggunaan dan
memiliki fitur dan spesifikasi yang lengkap [5].

GambarGambar
1. 2 Konfigurasi
2. 1. Konfigurasi
Pin ATmega328
pin ATmega328
[5]

Gambar 2.2 adalah board Arduino Uno R3 dengan menggunakan ATmega328


sebagai mikrokontrolernya. Pada board ini setiap pin AT mega328 sudah menjadi
rangkaian elektonik yang dapat digunakan dan dilengkapi dengan inputan model USB.
Spesifikasi Arduino Uno R3 dapat di lihat pada tabel 2.1.

GambarGambar
1. 3 Board
2. 2.Arduino
Board Arduino
Uno R3 Uno R3

5
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Board Arduino Uno memiliki spesifikasi sebagai berikut :


Tabel 2. 1 Spesifikasi board Arduino Uno [5]
Digital I/O Pin 14 Pin
Analog Input Pin 6 Pin
Operating Voltage 5 Volt
Input Voltage 7 – 12 Volt
Input Voltage (limit) 6 – 20 Volt
Arus DC setiap I/O Pin 20 mA
Clock Speed 16 MHz

Tabel 2. 2. Konfigurasi dan Deskripsi Pin Atmega328 [5]


No Parameter Keterangan
1 Jack USB Untuk komunikasi mikrokontroler
2 Jack Adaptor Masukan power eksternal bila Arduino bekerja mandiri
(tanpa komunikasi dengan PC melalui kabel serial USB).
3 Tombol Reset Tombol reset internal berfungsi untuk mereset modul
Arduino.

4 SDA dan SCL Komunikasi Two Wire Interface (TWI) atau Inter
Integrated Circuit (I2C) dengan menggunakan wire
library.

5 GND dan AREF  GND = Pin ground dari regulator tegangan board
Arduino.
 AREF = Tegangan Referensi untuk input analog.

6 Pin Digital Pin untuk menerima input digital dan memberi output
digital (0 dan 1 atau low dan high).
7 Pin Serial Digunakan untuk menerima dan mengirimkan data serial
TTL (Receiver Rx), Transmiter (Tx).
Pin 0 dan sudah terhubung ke pin serial USB to TTL
sesuai dengan pin ATmega.

8 Pin Power  Vin = Masukan tegangan input bagi Arduino ketika


menggunakan sumber tegangan eksternal.
 5 V = Sumber tegangan yang dihasilkan regulator
internal board Arduino
 3,3 V = Sumber tegangan yang dihasilkan regulator
internal board Arduino. Arus maksimal pada pin ini
adalah 50 mA.
 GND = Pin ground dari regulator tegangan board
Arduino.
 IOREF = Tegangan Referensi

9 Pin Analog in  Menerima input dari perangkat analog


PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

2.1.1 Memori
ATmega328 memiliki 32 KB dari memori flash untuk menyimpan kode (0.5 KB
digunakan untuk bootloader), untuk SRAM senilai 2 KB dan 1 KB EEPROM (dapat dibaca
dan ditulis dengan library EEPROM [5].

2.1.2. Input dan Output


Masing-masing dari 14 pin digital pada Uno dapat digunakan sebagai input atau
output, menggunakan pinMode(), digitalWrite() dan digitalRead() dengan tegangan operasi
5 volt. Setiap pin dapat memberikan atau menerima maksimum 20 mA dan memiliki
resistor pull-up internal yang (terputus secara default) 20-50 Kohm [5]. Selain itu, beberapa
pin memiliki fungsi khusus, yaitu :

a. Serial: 0 (RX) dan 1 (TX). Digunakan untuk receive (RX) dan transmit (TX) data
TTL serial. Pin ini terhubung ke pin yang sesuai dari chip Atmega8U2 USB-to-
serial TTL.
b. Eksternal Interupsi : 2 dan 3. Pin ini dapat dikonfigurasi untuk memicu interupsi
pada nilai yang rendah, tepi rising atau down atau perubahan nilai.
c. PWM : 3, 5, 6, 9, 10 dan 11 menyediakan 8 bit output PWM dengan fungsi
analogWrite().
d. SPI : 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). Pin ini mendukung komunikasi
SPI menggunakan library SPI. SPI (Serial Peripheral Interface) adalah sebuah
sinkronisasi serial data protocol yang digunakan oleh mikrokontroler untuk
melakukan komunikasi dengan satu atau lebih peripheral device secara cepat
berjarak pendek. SPI dapat digunakan untuk komunikasi antar dua mikrokontroler.
e. LED : 13. Ada built-in LED terhubung ke pin digital 13 pada board Arduino Uno.
Saat pin bernilai high, LED akan menyala, ketika pin bernilai low, LED akan off.
[5]

2.1.3. Software Arduino


Software untuk pemrograman Arduino Uno dapat dilakukan dengan Arduino IDE
yang dapat dioperasikan melalui komputer [5]. Arduino IDE bermanfaat untuk menuliskan
kode untuk mengontrol Arduino Uno dan mengirimkan hasil komplikasi ke papan Arduino
Uno [6]. Pengiriman dapat dilakukan melalui jack USB dan jack Adaptor. Software ini
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

memiliki tampilan yang mempermudah pemrograman. Tampilan jendela Arduino IDE


ditunjukkan pada gambar 2.3 :

Gambar 2. 3.Gambar
Tampilan
1. 4Arduino Software (Arduino IDE)

2.1.4. Analog to Digital Converter

Gambar 2. 4. ADC saat (a) Sampling Rendah dan (b) Sampling Tinggi [7]

Analog to Digital Converter (ADC) adalah pengubah input analog menjadi kode –
kode digital. ADC banyak digunakan sebagai pengatur proses industri, komunikasi digital
dan rangkaian pengukuran/ pengujian yang menghubungkan sensor-sensor dengan sistem
komputer [7].
ADC mempunyai dua karakter prinsip, yaitu kecepatan sampling dan resolusi.
Kecepatan sampling ADC menyatakan seberapa sering sinyal analog di konversikan
menjadi sinyal digital pada selang waktu tertentu. Kecepatan sampling dinyatakan dengan
Sample per Second (SPS) [7].
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

ATmega328 memiliki resolusi 10 bit, batasan tegangan masukan 0 – VCC. ADC


dapat beroperasi dengan memerlukan tegangan referensi (Vref), baik menggunakan
tegangan referensi internal atau eksternal. Tegangan referensi internal sebesar 1.1 V.Pada
pin Aref nilai tegangan referensi eksternal tidak boleh melebihi AVCC. Pin Aref dapat
didecouple dengan tegangan eksternal menggunakan kapasitor untuk mengurangi derau
[8].
n
Ketelitian hasil konversi ADC dapat dinyatakan dengan rumus ( 2 - 1 ), nilai n
merupakan nilai bit yang akan dihitung [7]. Ketelitian hasil konversi ADC pada
ATmega328 adalah sebesar 1024.
Hasil konversi ADC dapat dinyatakan dalam rumus [8] :

(2.1)

Mengaktifkan ADC pada ATmega328 memerlukan beberapa register, seperti ADMUX,


ADCSRB, ADCSRA, ADCL, ADCH dan DIDR0 [8].
Register ADMUX

Gambar 2. 5. ADC Multiplexing Selection Register [8]

Register ADMUX memiliki bit-bit seperti pada gambar .2.5 dengan keterangan sebagai
berikut:
1. Bit 7:6 – REF1 (1:0) Reference Selection Bits. Bit-bit ini berfungsi untuk
memilih tegangan referensi ADC (seperti Tabel 2.3 ).
2. Bit 5 – ADLAR : ADC Left Adjust Result. Berfungsi untuk mengatur penjajaran
hasil konversi ADC. Saat ADLAR bernilai 1, maka hasil konversi dimulai dari
MSB, sedangkan saat bernilai 0 maka akan dimulai dari LSB.
Tabel 2. 3. Pilihan Tegangan Referensi ADC [8]
REFS1 REFS0 Pilihan Tegangan Referensi
0 0 AREF, Vref Internal dimatikan
0 1 AVCC dengan kapasitor eksternal pada pin AREF
1 0 Belum Digunakan
Tegangan referensi internal 1.1 V dengan kapasitor
1 1
eksternal pada pin AREF

3. Bits 3:0 – MUXn: Analog Channel Selection. Bit-bit ini berguna untuk mengatur
masukan analog yang akan dihubungkan ke ADC.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

10

Register ADCSRA
Pada register ADCSRA memiliki beberapa bit-bit, setiap bit dapat menunjukkan suatu
perintah, berikut ini adalah penjelasannya :
1. Bit 7 – ADEN: ADC Enable. Bit bernilai 1 untuk mengaktifkan ADC.
Memberikan nilai 0 akan mematikan fitur ADC. Nilai konversi akan langsung
berhenti jika fitur ADC dimatikan saat proses konversi dilakukan.

Kk

Gambar 2. 6. ADC Control and Status Register A [8]


kkk
2. Bit 6 – ADSC : ADC Start Conversion. Memberikan nilai 1 pada bit ini untuk
memulai proses konversi pada masing-masing nilai jika menggunakan mode
konversi tunggal dan mengkonversi nilai awal jika menggunakan mode free
running.
3. Bit 5 – ADATE: ADC Auto Trigger Enable. Saat bit ini bernilai 1, picuan ADC
akan aktif. ADC memulai konversi nilainya pada pinggiran positif dari sinyal
picuan yang dipilih.
4. Bit 4 – ADIF: ADC Interrupt Flag. Bit ini bernilai 1 ketika konversi ADC sudah
selesai dan Register Data akan di perbaharui. Interupsi konversi selesai dieksekusi
jika bit ADIE dan I dalam register SREG bernilai.
5. Bit 3 – ADIE: ADC Interrupt Enable. Menuliskan nilai 1 dan mengatur bit I
dalam SREG akan mengaktifkan ADC Conversion Complete Interrupt.
Tabel 2. 4. Pilihan Nilai Prescaler ADC [8]

ADPS2 ADPS1 ADPS0 Faktor Pembagi


0 0 0 2
0 0 1 2
0 1 0 4
0 1 1 8
1 0 0 16
1 0 1 32
1 1 0 64
1 1 1 128
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

11

6. Bits 2:0 – ADPSn: ADC Prescaler Select [n = 2:0]. Bit-bit ini menentukan nilai
pembagi antara frekuensi XTAL dan masukan pulsa pada ADC.
Register ADCL dan ADCH (ADC Data Register)
Hasil konversi nilai ADC berada di register ADCL dan ADCH. Kedua register ini
memiliki kapasitas 16 bit data. ADCL dan ADCH dipengaruhi oleh nilai bit ADLAR.

.
(a)
gGa

(b)
Gambar 2. 7. ADCL (a) dan ADCH (b) saat ADLAR bernilai 0 [8]

9(a)a)

(b)
Gambar 2. 8. ADCL (a) dan ADCH (b) saat ADLAR bernilai 1 [8]

Berikut penjelasan bit-bit pada kedua register tersebut [8] :


ADC9:0 - ADC Conversion Result 9:2. Bit-bit ini, di dalamnya berisi hasil konversi dari
nilai ADC.
Register DIDR0

Gambar 2. 9. Digital Input Disable Register 0


PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

12

Pada saat masing-masing bit ditulis logika satu, maka penyangga masukan digital
pada pin ADC secara bersamaan akan tidak aktif. Bit pada Register PIN secara bersamaan
akan terbaca sebagai nilai 0 ketika bit di atur. Saat sinyal analog di gunakan pada pin
ADC7 hingga ADC0 dan input digital dari pin tersebut tidak perlu digunakan, untuk
menyatakannya bit itu dapat ditulis logika satu, untuk mengurangi konsumsi energi pada
penyangga masukan digital.
2.1.5. Komunikasi Arduino
Arduino Uno R3 memiliki fasilitas untuk berkomunikasi dengan mikrokontroler lain.
Fasilitas lain yang disediakan ATmega328 adalah fasilitas Universal Synchronous and
Asynchonous Serial Receiver and Transmiter ( USART ) pada pin D0 ( RX ) dan pin D1
(TX) [5]. Terdapat chip Atmega16U2 digunakan untuk komunikasi serial lewat USB dan
sebagai port virtual com untuk perangkat lunak pada komputer [5]. Komunikasi serial pada
arduino dapat dilakukan dengan menggunakan USB [6].

2.2. Sensor berbasis I2C (Inter-Integrated Circuit)


I2C bus menyediakan cara yang lebih sederhana agar IC (Inter-IC ) dapat saling
berkomunikasi dengan penggunaan jumlah pin yang minimum. Memiliki standar
Hardware yang sederhana dan standar Software yang sederhana [4]. Pada sensor berbasis
I2C memiliki fitur yang dirancang di dalamnya, seperti berikut ini:
 Menggunakan SDA (Serial Data Line) dan SCL (Serial Clock Line) secara
bidirectional line untuk meningkatkan kemampuan [9].
 Setiap device yang terkoneksi memiliki address yang unik dan sederhana.
Master/Slave dapat saling berhubungan setiap waktu. Master dapat dioperasikan
sebagai master-transmitters atau master-receivers [4].
 Pada multi-master bus dapat meningkatkan deteksi dan arbitration untuk mencegah
data yang terkorupsi, jika dua atau lebih master secara serentak menginisialisasi
pengiriman data. [4].
 Berorientasi 8 bit, serial, bidirectional data transfers sampai 100 kbit/s dalam mode
Standar, 400 kbit/s dalam mode Fast atau 3,4 Mbit/s dalam mode High-speed.
 Sejumlah IC dapat terkoneksi pada segmen bus yang sama dengan pembatasan
maximum beban kapasitif 400 pF [4].
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

13

2.2.1. Konfigurasi Komunikasi I2C


Pada setiap IC agar dapat berkomunikasi, maka diperlukan Arbitration untuk
menentukan Master dan Slave pada sistem. Arbitration adalah prosedur yang telah diatur
sebelumnya, yang berwenang untuk memberi kuasa kepada satu master pada satu waktu
untuk mengambil kendali sistem bus. Master berperan sebagai komponen yang
menginisialisasi transfer, membangkitkan sinyal pulsa dan mengakhiri transfer. Master
dapat berfungsi sebagai transmitter atau receiver. Slave adalah perangkat yang
dialamatkan oleh master. Slave bisa sebagai receiver dan transmitter [4]. Gambar 2.10
konfigurasi I2C bus Master dan Slave.

Gambar 2. 10. Konfigurasi I2C bus Master dan Slave[10]

Dalam satu komunikasi hanya melibatkan 2 chip saja, Master untuk memulai sinyal
dan Slave untuk menanggapi sinyal yang sudah dialamatkan. Namun ada beberapa Master
yang bisa mengendalikan satu Slave pada waktu yang berbeda. Kabel bus pada Gambar
2.10 memiliki konfigurasi yang sama. Keduanya memiliki konfigurasi logika level ‗high‘,
yang terhubung ke sumber suplai positif + 3,3 V atau +5V, bahkan semakin
berkembangnya waktu lebih hemat tegangan yang digunakan, yaitu berkisar +2,5 V sampai
1,8 V [4].

2.2.2. Prosedur Komunikasi I2C [4]


I2C dapat saling berkomunikasi, berikut adalah prosedurnya:
a. I2C bus tidak aktif, ketika SDA dan SCL dalam keadaan high (bus dalam keadaan
bebas) .
b. Saat bus telah diaktifkan ‗STARTED‘, maka semua IC akan menunggu dan bersiap-
siap untuk ―mendengarkan‖ data bus yang akan dipanggil, sesuai dengan address
yang masing-masing device .
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

14

c. Menyediakan sinyal clock pada wire Clock (SCL). SCL digunakan untuk referensi
waktu untuk setiap bit data pada wire data (SDA). Data pada SDA harus valid pada
saat SCL beralih dari ‗low‘ ke ‗high‘ .
d. Keluaran dalam bentuk serial biner unik ‗address‘ IC yang ingin dikomunikasikan.
IC memiliki I2C address.
e. Beri tanda pesan (1 bit) pada bus yang memberitahukan bahwa data akan dikirim
atau diterima (read atau write) .
f. Meminta IC yang lain untuk menggunakan 1 bit (ACKNOWLEDGE) untuk
menandai address dan siap untuk melakukan komunikasi .
g. Setelah IC yang lain „acknowledge‟ semua sudah siap, data dapat dikirimkan .
h. IC pertama mengirim atau menerima 8 bit karakter data. Setelah setiap 8 bit data
dikirim, maka diharapkan ada pemberitahuan ‗acknowledge‘ bahwa pengiriman
sudah berhasil .
i. Pada saat semua data sudah selesai, maka chip pertama (tujuaan pertama) harus
mengirimkan pesan ‗STOP‘ .

2.2.3. Protokol I2C


Protokol pada I2C terdiri dari beberapa komponen yang perlu diperhatikan.
Komponen itu meliputi beberapa hal dan keadaan sinyal seperti berikut ini [4]:
a. Kondisi Start : Transisi high ke low pada SDA, sementara kondisi SCL adalah high.
b. Kondisi Stop : Transisi low ke high pada SDA, sementara itu kondisi SCL adalah
high.
c. Data : 8 bit karakter, untuk MSB (Address, Control, Data). Harus tetap
ketika SCL dalam kondisi high dan dapat berubah hanya ketika SCL
kondisi low. Jumlah byte transmitted tidak terbatas.

Gambar 2. 11. Protokol I2C keadaan START dan STOP.


PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

15

d. ACKNOWLEDGE: Selesai pada setiap 9 clock pulsa selama periode high.Transmitter


berhenti/lepas dari bus kondisi SDA adalah high.Receiver memberhentikan jalur bus
kondisi SDA adalah low.
e. CLOCK : Dibangkitkan oleh Master(s). Kecepatan maksimum yang
ditentukan, tetapi kecepatannya tidak minimum. Receiver dapat
mempertahankan kondisi SCL tetap low, saat sedang dijalankan
fungsi lain (Transmitter dalam keadaan Wait State). Master dapat
memperlambat waktu untuk memperlambat device.
f. Arbitration : Master dapat memulai pengiriman jika bus dalam kondisi free.
Beberapa master dapat memulai transfer pada waktu yang sama.
Arbitration selesai pada SDA line. Saat master kehilangan
arbitration maka pengiriman data harus berhenti.

Gambar 2. 12. Proses Transfer Data[4]

2.2.4. Sensor Gyroscope dan Accelerometer type MPU – 6050 [11]

Gambar 2. 13. Modul MPU – 6050

Modul sensor MPU – 6050 memiliki 6 axis Motion Tracking yang dikombinasikan
menjadi 3 axis gyroscope, 3 axis accelerometer dan Digital Motion Processor (DMP)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

16

terlihat pada Gambar 2.13 . I2C adress MPU 6050 adalah 0 x 68 dan 0 x 69. Fitur pada
modul ini seperti gyroscope, accelerometer dan sensor suhu. Sensor-sensor tersebut
berkomunikasi menggunakan protokol I2C bus sehingga dibutuhkan 4 jalur, yaitu :
1. GND – Ground.
2. Supply Voltage VDD = +2.375 volt sampai 3.46 volt dan VLOGIC = 1.71 volt
sampai VDD
3. Kemampuan komunikasi I2C adalah 400kHz (Fast Mode) dan 100kHz (Standard
Mode).
4. SCL untuk I2C clock.
5. SDA untuk I2C data.
Sensor Gyroscope [11] :
Gyro Sensor memiliki 3- axis angular rate atau rate 3 sudut sumbu X, Y dan Z.
Sensor ini akan memberikan data jika terjadi perbandingan perubahan sensor terhadap
sumbu X, Y dan Z. Gambar 2.14 menunjukkan 3 –axis angular rate sensor.

Gambar 2. 14. 3 –axis angular rate sensor


Gyroscope memiliki beberapa fitur, seperti berikut ini :
1. Memiliki 4 pilihan skala dengan bandwidth ±250, ±500, ±1000, and ±2000° dps .
2. Pengambilan sampling data ADC sebesar 16 bit.
3. Bekerja pada arus 3.6mA.
4. Bekerja pada suhu -40°C sampai +85°C
Sensor Accelerometer[11] :
Acceleration sensor memiliki 3 axis accelerometer dengan 3 sudut arah percepatan
terhadap sumbu X, Y dan Z. Gambar 2.15 memperlihatkan 3 axis accelerometer..

Gambar 2. 15. 3 axis accelerometer


PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

17

Accelerometer memiliki beberapa fitur, seperti berikut ini :


1. Jarak full scale ±2g, ±4g, ±8g and ±16g.
2. Pengambilan sampling data ADC sebesar 16 bit.
3. Bekerja pada arus 500uA.
4. Memiliki beberapa mode arus saat sumber lemah : 10µA at 1.25Hz, 20µA at 5Hz,
60µA at 20Hz, 110µA at 40Hz.
5. Bekerja pada suhu -40°C sampai +85°C.

2.2.5. Barometric Pressure Sensor BMP180 [12]

Gambar 2. 16 BMP180

BMP180 adalah sensor tekanan barometrik (digital barometric pressure sensor) dan
temperatur udara. Berikut ini adalah spesifikasi BMP180:
1. Pressure range 300 sampai 1100hPa (+9000m sampai -500m berdasarkan
tinggi permukaan laut)
2. Data untuk tekanan adalah 16 sampai 19 bit.
3. Data untuk suhu sebesar 16 bit.
4. Satuan suhu Celcius dan tekanan hPa.
5. 128 sample/detik (standard mode)

Gambar 2. 17. Flowchart pengukuran pada BMP180[12]


PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

18

Proses pengukuran suhu dan tekanan udara pada sensor BMP180 ditunjukkan pada
bagan alir Gambar 2.17.

Gambar 2. 18. Koefisien kalibrasi sensor BMP180 [12]

Sensor yang akan digunakan perlu dilakukan kalibrasi. Kalibrasi memiliki beberapa
koefisien dengan jumlah bit data sebesar 16 bit. Gambar 2.18 menunjukkan koefisien
kalibrasi pada sensor BMP180.
Gambar 2.19 adalah addresses BMP180. Pada bagian LSB perintah read dengan
logika 1 dan untuk write logika 0, maka address yang sesuai adalah 0xEF (read) dan 0xEE
(write).

Gambar 2. 19. Address BMP180[12]

Perhitungan tekanan udara dan suhu menghasilkan 1Pa (0,01hPa = 0,01 mbar) setiap
langkahnya dan suhu 0,10 C. Gambar 2.20 adalah algoritma untuk pengukuran tekanan
udara dan suhu.
Tabel 2.5 digunakan sebagai pengatur kecepatan sampling. Kecepatan sampling
dapat diatur dengan mengatur control register berdasarkan tabel. Pengaturan sampling pada
suhu dan tekanan memiliki control register yang berbeda-beda dan juga memiliki konversi
waktu yang berbeda.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

19

.
Tabel 2. 5. Pengaturan Kecepatan Sampling[12]

2.3. PLC (Programmable Logic Controller)


Programmable Logic Controller adalah adalah pengontrol berbasis mikroprosesor
yang memanfaatkan memori yang dapat diprogram untuk menyimpan instruksi-instruksi
dan untuk mengimplementasikan fungsi-fungsi, semisal: sequencing, timing, counting dan
aritmatika guna mengontrol mesin dan proses dalam suatu sistem.
Pemrograman pada PLC menggunakan metode pemrograman tangga (ladder
programming), yang dapat dikonversikan menjadi kode mesin oleh suatu software,
sehingga dapat digunakan oleh mikroprosesor PLC [1]. Pada umumnya PLC memiliki 5
komponen dasar, yaitu [1] :
1. Unit prosesor/central prosesor (CPU) adalah unit yang berisi mikroprosesor yang
menginterpretasikan sinyal-sinyal input dan melaksanakan pengontrolan,
mengambil keputusan dan mengirim sinyal ke antarmuka output.
2. Unit catu daya diperlukan untuk mengkonversikan sumber tegangan AC menjadi
tegangan DC (5 volt) yang dibutuhkan CPU dan rangkaian- rangkaian di dalam
modul antarmuka input dan output.
3. Perangkat pemrograman dipergunakan untuk memasukkan program ke dalam
memori PLC.
4. Unit memori adalah tempat menyimpan program dan data-data dari modul
antarmuka input dan output.
5. Unit input dan output adalah antarmuka di mana prosesor menerima informasi
input dan mengirimkan informasi kontrol ke perangkat-perangkat eksternal.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

20

2.3.1. PLC Omron CPM2A [13]


PLC Omron CPM2A memiliki beberapa tipe, berdasarkan jumlah terminal masukan
dan keluaranya. Tipe PLC OMRON CPM2A berdasarkan jumlah I/O nya antara lain :
CPM2A with 20 I/O, CPM2A with 30 I/O, CPM2A with 40 I/O dan CPM2A with 60 I/O.
Gambar 2.20 merupakan PLC OMRON CPM2A dengan jumlah input/output 30 buah.

Gambar 2. 20. PLC OMRON CPM2A dengan 20 I/O

2.3.2. Struktur Memori PLC Omron CPM2A [13]


PLC Omron CPM2A memiliki beberapa bagian yang di dalamnya terdapat fungsi-
fungsi khusus. Masing-masing lokasi memori memiliki ukuran 16 bit (1 word). Beberapa
word membentuk area yang memiliki fungsi-fungsi khusus. Area memori pada PLC
Omron diantaranya adalah sebagai berikut : IR, TR, HR, LR, TC, SR dan DM.
a. SR (Spesifik Relay) Area
Penggunaan SR area untuk fungsi spesifik misalnya status (flag) dan control bits. SR
area menyimpan data analog control pada alamat SR250 dan SR251.
b. TR (Temporary Relay) Area
Penggunaan TR area untuk menyimpan sementara status ON/OFF pada pencabangan
program.
c. HR (Holding Relay) Area
Penggunaan HR area untuk menyimpan data dan mempertahankan status ON/OFF
ketika catu daya dimatikan. Bit-bit HR dapat digunakan bebas pada program seperti
bit-bit kerja (work bits).
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

21

d. AR (Auxiliary Relay) Area


Penggunaan AR area untuk fungsi spesifik misalnya status (flag) dan control bits.
Status yang dapat disimpan pada AR area antara lain status PLC, kesalahan serta
waktu sistem. Pada saat catu daya dimatikan data pada AR area tidak akan hilang.
e. LR (Link Relay) Area
Penggunaan LR area untuk link 1:1 dengan PC yang lain.
f. TC (Timer/Counter) Area
Penggunaan bit-bit pada TC area untuk fungsi timer dan counter.

Tabel 2. 6. Pembagian SR, TR, HR, AR, LR, Timer/Counter area PLC Omron CPM2A
[13]

Data Area Words Bits


SR area SR 228 to SR 255 SR 22800 to SR 25515
(28 words) (448 bits)
TR area TR 0 to TR 7
——
(8 bits)
HR area HR 00 to HR 19 HR 0000 to HR 1915
(20 words) (320 bits)
AR area AR 00 to AR 23 AR 0000 to AR 2315
(24 words) (384 bits)
LR area LR 00 to LR 15 LR 0000 to LR 1515
(16 words) (256 bits)
Timer/Counter area TC 000 to TC 255 (timer/counter numbers)

g. IR (Internal Relay) Area


Tabel 2. 7. Pembagian IR area PLC Omron CPM2A [13]
Data Area Words Bits
Input area IR 000 to IR 009 IR 00000 to IR 00915
(10 words) (160 bits)
Output area IR 010 to IR 019 IR 01000 to IR 01915
(10 words) (160 bits)
IR area
Work area IR 020 to IR 049 IR 02000 to IR 04915
IR 200 to IR 227 IR 20000 to IR 22715
(58 words) (928 bits)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

22

Bagian memori ini digunakan untuk menyimpan status keluaran dan masukkan PLC.
Beberapa bit berhubungan langsung dengan terminal masukkan dan keluaran PLC. IR
area dibagi menjadi 3 bagian yaitu input area, output area dan work area. Input dan
output area berfungsi untuk mengalokasikan terminal I/O eksternal, sedangkan work
area digunakan bebas di dalam program. Tabel 2.6 menunjukkan pembagian IR area
pada PLC Omron CPM2A.
h. DM (Data Memory) Area
DM area memiliki kapasitas memori yang besar. Pembagian DM area pada PLC
Omron CPM2A ditunjukkan oleh Tabel 2.8. DM area dibagi menjadi 4 fungsi bagian
yaitu:
1. Read/Write merupakan memori yang hanya dapat diakses dengan unit word saja.
Data yang tersimpan tidak akan hilang walaupun PLC dimatikan, sehingga data
tetap berada dalam penyimpanan.
2. Error log berfungsi untuk menyimpan waktu dan error code yang ditemukan.
Word ini juga dapat digunakan sebagai DM Read/Write jika fungsi pencatat
kesalahan tidak digunakan.
3. Read only merupakan memori yang tidak dapat diisi program. Berfungsi hanya
untuk membaca program.
4. PC setup digunakan untuk menyimpan berbagai parameter yang mengontrol kerja
PLC.

Tabel 2. 8. Pembagian DM area PLC Omron CPM2A [13]


Data Area Words Bits
Read/Write DM 0000 to DM 1999
DM 2022 to DM 2047 ——
(2,026 words)
Error log DM 2000 to DM 2021
DM area ——
(22 words)
Read-only DM 6144 to DM 6599
——
(456 words)
PC Setup DM 6600 to DM 6655 (56 words) ——
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

23

2.4. Komunikasi Data


Komunikasi data serial dapat dibedakan menjadi 2 macam, yaitu Sinkron dan
Asinkron. Komunikasi data serial sinkron, clock dikirimkan bersama-sama dengan data
serial, menggunakan clock yang dibangkitkan oleh bagian pengirim maupun penerima.
Komunikasi data serial asinkron pengiriman data dilakukan dengan kecepatan tertentu
pada bagian pengirim ataupun penerima [14].

2.4.1. Komunikasi Serial RS-232


Standar sinyal komunikasi serial yang banyak digunakan adalah Standar RS232 yang
dikembangkan oleh Electronic Industri Association (EIA/TIA) yang pertama kali
dipublikasikan pada tahun 1962. Ini terjadi jauh sebelum IC TTL populer sehingga sinyal
ini tidak ada hubungan sama sekali dengan level tegangan IC TTL [16] .RS-232 memiliki
memiliki port dengan 9 pin yang dikenal juga dengan nama DB9 dan dapat digunakan
sebagai komunikasi serial asinkron. Pin yang biasa digunakan adalah pin 2 sebagai
received data, pin 3 sebagai transmitted data dan pin 5 sebagai ground signal. Karakteristik
elektrik dari RS232 adalah sebagai berikut [15]:
 Space (logic 0) mempunyai level tegangan sebesar +3 s/d +25Volt.
 Mark (logic 1) mempunyai level tegangan sebesar -3 s/d -25 Volt.
 Level tegangan antara +3 s/d -3 Volt tidak terdefinisikan.
 Arus yang melalui rangkaian tidak boleh melebihi dari 500 mA .

Gambar 2. 21 Level Logika Tegangan TTL dan RS 232 [15]


Format pengiriman data dilakukan secara berurutan (serial) seperti yang ditunjukkan
pada gambar 2.21. Pada bit ‗Start‖ sebagai penanda awal dan bit ―Stop‖ sebagai penanda
akhir. Parameter komunikasidata serial meliputi baud rate, panjang data, paritas (ganjil,
genap atau tanpa paritas) dan jumlah bit ―Stop‖ .
Fungsi saluran RS232 pada konektor DB-9 adalah sebagai berikut [14]:
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

24

1. Received Line Signal Detect, dengan saluran ini DCE (Data Circuit Terminating
Equipment) memberitahukan ke DTE (Data Terminal Equipment) bahwa pada terminal
masukan ada data masuk.
2. Receive Data, digunakan DTE menerima data dari DCE.
3. Transmit Data, digunakan DTE mengirimkan data ke DCE.
4. Data Terminal Ready, pada saluran ini DTE memberitahukan kesiapan terminalnya.
5. Signal Ground, saluran ground.
6. DCE ready, sinyal aktif pada saluran ini menunjukkan bahwa DCE sudah siap.
7. Request to Send, dengan saluran ini DCE diminta mengirim data oleh DTE.
8.Clear to Send, dengan saluran ini DCE memberitahukan bahwa DTE boleh mulai
mengirim data.
9. Ring Indicator, pada saluran ini DCE memberitahukan ke DTE bahwa sebuah stasiun
menghendaki hubungan dengannya.
Pada penggunaan port serial, diperlukan pemberian alamat dari port serial tersebut.
Berikut adalah nama – nama register yang digunakan beserta alamatnya [14].
• RX Buffer , digunakan untuk menampung dan menyimpan data dari DCE.
• TX Buffer , digunakan untuk menampung dan menyimpan data yang akan dikirim ke port
serial.
• Baud Rate Divisor Latch LSB , digunakan untuk menampung byte bobot rendah untuk
pembagi clock pada IC UART agar didapat baud rate yang tepat.
• Baud Rate Divisor Latch MSB , digunakan untuk menampung byte bobot tinggi untuk
pembagi clock pada IC UART sehingga total angka pembagi adalah 4 byte yang dapat
dipilih dari 0001h sampai FFFFh.

Gambar 2. 22 Konektor RS 232 jenis DB9


2.4.2 Konfigurasi Konektor RS-232C [16]
PLC CPM2A dapat dihubungkan dengan PC atau perangkat lainya yang sesuai
dengan menggunakan kabel RS-232C. RS-232C dapat dihubungkan secara serial dengan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

25

tipe pin sejumlah 9 dan 25 pin. Kabel ini akan menghubungkan PC atau perangkat
sejenisnya dengan PLC sehingga dapat saling berkomunikasi. Konfigurasi konektor RS-
232C dengan PC dapat ditunjukkan pada Gambar 2.23. PLC CPM2A dan PLC CPM1A
memiliki konfigurasi konektor yang sama [16].

Gambar 2. 23. Konfigurasi Konektor RS-232C [16]

Keterangan dari istilah yang digunakan pada bagian ―Signal‖ pada Gambar 2.23 adalah
sebagai berikut :
FG = Frame Grounding dan RD = Receive Data
SD = Send Data dan SG = Signal Ground.
RS = Send Request dan DSR= Data Set Ready.
CS = Send Possible.

2.4.3. Komunikasi Host-Link [13][17]


PLC Omron CPM2A memiliki beberapa tipe komunikasi, salah satunya adalah host
link communication. Host link merupakan komunikasi antara PC dengan PLC. PC
berfungsi sebagai master yang bertugas untuk memberikan perintah, seperti operasi write
dan read pada PLC. PLC berfungsi sebagai slave yang bertugas memberikan tanggapan
atas perintah yang diberikan oleh PC. Komunikasi Host-Link dapat dibedakan menjadi 2
macam, yaitu :
1. One-to-one communication (komunikasi antara sebuah PC dengan sebuah PLC) .
Gambar 2.24 menunjukkan One to One comminication.
2. One-to-N communication ( komunikasi antara sebuah PC dengan beberapa PLC ).
Komunikasi antara PC dengan beberapa PLC dapat membantu dalam sistem
kontrol dalam melaksanakan suatu instruksi. Pada PLC CPM2A sebuah PC dapat
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

26

mengontrol 32 PLC. PLC dapat mengirim data ke PC. Gambar 2.25 menunjukkan
One to N communication.
Komunikasi Host-Link dapat menggunakan perangkat tambahan dengan
menggunakan port peripheral yang tersedia pada PLC CPM2A. Port peripheral di
hubungkan dengan Adapter RS-232C dengan seri CPM1-C1F01 seperti pada gambar
2.24.CPM1-C1F01 memiliki port RS-232C sehingga dapat dilakukan komunikasi antara
perangkat dengan PLC.

Gambar 2. 24. One to One Comminication [13]

Gambar 2. 25. One to N Communication [13]

Instruksi-instruksi yang dikirimkan dari PC ke PLC terdiri dari satu rangkaian data
yang harus dikirim dalam bentuk paket terstruktur yang disebut frame. Masing-masing
lokasi data atau memori data memiliki isi frame yang berbeda-beda. Pada suatu frame
memiliki panjang data maksimal 131 data karakter. Pada setiap frame memiliki format data
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

27

yang sudah ditentukan. Host link communication pada PLC CPM2A memiliki suatu
prosedur. Gambar 2.26 menunjukkan blok diagram prosedur host link communication pada
PLC Omron CPM2A. Host akan mengirimkan suatu Command Frame dengan tujuan link,
setelah diterima data akan masuk ke Response Frame.

Gambar 2. 26. Blok diagram prosedur host link communication PLC CPM2A [13]

Standar parameter komunikasi host link pada PLC CPM2A yaitu: baud rate 9600bps,
1 start bit, 7 bit data, 2 stop bit, even parity. Pengiriman data yang akan dilakukan oleh
host komputer harus dalam format command frame. Gambar 2.27 menunjukkan Format
data command frame (dari komputer). Command frame memiliki beberapa bagian, yaitu :
a. @ : kode awal yang harus diberikan sebagai tanda komunikasi dengan PLC.
b. Node No : nomor node sebagai identitas PLC.
c. Header Code : penunjuk operasi write atau read dan penanda area memori PLC.
d. Text : alamat yang dituju dan jumlah word atau data yang akan dikirimkan ke PLC.
e. FCS (Frame Check Sequence) : untuk mengecek kesalahan frame data yang akan
dikirimkan.
f. Terminator : kode akhir dari sebuah frame berisi * dan (ASCII 13).

Gambar 2. 27. Command Frame [13]


PC akan mengirimkan data dalam format command frame, selanjutnya PLC akan
memberi tanggapan dengan mengirimkan response frame. Data akan diinterpretasikan dan
diproses. Gambar 2.28 memperlihatkan response frame. Response frame terdiri dari
beberapa bagian, yaitu:
a. @ : kode awal yang harus diberikan sebagai tanda komunikasi dengan PLC.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

28

b. Node No : nomor node sebagai identitas PLC.


c. Header Code : kode yang sama pada Command frame.
d. End Code : kode yang menunjukkan pengiriman data berjalan baik atau tidak.
e. Text : data respon PLC.
f. FCS (Frame Check Sequence) : untuk mengecek kesalahan frame data yang akan
dikirimkan.
g. Terminator : kode akhir dari sebuah frame. berisi * dan (ASCII 13).

Gambar 2. 28. Response Frame [13]

Gambar 2. 29. Perhitungan Frame Check Sequence (FCS) [13].

Pada perhitungan FCS akan dilakukan proses pengecekan kesalahan frame data yang
akan dikirim. Gambar 2.29 menunjukkan contoh perhitungan FCS. Perhitungan FCS pada
contoh merupakan hasil konversi 8-bit data menjadi 2 digit karakter ASCII. Secara
berurutan (sequence) mulai dari karakter pertama hingga karakter terakhir pada sebuah
frame akan di exclusive OR kan, dan menghasilkan 8 bit data.

2.5. LDR (Light Dependent Resistor)


Light Dependent Resistor adalah sensor yang dapat mendeteksi cahaya. LDR
merupakan jenis resistor yang dapat mengalami perubahan nilai resistansinya seiring
berubahnya intensitas cahaya yang diterima. Bahan pembuatan LDR adalah cadmium
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

29

sulphida (CdS). Cadmium sulphida berbahan semikonduktor yang peka terhadap cahaya
perubahan cahaya [18]. Karakteristik sensor LDR adalah memiliki light resistance pada
saat 10 Lux sebesar 8 sampai 20Kῼ dan untuk dark resistance pada 0 Lux sebesar 1Mῼ
(minimal). Gambar 2.31 menunjukkan kurva pengaruh intensitas cahaya terhadap nilai
resistansi sensor LDR [19].

Gambar 2. 30. Sensor LDR [18]

Gambar 2. 31 Kurva Intensitas Cahaya vs Resistansi LDR


Gambar 2.32 menunjukkan rangkaian elektronik menggunakan sensor LDR. Sensor
LDR dihubungkan dengan sumber tegangan 3,3V- 5V. Pada sisi ground diberikan suatu
resistor pull-down (R) dan antara sensor LDR dan resistor pull-down dihubungkan dengan
input analog mikrokontroler. Pada sumber tegangan 100 volt, menggunakan kurang dari
1mA (tergantung pada sumbernya) [18].

Gambar 2. 32. Rangkaian Elektronik Sensor LDR


PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

30

Persamaan 2.2 merupakan rumus membaca tegangan analog /analog input


berdasarkan rangkaian Gambar 2.32. Metode perhitungan pada persamaan 2.2 tidak
menyediakan tegangan linear terhadap tingkat kecerahan. Setiap sensor memiliki keadaan
yang berbeda. Keadaan tersebut seperti ketika cahaya meningkat, tegangan analog
meningkat meskipun resistansinya menurun. Persamaan 2.2 simbol R adalah resistor pull-
down dan LDR adalah resistansi sensor LDR berdasarkan jumlah cahaya yang terdeteksi
oleh sensor. Vout adalah tegangan analog [18].

(2.2)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

BAB III
PERANCANGAN PENELITIAN

3.1 Konsep Perancangan


Perancangan alat converter analog to digital signal terdiri dari 3 bagian, yaitu unit
input, pengolah data dan output seperti ditunjukkan Gambar 3.1. Unit input terdiri dari 3
sensor, yaitu 2 sensor berbasis I2C dan satu sensor berbasis analog yang berperan untuk
memberikan masukan data ke unit pengolahan data. Sensor analog membaca intensitas
cahaya dan sensor berbasis I2C mendeteksi arah sudut (gyroscope sensor), suhu dan
tekanan. Pada sensor berbasis I2C data akan dikirim menggunakan ketentuan protokol
komunikasi I2C yaitu SDA dan SCL. Sensor berbasis I2C akan dihubungkan melalui pin
A4 untuk SDA dan A5 untuk SCL berdasarkan pada datasheet Arduino Uno, sedangkan
untuk sensor berbasis analog dapat menggunakan pin analog Arduino.

Gambar 3. 1. Diagram Blok Keseluruhan Sistem


Pengolahan data menggunakan mikrokontroler Arduino Uno R3 dan PLC Omron
CPM2A yang akan dihubungkan secara serial dengan kabel RS-232. Komunikasi
keduanya memerlukan perangkat tambahan seperti CPM1-C1F01 dan RS232 to TTL
Converter. Data yang sudah diolah akan tertampil pada unit output. Monitor digunakan
untuk memantau hasil data. Tampilan pada monitor menggunakan program ladder
software PLC, contohnya seperti CX-Programmer.

3.2 Perancangan dan Pemilihan Perangkat Keras


Penggunaan sensor berbasis analog dan berbasis I2C ini bertujuan untuk membuat
lebih banyak variasi type data dari sensor yang akan diolah oleh mikrokontroler dan dapat

31
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

32

memungkinkan pengambilan jumlah data yang lebih banyak. Pengolahan data


menggunakan mikrokontroler Arduino ATmega328, karena memiliki kemampuan untuk
mengubah sinyal analog dan digital dari masukan sensor berbasis analog dan tersedianya
port SDA dan SCL untuk mendukung komunikasi sensor berbasis I2C. Pada bagian output
untuk tampilan monitor menggunakan ladder program PLC karena sudah tersedia pada
instruksi-instruksi programnya. Tampilan ladder dapat memudahkan proses pengamatan
dan pengalamatan memori penyimpanan pada saat PLC menerima data dari Arduino.
Bagian utama converter analog to digital signal tersusun atas :
1. Sensor berbasis analog, menggunakan sensor LDR.
2. Sensor 1 berbasis I2C type MPU 6050.
3. Sensor 2 berbasis I2C type BMP180.
4. Arduino Uno R3 ATmega 328.
5. RS-232 to TTL Converter.
6. Kabel RS-232.
7. RS-232 Adapter model CPM1-CIF01.
8. PLC CPM2A.
9. Monitor PC atau Laptop.

3.2.1 Desain Hardware

Gambar 3. 2. Desain Hardware

Perancangan perangkat keras (hardware) untuk analog to digital converter


ditunjukkan pada Gambar 3.2. Desain hardware berbentuk box dengan panjang 10 cm,
lebar 8 cm dan memiliki tinggi 5 cm. Box tersebut di dalamnya terdapat Arduino Uno R3
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

33

dan RS-232 to TTL Converter. Pada box ini dilengkapi beberapa fitur pada sisi bagian atas
box (up), fitur tersebut meliputi 3 buat masukan untuk masukan sensor, yang terdiri dari 2
tempat untuk masukan sensor berbasis I2C dan satu tempat untuk masukkan sensor
berbasis analog. Box ini juga dilengkapi com port serial RS-232 untuk menghubungkan
kabel RS-232 ke masukan PLC.

3.2.2 Rangkaian Elektronik


Rangkaian elektronik pada Gambar 3.3 adalah rangkaian yang ada di dalam box.
Pada rangkaian tersebut sensor LDR dihubungkan dengan pin A1 pada Arduino Uno R3.
Pada rangkaian sensor LDR dan dilengkapi dengan resistor 10 kῼ untuk mengamankan
sensor LDR terhadap sumber VCC dan sebagai pembagi tegangan. Kedua sensor berbasis
I2C dihubungkan dengan pin Arduino SDA (A4) dan SCL (A5) sesuai dengan ketentuan
komunikasi I2C. Ketiga sensor mendapat supply tegangan dari pin VCC board Arduino
Uno.

Gambar 3. 3. Rangkain Elektronik


Rangkaian IC MAX232 berfungsi untuk mengubah mengubah level sinyal dari
Arduino Uno agar sesuai dengan level port RS-232. Rangkaian IC MAX232 terdapat
dalam modul RS232 to TTL Converter yang akan dihubungkan pada PD0 (RX) dan PD1
(TX) Arduino Uno. Penggunaan pin TX dan RX karena merupakan jalur untuk dapat
melakukan mengirim (transmisi) dan menerima (receive) data. Port DB9 digunakan dalam
penelitian sebagai port komunikasi serial RS-232. Kabel RS-232 akan menghubungkan
antara mikrokontroler dengan PLC.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

34

3.2.3. Sensor LDR


Sensor LDR berfungsi sebagai input berbasis analog. Rangkaian sensor LDR
menggunakan rangkaian pembagi tegangan untuk menghitung tegangan analog. Nilai dari
Vout dapat dipengaruhi oleh resistansi LDR dan resistor pull-down. Berdasarkan artikel
yang dibuat Lady Ada (Adafruit Industries) nilai resistor pull-down yang digunakan
adalah 10Kῼ dan 1Kῼ dengan sumber tegangan (VCC) sebesar 5 volt [18]. Gambar 3.4
menunjukkan rangkaian elektronik sensor LDR dengan nilai resistor pull-down 10Kῼ dan
1Kῼ.

(a) Pull-down 10 Kῼ (b) Pull-down 1 Kῼ


Gambar 3. 4. Rangkain Sensor LDR
Kedua rangkaian pada gambar 3.4 memiliki perbedaan pada tegangan keluaran yang
dihasilkan. Berikut ini adalah perbandingan perhitungan tegangan keluaran dari rangkaian
(a) dan (b) menggunakan persamaan 2.2. Sebagai contoh untuk membandingankannya
dilakukan dengan menentukan nilai resistansi LDR yang sama yaitu 10Kῼ, 1.5Kῼ dan 200
ῼ.
Perhitungan dengan resistansi pull-down 10Kῼ :

Tabel 3. 1. Hasil Perhitungan dengan resistansi pull-down 10Kῼ

No Intensitas Cahaya (Lux) Resistansi LDR (ῼ) Vin (volt)


1 14 10.000 2,5
2 200 1.500 4,3
3 8500 200 4,9
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

35

Perhitungan dengan resistansi pull-down 1Kῼ :

Tabel 3. 2. Hasil Perhitungan dengan resistansi pull-down 1Kῼ


No Intensitas Cahaya (Lux) Resistansi LDR (ῼ) Vin (volt)
1 14 10.000 0,45
2 200 1.500 2
3 8500 200 4,16

Hasil perbandingan menunjukkan bahwa dengan menggunakan resistansi pull-down


10Kῼ untuk mencapai tegangan saturasi (5 volt) akan lebih cepat dibandingkan rangkaian
dengan menggunakan resistansi pull-down 1 Kῼ. Hasil perhitungan dengan menggunakan
resistansi pull-down 1 Kῼ menunjukkan tegangan keluaran yang dihasilkan (Vin) memiliki
jangkauan yang lebih lebar yaitu 0,45 volt sampai 4,16 volt ,selain itu masih dapat
menghasilkan intensitas cahaya sekitar 8500 lux, karena keadaan tegangan saturasinya 5
volt, sehingga tegangan keluaran (Vin) masih dapat digunakan sebesar 0,84 volt dari
perhitungan 5 – 4,16 = 0,84 volt. Berdasarkan hasil perbandingan yang diperoleh, maka
penelitian menggunakan rangkaian LDR pull-down 1 Kῼ.
Pada penelitian ini tegangan yang diinginkan sebagai input pin analog Arduino Uno
berkisar 0,15 volt saat intensitas cahaya berkurang (gelap) dengan nilai sebesar 25 Lux
sampai dengan 4,5 volt saat intensitas cahaya bertambah (terang) dengan nilai mencapai
lebih dari 8000 Lux. Perancangan sinyal ADC menggunakan konversi sebesar 10 bit atau 0
– 1023, karena ADC pada ATmega 328 memiliki resolusi 10 bit. Persamaan 2.1 untuk
menghitung nilai tegangan masukkan terhadap nilai ADC 10 bit. Pada penelitian nilai dari
tegangan referensi (Vref) menggunakan fitur yang sudah tersedia pada board Arduino Uno
yaitu sebesar 5 volt. Berikut ini adalah contoh perhitungan ADC dengan menggunakan
tabel 3.2 sebagai nilai tegangan inputnya (Vin) menggunakan persamaan 2.1 :
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

36

Hasil contoh perhitungan tegangan masukan dapat dilihat pada Tabel 3.3. Perhitungan
diambil sejumlah 3 sample contoh data. Nilai ADC dapat di hasil melalui tegangan input
pada rangkaian LDR.

Tabel 3. 3. Hasil perhitungan ADC dan Vin


No Vin (volt) ADC
1 0,45 93
2 2 409
3 4,16 851

3.2.4. Modul Sensor Type MPU 6050 dan BMP180


Peneliti menggunakan modul MPU 6050 sebagai sensor gyroscope. Pergerakkan dari
sensor ini adalah terhadap sumbu X, Y dan Z, sehingga pemasangan pada alat (hardware)
ditambahkan dengan suatu kabel jumper agar dapat bergerak lebih fleksibel. MPU 6050
dapat digunakan secara baik dengan melakukan kalibrasi terlebih dahulu. Kalibrasi
dilakukan pada saat inisialisasi. Sensor MPU 6050 memiliki address I2C dengan alamat
sensor 0 x 68 atau 0 x 69, akan digunakan sebagai protokol I2C.
Modul BMP 180 digunakan untuk mendeteksi tekanan dan suhu. Sebelum
menggunakan sensor ini juga harus dilakukan kalibrasi terlebih dahulu. Sensor MPU 6050
dan BMP 180 menggunakan protokol I2C sebagai komunikasi data. Perhitungan sensor
sudah dilakukan di dalam modul, peneliti cukup melakukan kalibrasi untuk mendapatkan
data. Alamat sensor BMP 180 adalah 0 x 77. Pemograman dilakukan dengan memanggil
alamat address sensor.

3.3 Perancangan Perangkat Lunak


Diagram alir perancangan Analog to Digital Converter terdiri dari beberapa tahap
dan proses, mulai dari proses keseluruhan sistem, pengolahan data hingga output. Tahapan-
tahapan tersebut dilakukan didalam mikrokontroler dan juga PLC. Diagram alir pada
mikrokontroler menunjukkan pemrosesan data mulai dari data yang ditangkap oleh sensor
dan data yang akan dikirim menuju memori PLC. Diagram alir pada PLC menunjukkan
persiapan dalam menerima data yang dikirim oleh mikrokontroler agar dapat tersimpan
didalam memori PLC sesuai dengan alamat memori dari masing-masing sensor.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

37

Perancangan perangkat lunak juga berkaitan dengan alur atau logika program pada
mikrokontroler dan PLC.

.
Gambar 3. 5. Diagram Alir pada Arduino dan PLC

3.3.1. Diagram Alir pada Arduino


Gambar 3.5 pada sisi bagian kiri menunjukkan diagram alir pada mikrokontroler
Arduino. Program diawali dengan konfigurasi port A0 pada Arduino yang akan digunakan
sebagai masukan sensor LDR. Pengalamatan untuk sensor-sensor berbasis I2C. Inisialisasi
untuk menyatakan bahwa Arduino berperan sebagai master dan sensor-sensor sebagai
slave berdasarkan protokol I2C. Selanjutnya pengaturan komunikasi yang digunakan
sebagai proses pengiriman data. Konfigurasikan pin TX dan RX pada board Arduino
dengan menghubungkannya dihubungkan pada pin TX dan RX RS-232 to TTL Converter.
Komunikasi pada mikrokontroler disesuaikan dengan PLC yaitu memiliki baud rate 9600
bps, even parity dan bit data.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

38

3.3.2. Diagram Alir Sub Rutin Input Sensor


Terdapat 3 masukan sensor dengan type sensor yang berbeda. Sub rutin input sensor
seperti yang ditunjukkan gambar 3.6 menyatakan bahwa mikrokontroler akan
mendeteksi/membaca masukan sensor secara otomatis. Arti dari mendeteksi secara
otomatis adalah ketika port board Arduino yang sudah di inisialisasi pada awal proses akan
terpasang sesuai dengan sensor-sensor yang digunakan, kemudian data yang dibaca sensor
akan langsung diproses oleh mikrokontroler.

. Gambar 3. 6. Diagram Alir Sub Rutin Input Sensor


Gambar 3.6 menunjukkan urutan dari jenis sensor akan yang di eksekusi oleh
program ketika semua sensor terpasang sebagai input. Urutan tersebut juga memiliki
dominasi pengambilan data oleh sensor yang akan dikirm ke PLC. Dominasi pertama
adalah sensor cahaya, dominasi kedua adalah sensor gyroscope dan dominasi ketiga adalah
sensor suhu dan tekanan. Pada saat mikrokontroler mendeteksi bahwa ada masukan pada
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

39

port A0 dari sensor LDR, maka secara otomatis akan dilakukan proses pembacaan dan
pengolahan sinyal analog untuk diubah menjadi sinyal digital. Proses pendeteksian sensor
LDR oleh mikrokontroler berdasarkan pada tegangan yang masuk pada port A0 dari
rangkaian gambar 3.4. Pada sensor berbasis I2C, ketika mikrokontroler mendeteksi adanya
type sensor yang sesuai dengan address sensor yang sudah di inisialisasi pada I2C bus
(SCL dan SDA), maka akan dilakukan proses pengolahan data. Mikrokontroler dapat
membaca address sensor yang terdapat pada I2C bus melalui program I2C Scanner.

3.3.3. Diagram Alir Mikrokontroler Memproses Data

Gambar 3. 7. Diagram Alir Pemrosesan Data pada Mikrokontroler


Gambar 3.7 menunjukkan perancangan pemrosesan data pada mikrokontroler.
Pemograman pengolahan data sensor pada mikrokontroler meliputi pengolahan data ADC,
pemrosesan data dari sensor berbasis I2C dan pengemasan data menyesuaikan dengan
format data yang dapat di baca PLC yaitu Command Frame. Pengolahan data ADC
merupakan pengubah data analog menjadi data digital. Resolusi ADC yang digunakan
adalah 10 bit, menyesuaikan dengan kemampuan ATmega382. Pada sensor berbasis I2C
mikrokontroler mempersiapkan pemanggilan I2C address sensor dan I2C bus sesuai
dengan protokol I2C. Data yang disiapkan untuk komunikasi I2C sejumlah 16 bit,
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

40

menyesuaikan dengan kemampuan sensor yang digunakan. Proses komunikasi yang terjadi
adalah mikrokontroler (Master) melakukan pemanggilan terhadap sensor (Slave) melalui 7
bit data dari address sensornya. Mikrokontroler diatur pada mode Read (R) yang
menandakan mikrokontroler bertugas hanya membaca data. Jika pemanggilan di respon
oleh sensor dengan mengirim sinyal ACK maka komunikasi pengiriman data dapat
dilakukan.
Data dari sensor akan dikemas dalam bentuk command frame. Proses pengemasan
bertujuan agar data dapat diterima oleh response frame pada PLC. Proses pembentukan
command frame dimulai dengan memberi kode komunikasi PLC, kode ini berupa karakter
―@‖, selanjutnya pemberian identitas PLC yang akan digunakan dalam perancangan.
Mode operasi pada header code adalah DM Area Write dinyatakan dengan simbol WD,
karena PLC berperan menulis data didalam memori. Beggining word dalam command
frame yang dapat digunakan mulai dari DM 6144 sampai DM 6655. Pada akhir frame akan
dilakukan penggabungan FCS dan terminatornya.

Gambar 3. 8. Command Frame DM Area Write

Gambar 3.8 menunjukkan format data Command Frame DM Area Write. Berikut ini
adalah contoh pengemasan data dari sensor LDR dengan nilai 900 dan beginning word
ditetapkan pada DM 6145. Pengemasan datanya adalah @00 WD 6145 0900 FCS * .
Nilai FCS dari format data tersebut selalu berubah-ubah berdasarkan data yang diberikan
oleh sensor. Perhitungan FCS akan dilakukan menggunakan program pada mikrokontroler
dengan menggunakan logika XOR. Berdasarkan contoh tersebut maka logika pembentukan
FCS nya adalah @ XOR W XOR 6 XOR 1 sampai XOR 9 XOR 0 XOR 0, dengan
terlebih dahulu mengubah dalam bentuk ASCII dan untuk hasilnya atau nilai FCS nya
berupa hexadesimal. Pengemasan dilakukan untuk setiap data sensor yang akan
dikirimkan.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

41

3.3.4. Diagram Alir pada PLC


Gambar 3.5 pada sisi bagian kanan menunjukkan diagram alir pemrosesan setelah
mikrokontroler mengirim data secara serial melalui kabel RS-232. Inisialisasi yang
dilakukan meliputi ketentuan komunikasi antara mikrokontroler dan PLC (Sub bab 3.4),
pembuatan ladder dan pengaturan alamat memori penyimpanan data pada PLC. DM
dipilih sebagai memori penyimpanan, karena memiliki kapasitas word yang banyak, yaitu
sejumlah 2,026 words (1 word = 16 bit). Tabel 3.4 menunjukkan alamat memori
penyimpanan dari masing-masing data sensor.
Tabel 3. 4. Alamat memori penyimpanan data

Jenis Sensor Alamat Memori


LDR DM 0001
Temperatur DM 0002
Pressure DM 0003
Gyroscope sudut X DM 0004
Gyroscope sudut Y DM 0005
Gyroscope sudut Z DM 0006

Setiap sensor disediakan satu alamat memori DM, sehingga setiap sensornya
memiliki kapasitas data sejumlah 16 bit. Jenis data yang disimpan adalah BCD (Binary
Coded Decimal). Konversi data BCD lebih memudahkan proses pengkonversiannya,
karena dilakukan secara tahap demi tahap untuk menghasilkan bilangan desimal.

3.4. Perancangan Komunikasi antara Mikrokontroler dengan PLC


Prosedur standar komunikasi host link yang akan dirancang pada PLC CPM2A
adalah memiliki baud rate 9600 bps, 1 start bit, 7 bit data, 2 stop bit, even parity.
Komunikasi host link akan diterapkan dalam perancangan, sebagai metode komunikasi
antara mikrokontroler dengan PLC CPM2A. Mikrokontroler berperan sebagai host dan
PLC berperan sebagai link tujuan dari pengiriman data. Command frame akan dikirim oleh
mikrokontroler menuju link (PLC). PLC akan menerima data dalam bentuk response
frame.

3.4.1. Mode Operasi PLC


Pengaturan mode operasi pada PLC merupakan bagian penting dalam komunikasi
antara mikrokontroler dengan PLC. Pada perancangan PLC akan diatur pada mode operasi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

42

monitor. Pemilihan mode operasi monitor karena isi pada memori PLC dituntut untuk
selalu mengalami perubahan atau pembaharuan data. Mode operasi monitor juga dapat
memproses perintah command frame yang dibutuhkan dalam perancangan. Gambar 3.8
menunjukkan pengaturan command frame agar PLC dalam mode operasi monitor.

Gambar 3. 9. Command Frame untuk pengaturan mode PLC


Instruksi untuk mengatur agar PLC berada pada mode monitor dapat dilihat pada
Tabel 3.5 Mode monitor dapat dilakukan dengan mengisi frame data dengan bilangan 02.
Tabel 3. 5. Mode monitor PLC
Instruksi Keterangan
@00SC02 Mode PLC I MONITOR

3.4.2. Pengaturan Komunikasi


Pada perancangan menggunakan PLC CPM2A yang memiliki 2 port, yaitu
peripheral port dan RS-232C port, sehingga dibutuhkan pengaturan untuk kedua port
tersebut. Pengaturan pada setiap port tersebut berkaitan dengan memori area PLC yang
dialamatkan pada alamat memori. Tabel 3.6 menunjukkan pengaturan komunikasi port
peripheral dan port RS-232C.
Tabel 3. 6. Pengaturan Komunikasi Host Link [15]

Pengaturan Peripheral port RS-232C port Pilih


Mode DM 6650 DM 6645 0 : Host Link
Baud Rate DM 6651 DM 6646 03 : 9,600
3.4.3. Konfigurasi Koneksi Mikrokontroler ke PLC
Koneksi antara mikrokontroler dengan PLC menggunakan kabel RS-232. Gambar
3.9 menunjukkan konfigurasi koneksi menggunakan RS-232. Jenis konektor yang
digunakan adalah DB9, karena menyesuikan port dari PLC CPM2A.

Gambar 3. 10. Konfigurasi Konektor RS-232


PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

BAB IV
HASIL DAN PEMBAHASAN
Bab ini berisi proses monitoring data, Gambar hardware yang telah dibuat,
pengujian komunikasi mikrokontroler dengan PLC dalam proses pengiriman data sensor,
hasil pengambilan data, pembahasan data yang diperoleh, dan pembahasan program
mikrokontroler . Pembahasan data yang diperoleh meliputi hasil pengambilan data sensor,
dan penyimpanan data sensor di dalam memori PLC. Data-data yang diperoleh dapat
menunjukkan sistem bekerja dengan baik atau tidak.

4.1. Implementasi Sistem


4.1.1. Proses Monitoring Data
Penelitian ini dirancang menggunakan laptop/PC yang terhubung dengan PLC
melalui RS-232 Adapter model CPM1-CIF01 untuk memantau data sensor yang tersimpan
pada memori PLC. Berdasarkan referensi pada data sheet PLC OMRON proses monitoring
data juga dapat menggunakan OMRON Programming Console R001. Proses monitoring
dapat dilakukan dengan menggunakan laptop/PC dan OMRON Programming Console
R001. Setiap data sensor disimpan dalam bentuk heksadesimal dan BCD (Binary to
Decimal Converter), dengan alamat sensor yang berbeda-beda. Peneliti menempatkan
bentuk data heksadesimal dan BCD dalam memori yang berbeda karena data yang dikirim
oleh Arduino dalam bentuk heksadesimal sedangkan untuk mempermudah proses
pengamatan nilai setiap sensor menggunakan bilangan desimal (BCD). Alamat akses
format data heksadesimal dan BCD pada masing-masing sensor ditunjukkan pada tabel
4.1.
Tabel 4. 1. Alamat Akses Data Sensor pada Memori DM PLC
Alamat Alamat
No Jenis Sensor Memori Memori
(Heksadesimal) (BCD)
1 LDR DM1 DM9
2 Temperatur DM2 DM10
3 Pressure DM3 DM11
Gambar 4.1 menunjukkan monitoring data menggunakan ladder diagram CX-
Programmer pada laptop/PC. Ladder menunjukkan alamat memori DM PLC yang

43
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

44

digunakan sebagai penyimpanan data sensor. Peneliti dapat memantau nilai dari sensor-
sensor yang digunakan secara bersamaan dan real time.
Gambar 4.2 memperlihatkan proses monitoring data menggunakan OMRON
Programming Console R001. Programming Console menggunakan peripheral port,
sehingga penggunaan port bergantian dengan RS-232 Adapter model CPM1-CIF01. Data
yang ditampilkan bersifat real time sesuai dengan data yang dikirim. Cara untuk
mengakses alamat memori pada Programming Console dapat dilihat pada lampiran.

Gambar 4. 1. Hasil Monitoring Menggunakan PC/laptop

Gambar 4. 2. Hasil Monitoring Menggunakan Programming Console


4.1.2. Bentuk Fisik dan Proses Kerja Perangkat Keras

Gambar 4. 3. Perangkat Keras Keseluruhan Sistem Menggunakan


Laptop/PC atau Programming Console
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

45

Perangkat keras keseluruhan sistem terdapat pada gambar 4.3 yang terdiri dari suatu
box, PLC OMRON CPM2A, Kabel RS232 dan OMRON Programming Console R001 atau
laptop/PC. Permukaan atas box terdapat tempat yang digunakan untuk memasang sensor
tipe analog (sensor LDR) dan tipe I2C (modul BMP180). Kabel warna merah pada
permukaan box digunakan sebagai acuan pemasangan sensor. Kabel merah menandakan
tegangan masukan (Vin) untuk sensor yang akan dipasang. Kabel hitam sebagai input
analog pada bagian ―TIPE ANALOG‖ dan ground pada bagian ―TIPE I2C‖. Kabel hijau
untuk jalur SCL dan kabel kuning untuk jalur SDA. Gambar 4.5 memperlihatkan
permukaan box dan komponen-komponen yang terdapat di dalam box. Komponen itu
terdiri dari Arduino Uno, rangkaian elektronik sensor LDR, modul RS232 to TTL
Converter . Perangkat didalam box saling terhubung dengan menggunakan kabel sebagai
penghubung.

Gambar 4. 4 Modul Analog to Digital Converter

4.2. Hasil dan Analisis Pengujian Sistem


Analisis dan hasil implementasi sistem dapat diketahui setelah melakukan pengujian,
berikut ini adalah hasil dan analisisnya.

4.2.1. Komunikasi Mikrokontroler dengan PLC.


Pengujian komunikasi mikrokontroler Arduino Uno dengan PLC CPM2A dilakukan
dengan cara memantau data yang terkirim dari mikrokontroler dan data yang diterima oleh
PLC. Pengamatan data yang dikirim dari mikrokontroler menggunakan aplikasi Terminal
dan untuk mengetahui data yang diterima PLC menggunakan ladder pada laptop atau
Programming Console . Aplikasi Terminal dipilih untuk memantau data karena pada serial
monitor arduino memiliki konfigurasi default 8 bit data, no parity, 1 bit stop, sedangkan
konfigurasi komunikasi pada PLC menggunakan protokol Host-Link (7 data bit, even
parity, 2 bit stop). Konfigurasi serial komunikasi pada aplikasi Terminal dapat diatur
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

46

menyesuaikan konfigurasi protokol Host-Link. Pilih com port yang akan diamati untuk
komunikasi data, kemudian pilih ―Connected‖ untuk menghubungkan (Gambar 4.5).

Gambar 4. 5 Data terkirim dari mikrokontroler pada aplikasi Terminal

Gambar 4. 6 Data diterima PLC

Gambar 4.5 adalah proses monitoring data menggunakan aplikasi Terminal dan
Gambar 4.6 menunjukkan monitoring data tersimpan di dalam memori DM PLC
menggunakan Programming Console. Format data yang akan dikirim berdasarkan
perancangan BAB III gambar 3.8, sehingga data yang tertampil di aplikasi Terminal
berbeda dengan tampilan data yang ada di Programming Console (gambar 4.6). Aplikasi
Terminal dapat memantau data dengan menyesuaikan konfigurasi komunikasi yang
terdapat pada perancangan, yaitu baudrate 9600, 7 bit data, even parity, 2 bit stop.
Nilai yang tertampil pada aplikasi Terminal dan Programming Console akan berubah
mengikuti nilai data sensor yang diolah Arduino. Pengolahan data berupa data ADC untuk
sensor cahaya dan data sensor berbasis I2C. Pengiriman data sensor dari mikrokontroler
Arduino menuju PLC OMRON CPM2A dalam bentuk heksadesimal. Pengiriman data
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

47

dalam bentuk heksadesimal, berdasarakan referensi data sheet PLC dan pengujian
menunjukkan bahwa format penerimaan data oleh PLC dalam bentuk heksadesimal
(Gambar 4.7). Peneliti mencoba menguji dengan mengirim data dari mikrokontroler
Arduino dalam bentuk BCD (Binary to Decimal Converter) dan hasilnya seperti
ditunjukkan Gambar 4.7. Gambar 4.7 menunjukkan bahwa data BCD (Binary to Decimal
Converter) yang terkirim akan terbaca oleh PLC OMRON CPM2A sebagai data
heksadesimal.

Gambar 4. 7. Nilai BCD Terbaca sebagai Nilai Heksadesimal


Berdasarkan Tabel 4.1 memperlihatkan data yang terkirim dari Arduino dan data
yang diterima oleh PLC memiliki nilai yang sesuai. Data yang diterima berisi 4 karakter,
yaitu dapat berupa angka dan huruf dan setiap satu karakter menempati 4 bit (satu nibble)
dari memori DM PLC CPM2A, sehingga 16 bit (satu word) memori DM PLC CPM2A
dapat menampung 4 karakter. PLC akan merespons dari format data yang terkirim dan
akan mengambil 16 bit data (4 karakter) seperti yang ditunjukkan pada gambar 4.8.
Tabel 4. 2. Data yang terkirim dan data yang tertampil.
No Data Terkirim Data Diterima
1 @00WD0001002B22* 002B
2 @00WD00020BC858* 0BC8
3 @00WD00030B7623* 0B76
4 @00WD0001034550* 0345
5 @00WD000211FF51* 11FF

Gambar 4. 8 Pengambilan Data Sensor


PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

48

4.2.2. Pengujian Sensor Cahaya(LDR)


Pengujian sensor LDR dilakukan dengan mengukur tegangan yang keluar dari
rangkaian elektronik LDR (gambar 3.4 (b)) menggunakan Multimeter Sanwa CD800A.
Rangkaian elektronik LDR menggunakan resistor pull-down 1Kῼ. Pengukuran tegangan
dilakukan mulai dari tegangan keluaran minimal rangkaian LDR sampai dengan tegangan
keluaran maksimalnya, yaitu mulai dari 0,201 volt hingga 4,204 volt. Peneliti
membandingkan perubahan nilai tegangan terhadap intensitas cahaya, dengan
menggunakan Lutron lx-100 Light Meter, didapat hasil saat tegangan 0,201 volt, intensitas
cahayanya 20 lux dan saat 4,204 volt, intensitas cahayanya 18350 lux. Nilai jangkauan
intensitas cahaya berbeda dengan perancangan, perbedaan dapat disebabkan oleh alat
instrumentasi yang berbeda ketika melakukan pengukuran. Pada saat perancangan peneliti
menggunakan aplikasi lux meter pada handphone sedangkan saat pengujian data
menggunakan Lutron lx-100 Light Meter. Peneliti memilih untuk mengganti alat
instrumentasi, karena lutron lx-100 Light Meter memiliki spesifikasi yang jelas. Batas
minimal dan maksimal pengukuran tegangan memiliki selisih dengan tabel 3.2, yaitu 0,249
volt (minimal 0,450 – 0,201 = 0,249) dan 0,044 volt (maksimal 4,204 - 4,160 = 0,044).
Pengambilan data tegangan keluaran sensor dilakukan setiap perubahan ± 0,2 volt. Tabel
4.3 menunjukkan hasil perhitungan perubahan nilai ADC berdasarkan nilai pengukuran
tegangan keluaran sensor. Perhitungan ADC menggunakan persamaan 2.1 didapat hasil
bahwa saat tegangan 0,201 volt nilai ADC = 41,12 dan ketika 4,204 volt nilai ADC =
860,14. Berikut ini adalah sample data perhitungan teori ADC menggunakan persamaan
2.1:
1) Perhitungan dengan tegangan keluaran terukur 0,203 volt.

2) Perhitungan dengan tegangan keluaran terukur 4,204 volt.


PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

49

Tabel 4. 3 Data Hasil Pengujian Sensor LDR


Data Tersimpan Didalam Memori
Intensitas Tegangan
PLC Perhitungan Teori Galat ADC
No Cahaya Keluaran Sensor Data Terkirim
Memori DM 1 Memori DM 9 ADC
(lux) Cahaya (volt)
(Heksadesimal) (BCD)
1 20 0,201 @00WD0001002858* 0028 40 41,12 2,81%
2 40 0,401 @00WD0001005453* 0054 84 82,04 2,33%
3 80 0,604 @00WD000100815B* 0081 129 123,58 4,20%
4 120 0,801 @00WD000100AB51* 00AB 171 163,88 4,16%
5 190 1,053 @00WD000100E027* 00E0 224 215,44 3,82%
6 240 1,209 @00WD0001010053* 0100 256 247,36 3,37%
7 320 1,401 @00WD0001012859* 0128 296 286,64 3,16%
8 440 1,610 @00WD0001015553* 0155 341 329,41 3,40%
9 520 1,806 @00WD0001017054* 0170 368 369,51 0,41%
10 760 2,023 @00WD000101AF54* 01AF 431 413,91 3,97%
11 980 2,221 @00WD000101DA56* 01DA 474 454,42 4,13%
12 1290 2,411 @00WD0001020151* 0201 513 493,29 3,84%
13 1730 2,624 @00WD000102285A* 0228 552 536,87 2,74%
14 2090 2,816 @00WD000102485C* 0248 584 576,15 1,34%
15 2720 3,011 @00WD0001027453* 0274 628 616,05 1,90%
16 3880 3,223 @00WD000102A120* 02A1 673 659,43 2,02%
17 5410 3,432 @00WD000102C82B* 02C8 712 702,19 1,38%
18 8060 3,624 @00WD000102F620* 02F6 758 741,47 2,18%
19 1250 3,811 @00WD0001032053* 0320 800 779,73 2,53%
20 1530 4,010 @00WD000103485D* 0348 840 820,45 2,33%
21 18350 4,204 @00WD0001037157* 0371 881 860,14 2,37%
Rata-rata 2,78%
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

50

Gambar 4. 9. Monitoring Data DM 1 dan DM 9


Pengujian keberhasilan proses pengiriman data ADC sensor LDR menuju PLC
dilakukan dengan cara membandingkan data yang dikirim oleh mikrokontroler dengan data
yang diterima PLC. Monitoring pengambilan data yang tersimpan didalam memori PLC
menggunakan ladder pada laptop seperti ditunjukkan gambar 4.9. Berdasarkan Tabel 4.3
kolom 4 (―Data Terkirim‖) data yang dikirim oleh mikrokontroler dan data yang tersimpan
di memori DM 1 PLC memiliki nilai yang sama, menunjukkan bahwa pengiriman data
berhasil dilakukan. Penyimpanan data sensor LDR dalam bentuk heksadesimal (DM 1) dan
BCD (DM 9). Modul Analog to Digital Converter dapat melakukan pengolahan data ADC
sensor LDR dan mengirimnya ke PLC untuk disimpan di memori DM PLC.

Perbandingan Data ADC


1000,00
Perhitungan Teori ADC

800,00

600,00

400,00

200,00

0,00
0 200 400 600 800 1000

ADC pada Memori DM 9

Gambar 4. 10. Grafik Perbandingan Data ADC


Gambar 4.10 menunjukkan grafik hasil perbandingan nilai ADC yang diperoleh dari
perhitungan secara teori dan pengamatan pada memori DM 9 (BCD) PLC. Grafik
menunjukkan bahwa nilai ADC linier. Data berdasarkan tabel 4.3 dan proses pengambilan
data dilakukan secara bersamaan sejumlah 21 data. Nilai galat terbesar adalah 4,20% dan
nilai galat terkecil adalah 0,41%, jika dirata-rata galat perbandingan ADC sebesar 2,78%.
Nilai galat dapat disebabkan oleh sensitivitas perubahan nilai sensor terhadap intensitas
cahaya, sehingga pengamatan ketika peneliti mengambil data kurang cermat dan terdapat
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

51

tunda pada proses transmisi data. Berdasarkan grafik dan tabel 4.3 menunjukkan indikator
kesesuaian data ADC perhitungan dengan ADC sistem sebesar 97, 22%.

4.2.3. Pengujian Sensor Suhu dan Tekanan (BMP180)


Pengujian sensor BMP180 dilakukan untuk mengetahui berhasil atau tidak data
sensor berbasis I2C dikirim menggunakan mikrokontroler untuk disimpan pada memori
PLC Omron CPM2A. Sensor BMP180 dapat mendeteksi suhu dan tekanan secara
bersamaan. Pengambilan data dilakukan mulai dari sensor BMP180 berkomunikasi
menggunkan protol I2C hingga data tersimpan di memori DM PLC Omron. Pembacaan
nilai suhu pada sensor BMP180 akan dibandingkan dengan instrumentasi suhu, untuk
menguji jika sistem Modul Analog to Digital Converter diterapkan sebagai alat
instrumentasi.

4.2.3.1. Komunikasi I2C Pada Sensor BMP180


Pengujian protokol komunikasi I2C (Inter-Integrated Circuit) dilakukan dengan
mengamati jalur I2C (SDA dan SCL) menggunakan osiloskop untuk mengetahui paket
data yang dikirim menuju mikrokontroler. Setiap gelombang mewakili kondisi dan data
sensor yang dikirim dalam bentuk digital ( 0 dan 1). Paket data yang dikirm dalam bentuk
bilangan biner. Mikrokontroler mengirimkan sinyal clock (SCL) sebagai pemicu dan pada
jalur sinyal (SDA) sebagai jalur pengiriman data. Konversi ADC pada sensor BMP 180
adalah 16 bit (1 EEPROM = 16 bit), namun untuk menampung satu jenis data
menggunakan 8 bit. Gambar 4.13 menunjukkan satu paket data gelombang berisi 8 bit.

Gambar 4. 11. Gelombang Keseluruhan


PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

52

Gambar 4. 12. Kondisi Gelombang ―START‖

Gambar 4. 13. Address dan Data Sensor

Gambar 4. 14 Kondisi Gelombang ―STOP‖


PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

53

Pengamatan dilakukan dengan dengan melihat setiap clock gelombang SCL


(gelombang ke-2 berwarna biru) terhadap gelombang SDA (gelombang ke-1 berwarna
kuning) yang ditunjukkan pada gambar 4.11. Dalam satu kali pengiriman paket data,
diawali dengan keadaan ―START‖ dilanjutkan alamat sensor, data sensor suhu dan data
sensor tekanan berakhir dengan keadaan ―STOP‖. Pada gelombang diawali dengan
keadaan ―IDLE‖, keadaan ini memperlihatkan kondisi tidak adanya proses pengiriman
data. Gambar 4.12 dan 4.14 memperlihatkan kondisi ―IDLE‖ terjadi sebelum pembentukan
paket data dan sesudah paket data selesai. Sensor BMP180 memiliki 3 bagian sinyal ,
masing-masing bernilai 8 bit data seperti ditunjukkan pada gambar 4.11.
Pengiriman data dimulai ketika keadaan ―START‖ terjadi, yaitu saat gelombang SCL
dalam kondisi ―high‖ dan SDA dalam kondisi ―falling edge‖ (gambar 4.12). Isi didalam
paket data menggunakan protokol I2C meliputi alamat data, data suhu dan data tekanan.
Slave address memiliki 7 bit data dapat ditunjukkan oleh nomer 1 (gambar 4.13) , pada bit
ke 8 (nomer 2 gambar 4.13) gelombang SDA berada pada kondisi 0, yang berarti sensor
dalam keadaan ―write‖. Setelah mengetahui slave address dan kondisi bit ke 8 maka
didapat nilai biner 11101110 (heksadesimal = 0xEE) merupakan address modul BMP180
[12]. Perubahan kondisi data (SDA) terjadi ketika sinyal clock (SCL) rising edge. Pada bit
ke 9 (nomer 3 gambar 4.13) menyatakan nilai acknowledge by slave (ACKS) agar address
sensor dapat dikenali. Pada gelombang ke dua dan ketiga (gambar 4.11) merupakan data
sensor, yaitu data suhu dan data tekanan. Setelah address sensor selesai dikirim, BMP180
sebagai slave akan menanggapi bahwa data telah diterima oleh master, dengan mengirim
sinyal acknowledge by slave (ACKS) pada bit ke 9, pembacaan dimulai dari kondisi SDA
“high” dan kondisi SCL ―low‖ (berdasarkan sinyal gambar 4.13) data akan diakhiri
dengan nilai ACK. Setelah itu BMP180 menanggapi bahwa data telah diterima oleh
master, dengan cara mengirim sinyal ACKS maka pembacaan tekanan dimulai dengan
kondisi SDA ―“high” dan kondisi SCL ―low‖. Paket data selesai pada keadaan ―STOP‖
saat kondisi SCL ―high‖ dan SDA ―rising edge‖ (gambar 4.14).

4.2.3.2. Hasil Pengujian Sensor Suhu BMP180


Pembacaan suhu pada BMP180 memiliki resolusi 0,1 C0 dan memiliki 16 bit data
[12], sehingga nilai data suhu memiliki ketelitian angka dibelakang koma. Data dengan
ketelitian angka dibelakang koma tidak dapat disimpan di dalam memori DM PLC
CPM2A. Peneliti mengubah tampilan angka output sensor suhu melalui program
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

54

mikrokontroler agar data sensor suhu dapat disimpan didalam memori DM PLC, sehingga
permasalahan tersebut dapat diselesaikan. Sebagai contoh, nilai sensor suhu = 29,30
setelah dilakukan pengubahan output sensor suhu = 2930 (tanda koma dihilangkan). Nilai
output sensor suhu yang telah dihilangkan tanda komanya akan diubah menjadi
heksadesimal untuk dikirim ke PLC. Data yang akan dikirim harus diubah menjadi
heksadesimal untuk menyesuaikan dengan penerima data (PLC).
Data dalam bentuk heksadesimal (DM 1) akan diubah menjadi data BCD untuk
mempermudah pengamatan dan untuk menyesuaikan dengan data keluaran sensor suhu.
Pada tabel 4.4 menunjukkan nilai BCD sensor suhu tersimpan didalam memori DM 10,
dan untuk melihat pembacaan nilai sensor suhu sesungguhnya (resolusi 0,1 C0) terdapat
pada tabel kolom ―Konversi Pembacaan Nilai BCD‖.
Pengujian suhu pada sensor BMP180 dilakukan dengan mengamati proses
pengiriman data suhu mulai dari mikrokontroler Arduino sampai dengan memori DM PLC.
Gambar 4.15 menunjukkan pengamatan data sensor suhu pada memori DM PLC
menggunakan ladder (laptop). Data sensor suhu yang dikirim dalam bentuk heksadesimal
dengan alamat penyimpanan memori DM 1 PLC. Pengujian terhadap data yang dikirim
dilakukan sejumlah 62 kali dan hasilnya sesuai. Berdasarkan data tabel 4.4, tabel 4.5 dan
tabel 4.6 menunjukkan bahwa pengiriman data sensor suhu berhasil dilakukan dan dapat
disimpan dimemori PLC. Pengambilan data suhu dimulai dari suhu 4,89 C0 (01E9
heksadesimal) sampai dengan 64,87 C0 (1957 heksadesimal) dengan perubahan suhu ±1
C0 . Perlakuan untuk mendukung perubahan suhu menggunakan air es dan lampu dimmer
100W. Modul Analog to Digital Converter berhasil menggunakan sensor berbasis protokol
I2C (sensor suhu BMP180) dan berhasil mengirim data dari sensor suhu untuk disimpan
di dalam memori DM PLC Omron CPM2A

Gambar 4. 15. Monitoring Data DM 2 dan DM 10


PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

55

Tabel 4. 4. Data Hasil Pengujian Sensor Suhu BMP180


Data Tersimpan Konversi
Termometer
No Data Terkirim Pembacaan Nilai Galat Sebagai Alat Ukur
(Celcius)
Memori DM2 Memori DM 10 BCD (Celcius)
(Heksadesimal) (BCD)
1 @00WD000201E92C* 01E9 489 4,89 3,9 20,25%
2 @00WD0002020556* 0205 517 5,17 4,1 20,70%
3 @00WD0002025A27* 025A 602 6,02 4,9 18,60%
4 @00WD000202C222* 02C2 706 7,06 5,1 27,76%
5 @00WD0002032858* 0328 808 8,08 6,6 18,32%
6 @00WD0002038F2C* 038F 911 9,11 7,5 17,67%
7 @00WD000203F420* 03F4 1012 10,12 8,5 16,01%
8 @00WD0002045150* 0451 1105 11,05 9,2 16,74%
9 @00WD000204B82F* 04B8 1208 12,08 10,3 14,74%
10 @00WD000205195C* 0519 1305 13,05 11,1 14,94%
11 @00WD0002057B21* 057B 1403 14,03 12,0 14,47%
12 @00WD000205E021* 05E0 1504 15,04 12,9 14,23%
13 @00WD0002064655* 0646 1606 16,06 14,2 11,58%
14 @00WD000206AB54* 06AB 1707 17,07 14,5 15,06%
15 @00WD0002071057* 0710 1808 18,08 14,8 18,14%
16 @00WD0002077051* 0770 1904 19,04 15,1 20,69%
17 @00WD000207D82A* 07D8 2008 20,08 15,4 23,31%
18 @00WD0002083852* 0838 2104 21,04 16,2 23,00%
19 @00WD0002089A21* 089A 2202 22,02 17,8 19,16%
20 @00WD000208FE5A* 08FE 2302 23,02 19,5 15,29%
21 @00WD000209635D* 0963 2403 24,03 22,1 8,03%
22 @00WD000209C72C* 09C7 2503 25,03 24,1 3,72%
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

56

Tabel 4. 5. (Lanjutan) Data Hasil Pengujian Sensor Suhu BMP180


Data Tersimpan Konversi
Termometer
Data Terkirim Pembacaan Nilai Galat Sebagai Alat Ukur
No (Celcius)
Memori DM2 Memori DM 10 BCD (Celcius)
(Heksadesimal) (BCD)
23 @00WD00020A2E57* 0A2E 2606 26,06 26,5 1,69%
24 @00WD00020AA352* 0AA3 2723 27,23 28,0 2,83%
25 @00WD00020AF751* 0AF7 2807 28,07 28,5 1,53%
26 @00WD00020B5620* 0B56 2902 29,02 29,1 0,28%
27 @00WD00020BC858* 0BC8 3016 30,16 29,5 2,19%
28 @00WD00020C2323* 0C23 3107 31,07 29,9 3,77%
29 @00WD00020C912A* 0C91 3217 32,17 30,4 5,50%
30 @00WD00020CEE22* 0CEE 3310 33,10 31,1 6,04%
31 @00WD00020D4A50* 0D4A 3402 34,02 31,7 6,82%
32 @00WD00020DAE21* 0DAE 3502 35,02 32,2 8,05%
33 @00WD00020E1C56* 0E1C 3612 36,12 32,9 8,91%
34 @00WD00020E7A52* 0E7A 3706 37,06 33,5 9,61%
35 @00WD00020EDF26* 0EDF 3807 38,07 34,2 10,17%
36 @00WD00020F4023* 0F40 3904 39,04 35,1 10,09%
37 @00WD00020FA157* 0FA1 4001 40,01 35,9 10,27%
38 @00WD0002100E25* 100E 4110 41,10 36,8 10,46%
39 @00WD0002106D22* 106D 4205 42,05 37,6 10,58%
40 @00WD000210D125* 10D1 4305 43,05 38,5 10,57%
41 @00WD000211385A* 1138 4408 44,08 39,2 11,07%
42 @00WD0002119F2E* 119F 4511 45,11 40,3 10,66%
43 @00WD000211FF51* 11FF 4607 46,07 41,2 10,57%
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

57

Tabel 4. 6. (Lanjutan) Data Hasil Pengujian Sensor Suhu BMP180


Data Tersimpan
Konversi
Termometer
Data Terkirim Pembacaan Nilai Galat Sebagai Alat Ukur
No (Celcius)
BCD (Celcius)
Memori DM2 Memori DM 10
(Heksadesimal) (BCD)
44 @00WD0002126551* 1265 4709 47,09 42,0 10,81%
45 @00WD000212CA50* 12CA 4810 48,10 43,0 10,60%
46 @00WD0002132958* 1329 4905 49,05 44,1 10,09%
47 @00WD000213905A* 1390 5008 50,08 45,2 9,74%
48 @00WD000213F326* 13F3 5107 51,07 46,0 9,93%
49 @00WD0002145958* 1459 5209 52,09 47,3 9,20%
50 @00WD000214B721* 14B7 5303 53,03 48,3 8,92%
51 @00WD0002151D20* 151D 5405 54,05 49,6 8,23%
52 @00WD0002157E27* 157E 5502 55,02 50,6 8,03%
53 @00WD000215EC53* 15EC 5612 56,12 52,0 7,34%
54 @00WD000216485A* 1648 5704 57,04 52,9 7,26%
55 @00WD000216AC54* 16AC 5804 58,04 54,1 6,79%
56 @00WD0002171F20* 171F 5919 59,19 55,7 5,90%
57 @00WD0002177C23* 177C 6012 60,12 56,9 5,36%
58 @00WD000217D724* 17D7 6103 61,03 57,9 5,13%
59 @00WD000218405C* 1840 6208 62,08 58,8 5,28%
60 @00WD000218A128* 18A1 6305 63,05 60,0 4,84%
61 @00WD0002190A28* 190A 6410 64,10 61,0 4,84%
62 @00WD000219575B* 1957 6487 64,87 61,8 4,73%
Rata - rata 10,76%
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

58

Data sensor suhu BMP180 yang disimpan didalam memori PLC (BCD DM 10) akan
dibandingkan dengan termometer digital seri T110, untuk mengetahui kemampuan Modul
Analog to Digital Converter (ADC) sebagai instrumentasi pengukuran suhu. Gambar 4.16
menunjukkan grafik perbandingan suhu. Pembacaan suhu Termometer dan Modul ADC
memiliki nilai yang linier pada suhu 35 C0 hingga 62 C0 .Pengambilan data Modul ADC
dan termometer dilakukan secara bersamaan dengan perlakuan yang sama. Pembacaan
suhu menggunakan Modul ADC mulai dari 4,89 C0 sampai dengan 64,87 C0 dan
pembacaan suhu termometer mulai dari 3,9 C0 hingga 61,8 C0 (data pada tabel 4.4 – tabel
4.6). Hasil perbandingan pembacaan suhu Modul ADC dan termometer T110 memiliki
galat 10,76%. Nilai galat dapat disebabkan oleh perbedaan spesifikasi sensor suhu,
sensitivitas pembacaan suhu dan ketelitian angka dibelakang koma.

Perbandingan Instrumentasi Nilai Suhu


70,0
Nilai Suhu Termometer T110

60,0
50,0
40,0
30,0
20,0
10,0
0,0
0,00 10,00 20,00 30,00 40,00 50,00 60,00 70,00
Nilai Suhu Memori DM 10

Gambar 4. 16. Grafik Perbandingan Pengukuran Suhu

4.2.3.3. Hasil Pengujian Sensor Tekanan BMP180


Pengujian tekanan udara dilakukan dengan membandingkan tekanan udara pada
ketinggian tempat yang berbeda-beda. Ketinggian diambil dari setiap lantai tingkat Gedung
Barat Kampus III Universitas Sanata Dharma sejumlah 4 tingkat. Tabel 4.7
memperlihatkan hasil pengujian mendeteksi tekanan udara dan penyimpanan nilai tekanan
udara didalam memori DM PLC Omron. Konsep pengiriman data sensor tekanan sama
seperti pengiriman data sensor suhu, yaitu dilakukan pengolahan data agar tidak terdapat
nilai bilangan koma kemudian mengubahnya menjadi heksadesimal dan mengirimnya ke
PLC untuk disimpan di dalam memori DM. Alamat memori DM 3 sebagai penyimpanan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

59

data heksadesimal dan DM 11 untuk penyimpanan nilai BCD. Gambar 4.17


memperlihatkan monitoring data sensor tekanan.

Gambar 4. 17. Monitoring data sensor tekanan

Resolusi data output sensor tekanan adalah 0,01 hPa [12]. Penelitian menggunakan
satuan tekanan dalam inch mercury (inHg). Nilai konversi 1 hPa = 1 milibar = 0,0295301
inHg. Sensor Tekanan BMP180 memiliki nilai absolute accuracy pressure 300 sampai
dengan 1100 hPa [12]. Penggunaan satuan inHg karena menyesuaikan daya tampung
memori PLC. Memori PLC dapat menampung data sebanyak 4 karakter. Contoh nilai
tekanan 996,23 milibar, lalu diubah ke heksadesimal dengan menghilangkan koma, dari
99623 desimal menjadi 18527 heksadesimal (memiliki 5 karakter), sedangkan jika dalam
satuan inHg (996,23 milibar = 29,41 inHg) nilai heksadesimal dari 2941 adalah B7D (3
karakter). Berdasarkan tabel 4.7 menunjukkan bahwa Modul Analog to Digital Converter
berhasil menggunakan sensor berbasis protokol I2C (sensor tekanan BMP180) dan
berhasil mengirim data dari sensor tekanan untuk disimpan di dalam memori DM PLC
Omron CPM2A.

Tabel 4. 7. Data Hasil Pengujian Sensor Tekanan BMP180


Tempat Data Tersimpan Pembacaan
No Pengambilan Data Terkirim Nilai Suhu pada
Data Memori DM 3 Memori DM Memori DM 11
(Heksadesimal) 11 (BCD) (inHg)
1 Lantai 1 @00WD00030B7623* 0B76 2934 29,34
2 Lantai 2 @00WD00030B7623* 0B76 2934 29,34
3 Lantai 3 @00WD00030B7722* 0B77 2935 29,35
4 Lantai 4 @00WD00030B7B2C* 0B79 2937 29,37

4.2.4. Pengujian Sensor Gyroscope (MPU6050)


Pengujian data sensor gyroscope dilakukan dengan mengamati mulai dari
komunikasi protokol I2C pada sensor MPU6050 pengolahan data pada mikrokontroler
hingga pengujian pengiriman data menuju memori DM PLC. Data sensor gyroscope
berupa perubahan sumbu x, y dan z.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

60

4.2.4.1. Komunikasi I2C pada sensor MPU6050

Gambar 4. 18. Gelombang ―START‖ dan ―DATA‖

Gambar 4. 19. Keadaan ―TIDAK ADA DATA‖

Gambar 4. 20. Gelombang Kondisi ―STOP‖

Pengamatan komunikasi menggunakan protokol I2C dengan menggukan osiloskop.


Gelombang akan menunjukkan data yang dikirim ke mikrokontroler dengan menggunakan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

61

jalur SDA dan SCL. Berikut ini adalah hasil pengamatan pengiriman sinyal gyro sumbu x,
sumbu y dan sumbu z.
Gambar 4.18 memperlihatkan pengiriman data dimulai dari ―START‖ kemudian
address sensor dan data sensor. Sensor MPU 6050 dapat mengukur data gyroscope,
accelerometer. Penelitian hanya membutuhkan data gyroscope sehingga data yang dikirim
hanya untuk gyroscope seperti ditunjukkan pada gambar 4.19. Paket data diakhiri dengan
kondisi ―STOP‖ pada gambar 4.20.
Pengiriman data sensor gyroscope dari mikrokontroler ke dalam memori DM PLC
belum dapat dilakukan. Data gyroscope memiliki nilai negatif, sehingga pengolahan data
yang akan dikirim oleh mikrokontroler berbeda dengan sensor LDR dan BMP180. Data
sensor gyroscope pada mikrokontroler ditunjukkan pada gambar 4.23.

Gambar 4. 21. Data Pengukuran Gyroscope


Berdasarkan referensi pada datasheet PLC Omron CPM2A data dengan jenis signed
(negatif dan positif) dapat diubah dengan menggunakan perhitungan komplemen dua.

4.3. Pembahasan Perangkat Lunak


Perancangan sistem analog to digital converter dan pengiriman data sensor berbasis
I2C menggunakan mikrokontroler arduino uno sebagai pemrosesan data yang akan dikirim
ke memori DM PLC CPM2A. Pemrograman sistem menggunakan software Arduino IDE.
Pemograman memiliki beberapa bagian, yaitu Inisialisasi, Program Perhitungan FCS dan
Program Pengiriman Data Sensor. Monitoring data sensor pada PLC Omron CPM2A
menggunakan software CX-Programmer.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

62

4.3.1. Inisialisasi
Inisialisasi program dimulai dengan header code dan variabel global yang akan
digunakan untuk memasukkan perintah dan fungsi. Gambar 4.22 menunjukkan keterangan
inisialisasi yang digunakan dalam pemrograman, yaitu :
1. <AnalogScanner.h>, berisi parameter-parameter untuk mendeteksi sensor yang
terdapat pada pin analog. Pin A1 digunakan sebagai inisialisasi input sensor.
AnalogScanner scanner sebagai objek pemanggilan dari library.
2. <SFE_BMP180.h> header pengukuran menggunakan sensor BMP180.
SFE_BMP180 pressure sebagai objek data.
3. <Wire.h>. digunakan agar komunikasi I2C pada sensor BMP180 dapat dilakukan.
4. Konfigurasi komunikasi serial pada mikrokontroler adalah 9600 baud rate, 7 bit data
Even Parity dan 2 bit stop (9600, SERIAL_7E2).
5. Variabel tipe data ―scanOrder‖ , ―analog ― adalah integer, dan pada
―SCAN_COUNT‘ adalah konstanta integer.
#include <AnalogScanner.h>
#include <SFE_BMP180.h>
#include <Wire.h>

AnalogScanner scanner;
SFE_BMP180 pressure;
int scanOrder[] = {A1};
const int SCAN_COUNT = sizeof(scanOrder) / sizeof(scanOrder[0]);
int analog = A1;
Gambar 4. 22 Program Inisialisasi
4.3.2. Program Perhitungan FCS
Format data yang akan dikirim ke PLC harus memiliki Frame Chek Sequence
(FCS). Gambar 2.29 digunakan sebagai logika pembuatan program FCS. Berikut ini adalah
penjelasan program FCS pada gambar 4.23.
1. ―unsigned char HitungFCS(char *ubah, int panjangString )‖ . Tipe data yang
digunakan adalah char, karena data yang akan dihitung adalah karakter. ―char
*ubah‖ data pointer ―ubah‖ adalah data yang akan di hitung dan ―int
panjangString‖adalah jumlah data ―ubah‖.
2. ―unsigned char sum = 0‖ adalah tempat untuk menampung hasil data dari
perhitungan XOR pada setiap bitnya. Nilai didalam ―sum‖ akan terus berubah
seiring perhitungan XOR pada setiap bit data.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

63

3. Logika ―for‖ pada program mulai dari ―int i‖ sampai dengan ―panjangString‖
menunjukkan setiap perhitungan bit data mulai dari 0 hingga panjang data
didalam variabel ―panjangString‖, looping data terus terjadi hingga akhir bit
pada data ―panjangString‖.

unsigned char HitungFCS(char *ubah, int panjangString )


{ unsigned char sum = 0;
for (int i = 0; i < panjangString; i++)
{ sum ^= *(ubah + i);
}
return sum;
}

Gambar 4. 23. Perhitungan FCS

4.3.3. Program Pengiriman Data

4.3.3.1 Program Pendeteksi Sensor


Mikrokontroler akan mendeteksi apakah terdapat sensor pada masukan. Setelah
terbaca salah satu jenis sensor LDR atau BMP180 , dapat juga terdeteksi sensor LDR dan
BMP180 secara bersamaan. Program pembacaan sensor LDR ditunjukkan pada gambar
4.24 dan program pendeteksi sensor BMP180 terdapat pada gambar 4.25. Pada program
pendeteksi LDR, program akan membaca ―ada sensor ― jika terdapat tegangan masuk pada
pin A1 lebih dari atau sama dengan 0,10 volt, dan jika kurang dari 0,10 volt maka akan
terdeteksi ―tidak ada sensor LDR‖. Hasil dapat dilihat pada memori PLC, jika data pada
memori perubah ketika sensor diberikan perlakuan maka sensor berhasil dibaca dan data
dapat terkirim.

void loop()
{
for (int a = 0; a < SCAN_COUNT; ++a) {
if (a >= 0)
{
float tegangan = scanner.getValue(scanOrder[a]) * (5.0 / 1023.0);
if (tegangan >= 0.10) {
Analog(); }
if (tegangan < 0.10) {
break; }
}

Gambar 4. 24. Pendeteksi Sensor LDR


PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

64

while (!Serial);
if (pressure.begin());
else
{
while (1);
}
Gambar 4. 25. Pendeteksi Sensor BMP180

4.3.3.2 Program Pengiriman Data Sensor LDR dan BMP180


Pengiriman data dari mikrokontroler dapat dilakukan dengan terlebih dahulu
mengirimkan perintah monitor ke PLC. Karakter ―@00SC0252‖ adalah perintah untuk
menghidupkan Mode Monitor PLC. Gambar 4.26 menunjukkan perintah monitor.
Serial.begin(9600, SERIAL_7E2);
Serial.print("@00SC0252");
Serial.println(char(13));

Gambar 4. 26. Perintah Monitor


Gambar 4.27 menunjukkan list program untuk pengiriman data analog dari sensor
LDR. Pengolahan data sensor analog dilakukan didalam fungsi void Analog(). Pembacaan
nilai analog sensor menggunakan perintah ―analogRead‖ dengan tipe data String. Ubah
bentuk data analog dalam heksadesimal dengan huruf kapital menggunakan UpperCase().
PLC menerima data 4 karakter, sehingga data yang dikirim harus menyesuaikan. Program
untuk mengetahui panjang data sensor analog menggunakan length() pada baris
―intpanjangSen1‖. Panjang data heksadesimal dari sensor analog selalu berubah-ubah,
sehingga digunakan logika if dengan kondisi berdasarkan panjang datanya. Data (string1)
akan digabungkan dengan string ―@00WD0001‖ sebagai perintah Write DM PLC dan
alamat memori PLC (DM 1). Menyesuaikan daya tampung PLC (4 karakter) dengan cara
memberikan 3 logika if yaitu:―@00WD00010‖,―@00WD000100‖dan ―@00WD0001000‖.
Hasil penggabungan perintah Write DM PLC akan menjadi String3. String3 akan diubah
menjadi array dengan perintah string3.toCharArray dan akan menajadi variabel baru ―char
ubah‖. Elemen array berdasarkan panjang data string3. Selanjutnya perhitungan FCS dapat
dilakukan dengan memanggil fungsi Hitung FCS. Perhitungan FCS dilakukan pada array
―ubah‖ dan ―panjangString‖ sebagai jumlah batas eksekusi perhitungn FCS. Hasil
perhitungan FCS akan ditempatkan pada char buf[5]. Selanjutnya string3 digabungkan
dengan hasil perhitungan FCS (buf) dan penambahan terminator ―*‖. Hasil penggabungan
ditempatkan pada String data. Kirim String data menggunakan Serial.print(data) dan kirim
karakter 13 dengan Serial.println(char(13)).
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

65

void Analog()
{
String string1 = String(analogRead(analog), HEX);
string1.toUpperCase();
int panjangSen1 = string1.length();
String string3;

if (panjangSen1 == 3)
{
string3 = String("@00WD00010" + string1);
}
if (panjangSen1 == 2)
{
string3 = String("@00WD000100" + string1);
}
if (panjangSen1 == 1)
{
string3 = String("@00WD0001000" + string1);
}

int panjangString = string3.length();


char ubah [panjangString];
string3.toCharArray(ubah, panjangString + 1 );
unsigned char chek = HitungFCS (ubah, panjangString);
char buf[5];

int nilai = (chek);


snprintf(buf, sizeof(buf), "%X", nilai);
ubah[panjangString] = buf[0];
ubah[panjangString + 1] = buf[1];
String data = string3 + buf + '*' ;
Serial.print(data);
Serial.println(char(13));

delay(50);
}

Gambar 4. 27. List Program Pengiriman Data Analog


Pengolahan data sensor BMP180 sampai dengan pengiriman data suhu dan tekanan
dilakukan didalam void BMP180(). Tipe data sensor suhu dan tekanan menggunakan
double, dengan T sebagai variabel suhu dan P sebagai variabel tekanan seperti ditunjukkan
gambar 4.28.
void BMP180()
{
char status;
double T, P;

Gambar 4. 28. Inisialisasi Suhu dan Tekanan


PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

66

//Suhu
status = pressure.getTemperature(T);
if (status != 0)
{
int suhu = (T * 100);
String string1 = String (suhu, HEX);
string1.toUpperCase();
int panjangSen2 = string1.length();
String string3;

if (panjangSen2 == 4)
{
string3 = String("@00WD0002" + string1);
}
if (panjangSen2 == 3)
{
string3 = String("@00WD00020" + string1);
}
if (panjangSen2 == 2)
{
string3 = String("@00WD000200" + string1);
}

Gambar 4. 29. List Program Suhu

Gambar 4.29 menunjukkan program pengolahan data suhu untuk menyesuaikan


dengan perintah Write DM PLC dan alamat memori PLC (DM 2). Satuan nilai suhu dalam
Celcius. Int suhu = (T*100) nilai suhu yang terbaca oleh sensor dikalikan 100 (T*100)
untuk menghilangkan tanda koma, sehingga menjadi bilangan bulat desimal dan
ditempatkan pada variabel ―suhu‖ (int suhu). Tanda koma dihilangkan karena
menyesuaikan dengan format penyimpanan PLC. Nilai pada variabel ―suhu‖ akan diubah
menjadi heksadesimal dan mengubahnya menjadi tipe data String. Nilai heksadesimal
dalam bentuk huruf kapital (string1.toUpperCase();). Panjang data heksadesimal sensor
suhu selalu berubah-ubah, pembacaan panjang data terdapat pada ―int panjangSen3 =
string1.length();‖. Logika if digunakan untuk menggabungkan perintah Write DM PLC dan
alamat memori PLC berdasarkan perubahan panjang data, sehingga data yang terkirim
memiliki 4 karakter (daya tampung memori PLC). Kondisi panjang data akan menentukan
penggabungan ―@00WD0002‖, ―@00WD00020‖ dan ―@00WD000200‖ dengan data
sensor (string1).
List program pengolahan sensor tekanan hingga penggabungan perintah Write DM
PLC dan alamat memori PLC terdapat pada Gambar 4.30. Satuan pembacaan tekanan
dalam Inch of mercury (inHg). Pada baris ―double inHg = (P * 0.0295333727); ― adalah
konversi dari milibar menjadi inHg. Pembacaan sensor dalam milibar dinyatakan pada
variabel P, sehingga untuk mengubahnya dikalikan dengan 0.0295333727 (1 milibar =
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

67

0.0295333727 inHg). Selanjutnya secara konsep sama seperti program pengolahan sensor
suhu yaitu data diubah menjadi heksadesimal (bentuk kapital), pembacaan panjang data
sensor tekanan serta penambahan perintah Write DM PLC dan alamat memori PLC (DM
3) dengan menerapkan logika if. Pada logika if dengan kondisi "@00WD00030" dan
"@00WD000300" akan digabungkan dengan data sensor tekanan (string1), sehingga
membentuk paket data.

//Tekanan
status = pressure.getPressure(P, T);
if (status != 0)
{
double inHg = (P * 0.0295333727);
int tekanan = (inHg * 100);
String string1 = String (tekanan, HEX);
string1.toUpperCase();
int panjangSen3 = string1.length();
String string3;

if (panjangSen3 == 3)
{
string3 = String("@00WD00030" + string1);
}
if (panjangSen3 == 2)
{
string3 = String("@00WD000300" + string1);
}

Gambar 4. 30. List Program Tekanan


Program pengiriman data sensor suhu dan tekanan memiliki kemiripan secara konsep
logika. Kemiripan bagian program ditunjukkan pada gambar 4.31. Format data yang sudah
lengkap memiliki perintah Write DM PLC dan alamat memori PLC (contoh
:"@00WD0003002A"), selanjutnya akan diubah menjadi array dengan perintah
toCharArray. Pemanggilan fungsi Hitung FCS dilakukan untuk menghitung data yang
telah diubah menjadi array pada variabel ―ubah‖. Hasil perhitungan FCS akan ditampung
pada char buf[5]. Pada baris snprintf(buf, sizeof(buf), "%X", nilai) untuk mengubah
variabel buf dan check menjadi data string. Nilai hasil perhitungan FCS ditempatkan pada
buf[0] dan buf[1]. Pengiriman data dapat dilakukan setelah menggabungkan data sensor
dalam string (string3), hasil perhitungan FCS (buf) dan menambahkan terminator ―*‖.
Hasil penggabungan disimpan didalam String data. Data dikirim secara serial melalui
perintah Serial.print(data). Kirim karakter 13 sebagai carriage return dengan cara
Serial.println(char(13).
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

68

int panjangString = string3.length();


char ubah [panjangString];
string3.toCharArray(ubah, panjangString + 1 );

unsigned char chek = HitungFCS (ubah, panjangString);


char buf[5];

int nilai = (chek);


snprintf(buf, sizeof(buf), "%X", nilai);
ubah[panjangString] = buf[0];
ubah[panjangString + 1] = buf[1];
String data = string3 + buf + '*' ;
Serial.print(data);
Serial.println(char(13));
delay(50);

Gambar 4. 31. List Program Pengiriman Data

4.3.4. Program Monitoring Data Memori PLC CPM2A


Program ladder untuk memantau data yang disimpan didalam memori PLC Omron
CPM2A ditunjukkan pada gambar 4.32. Contact untuk mengakses memori menggunakan
contact always on (P_On). Monitoring sensor cahaya terdapat pada alamat memori DM 1,
sensor suhu terdapat pada alamat memori DM 2 dan untuk sensor tekanan terdapat pada
alamat memori DM3. Bentuk data pada memori DM1, DM 2 dan DM 3 adalah
heksadesimal. Instruksi BCD digunakan untuk mengkonversi data heksadesimal menjadi
BCD. Data BCD sensor cahaya pada alamat memori DM 9, sensor suhu pada alamat
memori DM 10 dan sensor tekanan pada alamat memori DM 11.

Gambar 4. 32. Ladder monitoring Data Sensor


PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

BAB V
KESIMPULAN DAN SARAN
5.1. Kesimpulan
Dari hasil pengujian dan pengambilan data pada sistem analog to digital converter
untuk PLC menggunakan mikrokontroler, didapat kesimpulan sebagai berikut:
1. Komunikasi antara mikrokontroler dengan PLC Omron CPM2A melalui kabel RS232
berhasil dilakukan.
2. Mikrokontroler berhasil mengirim data analog dari sensor LDR (sensor berbasis
analog) untuk disimpan didalam memori DM PLC Omron CPM2A dengan
keberhasilan 100%.
3. Mikrokontroler berhasil melakukan pengiriman data suhu dan tekanan dari sensor
BMP180 (sensor berbasis I2C protokol) untuk disimpan didalam memori DM PLC
Omron CPM2A dengan keberhasilan 100%.
4. Modul Analog to Digital Converter berhasil mengolah data analog menjadi digital
dari sensor dan menyimpannya didalam memori PLC Omron CPM2A dengan
keberhasilan 100%.
5. Dari 3 buah sensor (LDR, BMP180 dan MPU6050) data yang berhasil disimpan
didalam memori DM PLC Omron CPM2A sejumlah 2 buah sensor yaitu sensor LDR
dan BMP180.
6. Modul Analog to Digital Converter dapat digunakan sebagai instrumentasi
pengukuran cahaya (sensor LDR) dengan galat 2,78%, pengukuran suhu (sensor
BMP180) dengan galat 10,76%.

5.2.Saran
Berikut ini dipaparkan beberapa saran untuk proses pengembangan penelitian
mengenai analog to digital converter untuk PLC menggunakan mikrokontroler:
1. Beberapa data sensor memiliki nilai signed (negatif atau positif), sehingga perlu
pengembangan dalam mengolah bilangan tipe signed.
2. Pertimbangkan pemilihan tipe dan jenis sensor untuk mendukung kinerja PLC,
sehingga dalam implementasi sensor yang digunakan dapat digunakan.
3. Sebaiknya ditambahkan suatu output atau aktuator agar data yang tersimpan dapat
diterapkan.

69
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

DAFTAR PUSTAKA

[1] Bolton, William., 2004, Programmable Logic Controller (PLC): Sebuah Pengantar
(Edisi 3), Erlangga, Jakarta.
[2]Utomo, Hendro., Sadnowo, Ageng., S,Sri Ratna, -----,IMPLEMENTASI AUTOMATIC
TRANSFER SWITCH BERBASIS PLC PADA LABORATORIUM TEKNIK
ELEKTRONIKA JURUSAN TEKNIK ELEKTRO UNIVERSITAS LAMPUNG, Jurusan
Teknik Elektro Universitas Lampung.
[3] -----, -----, Data Sheet CJ1W-AD/DA/MAD, OMRON.
[4] Irazabal, Jean-Marc., Blozis, Steve., 2003, AN10216-01 I2C MANUAL, Philips
Semiconductors.
[5] -----, -----, https://store.arduino.cc/usa/arduino-uno-rev3 diakses 3 November 2017.
[6] Bayle,Julien., 2013, C Programming for Arduino, Packt Publishing Ltd, Birmingham.
[7] Hariyanto, D., 2010, Analog to Digital Converter, http://staff.uny.ac.id/sites /default
/files /Teknik%20Antarmuka%20-%20ADC.pdf ,diakses pada 12 Februari 2018.
[8] ----, 2016 , Data Sheet Microcontroler ATmega382/P, Atmel.
[9] ------, ―Sensing and Control‖, www.honeywell.com/sensing, tanggal akses 5 November
2017.
[10] ----, -----, https://avrhelp.mcselec.com/index.html?using_the_i2c_protocol.htm diakses
3 November 2017.
[11] ----,2013, Data Sheet MPU-6000 and MPU-6050 Revision 3.4, Inven Sense Inc.
[12] ----,2013, Data Sheet BMP180 Digital Pressure Sensor, Bosch Sensortec.
[13]Omron. Sysmac CPM1/CPM1A/CPM2A/CPM2C/SRM1(-V2) Programmable
Controller: Programming Manual. Japan: Omron Corporation. 2008.
[14] Handajadi, Wiwik., Sholeh Ahmad., 2009, PEMBACAAN OUTPUT TIMBANGAN
DIGITAL JARAK JAUH DENGAN MENGGUNAKAN PEMPROGRAMAN VISUAL
BASIC 6.0, Jurusan Teknik Elektro, Fakultas Teknologi Industri Institut Sains &
Teknologi AKPRIND Yogyakarta, vol. 2, no. 1, Juni 2009
[15] Juanda, Enjang Akhmad., 2010, Rancang Bangun Mesin Penjawab SMS Otomatis
Berbasis Mikrokontroler ATMega8535, Jurusan Pendidikan Teknik Elektro, FPTK
UPI. INKOM vol. IV, no. 2, Nov 2010.
[16] ---, ----, PLC Beginner Guide, http://dinus.ac.id/repository/docs /ajar /PLC_Beginner
_guide.pdf diakses 8 Februari 2018.

70
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

71

[17] Kadang, Stenly., 2009, APLIKASI SCADA DALAM PROSES PASTEURISASI


PENGISIAN DAN PENGEPAKAN PRODUK SUSU KEMASAN PADA MINI DCS
BERBASIS PLC OMRON CPM2A, Tugas Akhir, Jurusan Teknik Elektro, FST,
Universitas Sanata Dharma, Yogyakarta.
[18] Ada, L. (2017, Desember 26). Ada Fruit. Dipetik Maret 16, 2018, dari Ada Fruit
Learning System: https://learn.adafruit.com/photocells.

[19] ---, ---, CdS Photoresistor Manual GL55 Series, SENBA OPTICAL & ELECTRONIC
CO.,LTD..
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

L1

LAMPIRAN
LISTING PROGRAM ARDUINO UNO
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

L2

#include <AnalogScanner.h>
#include <SFE_BMP180.h>
#include <Wire.h>

AnalogScanner scanner;
SFE_BMP180 pressure;
int scanOrder[] = {A1};
const int SCAN_COUNT = sizeof(scanOrder) / sizeof(scanOrder[0]);
int analog = A1;

void setup()
{
Serial.begin(9600, SERIAL_7E2);
Serial.print("@00SC0252");
Serial.println(char(13));
scanner.setScanOrder(SCAN_COUNT, scanOrder);
scanner.beginScanning();

while (!Serial);
if (pressure.begin());
else
{
while (1);
}
}

void loop()
{
for (int a = 0; a < SCAN_COUNT; ++a) {
if (a >= 0)
{
float tegangan = scanner.getValue(scanOrder[a]) * (5.0 / 1023.0);
if (tegangan >= 0.10) {
Analog();
}
if (tegangan < 0.10) {
break;
}
}
}
delay(50);

BMP180();
delay(50);
}

void Analog()
{
String string1 = String(analogRead(analog), HEX);
string1.toUpperCase();
int panjangSen1 = string1.length();
String string3;
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

L3

if (panjangSen1 == 3)

{
string3 = String("@00WD00010" + string1);
}
if (panjangSen1 == 2)
{
string3 = String("@00WD000100" + string1);
}
if (panjangSen1 == 1)
{
string3 = String("@00WD0001000" + string1);
}

int panjangString = string3.length();


char ubah [panjangString];
string3.toCharArray(ubah, panjangString + 1 );
unsigned char chek = HitungFCS (ubah, panjangString);
char buf[5];

int nilai = (chek);


snprintf(buf, sizeof(buf), "%X", nilai);
ubah[panjangString] = buf[0];
ubah[panjangString + 1] = buf[1];
String data = string3 + buf + '*' ;
Serial.print(data);
Serial.println(char(13));
delay(50);
}

void BMP180()
{
char status;
double T, P;

status = pressure.startTemperature();
if (status != 0)
{
delay(status);

//Suhu
status = pressure.getTemperature(T);
if (status != 0)
{
int suhu = (T * 100);
String string1 = String (suhu, HEX);
string1.toUpperCase();
int panjangSen2 = string1.length();
String string3;
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

L4

if (panjangSen2 == 4)
{
string3 = String("@00WD0002" + string1);
}
if (panjangSen2 == 3)
{
string3 = String("@00WD00020" + string1);
}
if (panjangSen2 == 2)
{
string3 = String("@00WD000200" + string1);
}

int panjangString = string3.length();


char ubah [panjangString];
string3.toCharArray(ubah, panjangString + 1 );

unsigned char chek = HitungFCS (ubah, panjangString);


char buf[5];

int nilai = (chek);


snprintf(buf, sizeof(buf), "%X", nilai);
ubah[panjangString] = buf[0];
ubah[panjangString + 1] = buf[1];
String data = string3 + buf + '*' ;
Serial.print(data);
Serial.println(char(13));
delay(50);

//Tekanan
status = pressure.startPressure(3);
if (status != 0)
{
delay(status);

status = pressure.getPressure(P, T);


if (status != 0)
{
double inHg = (P * 0.0295333727); //1 mbar = 0.02953 inHg; 1 inHg = 33.863753 mbar
int tekanan = (inHg * 100);
String string1 = String (tekanan, HEX);
string1.toUpperCase();
int panjangSen3 = string1.length();
String string3;

if (panjangSen3 == 3)
{
string3 = String("@00WD00030" + string1);
}
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

L5

if (panjangSen3 == 2)
{
string3 = String("@00WD000300" + string1);
}

//String string3 = String("@00WD0003" + string1);

int panjangString = string3.length();


char ubah [panjangString];
string3.toCharArray(ubah, panjangString + 1 );

unsigned char chek = HitungFCS (ubah, panjangString);


char buf[5]; //ubah check dalam HEX
//char fcs[3];

int nilai = (chek);


snprintf(buf, sizeof(buf), "%X", nilai);
ubah[panjangString] = buf[0];
ubah[panjangString + 1] = buf[1];
String data2 = string3 + buf + '*' ;
Serial.print(data2);
Serial.println(char(13));

delay(50);
}

}
}
}
}

unsigned char HitungFCS(char *ubah, int panjangString )


{ unsigned char sum = 0;
for (int i = 0; i < panjangString; i++)
{ sum ^= *(ubah + i);
}
return sum;

}
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

L6

LAMPIRAN
PROGRAM PLC
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

L7
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

L8

LAMPIRAN
CARA MEMANTAU DATA
MENGGUNAKAN PROGRAMMING
CONSOLE
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

L9

Pemantauan Data Menggunakan Programming Console seperti berikut:

1. Pastikan arah kunci pada mode monitor.


2. Buka password dengan menekan keypad ―CLR‖ dilanjutkan ―MONTR‖.
3. Tekan ―MONTR‖ lalu tekan ―EM/DM‖ untuk memerintahkan monitoring memori
DM.
4. Pilih alamat memori yang akan diakses dengan menekan keypad angka (0-9).
5. Pada display Programming Console dapat menampilkan 3 akses alamat memori
dengan cara mengulang perintah no.3.
6. Menghapus atau mengurangi display alamat memori yang akan diakses dengan
menekan ―CLR‖.

Anda mungkin juga menyukai