Anda di halaman 1dari 18

Membaca tegangan analog dengan Arduino

5 Votes

Tulisan kali ini akan membahas tentang pembacaan tegangan analog yang masuk pada pin
analog Arduino. Tegangan yang masuk dikonversi terlebih dahulu menjadi data digital.
Arduino yang saya gunakan adalah Arduino UNO. Pin analog Arduino dapat menerima nilai
hingga 10 bit sehingga dapat mengkonversi data analog menjadi 1024 keadaan (2^10= 1024).
Artinya nilai 0 merepresentasikan tegangan 0 volt dan nilai 1023 merepresentasikan tegangan
5 volt. Mengapa 1023? Bukannya 1024? Hati-hati, disini dimulai dari angka 0 bukan angka 1,
sehingga nilai terbesar adalah 1023. Data yang sebelumnya analog dikonversi menjadi data
digital. Proses konversi dari nilai analog menjadi digital ini disebut proses ADC (Analog to
Digital Conversion). Bagaimana jika tegangan 5 volt dikonversi menjadi data digital 10 bit?
Mari kita hitung

Artinya setiap 1 angka desimal mewakili tegangan sebesar 0,004887585 volt. Berapa besar
tegangan yang diwakili angka 512?

Oke sekarang mari kita langsung saja menuju ke program Arduino-nya. Tulis program seperti
dibawah ini:

