TUGAS AKHIR
MENGGUNAKAN MIKROKONTROLER
Disusun oleh:
NIM : 145114024
YOGYAKARTA
2018
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
FINAL PROJECT
USING MIKROKONTROLER
NIM : 145114024
ii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
iii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
iv
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
v
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
MOTTO :
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
xii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xiii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xiv
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
DAFTAR GAMBAR
xv
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xvi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xvii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
DAFTAR TABEL
xviii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
BAB I
PENDAHULUAN
1
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Sensor
Mikrokontroler
RS232 to TTL
berbasis I2C
Converter
Monitor
Adapter
RS232
PLC
Sensor
berbasis
Analog
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
GambarGambar
1. 2 Konfigurasi
2. 1. Konfigurasi
Pin ATmega328
pin ATmega328
[5]
GambarGambar
1. 3 Board
2. 2.Arduino
Board Arduino
Uno R3 Uno R3
5
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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.
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].
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]
Gambar 2. 3.Gambar
Tampilan
1. 4Arduino Software (Arduino IDE)
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
(2.1)
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
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]
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].
13
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].
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‘ .
15
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.
17
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)
18
Proses pengukuran suhu dan tekanan udara pada sensor BMP180 ditunjukkan pada
bagan alir Gambar 2.17.
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).
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]
20
21
Tabel 2. 6. Pembagian SR, TR, HR, AR, LR, Timer/Counter area PLC Omron CPM2A
[13]
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.
23
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.
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].
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.
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.
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).
28
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.
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].
30
(2.2)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
BAB III
PERANCANGAN PENELITIAN
31
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
32
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.
34
35
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.
37
Perancangan perangkat lunak juga berkaitan dengan alur atau logika program pada
mikrokontroler dan PLC.
.
Gambar 3. 5. Diagram Alir pada Arduino dan PLC
38
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.
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 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
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.
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.
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.
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.
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.
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 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.
48
49
50
800,00
600,00
400,00
200,00
0,00
0 200 400 600 800 1000
51
tunda pada proses transmisi data. Berdasarkan grafik dan tabel 4.3 menunjukkan indikator
kesesuaian data ADC perhitungan dengan ADC sistem sebesar 97, 22%.
52
53
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
55
56
57
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.
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
59
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.
60
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.
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‖.
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; }
}
64
while (!Serial);
if (pressure.begin());
else
{
while (1);
}
Gambar 4. 25. Pendeteksi Sensor BMP180
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);
}
delay(50);
}
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);
}
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);
}
68
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
[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);
}
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);
}
//Tekanan
status = pressure.startPressure(3);
if (status != 0)
{
delay(status);
if (panjangSen3 == 3)
{
string3 = String("@00WD00030" + string1);
}
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L5
if (panjangSen3 == 2)
{
string3 = String("@00WD000300" + string1);
}
delay(50);
}
}
}
}
}
}
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