vii
Universitas Kristen Maranatha
BAB IV PENGUJIAN DAN ANALISA DATA 4.1 Pengujian Sensor PH Vernier BTA
48 4.2
Pengukuran PH Terhadap Beberapa Jenis Larutan 52
4.3 Pengukuran PH Terhadap Beberapa Sampel Air Minum 54
4.4 Kalibrasi Alat Ukur TDS Dist3 Hanna Instrument 55
4.5 Kalibrasi Alat Ukur TDS Yang di Buat 56
4.6 Pengukuran TDS Terhadap Beberapa Sampel Air Minum 56
4.7 Pengujian Jangkauan Alat Ukur TDS Yang Dibuat 0-500 PPM 58
BAB V SIMPULAN DAN SARAN 5.1 Simpulan
59 5.2 Saran
59 Daftar Pustaka
61
viii
Universitas Kristen Maranatha
DAFTAR GAMBAR
Gambar 2.1. Kertas Lakmus 7
Gambar 2.2 .Skema Elektroda PH Meter 7
Gambar 2.3 .Hubungan Konduktansi dan Konsentrasi Ion 9
Gambar 2.4 .Pengaruh Luas penampang dan Jarak Terhadap konduktansi 10 Gambar 2.5 .Sensor LM35
12
Gambar 2.6 .Blok diagram ATMega16 15
Gambar 2.7 .Pin
–Pin ATMega 16 16
Gambar 2.8 .
Kompilasi Linking dari program C 22
Gambar 2.9.Terminal Op-amp 25
Gambar 2.10. Non Inverting Amplifier 26
Gambar 2.11 .Inverting Amplifier 27
Gambar 2.12 .Penjumlah Inverting 28
Gambar 2.13 .Wien Bridge Osillator 29
Gambar 2.14.Wien Bridge Osillator saat Dioda Zener Off 31
Gambar 2.15.Wien Bridge Osillator saat Dioda Zener On 31
Gambar 2.16 .LCD 32
Gambar 2.17. Tampilan LCD2X16 33
Gambar 3.1.Diagram Blok Sistem 37
Gambar 3.2.Pin Sensor PH Vernier BTA 38
Gambar 3.3.Konfigurasi Pin Sensor PH Pada PORT A7 Mikrokontroler 38 Gambar 3.4.Perancangan Wien Bridge Osillator
39
Gambar 3.5.Perancangan Non invering Amplifier 40
Gambar 3.6.Rangkaian Pengubah AC ke DC 42
Gambar 3.7.Konfigurasi Sensor TDS Terhadap PORT A0 Mikrokontroler 43 Gambar 3.8.LM35 WateProof
44
Gambar 3.9. Konfigurasi Pin Sensor LM35 Pada PORT A6
Mikrokontroler 44
ix
Universitas Kristen Maranatha
Gambar 3.10.Perancangan LCD 45
Gambar 3.11.Rangkaian Keseluruhan 46
Gambar 3.12.Flowchart Program Alat Ukur PH dan TDS Air 47
Gambar 4.1.Grafik Pengujian Nilai Tegangan Keluaran Sensor Terhadap
Nilai PH Buffer 51
Gambar 4.2 .Grafik Pengukuran Kadar PH dan Tegangan Pada Larutan
Yang Berbeda 53
x
Universitas Kristen Maranatha
DAFTAR TABEL
Tabel 2.1. Pengaruh Penampang Elektroda Terhadap Konduktansi 10
Tabel 2.2.Fungsi Khusus PORT B 17
Tabel 2.3. Fungsi Khusus PORT C 18
Tabel 2.4. Fungsi Khusus PORT D 19
Tabel 2.5 .Tipe Data Bahasa C 22
Tabel 2.6. Fungsi Pin-Pin Lcd 32
Tabe 3.1 .Port-Port Mikrokontroler Yang Digunakan 37
Tabel 4.1 .Data Hasil Pengujian Keluaran Tegangan Sensor PH
Terhadap PH Buffer 4, 7 dan 10 48
Tabel 4.2 .Data pengujian Keluaran Nilai Sensor PH Terhadap PH Buffer 51
Tabel 4.3 .Pengukuran Kadar PH Pada Beberapa Jenis Larutan 52
Tabel 4.4 .Pengukuran Kadar PH Air Minum 54
Tabel 4.5 .Kalibrasi Alat Ukur Dist3 Hanna Instrument 55
Tabel 4.6 .Pengukuran TDS Alat Sendiri 57
Tabel 4.7 .Perbandingan Pengukuran TDS Alat Sendiri Dengan TDS Dist3
Hanna Instrument 57
Tabel 4.8 .Perbandingan Pengukuran TDS Alat Sendiri Dengan Alat Ukur
TDS PT SUCOFINDO 57
Tabel 4.9 .Pengujian Jangkauan Alat Ukur TDS0-500 PPM 58
xi
Universitas Kristen Maranatha
DAFTAR LAMPIRAN
LAMPIRAN A PROGRAM CODE VISION AVR
A-1 LAMPIRAN B
TAMPILAN REALISASI ALAT UKUR PH DAN TDS AIR BERBASIS MIKROKONTROLER ATMEGA 16
B-1 LAMPIRAN C
LAPORAN HASIL PENGUKURAN TDS DI PT SUCOFINDO C-1
LAMPIRAN D DATA SHEET SENSOR LM35,SENSOR PH VERNIER BTA AND
MICROCONTROLLER ATMEGA 16 D-1
A-1
LAMPIRAN A PROGRAM CODE VISION AVR
A-2
This program was produced by the CodeWizardAVR V2.05.0 Evaluation
Automatic Program Generator © Copyright 1998-2010 Pavel Haiduc, HP InfoTech s.r.l.
http:www.hpinfotech.com Project : Realisasi Alat Ukur pH dan Tds Air Berbasis Mikrokontroler ATMega 16
Version : Date : 3122013
Author : Freeware, for evaluation and non-commercial use only Company : Jurusan Teknik Elektro Universitas Kristen Maranatha
Comments: Chip type : ATmega16
Program type : Application AVR Core Clock frequency: 16.000000 MHz
Memory model : Small External RAM size : 0
Data Stack size : 256
A-3
Header Program include mega16.h
include delay.h include stdlib.h
Alphanumeric LCD Module functions include alcd.h
define ADC_VREF_TYPE 0x40 Inisisalisasi Variabel-variabel yang digunakan
char PH[8]; char TDS[8];
char suhu[8]; float ppm,kadar_ph,celcius, Total1,Total2,Total3,Rata1,Rata2,Rata3,suhu_tds;
unsigned int Baca0,Baca6,Baca7; int i;
Read the AD conversion result unsigned int read_adcunsigned char adc_input
{ ADMUX=adc_input | ADC_VREF_TYPE 0xff;
Delay needed for the stabilization of the ADC input voltage delay_us10;
Start the AD conversion ADCSRA|=0x40;
A-4
Wait for the AD conversion to complete while ADCSRA 0x10==0;
ADCSRA|=0x10; return ADCW;
} Declare your global variables here
void mainvoid {
Declare your local variables here InputOutput Ports initialization
Port A initialization Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T PORTA=0x00;
DDRA=0x00; Port B initialization
Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTB=0x00; DDRB=0x00;
Port C initialization Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
A-5
State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T PORTC=0x00;
DDRC=0x00; Port D initialization
Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTD=0x00; DDRD=0x00;
TimerCounter 0 initialization Clock source: System Clock
Clock value: Timer 0 Stopped Mode: Normal top=0xFF
OC0 output: Disconnected TCCR0=0x00;
TCNT0=0x00; OCR0=0x00;
TimerCounter 1 initialization Clock source: System Clock
Clock value: Timer1 Stopped Mode: Normal top=0xFFFF
OC1A output: Discon. OC1B output: Discon.
A-6
Noise Canceler: Off Input Capture on Falling Edge
Timer1 Overflow Interrupt: Off Input Capture Interrupt: Off
Compare A Match Interrupt: Off Compare B Match Interrupt: Off
TCCR1A=0x00; TCCR1B=0x00;
TCNT1H=0x00; TCNT1L=0x00;
ICR1H=0x00; ICR1L=0x00;
OCR1AH=0x00; OCR1AL=0x00;
OCR1BH=0x00; OCR1BL=0x00;
TimerCounter 2 initialization Clock source: System Clock
Clock value: Timer2 Stopped Mode: Normal top=0xFF
OC2 output: Disconnected ASSR=0x00;
A-7
TCCR2=0x00; TCNT2=0x00;
OCR2=0x00; External Interrupts initialization
INT0: Off INT1: Off
INT2: Off MCUCR=0x00;
MCUCSR=0x00; TimersCounters Interrupts initialization
TIMSK=0x00; USART initialization
USART disabled UCSRB=0x00;
Analog Comparator initialization Analog Comparator: Off
Analog Comparator Input Capture by TimerCounter 1: Off ACSR=0x80;
SFIOR=0x00; ADC initialization
ADC Clock frequency: 125.000 kHz ADC Voltage Reference: AVCC pin
A-8
ADC Auto Trigger Source: ADC Stopped ADMUX=ADC_VREF_TYPE 0xff;
ADCSRA=0x87; SPI initialization
SPI disabled SPCR=0x00;
TWI initialization TWI disabled
TWCR=0x00; Alphanumeric LCD initialization
Connections specified in the Project|Configure|C Compiler|Libraries|Alphanumeric LCD menu:
RS - PORTC Bit 0 RD - PORTC Bit 1
EN - PORTC Bit 2 D4 - PORTC Bit 4
D5 - PORTC Bit 5 D6 - PORTC Bit 6
D7 - PORTC Bit 7 Charactersline: 16
lcd_init16; lcd_clear;
A-9
lcd_gotoxy0,0; lcd_putsf++PH dan TDS++;
lcd_gotoxy0,1; lcd_putsfBY SANDI;
delay_ms1000; Inisialisasi Awal untuk program rata-rata
i=0; Total1=0;
Total2=0; Total3=0;
while 1 { i++;
Baca0=read_adc0;Baca Adc 0 ppm=floatBaca05001024 ;Rumus untuk Menghitung Nilai Tds
Total1=Total1+ppm;Menjumlahkan nilai ppm dan dimasukan ke variabel Total1 Baca7=read_adc7; Baca Adc7
kadar_ph=-3.811floatBaca751024+13.63;Rumus Untuk Menghitung Nilai pH
Total2=Total2+kadar_ph ; Menjumlahkan kadar_pH dan dimasukan ke variabel Total2
Baca6=read_adc6; Baca Adc6 celcius=floatBaca65001024 ; Rumus Untuk Menghitung Nilai Suhu
A-10
Total3=Total3+celcius; Menjumlahkan celcius dan dimasukan ke variabel Total3
delay_ms200; ifi==20
{ Rata1=Total120;rata-rata nilai Tds
Rata2=Total220; rata-rata nilai pH Rata3=Total320; rata-rata nilai suhu
suhu_tds=Rata11+0.0214Rata3-25 ; Rumus Menghitung koreksi suhu terhadap tds
delay_ms100; lcd_clear;
lcd_gotoxy0,0; lcd_putsfTDS= ;menampilkan tulisan TDS pada baris 0 kolom 0
lcd_gotoxy7,0; lcd_putsfppm;menampilkan tulisan ppm pada baris 7 kolom 0
lcd_gotoxy0,1; lcd_putsfPH=;menampilkan tulisan PH pada baris 0 kolom 1
lcd_gotoxy13,0; lcd_putchar0xdf;menampilkan karakter derajat
lcd_putsfC; menampilkan tulisan C ftoasuhu_tds,0,TDS;mengubah tipe data float ke data array
A-11
ftoaRata2,2,PH;mengubah tipe data float ke data array dengan nilai ph 2 angka dibelakang koma
ftoaRata3,0,suhu;mengubah tipe data float ke data array lcd_gotoxy4,0;
lcd_putsTDS; menampilkan nilai TDS pada baris 4 kolom 0 lcd_gotoxy3,1;
lcd_putsPH; menampilkan nilai pH pada baris 3 kolom 1 lcd_gotoxy11,0;
lcd_putssuhu;menampilkan nilai suhu pada pada baris 11 kolom 0 Kembali ke inisialisasi awal untuk program rata-rata
i=0; Total1=0;
Total2=0 ; Total3=0;
delay_ms1000; } ;
}
Place your code here
}
B-1
LAMPIRAN B TAMPILAN REALISASI ALAT UKUR PH DAN TDS
AIR BERBASIS MIKROKONTROLER ATMEGA16
B-2
SENSOR TDS
SENSOR TEMPERATURE
SENSOR PH VERNIER-BTA MINIMUM SISTEM
ALAT UKUR DIST3 HANNA INSTRUMENT
PENGUKURAN PH AIR SAMPEL C
B-3
PENGUKURAN PH AIR CUKA
PENGUKURAN HCL PENGUKURAN PH AIR SABUN
B-4
PENGUKURAN PH DAN TDS AIR SAMPEL C
PENGUKURAN PH DAN TDS SAMPEL D
B-5
PENGUKURAN PH DAN TDS AIR SAMPEL A
PENGUKURAN PH DAN TDS AIR SAMPEL B
C-1
LAMPIRAN C LAPORAN HASIL PENGUKURAN TDS DI PT
SUCOFINDO
C-2
LAMPIRAN D DATASHEET SENSOR LM35,SENSOR PH VERNIER
BTA, AND MICROCONTROLLER ATMEGA 16
D-1
D-2
D-3
D-4
D-5
D-6
D-7
D-8
D-9
D-10
D-11
D-12
D-13
D-14
D-15
D-16
D-17
D-18
D-19
D-20
D-21
1
Universitas Kristen Maranatha
BAB I PENDAHULUAN
1.1 Latar Belakang Masalah