/*

Membaca tegangan analog ReadAnalogVoltage

Membaca input analog pada pin 0 kemudian mengonversi menjadi data digital, dan
ditampilkan pada serial monitor atau hyperterminal.

Pin tengah potensiometer terhubung dengan pin A0, pin yang lainnya terhubung dengan +5
dan ground.

*/
void setup() {

// komunikasi serial 9600 bit per sekon:

Serial.begin(9600);

void loop() {

// baca input analog pada pin A0:

int NilaiSensor = analogRead(A0);

// Konversi NilaiSensor (dari 0 1023) menjadi tegangan (0 5V):

float Tegangan = NilaiSensor * (5.0 / 1023.0);

// Menampilkan hasil:

Serial.println(Tegangan);

Setelah programnya selesai ditulis, sekarang upload, dan putar potensiometernya. Saya
menampilkan hasil dengan hyperterminal seperti dibawah ini

Jika tidak memiliki hyperterminal hasilnya dapat ditampilkan dengan fasilitas serial monitor
pada menu tools yang ada di software Arduino-nya.
Membuat Detektor Gas LPG (Liquified Petroleum Gas) TGS2610

Membuat Detektor Gas LPG (Liquified Petroleum Gas) TGS2610

Prinsip Kerja Alat

Alat detektor gas LPG ini mendeteksi adanya kadar gas propana dan
butana diudara, kadar minimal yang bisa dideteksi oleh alat ini adalah 500ppm,
sehingga jika kadar gas diudara kurang dari 500ppm maka alat ini tidak bisa
mendeteksi adanya gas propana dan butana diudara, ini didapat dari range
sensor TGS2610 yaitu 500ppm -10.000ppm. kadar ppm yang maksimal dan valid
untuk alat ini hanyalah sampai 10.000ppm, selebihnya dapat dikatakan kurang
valid.

Alat ini menggunakan sebuah buzzer, 8 buah led sebagai indikator akan
adanya bahaya atau tidaknya suatu ruangan / dapur, buzzer akan berbunyi jika
keadaan didalam ruangan pada kadar lebih dari 10% atau lebih dari
100.000ppm, tepatnya yaitu jika sensor TGS2610 telah mengeluarkan tegangan
output sebesar 4,45 volt.

Terdapat8buahledyangbervariasiwarnanya,ada2warnaputih,2warnabiru,2warnahijau

\]dan2warnamerah.Tiaptiapledmewakilisuatukeadaanyangberbeda,jikaledputihakanmenyala
saatprosesheaterpada90detikyangpertama,kemudianledwarnabirumenyalapadaheater90detik
kedua.LedmerahmenyalapadasaatkondisiberbahayayaituteganganoutputdarisensorTGS2610
lebihdariatausamadengan4,45volt,sebaliknyaledhijaumenyalapadakondisiamanyaitutegangan
outputsensorkurangdari4,45volt.

MinimumSystemATMega16
Rangkaian TGS2610

komponen yang dibutuhkan untuk membuat sensor TGS2610 ini bisa


berfungsi optimal hanyalah variabel resistor 10Kohm, yang mana variabel
resistor ini digunakan untuk RL (Resistansi Load) untuk sensor TGS2610. Menurut
datasheet dari sensor TGS2610, RL yang digunakan yaitu minimal 0,45Kohm,
sehingga jika diberikan 10K sudah termasuk dalam batas minimal rangkaian.
Berikut adalah gambar skematik dari rangkaian TGS2610

Sensor TGS2610 memiliki 4 buah kaki, yaitu 2 kaki untuk mengaktifkan


heater di kaki 3 dan 4, pada kaki 1 diberikan GND untuk heater, untuk output
tegangan dari sensor ini ada pada kaki 2 yang langsung dihubungkan ke RL yang
berupa variabel resistor 10K.
Program Bascom-AVR
'------------------

'Alat Ukur Gas LPG

'by yanuar mukhammad

'------------------

$regfile = "m16def.dat"

$crystal = 12000000

Config Lcdpin = Pin , Rs = Portc.0 , E = Portc.1 , Db4 = Portc.2

Config Lcdpin = Pin , Db5 = Portc.3 , Db6 = Portc.4 , Db7 = Portc.5

Config Lcd = 16 * 2

Config Adc = Single , Prescaler = Auto , Reference = Avcc

'------------------------ Konfigurasi

Ddrb.0 = 1 portB.0 sebagai output

Ddrd = &B11111111 portD sebagai output

'------------------------ Type

Dim Gas_ref As Word

Dim Gas As Single

Dim Lpg As String * 5

Dim Vol As String * 5

Dim Tegangan As Single

Dim Teganganx As Single

Dim A As Single

Dim Vo As Single

Dim X As Single

Dim Y As Single

Dim Rs As Single

Dim D As Single

Dim E As Single
Dim Ppm As Single

Dim Ro As Single

'------------------------

Deflcdchar 0 , 31 , 31 , 31 , 31 , 31 , 31 , 31 , 31

Deflcdchar 1 , 31 , 17 , 17 , 17 , 17 , 17 , 17 , 31

Cls

Cursor Off

Start Adc

'------------------------

Upperline

Lcd "Detektor Gas Lpg"

Portd = &B11111100 led putih aktif

Wait 90

Cls

Upperline

Lcd "Range Detektor "

Lowerline

Lcd "500 - 10,000 ppm"

Portd = &B11001111 led biru aktif

Wait 90

Cls

Do

Gas_ref = Getadc(0) 'Nilai tegangan ADC dr out sensor

Gas = Gas_ref

Ro = 633750 'kadar Rs dalam udara bersih (ADC minimal)

Teganganx = Gas_ref / 1023


Tegangan = Teganganx * 5.15 untuk nilai menampilkan tegangan

X = 5.15 - Tegangan

Y = X / Tegangan

Rs = Y * 10000 untuk menemukan nilai Rs

D = Rs / Ro

E = 112.1 / D 'dari grafik excel ditemukan 112,1x^-0,68

Ppm = E ^ 1.58 '1/0.63

Vol = Fusing(tegangan , "#.##")

Locate 1 , 1

Lcd "(Vol)="

Locate 1 , 8

Lcd Vol

Locate 2 , 1

Lcd Chr(0)

Locate 2 , 2

Lcd "(PPM)=" ; Fusing(ppm , "#.##")

If Tegangan < 4.45 Then

Portd = &B11110011 led hijau aktif

Portb.0 = 0

End If

If Tegangan >= 4.45 Then

Portd = &B00111111 led merah aktif

Portb.0 = 1 buzzer aktif

End If

Loop
'------------------------ end

Penjelasan Program dan Kalibrasi

Pejelasan program dan kalibrasi ini akan membahas bagaimana


cara untuk menampilkan tegangan output sensor dan cara kalibrasi sensor
TGS2610.

a. Cara Menampilkan Tegangan Keluaran Pada LCD

Untuk mengetahui bagaimana cara agar didapat kadar PPM dalam


udara, yang harus dilakukan adalah mengetahui tegangan output sensor
TGS2610 terlebih dahulu, sehingga akan didapat nilai Rs dan Ro nya yang
kemudian akan diolah ke dalam bentuk PPM. cara agar bisa menampilkan
tegangan output sensor TGS2610 pada LCD yaitu dengan menggunakan rumus
berikut pada program Bascom-AVR

Jadi tegangan output dari port ADC dibagi dengan nilai 1023 karena
mikrokontroler sebelum menampilkan data ke layar LCD dari port ADC, dia
mengalikan cacahan dengan 1024, cacahan yang dilakukan mokrokontroler lebih
detailnya dari 0 sampai 1023, maka dari harus dibagi dengan nilai 1023 agar
diketahui nilai yang sebenarnya dari ADC tanpa dikali dengan pencacah. Data
yang telah dibagi kemudian dikalikan tegangan ADC yaitu tegangan AVCC,
biasanya tegangan VCC ini berkisar antara 4,9 v sampai 5,20 v tergantung dari
regulator yang dipakai, jadi akan didapat nilai tegangan output dari suatu sensor,
namun perlu dilakukan kalibrasi terlebih dahulu terhadap data tegangan ini
dengan membandingkan antara tampilan tegangan output pada LCD dengan
multimeter, berikut tabel perbandingan data yang telah diambil dengan
menggunakan rumus tegangan diatas.

Tabel 6.11.2 Tabel Pengujian Keakuratan Data ADC

Kalibrasi ADC (Volt)

Tegangan ADC Tegangan Multimeter

0,11 0,11

0,14 0,14

0,34 0,33

1,20 1,20

2,37 2,36

4,26 4,26

Dari tabel diatas jelas sekali persamaan yang didapat antara


menggunakan rumus dengan pengukuran secara langsung dengan multimeter,
hanya berbeda 0,01 yang artinya telah layak dipakai untuk suatu pengukuran.

b. Konversi dari Tegangan ke PPM

Konversi dari nilai tegangan yang telah didapat ke PPM memang


agak panjang namun semuanya masih dalam kotegori mudah. Pertama
mengambil data dari grafik datasheet sensor mengenai Rs / Ro terhadap kadar
gas PPM seperti grafik berikut ini.

Dari grafik tersebut jika diambil data per kenaikannya maka akan
menghasilkan seperti data pada tabel berikut.

Tabel 6.11.3 Tabel Sensitivitas Rs/Ro dengan PPM Melalui Grafik

Rs/Ro PPM

2,8 300

2,7 400

2 500

1,9 600

1,8 700

1,7 800

1,6 900

1,5 1000

0,9 2000
0,75 3000

0,6 4000

0,5 5000

0,49 6000

0,4 7000

0,39 8000

0,35 9000

0,3 10000

Dari data tersebut dapat diketahui senstvitas yang sebenarnya dari sensor
TGS2610 untuk melakukan konversi ADC ke PPM dengan menghitung tiap
kenaikan dari Rs/Ro terhadap PPM, Data yang telah didapat dikalkulasi
menggunakan microsoft excel dan tampilan grafik sehingga akan menghasilkan
tampilan seperti berikut.

Dari grafik 5,36 dapat dilihat bahwa terdapat nilai R 2= 0,994, yang
artinya tingkat keakuratannya 99,4 % dan selisih antara data kesatu, kedua dan
seterusnya tidaklah berbeda jauh. Nilai y = 112,1 x -0,63 adalah nilai yang akan
digunakan untuk konversi tegangan ke PPM, X mewakili kadar gas dalam PPM
dan Y mewakili nilai Rs/Ro, bagaimana cara menampilkan nilai tersebut pada
ms.Excel? berikut caranya

Setelah dipilih pada menu scatter, maka ms.Excel akan menampilkan


grafik yang telah dipih sebelumnya. Kemudian pada tampilan grafik klik kanan
tepat di garis grafiknya, Pilih menu Add trendline.... sehingga akan
menampilkan suatu layar setting untuk menampilkan option trendline. Setelah
itu pilih pilihlah option Power pada trendline option, centang / check pada check
list display equation on chart dan display R-squared on chart. Seperti yang
ditunjukkan pada gambar berikut
Jika langkah-langkah diatas telah dilakukan dengan benar maka akan
nampak nilai persamaan antara faktor Rs/Ro dengan kadar gas PPM dan juga
akan nampak tingkat keakuratan mengenai selisih data yang didapat dari data
pertama hingga terakhir.
Langkah kedua setelah tampilan grafik didapat adalah menghitung nilai
Ro untuk mendapatkan nilai Rs/Ro. Nilai Ro dan Rs didapat memalui rumus
berikut

Ro adalah nilai resistansi sensor saat kondisi Rs bernilai 1800 ppm, saat
kondisi 1800ppm disini diartikan saat kondisi udara normal, tanpa tercampur
oleh gas propana dan butana, karena keadaan 1800ppm adalah keadaan awal
atau minimal dari Rs sebelum mendeteksi kadar gas, sehingga jika kondisi awal
maka VRl yang dihasilkan adalah 0,08 volt, nilai tegangan 0,08 volt diambil dari
nilai minimal yang dikeluarkan oleh sensor saat Rs bernilai 1800ppm, sehingga
jika dimasukkan ke rumus hasilnya. Vc pada rumus adalah tegangan AVCC yang
digunakan untuk mengaktifkan rangkaian. RL pada rumus adalah Variabel
resistor yang digunakan, untuk alat ini menggunakan RL sebesar 10K.

Ro = 5,15 - 0,08 = 5,07

Ro = 5,07 / 0,08 = 63,375

Ro = 63,375 * 10000

Ro = 633750

Nilai Ro telah didapat yaitu 633750, sehingga dari nilai Ro tersebut bisa
digunakan untuk mencari nilai Rs/Ro, dengan Rs adalah kondisi sensor
mendeteksi berbagai variasi kadar gas diudara, maka dari itu pada program
bascom dinyatakan sbb
D adalah nilai dari Rs / Ro yang mana nilai D ini yang akan dikonversikan
kedalam PPM melalui rumus konversi yang didapat dari grafik yaitu y = 112,1 x
-0,63
berikut penjelasan dari rumus konversi. Yang perlu diingat yaitu Y mewakili
kadar gas dalam PPm dan X mewakili nilai Rs / Ro.

y = 112,1 x-0,63

0,63
y = 112,1 / x

0,63
x = 112,1 / y

0,63 1
x = (112,1 / y)

0,63/0,63 1/0,63
x = (112,1 / y)

1,58
X = (112,1 / y)

Dari proses konversi diatas didapatlah rumus untuk mengubah nilai


tegangan yang telah dirubah kedalam Rs dan Ro menjadi PPM. rumusnya sbb.

1,58
PPM = (112,1 / (Rs/Ro) )

Diprogram bascom AVR Rs/Ro didefinisikan sebagai variabel D dan


hasil dari pembagian antara 112,1 dengan Rs/Ro didefinisakan dalam variabel E.
Berikut program bascom yang menjelaskan tentang rumus tersebut
D = Rs / Ro

E = 112.1 / D

Ppm = E ^ 1.58

Kadar PPM yang telah didapat menggunakan rumus yang tertampil


pada layar LCD harus dikalibrasi lagi dengan cara menyesuaikan dengan grafik
datasheet apakah benar atau tidak nilai tampilan dari Rs/Ro berbanding dengan
kadar gas PPM. hasil dari kalibrasi ini seperti berikut.

Tabel 6.11.4 Tabel Pengujian Rs/Ro terhadap PPM Menggunakan


Rumus

Rs/Ro PPM

0,83 2307

0,79 2505

0,88 2115

0,93 1929

Cara Penggunaan Alat

Cara penggunaan alat detektor gas LPG ini tidaklah sulit, hanya perlu
memberikan catu daya 12 v atau 9 v jika terdapat rangkaian regulator sehingga
lampu led hijau akan menyala untuk mengindikasikan bahwa kadar ruangan
akan gas LPG masih aman.

Saat pengaktifan alat, led putih akan menyala terlebih dahulu


selama 90 detik dan led biru akan menyusul 90 detik juga, sehingga total 180
menit yang mana telah memenuhi standart untuk heater pada sensor TGS2610.

Setelah itu letakkan alat ini didekat tabung gas LPG dengan jarak
kurang dari 50 cm, jika terdeteksi ada kadar gas LPG yang bocor maka tampilan
nilai tegangan dan nilai PPM akan naik sesuai dengan kadar gas LPG diruangan
tersebut. Buzzer dan led merah akan aktif jika tegangan keluaran dari sensor >
= 4,45 volt sesuai dengan alat yang terdapat dilapangan yang menggunakan
sensor MQ5.