PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI TUGAS AKHIR ALAT PENAKAR BERAT BERBASIS MIKROKONTROLER Diajukan untuk memenuhi salah satu syarat Memperoleh gelar Sarjana Teknik pada Program Studi Teknik Elektro disusun oleh : RAHMAT TRI HARTANTO NIM : 125114053 PROGRAM STUDI TEKNIK ELEKTRO JURUSAN TEKNIK ELEKTRO FAKULTAS SAINS DAN TEKNOLOGI UNIVERSITAS SANATA DHARMA YOGYAKARTA 2015 i PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI FINAL PROJECT WEIGHT MEASURING DEVICE USING MICROCONTROLLER In partial fulfilment of the requirements for the degree of Sarjana Teknik In Electrical Engineering Study Program RAHMAT TRI HARTANTO NIM : 125114053 ELECTRICAL ENGINEERING STUDY PROGRAM ELECTRICAL ENGINEERING DEPARTMENT FACULTY OF SCIENCE AND TECHNOLOGY SANATA DHARMA UNIVERSITY 2015 ii !!! £�0tl l�ZT : WIN OlNVl1IVH nil lVWHW ll'JI'l OlILN:0)1 Qll)IIW SISVIDl'JIH L Vll'JIH lIV)IVN:'Jld LV'IV 111IDIV svoru xvnrnrrsaaa NVWV1VH PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI "! ·3s·w '·1s·s 'Bsoll B� UWJUqQ UlUUUS st?l!SJgA!Ufl !150JOID(gl, trap Sll!US SUlJID(Ud 'uµm1uiGo A s I OZ Jgqwgsga .!>J ·wo)rW '01pugf1 ·11 : sµulgnps lUlBAS rqnucurour UB){RlUAU!P unp s;JQZ JgqmgAON f7Z JU1515UBl npnd !fn15ugd U!l!UUd usdop !P mn1uuquµgd!P qup1, fSOtllSZI: WIN O.LNV.LlIVH IB.L .LVWHVH ll'Jl'IOllLNO)IOIDIIW SISVffil'JIH LVll'JIH llV)IVN'Jld LV'IV 1IIIDIV SYDflL NYHYS3DN3dNYWY1YH PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI PERNYATAAN KEASLIAN KARYA Saya menyatakan dengan sesungguhnya bahwa tugas akhir ini tidak memuat karya atau bagian karya orang lain, kecuali yang telah disebutkan dalam kutipan dan daftar pustaka sebagaimana layaknya karya ilmiah. Yogyakarta, 14 Desember 2015 Rahmat Tri Hartanto v PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI HALAMAN PERSEMBAHAN DAN MOTTO HIDUP Motto : Semua Adalah Kasih Karunia Allah Skripsi ini kupersembahkan untuk … Yesus Kristus Penolongku Keluargaku yang tercinta vi PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI LEMBAR PERSETUJUAN PUBLIKASI KARYA ILMIAH Yang bertanda tangan di bawah ini, saya mahasiswa Universitas Sanata Dharma : Nama : Rahmat Tri Hartanto NIM : 125114053 Demi pengembangan ilmu pengetahuan, saya memberikan kepada Perpustakaan Universitas Sanata Dharma karya ilmiah saya yang berjudul : Alat Penakar Berat Berbasis Mikrokontroler (Weight Measuring Device Using Microcontroller). Dengan demikian saya memberikan kepada Perpustakaan Universitas Sanata Dharma hak untuk menyimpan, mengalihkan dalam bentuk media lain, mengelolanya dalam bentuk pangkalan data, mendistribusikan secara terbatas dan mempublikasikannya di internet atau di media lain untuk kepentingan akademis tanpa perlu meminta ijin dari saya ataupun memberikan royalti kepada saya selama tetap mencantumkan nama saya sebagai penulis. Demikian pemyataan ini yang saya buat dengan sebenamya. Dibuat di Yogyakarta Pada tanggal : 14 Desember 2015 Yang menyatakan (Rahmat Tri Hartanto) vii PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI INTISARI Menakar bahan makanan untuk pembuatan makanan atau minuman merupakan hal yang sangat penting. Timbangan yang beredar di pasaran masih menakar secara manual. Cara ini memakan waktu, tidak stabil dan kurang efisien. Pada tugas akhir ini telah dibuat alat penakar berat yang sistem kerjanya menggunakan sensor berat strain gauge. Pengguna memasukkan nilai berat melaui keypad lalu diproses oleh mikrokontroler untuk proses penakaran. Pengaturan on off penakaran dilakukan oleh mikrokontroler dan solenoid valve. Sensor berat strain gauge akan mendeteksi berat yang akan dikeluarkan sesuai dengan berat yang diinginkan. Dasar penakaran pada penelitian ini adalah sistem ADC yang sudah dimiliki oleh ATMega8535. Dengan proses penakaran yang otomatis diharapkan akan lebih efisien. Alat penakar pada penelitian ini hanya digunakan untuk menakar berat air dengan berat minimal 50 gram dan kelipatan 10 gram serta berat maksimal 2.000 gram. Ketelitian alat ini diharapkan bisa membaca berat terkecil sampai dengan 2,5 gram. Alat yang dibuat memiliki error yang besar pada beban di bawah 500 gram dan error di bawah 4% pada beban di atas 1.600 gram. Penyebab ketidakstabilan sistem adalah tegangan keluaran sensor yang sangat kecil dan berosilasi tinggi serta memiliki frekuensi tidak stabil, juga terjadinya interferensi tegangan pada sistem. Kata Kunci : Sensor berat, Timbangan, Mikrokontroler. viii Strain gauge, Solenoid Valve, ADC, PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI ABSTRACT Measuring food ingredients for the manufacture of food or drink is very important. Weight measuring device on the market is still measured out manually. This method is time consuming, unstable and less efficient. In this final project has been made weight measuring device that works using a weight sensor with strain gauge. Users enter a weight value through the keypad and then processed by a microcontroller to measurement process. On-off settings of measurement is done by the microcontroller and the solenoid valve. Weight sensors with strain gauge will detect the weight to be issued in accordance with the desired weight. Basic measurement in this study is the ADC system that is already owned by ATMega8535. With automatic measurement process is expected to be more efficient. The device in this study only used to measure the weight of the water with a minimum weight of 50 grams and multiples of 10 grams and a maximum weight of 2,000 grams. The accuracy of this device is expected to read the smallest weight up to 2.5 grams. The device that has made has a big error on the load below 500 grams and error below 4 % at load above 1,600 grams . Causes system instability is the output voltage of the sensor is very small with high oscillating and has an unstable frequency, also the interference voltage on the system. Keywords: Weight sensor, Scales, Strain gauge, Solenoid Valve, ADC, Microcontroller ix PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI KATA PENGANTAR Puji syukur kepada Tuhan Yesus Kristus atas segala karuniaNya, sehingga tugas akhir ini dapat diselesaikan dengan baik. Penelitian yang berupa tugas akhir ini merupakan salah satu syarat bagi mahasiswa Jurusan Teknik Elektro untuk memperoleh gelar Sarjana Teknik di Universitas Sanata Dharma Yogyakarta. Penelitian ini dapat diselesaikan dengan baik atas bantuan, gagasan dan dukungan dari berbagai pihak. Oleh karena itu, peneliti ingin mengucapkan terima kasih kepada : 1. Tuhan Y esus yang adalah penolongku. 2. Romo T. Agus Sriyono SJ, M.A., M. Hum. yang telah memberikan kesempatan untuk belajar lebih tinggi. 3. Ibu Paulina Herningsih Prima Rosa, S.Si., M.Sc. selaku Dekan Fakultas Sains dan Teknologi Universitas Sanata Dharma yang telah mengijinkan penulis belajar. 4. Bapak Petrus Setyo Prabowo, S.T., M.T. selaku Kaprodi Teknik Elektro, Fakultas Sains dan Teknologi Universitas Sanata Dharma Yogyakarta yang telah memberikan kesempatan kepada penulis untuk menyelesaikan skripsi. 5. Ir. Tjendro, M.Kom. selaku pembimbing yang telah bersedia memberikan pengarahan dan bimbingan selama penulis mengerjakan tugas akhir. 6. Bapak dan Ibu Dosen Pengajar Teknik Elektro yang penuh kesabaran. 7. Keluargaku yang selalu memberi semangat dan doa. 8. Semua pihak yang tidak bisa disebutkan satu per satu atas bantuan dan saran yang diberikan. Peneliti sangat mengharapkan kritik dan saran yang dapat membangun serta menyempurnakan tulisan. Semoga tugas ini dapat dimanfaatkan dan dikembangkan lebih lanjut oleh peneliti lain sehingga tulisan ini dapat lebih bermanfaat. Yogyakarta, 14 Desember 2015 x PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI DAFTAR ISI Halaman Sampul (Bahasa Indonesia) ............................................................................ i Halaman Sampul (Bahasa Inggris) ................................................................................ ii Halaman Persetujuan ..................................................................................................... iii Halaman Pengesahan ..................................................................................................... iv Pernyataan Keaslian Karya ............................................................................................ v Halaman Persembahan dan Motto Hidup ...................................................................... vi Lembar Persetujuan Publikasi Karya Ilmiah .................................................................. vii Intisari ............................................................................................................................ viii Abstract .......................................................................................................................... ix Kata Pengantar .............................................................................................................. x BAB I PENDAHULUAN 1.1. Latar Belakang .............................................................................................. 1 1.2. Tujuan dan Manfaat Penelitian ..................................................................... 2 1.3. Batasan Masalah ............................................................................................ 2 1.4. Metodologi Penelitian ................................................................................... 2 BAB II DASAR TEORI 2.1. Mikrokontroler AVR ATmega8535 .............................................................. 4 2.1.1. Konfigurasi Pin ATmega8535 ................................................................... 4 2.1.2. Fitur ATmega8535 ..................................................................................... 5 2.1.3. Port pada ATmega8535 .............................................................................. 6 2.1.4. ADC ........................................................................................................... 9 2.1.4.1. Fitur ADC ATmega8535 ........................................................................ 10 2.1.4.2.Pengaturan Register ADC ........................................................................ 10 2.1.5. Reset ........................................................................................................... 15 2.2. Strain Gauge ................................................................................................. 17 2.3. Pengkondisi Sinyal ........................................................................................ 18 2.4. Keypad 4x4 ................................................................................................... 19 2.5. LCD 2x16 ...................................................................................................... 19 xi PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 2.6. Solenoid Valve ............................................................................................... 21 2.6.1. Cara Kerja Solenoid Valve ......................................................................... 21 2.6.2. Electric Solenoid Valve G1/2 (Normally Closed) ...................................... 22 2.7. Transistor Sebagai Saklar............................................................................... 22 BAB III RANCANGAN PENELITIAN 3.1. Perancangan Hardware ................................................................................. 25 3.1.1. Komponen Mekanik ................................................................................... 25 3.1.2. Minimum System ATmega8535 ................................................................ 26 3.1.3. Sensor Berat (Modul Timbangan Digital) .................................................. 28 3.1.4. Penguat Instrumentasi ................................................................................ 29 3.1.5. Solenoid Driver (Transistor Sebagai Saklar) ............................................. 31 3.1.6. Wiring Keypad 4x4...................................................................................... 32 3.1.7. Wiring LCD 2x16 ....................................................................................... 33 3.2. Perancangan Program ................................................................................... 34 3.2.1. Sistem ......................................................................................................... 34 3.2.2. Kalibrasi ..................................................................................................... 34 3.2.3. Penakaran ................................................................................................... 35 3.2.4. Pilihan Sendiri ............................................................................................ 37 BAB IV HASIL DAN PEMBAHASAN 4.1. Hardware Mekanik dan Elektronik .............................................................. 39 4.1.1. Hardware Mekanik dan Supply Tegangan ................................................. 39 4.1.2. Hardware Elektronik ................................................................................. 40 4.2. Cara penggunaan Alat Penakar Berat ........................................................... 42 4.3. Percobaan Alat .............................................................................................. 44 4.3.1. Percobaan Alat Dengan Rangkaian Lengkap ............................................. 44 4.3.2. Percobaan Alat Dengan Rangkaian Yang Disederhanakan ....................... 44 4.4. Analisa .......................................................................................................... 48 4.4.1. Analisa Pada Rangkaian Lengkap .............................................................. 48 4.4.2. Analisa Pada Rangkaian Yang Disederhanakan ........................................ 60 4.5. Pembahasan Software .................................................................................... 62 4.6. Program ......................................................................................................... 62 xii PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 4.6.1. Program Pada Rangkaian Lengkap ............................................................ 62 4.6.2. Program Pada Rangkaian Sederhana ......................................................... 63 BAB V KESIMPULAN DAN SARAN 5.1. Kesimpulan ................................................................................................... 66 5.2. Saran .............................................................................................................. 66 DAFTAR PUSTAKA .................................................................................................... 67 LAMPIRAN xiii PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI DAFTAR GAMBAR Gambar 2.1. Konfigurasi Pin ATMega8535 ................................................................. 5 Gambar 2.2. Register ADMUX ..................................................................................... 10 Gambar 2.3. Register ADCSRA .................................................................................... 12 Gambar 2.4. ADC Data Register jika ADCLAR = 0 .................................................... 13 Gambar 2.5. ADC Data Register jika ADCLAR = 1 .................................................... 14 Gambar 2.6. Special Function I/O Register .................................................................. 14 Gambar 2.7. Rangkaian Charge dan Discahrge pada Kapasitor ................................... 16 Gambar 2.8. RC Time Constant ..................................................................................... 16 Gambar 2.9. Struktur Strain Gauge ............................................................................... 17 Gambar 2.10. Jembatan Wheatstone ............................................................................. 17 Gambar 2.11. Rangkaian Penguat Instrumentasi .......................................................... 18 Gambar 2.12. Keypad Matriks 4x4 ................................................................................ 19 Gambar 2.13. LCD 2x16 ............................................................................................... 20 Gambar 2.14. Prinsip Kerja Solenoid Valve .................................................................. 21 Gambar 2.15. Electric Solenoid Valve G1/2 (Normally Closed) ................................... 22 Gambar 2.16. Transistor Sebagai Saklar ....................................................................... 23 Gambar 2.17. Transistor pada Kondisi Cutt-off dan Saturasi ........................................ 23 Gambar 3.1. Diagram Blok Perancangan Hardware ..................................................... 25 Gambar 3.2. Skema Perancangan Komponen Mekanik ................................................ 26 Gambar 3.3. Minimum System ATmega8535 dengan Masukan ADC ........................... 27 Gambar 3.4. Modul Timbangan Digital Camry EK5055 .............................................. 28 Gambar 3.4. Hubungan Antara Berat Ditimbang dan Tegangan Keluaran Sensor ........ 29 Gambar 3.5. Rancangan Penguat Instrumentasi ............................................................ 30 Gambar 3.6. Rangkaian Solenoid Driver ...................................................................... 31 Gambar 3.7. Rangkaian Keypad 4x4 pada ATmega8535............................................... 32 Gambar 3.8. Rangkaian LCD 2x16 pada ATmega8535 ................................................ 33 Gambar 3.9. Flowchart Sistem ...................................................................................... 34 Gambar 3.10. Flowchart Proses Kalibrasi ..................................................................... 35 Gambar 3.11. Flowchart Proses Penakaran ................................................................... 36 Gambar 3.12. Flowchart Proses Pilihan Sendiri ............................................................ 37 xiv PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Gambar 4.1. Tampak Depan Alat Penakar Berat ........................................................... 39 Gambar 4.2. Tampak Dalam Sistem Penakar Berat Air................................................. 40 Gambar 4.3. Panel Elektronik ....................................................................................... 41 Gambar 4.4. Penguatan 2 Tahap dengan IC OP07 CP .................................................. 41 Gambar 4.5. Rangakaian PCB Penguatan 2 Tahap dan Driver ...................................... 42 Gambar 4.6. Tampilan Sistem dan Tombol Keypad ...................................................... 43 Gambar 4.7. Alat Yang Sudah Disederhanakan ............................................................. 45 Gambar 4.8. Hubungan Antara Step ADC Terhadap Berat .......................................... 47 Gambar 4.9. Hubungan Antara Penguat Terhadap Sensor ............................................ 47 Gambar 4.10. Hubungan Antara Tegangan Terhadap Berat ......................................... 48 Gambar 4.11. Inverting Amplifier.................................................................................. 49 Gambar 4.12. Offset Regulator....................................................................................... 50 Gambar 4.13. Hubungan Antara Keluaran Sensor Terhadap Perubahan Berat.............. 51 Gambar 4.14. Hubunagn Antara Keluaran Penguat Terhadap Perubahan Berat ........... 52 Gambar 4.15. Hubungan Antara Perubahan Berat Terhadap Step ADC ....................... 52 Gambar 4.16. Hubungan Antara Perubahan Berat Terhadap Step ADC (2).................. 53 Gambar 4.17. Tegangan Pada Keluaran Sensor Tanpa Beban ....................................... 54 Gambar 4.18. Tegangan Pada Keluaran Sensor Terbebani ........................................... 54 Gambar 4.19. Rangkaian RC Filter ................................................................................ 55 Gambar 4.20. Tegangan Pada Keluaran Sensor Tanpa Beban Dengan RC Filter ......... 55 Gambar 4.21. Tegangan Pada Keluaran Sensor Terbebani Dengan RC Filter .............. 56 Gambar 4.22. Tegangan Pada Keluaran Penguat Tanpa Beban Dengan RC Filter ....... 56 Gambar 4.23. Tegangan Pada Keluaran Penguat Terbebani Dengan RC Filter ............ 57 Gambar 4.24. Rangkaian Optocoupler .......................................................................... 59 Gambar 4.25. Cuplikan Program Tampilan Awal dan Masukan Berat ......................... 63 xv PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI DAFTAR TABEL Tabel 2.1. Tegangan Referensi ADC ............................................................................. 11 Tabel 2.2. Input Chanel and Gain Selections ................................................................ 11 Tabel 2.3. ADC Prescaler .............................................................................................. 13 Tabel 2.4. ADC Auto Triger Source Selections .............................................................. 15 Tabel 2.5. Fungsi dan Konfigurasi Pin LCD 2x16 ........................................................ 20 Tabel 3.1. Hubungan Antara Berat Ditimbang dan Tegangan Keluaran Sensor ........... 29 Tabel 3.2. Wiring keypad 4x4 pada ATmega8535 ......................................................... 32 Tabel 3.3. Wiring LCD 2x16 pada ATmega8535........................................................... 33 Tabel 4.1. Data Set Point dan Output System ................................................................ 46 Tabel 4.2. Penguatan dengan IC LM741 ....................................................................... 49 Tabel 4.3. Penguatan dengan IC OP07 CP .................................................................... 49 Tabel 4.4. Data Linearitas Sensor Pada Penguat Dua Tahap ......................................... 51 Tabel 4.5. Hubungan Antara Perubahan Berat Terhadap Step ADC ............................. 52 Tabel 4.6. Data Ketidakstabilan ADC ............................................................................ 53 xvi PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI BAB I PENDAHULUAN 1.1. Latar Belakang Dunia industri sangat banyak jenisnya, salah satunya adalah industri makanan atau minuman baik dalam skala kecil maupun besar. Setiap industri tersebut selalu melakukan kegiatan menakar bahan baku supaya produk yang dihasilkan memiliki rasa dan tekstur yang diinginkan. Alat penakar yang sekarang ini digunakan adalah timbangan, baik yang manual atau konvensional sampai dengan yang digital. Pada penimbangan selalu dilakukan penambahan atau pengurangan sampai diperoleh berat yang sesuai. Waktu yang dibutuhkan cukup lama sehingga mengurangi waktu produksi karena masih dilakukan secara manual. Alat penakar berat otomatis masih sangat jarang ditemui bahkan mungkin belum banyak dijual dipasaran. Kesimpulan ini didapatkan karena selama pencarian data oleh penulis belum ditemui alat penakar yang dimaksudkan. Penelitian ini pernah dilakukan oleh Yuliant Rochmatin Nuresa pada tahun 2011[1]. yang dipakai adalah sensor berat flexi force, mikrokontroler ATmega8535, masukan data dilakukan melalui keypad dan untuk penampil digunakan LCD. Stepper motor dipergunakan sebagai pengontrol jumlah bahan baku yang akan ditakar. Tiga jenis bahan dapat ditakar oleh alat ini dengan maksimal berat 500 gram saja dikarenakan keterbatasan sensor yang digunakan. Akurasi yang dicapai sebesar 70% dibandingkan timbangan digital lainnya. Untuk penggunaan selama satu jam berturut – turut diperoleh nilai akurasi 60%. Perbedaan dengan penelitian kali ini adalah menggunakan sensor berat strain gauge, pengontrol takaran solenoid valve dan berat maksimal 2 Kg. Media pengujian yang dipakai yaitu air. Diharapkan dengan metode ini akan memiliki ketelitian yang lebih baik. Penelitian ini dimaksudkan supaya dapat diciptakan alat penakar berat yang teliti dan pasti akan sangat berguna bagi industri makanan atau minuman. Alat ini diharapkan bisa dipergunakan dalam bidang lain yang harus melakukan kegiatan penakaran. 1 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 1.2. 2 Tujuan dan Manfaat Tujuan dari penelitian ini adalah menghasilkan model alat penakar berat yang teliti. Manfaat penelitian ini bagi dunia industri makanan yaitu membantu dalam menakar bahan makanan atau minuman yang akan diolah menjadi suatu produk yang berkualitas serta menjadi acuan bagi penelitian selanjutnya sehingga mampu manghasilkan alat penakar berat yang lebih teliti dan lebih baik. 1.3. Batasan Masalah Dalam penelitian ini akan dibatasi supaya lebih mengarah pada tujuan yang dikehendaki. Adapun batasan –batasan masalah tersebut adalah : 1. Mikrokontroler keluarga AVR ATmega digunakan sebagai pengolah data. 2. Sensor yang digunakan adalah modul strain gauge. 3. Data dimasukkan melalui keypad 4x4. 4. Data masukan dan hasil ditampilkan pada LCD 2x16. 5. Aliran bahan akan diatur oleh solenoid valve. 6. Kalibrasi berat wadah sangat diperlukan. 7. Media yang dipakai dalam penelitian adalah air. 8. Batasan berat yang diteliti : minimal 50 gram dan berat maksimal 2000 gram. 9. Ketelitian penakaran adalah 10 gram. 1.4. Metodologi Penelitian Metode-metode yang dipergunakan untuk mencapai tujuan dalam penyusunan tugas akhir ini adalah : 1. Studi literatur, yaitu dengan mencari data dan informasi dengan membaca jurnal-jurnal yang sudah diterbitkan serta membaca buku-buku yang berkaitan dengan permasalahan yang akan dibahas dalam tugas akhir ini. 2. Dokumenter, yaitu dengan mendapatkan dokumen, data penelitian atau arsip lainnya yang dapat membantu penulis mengerjakan tugas akhir ini. 3. Perancangan subsistem hardware, yaitu mencari model sistem yang baik sesuai batasan masalah yang sudah ditentukan untuk mencapai tujuan penelitian ini. 4. Pembuatan subsistem hardware. Diharapkan rangkaian hardware akan bekerja ketika data diberikan melalui keypad. Solenoid valve akan terutup sehingga aliran berhenti PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 3 setelah tercapai berat yang diinginkan dan terbaca oleh sensor. Data dari keypad dan hasil akan ditampilkan pada LCD. 5. Proses pengambilan data. Pengambilan data dengan berbagai input nilai berat yang berbeda-beda dilakukan setelah hardware selesai dibuat. Data yang diambil adalah nilai berat yang diinginkan dan berat sesungguhnya yang dihasilkan. Berat hasil penakaran ditera dengan timbangan digital Camry EK5055 yang memiliki ketelitian 1 gram [2]. 6. Analisa dan kesimpulan. Data-data yang diperoleh dibandingkan dan dilakukan analisa. Ketepatan penutupan solenoid valve juga perlu diperhitungkan serta ketinggian keluaran terhadap wadah sangat mempengaruhi nilai berat yang dihasilkan. Hal ini penting karena masih terdapat bahan yang akan jatuh ke wadah setelah solenoid tertutup. Perbandingan antara nilai yang diinginkan dengan nilai sesungguhnya adalah besar error yang terjadi dan menunjukkan tingkat ketelitian alat yang telah dibuat. PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI `BAB II DASAR TEORI 2.1. Mikrokontroler AVR ATmega8535 [3] Mikrokontroller AVR memiliki arsitektur RISC (Reduced Instruction Set Computing) 8 bit. Semua instruksi dikemas dalam kode 16 bit (16-bits word) dan sebagian besar instruksi dieksekusi dalam satu siklus instruksi clock. Keluarga AVR yang akan dipakai dalam penelitian ini adalah ATmega8535. Tipe ini memiliki performa yang sangat baik dengan tegangan kerja rendah. ATmega8535 mampu mengolah program yang besar dengan multi instruksi. Konfigurasi, fitur, fungsi dan lainnya yang dipakai dalam penelitian ini akan dibahas lebih lanjut. 2.1.1. Konfigurasi Pin ATmega8535 Konfigurasi pin ATMega8535 pada gambar 2.1 adalah sebagai berikut : 1. VCC merupakan pin yang berfungsi sebagai masukan catudaya. 2. GND merupakan ground pin. 3. Port A (PA0...PA7) merupakan pin I/O dan pin masukan ADC. 4. Port B (PB0...PB7) merupakan pin I/O dan pin yang mempunyai fungsi khusus yaitu timer/counter, analog comparator dan SPI. 5. Port C (PC0...PC7) merupakan port I/O dan pin yang mempunyai fungsi khusus, yaitu analog comparator dan timer oscillator. 6. Port D (PD0...PD1) merupakan port I/O dan pin fungsi khusus yaitu analog comparator dan external interrupt serta komunikasi serial. 7. RESET merupakan pin yang digunakan untuk mereset mikrokontroler. 8. XTAL1 dan XTAL2 merupakan pin masukan external clock. 9. AVCC merupakan pin masukan untuk tegangan ADC. 10. AREF merupakan pin masukan tegangan referensi untuk ADC. 4 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 5 Gambar 2.1. Konfigurasi Pin ATMega8535 2.1.2. Fitur ATmega8535 Beberapa fitur yang disediakan ATmega8535 adalah : 1. Performa tinggi, termasuk mikrokontroler 8-bit AVR daya rendah. 2. Arsitektur RISC yang telah maju a. 130 instruksi kuat – Most Single Clock Cycle Execution b. 32 x 8 Register kerja multifungsi c. Operasi statis penuh d. Throughput hingga 16 MIPS pada 16 MHz e. Multiplier 2-cycle on-chip 3. Program nonvolatile dan data memori a. 8 kbytes In-System Self-Programmable Flash dengan kemampuan 10.000 write/erase cycle b. 512 bytes EEPROM dengan kemampuan 10.000 wirte/erase cycle c. 512 bytes RAM internal d. Penguncian program untuk keamanan sistem 4. I/O dan paket a. 32 programmable I/O lines b. 40 pin PDIP, 44-lead TQFP, 44-lead PLCC, 44-pad QFN/MLF 5. Tingkat kecepatan a. 0 – 8 MHz untuk ATmega8535L b. 0 - 16 MHz untuk ATmega8535 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 6 6. Tegangan operasi a. 2,7 – 5,5 Volt untuk ATmega8535L b. 4,5 – 5,5 Volt untuk ATmega8535 7. Fitur spesial mikrokontrolernya a. Power-on reset dan deteksi programmable brown-out b. Osilator RC kalibrasi internal c. Interupt source external dan internal d. Enam mode Sleep: Idle, ADC noise reduction, Power-save, Power-down, Stand-by, dan Extended Stand-by. 8. Fitur Pheripheral a. Dua timer/counter 8-bit dengan Separate Prescalers dan Compare Modes b. Satu timer/counter 16-bit dengan Separate Prescalers, Compare Modes, dan Capture Modes. c. Counter real time dengan osilator terpisah d. Empat channel PMW e. 8 channel, 10-bit ADC f. Serial interface dwikabel byte-oriented g. Programmable serial USART h. Master/slave SPI serial interface i. On-chip analog comparator 2.1.3. Port pada ATmega8535 Dalam I/O lines terdapat empat port, yaitu port A, port B, port C dan port D yang masing-masing mempunyai 8 pin I/O. Deskripsi tiap port adalah sebagai berikut : 1. Port A (PA7.. PA0) merupakan port yang digunakan sebagai masukan ADC (Analog to Digital Converter), jika ADC tidak digunakan maka port A merupakan 8-bit port I/O dua arah. Internal Pull-up Resistor terdapat pada port A, ketika pin di-set low “0” maka arus akan mengalir jika Internal Pull-up Resistor diaktifkan. 2. Port B (PB7..PB0) merupakan 8-bit port I/O dua arah. Internal Pull-up Resistor juga dimiliki oleh port B. 3. Port C (PC7..PC0) merupakan 8-bit port I/O dua arah. Internal Pull-up Resistor juga dimiliki oleh port C. PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 4. 7 Port D (PD7..PD0) merupakan 8-bit port I/O dua arah. Internal Pull-up Resistor juga dimiliki oleh port D. 5. RESET merupakan pin jika diberikan masukan low “0” maka program yang telah dibuat akan kembali dari awal. Spesifikasi detil masing-masing port adalah sebagai berikut : a) Port A Fungsi tambahan Port A : 1) PA.0 ADC0 ( input ADC channel 0 ) 2) PA.1 ADC1 ( input ADC channel 1 ) 3) PA.2 ADC2 ( input ADC channel 2 ) 4) PA.3 ADC3 ( input ADC channel 3 ) 5) PA.4 ADC4 ( input ADC channel 4 ) 6) PA.5 ADC5 ( input ADC channel 5 ) 7) PA.6 ADC6 ( input ADC channel 6 ) 8) PA.7 ADC7 ( input ADC channel 7 ) Fungsi khusus Port A : - Pada seri AVR ATmega8535 telah dilengkapi 8 saluran ADC internal dengan fidelitas 10 bit. Dalam mode operasinya, ADC dapat dikonfigurasi baik secara single ended input maupun differrential input. Selain itu, ADC ATmega8535 memiliki konfigurasi pewaktuan, tegangan referensi, mode operasi, dan kemampuan filter derau yang sangat fleksibel, sehingga mudah disesuaikan dengan kebutuhan ADC itu sendiri. b) Port B Fungsi tambahan pada Port B : 1) PB.0 T0 (Timer/Counter0 External Counter Input) XCK (USART External Clock Input/Output) 2) PB.1 T1 (Timer/Counter1 External Counter Input) 3) PB.2 AIN0 (Analog Comparator Positive Input) INT2 (External Interrupt 2 Input) 4) PB.3 AIN1 (Analog Comparator Negative Input) OC0 (Timer/Counter0 Output Compare Match Output) 5) PB.4 SS (SPI Slave Select Input) 6) PB.5 MOSI (SPI Bus Master Output/Slave Input) PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 8 7) PB.6 MISO (SPI Bus Master Input/Slave Output) 8) PB.7 SCK (SPI Bus Serial Clock) Fungsi khusus Port B : 1) MOSI, MISO, SCK berguna sebagai masukan downloader ISP. 2) T0/T1 sebagai masukan external timer atau external counter. 3) AIN0 dan AIN1 sebagai masukan komparator, AIN0 sebagai masukan positif (+) sedangkan AIN1 sebagai masukan negatif (-). c) Port C Fungsi tambahan pada Port C : 1) PC.0 SCL (Two-wire Serial Bus Clock Line) 2) PC.1 SDA (Two-wire Serial Bus Data Input/Output Line) 3) PC.2 TCK (JTAG Test Clock) 4) PC.3 TMS (JTAG Test Mode Select) 5) PC.4 TDO (JTAG Test Data Out) 6) PC.5 TDI (JTAG Test Data In) 7) PC.6 TOSC1 (Timer Oscillator Pin 1) 8) PC.7 TOSC2 (Timer Oscillator Pin 2) Fungsi khusus Port C : 1) SCL dan SDA merupakan pin yang dapat berfungsi sebagai pengatur interface serial 2 jalur. 2) TCK merupakan pin yang dapat berfungsi sebagai operasi sinkronisasi dari JTAG ke TCK. Jika pin ini digunakan seperti fungsi periferal tersebut maka pin ini tidak dapat berfungsi sebagai I/O. 3) TMS merupakan pin yang dapat berfungsi sebagai pengontrol navigasi mesin TAP. Jika pin ini digunakan seperti fungsi periferal tersebut maka pin ini tidak dapat berfungsi sebagai I/O. 4) TD0 merupakan pin yang dapat berfungsi sebagai keluaran data serial dari data register. Jika pin ini digunakan seperti fungsi periferal tersebut maka pin ini tidak dapat berfungsi sebagai I/O. 5) TD1 merupakan pin yang dapat berfungsi sebagai masukan data serial ke register atau data register. Jika pin ini digunakan seperti fungsi periferal tersebut maka pin ini tidak dapat berfungsi sebagai I/O. PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 9 6) TOSC1 dan TOSC2 jika disambungkan dengan kristal dan bit ASR serta bit ASSR di-set “1” (high) untuk mengaktifkan asyncronous clocking dari Timer/Counter2 maka pin ini dapat digunakan sebagai masukan penguat osilator. Dalam keadaan ini pin tidak dapat berfungsi sebagai I/O. d) Port D Fungsi tambahan pada Port D : 1) PD.0 RXD (USART Input Pin) 2) PD.1 TXD (USART Output Pin) 3) PD.2 INT0 (External Interrupt 0 Input) 4) PD.3 INT1 (External Interrupt 1 Input) 5) PD.4 OC1B (Timer/Counter1 Output Compare B Match Output) 6) PD.5 OC1A (Timer/Counter1 Output Compare A Match Output) 7) PD.6 ICP1 (Timer/Counter1 Input Capture Pin) 8) PD.7 OC2 (Timer/Counter2 Output Compare Match Output) Fungsi khusus Port D : 1) RXD dan TXD merupakan pin yang digunakan untuk komnikasi serial. 2) INT0 dan INT1 merupakan pin yang digunakan sebagai masukan interupsi eksternal 0 dan masukan interupsi eksternal 1. 3) OC1A dan OC1B merupakan output untuk PWM mode fungsi timer dan OC1A/B juga berfungsi sebagai output eksternal dari pembanding timer/counter A/B. 4) ICP1 merupakan pin yang berfungsi sebagai penampung input timer/counter 1. 5) OC2 merupakan pin yang dapat berfungsi sebagai output untuk PWM mode fungsi timer dan OC2 juga berfungsi sebagai output eksternal dari pembanding timer/counter. 2.1.4. ADC ADC (Analog to Digital Converter) adalah suatu sistem yang merubah besaran analog menjadi data digital. Fasilitas ini digunakan untuk mengambil data analog dari luar. Fitur ADC yang terdapat pada ATmega8535 memiliki 8 input channel ADC dengan resolusi 10 bit. ATmega8535 mampu diberi masukan tegangan analog sampai 8 saluran secara bersamaan dengan ketelitian maksimal 10 bit (1024). Masukan tersebut berupa tegangan yang dihasilkan dari sensor atau rangkaian pendukung lainnya. PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 10 2.1.4.1. Fitur ADC ATmega8535 Berikut ini adalah fitur ADC yang dimiliki oleh ATmega8535 : a) Resolusi 10-bit b) 0.5 LSB Integral Non-linearity c) Akurasi mutlak ±2 LSB d) Waktu konversi : 65 - 260 µs e) Maksimum resolusi sampai dengan 15 kSPS f) 8 Multiplexed Single Ended Input Channels g) 7 Differential Input Channels h) 2 Differential Input Channels with Optional Gain of 10x and 200x i) Optional Left Adjustment for ADC Result Readout j) Rentang tegangan masukan : 0 - VCCADC k) Selectable 2.56V ADC Reference Voltage l) Free Running or Single Conversion Mode m) ADC Start Conversion by Auto Triggering on Interrupt Sources n) Interrupt on ADC Conversion Complete o) Sleep Mode Noise Canceler 2.1.4.2. Pengaturan Register ADC Register-register I/O yang dipakai untuk konversi ADC antara lain ADMUX, ADCSRA, ADCH-ADCL, ADCLAR dan SFIOR. 2.1.4.2.1. ADMUX – ADC Multiplexer Selection Register. Register ADMUX berisi bit-bit yang mengatur pilihan kanal (MUX4:0), bit pengatur penyajian data (ADLAR), dan bit-bit pemilih tegangan referensi (REFS1:0) Gambar 2.2. Register ADMUX PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI a. Bit 7:6 – REFS1:0 : Bit pemilih tegangan referensi Tabel 2.1. Tegangan Referensi ADC b. Bit 5 – ADLAR : ADC Left Adjust Result c. Bit 4:0 – MUX4:0 : Bit pemilih analog channel dan gain (lihat tabel 2.2) Tabel 2.2. Input Channel and Gain Selections 11 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 12 2.1.4.2.2. ADCSRA – ADC Control and Status Register A Register ADCSRA berisi bit-bit yang mengatur nilai prescaler (ADPS2:0), bit aktivasi interupsi selesainya ADC (ADIE), bit penanda (flag) selesainya konversi (ADIF), bit aktivasi penyulut otomatis ADC (ADATE), bit pemulai konversi (ADSC), dan bit aktivasi ADC (ADEN). Gambar 2.3. Register ADCSRA a. Bit 7 – ADEN : ADC Enable Diisi 1 untuk mengaktifkan ADC, diisi 0 untuk mematikan ADC sekaligus memberhentikan konversi yang sedang berlangsung. b. Bit 6 – ADSC : ADC Start Conversion Pada mode single-conversion, set bit ini untuk memulai tiap konversi. Pada mode free-running, set bit ini untuk konversi pertama kalinya. Bit ADSC bila dibaca akan bernilai 1 selama proses konversi, dan bernilai 0 bila konversi selesai. Mengisi bit ini dengan nilai 0 tidak akan mempunyai dampak. c. Bit 5 – ADATE : ADC Auto Trigger Enable Bila bit ini di-set 1 maka auto trigger ADC akan diaktifkan. ADC akan memulai konversi pada saat tepi positif dari sumber sinyal trigger yang dipilih. Sumber sinyal trigger ditentukan dengan mengatur bit ADTS pada register SFIOR. d. Bit 4 – ADIF : ADC Interrupt Flag Bit ini akan bernilai 1 pada saat ADC selesai mengkonversi dan data register telah diperbarui. ADC Conversion Complete Interrupt akan dijalankan bila bit ADIE dan bit-I pada register SREG di-set 1. ADIF akan di-clear secara hardware bila mengerjakan penanganan vektor interrupt yang bersesuaian. Alternatifnya, ADIF dapat di-clear dengan menuliskan 1. Hati-hati bila bekerja dengan Read-ModifyWrite pada ADCSRA, interrupt yang tertunda dapat dibatalkan. Hal ini juga berakibat sama bila instruksi SBI dan CBI digunakan. PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 13 e. Bit 3 – ADIE : ADC Interrupt Enable Mengisi bit ini dan bit-I pada register SREG menjadi 1 akan mengaktifkan ADC Conversion Complete Interrupt. f. Bit 2:0 – ADPS2:0 – Bit pemilih ADC Prescaler Menentukan bilangan pembagi antara sumber clock XTAL ke clock ADC. Tabel 2.3. ADC Prescaler 2.1.4.2.3. ADCL and ADCH – ADC Data Register Register ADCH (ADC High-byte data) berisi data hasil konversi. Bentuk penyajiannya ditentukan oleh bit ADLAR. Jika dibiarkan bernilai 0 (clear), register ini berisi bit MSB dan MSB-1 dari data hasil konversi. Register ADCL (ADC Low-byte data) berisi data hasil konversi. Bentuk penyajiannya ditentukan oleh bit ADLAR. Jika dibiarkan bernilai 0 (clear), register ini berisi bit LSB+7 hingga LSB dari data hasil konversi. Terdapat 2 kondisi ADCLAR, yaitu : a. Bila ADCLAR = 0 Gambar 2.4. ADC Data Register jika ADCLAR = 0 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 14 b. Bila ADCLAR = 1 Gambar 2.5. ADC Data Register jika ADCLAR = 1 Setelah ADC selesai melakukan konversi, kedua register ini berisi hasil konversi. Bila channel differensial dipilih maka hasilnya dalam format two’s complement. Saat ADCL dibaca, data register tidak akan update data sampai ADCH dibaca. Jika hasilnya dirata kiri (left adjust) dan hanya butuh 8-bit maka cukuplah dengan membaca ADCH. Jika butuh 10-bit, baca ADCL dahulu kemudian ADCH. ADC9:0: Hasil konversi ADC. Resolusi 10 bit pada fitur ADC ATmega8535 artinya nilai ADC memiliki rentang dari 0 sampai dengan 210 (0 – 1024). Berdasarkan resolusi tersebut maka hasil konversi pada masukan tunggal (single ended conversion) adalah perbandingan Vin terhadap Vref dikalikan dengan 1024. 2.1.4.2.4. SFIOR – Special Function Input/Output Register Register SFIOR berisi beberapa bit yang terlibat dalam ADC, dan beberapa bit yang terlibat dalam fitur lain. Bit-bit yang terlibat dalam ADC adalah bit-bit pemilih sumber penyulut otomatis (ADTS2:0). Gambar 2.6. Special Function I/O Register PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 15 a. Bit 7:5 – ADTS2:0 : ADC Auto Trigger Source Bila ADATE dalam register ADCSRA di-set 1, maka nilai dalam bit-bit ini akan menentukan sumber mana yang akan menyulut konversi ADC. Bila bit ADATE bernilai 0, maka bit-bit ini tidak akan mempunyai efek. Sebuah konversi disulut oleh sinyal tepi positif dari interrupt flag yang dipilih. Perlu diingat bahwa memindah sumber trigger yang diberi nilai 0 ke sumber trigger lain yang di-set akan menyebabkan tepi positif pada sinyal trigger. Bila ADEN dalam register ADCSRA di-set, juga akan memulai konversi. Memindah mode ke mode freerunning tidak akan menyebabkan pulsa trigger, meskipun bila flag interrupt ADC di-set. Tabel 2.4. ADC Auto Trigger Source Selections b. Bit 4 – RES : Reserved bit Bit cadangan, bila dibaca hasilnya nol. 2.1.5. Reset Pin reset digunakan untuk mengembalikan mikrokontroler ke kondisi semula. Rangkaian reset merupakan bagian dari sistem minimum pada mikrokontroler. Komponen yang dipakai adalah tombol reset dan kapasitor. Tidak menggunakan resistor karena sudah ada Reset Pull-up Resistor di dalam ATmega8535 sebesar 30 kΩ - 60 kΩ [3]. PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 16 Gambar 2.7. Rangkaian Charge dan Discharge pada Kapasitor [4] Rangkaian reset pada dasarnya adalah rangkaian seri antara resistor dan kapasitor seperti pada gambar 2.7. Pada saat terhubung ke sumber tegangan (posisi 1) maka kapasitor akan menyimpan arus listrik sampai tegangan kapasitor sama dengan tegangan sumber. Namun saat antar kedua kaki terhubung singkat (posisi 2) maka kapasitor akan membuang muatannya sampai tegangan kapasitor habis[4]. Grafik charge dan discharge dapat dilihat pada gambar 2.8. Gambar 2.8. RC Time Constant [4] Waktu yang diperlukan untuk pengisian dan pengosongan disebut RC time constant. Kondisi pengosongan yang dipergunakan dalam sistem reset. Time constant ( ) dan tegangan (VC) pada waktu (t) tertentu sangat tergantung dengan nilai hambatan (R) dan kapasitansinya (C) pada sumber tegangan E [4]. PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 2.2. 17 Strain Gage [5] Strain gage adalah sensor yang digunakan untuk mengukur perubahan fisik (deformasi) dan perubahan resistansi pada material tertentu. Struktur dari strain gage ditunjukkan pada gambar 2.9. Sensor ini dipasang pada bagian yang hendak diukur besar strain yang terjadi. Perubahan penampang permukaan akan mempengaruhi perubahan penampang strain gage. Gambar 2.9. Struktur Strain Gage Setiap material memiliki resistansi yang berbeda-beda. Gaya yang diberikan akan merubah besarnya resistansi karena terjadi deformasi pada penampang. Perubahan nilai hambatan (R) sangatlah kecil maka diperlukan rangkaian Wheatstone Bridge untuk merubahnya menjadi tegangan keluaran. Rangkaian Wheatstone Bridge ditunjukkan pada gambar 2.10. Gambar 2.10. Jembatan Wheatstone PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 18 Tegangan keluaran sensor (e) adalah perbandingan antar hambatan dikalikan dengan tegangan masukan (E). Perhitungan untuk mencari tegangan keluaran pada Jembatan Wheatstone ditunjukkan pada persamaan 2.3. 2.3. Pengkondisi Sinyal [6] Rangkaian pengkondisi sinyal merupakan rangkaian untuk mengubah level tegangan sesuai dengan yang diinginkan. Ketidaksesuaian level tegangan antara keluaran analog sensor dan masukan mikrokontroler dapat diatasi dengan membuat rangkaian pengkondisi sinyal. Rangkaian yang dipakai adalah rangkaian penguat atau amplifier. Penguat yang dipakai dalam penelitian ini adalah penguat instrumentasi. Rangkaian penguat instrumentasi memiliki nilai-nilai hambatan dengan kondisi R1 = R4, R2 = R5 dan R6 = R7 sehingga diperoleh besar penguatan (Av) : Gambar 2.11. Rangkaian Penguat Instrumentasi PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 2.4. 19 Keypad 4x4 [7] Pada penelitian ini digunakan keypad matrix 4x4 yang berfungsi sebagai perangkat input data ke dalam sistem melalui mikrokontroler. Keypad memiliki fungsi sebagai interface antara perangkat (mesin) elektronik dengan manusia. Keypad matriks merupakan tombol normally open yang disusun berdasarkan baris dan kolom yang bertujuan untuk dapat mengurangi penggunaan pin masukan pada mikrokontroler. Sebagai contoh pada Gambar 2.12 ditunjukan bahwa pada keypad matriks 4x4 cukup menggunakan 8 pin untuk 16 tombol yang disediakan. Hal tersebut dapat dimungkinkan karena konfigurasi rangkaian yang disusun saling terhubung setiap satu kolom dan satu baris. Konfigurasi yang ada menjadikan penggunaan baris atau kolom secara bersama, maka tidak mungkin untuk dapat dilakukan pengecekan dua tombol atau lebih secara bersama dalam satu siklus waktu. Untuk mengetahui tombol mana yang ditekan maka dilakukan teknik scanning dari bagian kolom terhadap baris atau sebaliknya. Jika semua kolom diberi nilai awal low, pada saat terdapat tombol yang ditekan maka akan bernilai high. Misal kolom 1 baris 1 bernilai high berarti yang ditekan adalah tombol 1, dan seterusnya. Gambar 2.12. Keypad Matriks 4x4 2.5. LCD 2x16 Setiap data masukan dari keypad dan hasil keluaran dari sensor akan ditampilkan melalui sebuah perangkat yaitu LCD. Liquid crystal display (LCD) adalah suatu jenis media tampilan yang menggunakan kristal cair sebagai penampil utama. Sumber cahaya di dalam perangkat LCD adalah lampu neon berwarna putih yang berada di bagian belakang PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 20 susunan kristal cair. LCD 2x16 menandakan bahwa LCD dapat menampilkan sebanyak 2x16 karakter. Gambar 2.13 menunjukan contoh dari LCD 2x16. Gambar 2.13. LCD 2x16 [8] LCD akan berfungsi dengan baik jika kita memasang sesuai dengan konfigurasi pin yang sudah ditentukan seperti pada table di bawah ini. Tabel 2.5. Fungsi dan Konfigurasi Pin LCD 2x16 [8] Pin Nama Fungsi 1 VSS Ground 2 VDD +5V 3 VEE Tegangan kontras (kira-kira 0V) 4 RS 5 R/W 6 E 7 D0 Data bit 0, LSB 8 D1 Data bit 1 9 D2 Data bit 2 10 D3 Data bit 3 11 D4 Data bit 4 12 D5 Data bit 5 13 D6 Data bit 6 14 D7 Data bit 7, MSB Register Select (0 = Register instruksi 1 = Register data) Read / Write, untuk memilih mode tulis atau baca 0 = mode tulis dan 1 = mode baca 0 = enable (mulai menahan data ke LCD) dan 1 = disabled PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 2.6. 21 Solenoid Valve Solenoid valve adalah perangkat elektromekanis digunakan untuk mengendalikan cairan atau aliran gas. Solenoid valve dikendalikan oleh arus listrik, yang dijalankan melalui koil. Ketika kumparan diberi energi, medan magnet dibuat, menyebabkan sebuah pendorong dalam kumparan untuk bergerak. Tergantung pada desain katup, plunger akan membuka atau menutup katup. Ketika arus listrik dihentikan dari kumparan, katup akan kembali ke kondisi semula [9]. 2.6.1. Cara kerja Solenoid Valve [9] Pada direct-acting solenoid valves, plunger langsung membuka dan menutup sebuah lubang di dalam katup. Pada katup yang dioperasikan pilot (juga disebut tipe servo), plunger membuka dan menutup lubang pilot. Tekanan jalur masuk, yang dipimpin melalui lubang pilot, membuka dan menutup segel katup. Cara kerja solonid valve seperti ditunjukkan pada gambar 2.14. Media dikontrol oleh katup dan masuk melalui lubang masukan (2). Media harus mengalir melalui lubang orifice (9) sebelum menuju ke lubang keluaran (3). Orifice ditutup dan dibuka oleh plunger (7). Katup seperti gambar di atas adalah solenoid valve normal tertutup. Katup biasanya tertutup menggunakan pegas (8) yang menekan ujung plunger terhadap pembukaan lubang. Sealing di ujung plunger membuat media memasuki lubang, sampai plunger terangkat oleh medan elektromagnetik yang diciptakan oleh koil (5). Gambar 2.14. Prinsip Kerja Solenoid Valve PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 22 2.6.2. Electric Solenoid Valve G1/2 (Normally Closed) [10] Solenoid valve yang akan digunakan adalah electric solenoid valve G1/2 (normally closed). Katup ini dengan catu daya 12 VDC yang memiliki 1 port masukan dan 1 port keluaran dengan ukuran 1/2 inchi. Sangat baik untuk cairan dengan viskositas rendah dan katup ini banyak digunakan diberbagai aplikasi, contohnya pada kran otomatis. Gambar 2.15 menunjukkan bentuk fisik dari electric solenoid valve G1/2-normally closed. Gambar 2.15. Electric Solenoid Valve G1/2 (Normally Closed) Spesifikasi electric solenoid valve G1/2 (normally closed) : 1. Tegangan kerja : 12VDC 2. Arus maksimum: 450mA 3. Mode operasi : normally closed 4. Inlet/Outlet ports: G1/2” 5. Material / bahan : nylon / stainless steel / Polyoxymethylene 6. Value type : diaphragm valve (dioperasikan oleh servo) 7. Filter screen: stainless steel inlet filter 8. Suhu kerja maksimum : 120°C 9. Range tekanan operasi : 0.02 – 0.8 MPa 10. Umur pakai : 200.000+ 2.7. Transistor Sebagai Saklar [11] Salah satu fungsi transistor yang sederhana adalah sebagai saklar. Pada rangkaian ini terdapat hambatan RB pada kaki basis dan RC pada kaki kolektor, sedangkan kaki emitor dihubungkan ke ground. Skema rangkaian dapat dilihat pada gambar 2.16. PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 23 Gambar 2.16. Transistor Sebagai Saklar Fungsi saklar bisa dilihat pada gambar 2.17 yang menjelaskan kondisi transistor saat cutt-off dan saturation. Pada bagian (a), basis dan emitor tidak dalam kondisi bias maju sehingga memiliki kondisi saklar terbuka antara kolektor dengan emitor. Kebalikan dengan itu, pada bagian (b) terdapat bias maju sehingga kolektor dan emitor dalam kondisi saklar tertutup. Arus pada kolektor mencapai saturasi sehingga ada tegangan yang mengalir dari kaki kolektor ke emitor, kondisi ini pula yang membuat Vout terhadap ground memiliki nilai tegangan yang dapat dipergunakan untuk mengaktifkan komponen atau alat tertentu. Gambar 2.17. Transistor pada Kondisi Cutt-off dan Saturation Pada saat cut-off (basis-emitor tidak bias maju) dan IB = 0 maka tegangan antara kolektor-emitor (VCE) sama dengan tegangan catu dayanya (VCC). PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 24 Basis-emitor bias maju akan menyebabkan arus kolektor maksimal sehingga tercipta kondisi saturasi (VCE dianggap nol). Arus pada kaki kolektor (IC) adalah tegangan catu daya (VCC) dibagi dengan nilai hambatan (RC) pada kaki kolektor. Arus pada kaki basis (IB) sama dengan arus pada kaki kolektor dibagi dengan besar penguatan transistor (βdc). Pada saat transistor aktif maka tegangan pada RB (VRB) adalah tegangan input (Vin) dikurangi tegangan bias maju transistor (VBE). PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI BAB III RANCANGAN PENELITIAN 3.1. Perancangan Hardware Hardware dirancang untuk memenuhi tujuan penelitian. Hubungan antar masing- masing hardware dan fungsinya dalam sistem dapat dilihat dalam diagram blok pada gambar 3.1. Masukan diberikan oleh keypad dan sensor berat, pengolah data dilakukan oleh mikrokontroler. Keluaran mikrokontroler terhubung dengan solenoid valve sebagai aktuator. Masukan dari keypad dan hasil pengukuran dari sensor berat ditampilkan melalui LCD. Semua hardware membutuhkan supply tegangan sesuai dengan kebutuhan masing-masing. Keypad Sensor Berat Power Supply Bagian yang membutuhkan Microcontroller LCD Solenoid Valve Gambar 3.1. Diagram Blok Perancangan Hardware 3.1.1. Komponen Mekanik Komponen mekanik adalah komponen-komponen yang mendukung hardware lain sehinggga peralatan penelitian dapat berfungsi dengan baik. Yang termasuk dalam kelompok ini adalah kerangka, saluran, wadah dan komponen lain yang diperlukan dalam sistem. Wadah penampung terletak di atas kerangka. Pada bagian bawah wadah penampung terdapat keluaran berupa saluran yang akan melewati sebuah solenoid valve. Cairan akan keluar dan jatuh ke dalam wadah takar yang diletakkan di atas sensor berat. Skema dapat dilihat pada gambar 3.2. 25 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 26 a c b d e f Gambar 3.2. Skema Perancangan Komponen Mekanik Keterangan gambar : a. Wadah penampung (galon air 19 liter / Ø22cm x 45cm). b. Saluran (pipa atau selang Ø0,5 inch). c. Solenoid valve. d. Wadah takar plastic (Ø15cm x 20cm). e. Sensor berat / modul timbangan digital EK5055 (48cm x 36cm x 26,5cm). f. Kerangka plastik (25cm x 25cm x 40cm). 3.1.2. Minimum System ATmega8535 Sistem minimum mikrokontroler adalah sistem elektronika yang terdiri dari komponen-komponen dasar yang dibutuhkan oleh suatu mikrokontroler untuk dapat berfungsi dengan baik. Mikrokontoler membutuhkan dua elemen (selain power supply) untuk berfungsi: Kristal Oscillator (XTAL) dan rangkaian RESET. Fungsi dari XTAL adalah memompa data. Rangkaian RESET digunakan untuk memulai kembali pembacaan program pada saat mikrokontroler mengalami gangguan dalam mengeksekusi program. Pada sistem minimum AVR khususnya ATmega8535 terdapat elemen rangkaian pengendalian ADC: AGND (= GND ADC), AVCC (VCC ADC), dan AREF (= Tegangan Referensi ADC). Konektor ISP untuk mengunduh (download) program ke mikrokontroler. PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 27 Rangkaian sistem minimum mikrokontroler AVR ATmega8535 dapat dilihat pada gambar 3.3. Komponen yang dibutuhkan dalam pembuatan sistem minimum untuk ATmega8535 adalah : a. Dua buah kapasitor 22 pF untuk rangkaian XTAL [2]. b. Sebuah XTAL 16MHz sebagai external clock. c. Sebuah kapasitor 22 pF untuk rangkaian RESET. d. Sebuah push button sebagai tombol RESET. AREF tidak dihubungkan ke sumber tegangan karena dalam rancanagn ini dipergunakan tegangan referensi internal sebesar 2,56 volt [3]. AVCC tetap terhubung ke sumber tegangan +5 volt. Gambar 3.3. Minimum System ATmega8535 dengan Masukan ADC Rangkaian RESET menggunakan Reset Pull-up Resistor yang sudah ada pada mikrokontroler dan sebuah external capacitor. Perhitungan untuk menentukan nilai kapasitor tersebut dengan mengacu pada datasheet ATmega8535 sebagai berikut [3]: a. Tegangan kerja mikrokontroler = E = 5 volt. b. Reset Pull-up Resistor = RRST = 30 kΩ - 60 kΩ. c. VRST = VC = 0,9 volt. d. tRST = 1,5 µs. PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 28 3.1.3. Sensor Berat (Modul Timbangan Digital) Pada penelitian ini sensor berat yang dipergunakan adalah strain gauge yang terdapat dalam sebuah modul timbangan digital Camry EK5055 seperti pada gambar 3.4[2]. Nilai resistansi (R) yang terdapat dalam modul seperti pada persamaan 2.3. dan gambar 2.10 tidak diketahui, namun bisa dilakukan pengukuran tegangan keluaran sensor (e) dengan pembebanan yang berbeda-beda. Data diambil dengan tegangan masukan (E) sebesar 3 volt DC dari 2 buah batere 1,5 volt. Gambar 3.4. Modul Timbangan Digital Camry EK5055 [2] PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 29 Hubungan antara berat ditimbang dengan tegangan keluaran yang dihasilkan dari sensor adalah sebagai berikut : Tabel 3.1. Hubungan antara Berat Ditimbang dan Tegangan Keluaran Sensor Berat (Gram) 0 350 740 1189 1660 2151 2623 3130 3690 4256 4752 5000 0 0,2 0,4 0,6 0,8 1,0 1,2 1,4 1,6 1,8 2,0 2,1 e (mV) 2.5 e (mV) 2 1.5 1 0.5 0 0 1000 2000 3000 4000 5000 6000 Berat (Gram) Gambar 3.4. Hubungan antara Berat Ditimbang dan Tegangan Keluaran Sensor Grafik hubungan antara berat ditimbang dengan tegangan keluaran sensor merupakan garis linear. Dengan y sebagai nilai tegangan keluaran (mV) dan x sebagai nilai berat (gram) yang ditimbang serta m adalah gradient garis maka diperoleh persamaan dan hasil perhitungan sebagai berikut : 3.1.4. Penguat Instrumentasi Pada bagian ini dilakukan perhitungan untuk mencari nilai hambatan yang akan dipakai pada penguat instrumentasi. Dasar dari perhitungan adalah tegangan maksimal keluaran yang diharapkan dari pengondisi sinyal adalah sama dengan tegangan referensi PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 30 internal ADC dari ATmega8535 sebesar 2,56 volt [3]. Penguat yang dipergunakan adalah LM741 dengan tegangan masukan 15 volt DC [12]. Perhitungan kembali : Gambar 3.5. Rancangan Penguat Instrumentasi PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 31 3.1.5. Solenoid Driver (Transistor Sebagai Saklar) Solenoid driver dihubungkan pada portB.4 mikrokontroler ATmega8535. Arus maksimal IC yang melewati solenoid valve sebesar 450 mA [10]. Transistor yang dipakai adalah TIP31 dengan IC maksimal 3A. Berdasarkan spesifikasi TIP31 didapatkan besar β = hFE = 150 pada saat IC = 450mA [13]. Untuk menghindari arus balik maka dipasang diode 1N4001 yang mampu menahan tegangan balik sebesar 50V DC [14]. Gambar 3.6. Rangkaian Solenoid Driver Berdasarkan data di atas maka dapat dihitung nilai RBasis = R8 : Perhitungan kembali : PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 32 3.1.6. Wiring Keypad 4x4 Keypad 4x4 sebagai perangkat untuk memberikan masukan data dihubungkan ke portD pada ATmega8535. Pada perancangan ini pin-pin kolom (portD.0-3) sebagai masukan sedangkan pin-pin baris (portD.4-7) sebagai keluaran. Koneksi antara keypad 4x4 dengan mikrokontroler ATmega8535 adalah sebagai berikut : Tabel 3.2. Wiring keypad 4x4 pada ATmega8535 ATMEGA 8535 KEYPAD 4X4 PORTD.0 Pin 1 (input) PORTD.1 Pin 2 (input) PORTD.2 Pin 3 (input) PORTD.3 Pin 4 (input) PORTD.4 Pin A (output) PORTD.5 Pin B (output) PORTD.6 Pin C (output) PORTD.7 Pin D (output) Gambar 3.7. Rangkaian Keypad 4x4 pada ATmega8535 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 33 3.1.7. Wiring LCD 2x16 LCD berfungsi menampilkan data yang diberikan dari perangkat pengolah data, misalnya mikrokontroler. Pada perancangan ini LCD dihubungkan ke portC dari ATmega8535. Koneksi antara LCD 2x16 dengan ATmega8535 ditunjukkan pada tabel 3.3 dan gambar 3.8. Pin VSS terhubung ke ground dan pin VDD terhubung ke VCC (+5V). Tabel 3.3. Wiring LCD 2x16 pada ATmega8535 ATMEGA 8535 LCD 2x16 PORTC.0 Pin RS PORTC.1 Pin R/W PORTC.2 Pin E PORTC.3 Tidak tersambung PORTC.4 Pin D4 PORTC.5 Pin D5 PORTC.6 Pin D6 PORTC.7 Pin D7 Gambar 3.8. Rangkaian LCD 2x16 pada ATmega8535 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 3.2. 34 Perancangan Program Program dirancang dengan berdasarkan flowchart yang telah dibuat yaitu : a. Sistem b. Kalibrasi c. Penakaran d. Pilihan sendiri 3.2.1. Sistem Sistem adalah rancangan secara umum program yang akan dibuat. Di dalamnya memuat seluruh sub-sub program. Sistem dimulai dengan inisialisasi pada port mikrokontroler. Langkah selanjutnya selanjutnya adalah kalibrasi untuk memastikan berat yang ditakar sesuai dengan keluaran hasil. Proses kalibrasi selesai dan dilanjutkan dengan proses penakaran hingga berat sesuai dengan yang diinginkan. Flowchart dari sistem dapat dilihat pada gambar 3.9. Mulai Inisialisasi Port Mikrokontroler Kalibrasi Penakaran Selesai Gambar 3.9. Flowchart Sistem 3.2.2. Kalibrasi Program selalu diawali dengan inisialisasi pada port mikrokontroler. Wadah yang diletakkan di atas sensor berat akan ditimbang dan nilainya akan ditampilkan pada LCD. PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 35 Tombol bintang (*) adalah sebagai tombol reset yang berarti membuat nilai awal adalah nol. Angka 0 (nol) akan ditampilkan pada layar LCD. Flowchart proses kalibrasi dapat dilihat pada gambar 3.10. Mulai Inisialisasi Port Mikrokontroler Timbang wadah Tampilan LCD Input tombol Reset (*) Tampilan LCD Selesai Gambar 3.10. Flowchart Proses Kalibrasi 3.2.3. Penakaran Program proses penakaran diawali dengan inisialisasi port mikrokontroler. Pada awal sebelum penakaran terjadi, LCD akan menampilkan informasi tentang tombol-tombol menu. Pilihan pertama adalah tombol huruf yang sudah menyediakan nilai berat tertentu (250 gram, 500 gram, 1.000 gram, 2.000 gram). Pilihan kedua adalah pilihan sendiri (customize) dengan langsung menekan tombol-tombol angka. Setiap tombol yang ditekan akan ditampilkan pada LCD. Proses penakaran dimulai dengan solenoid valve yang aktif dan membuka katupnya sehingga cairan mengalir. Cairan PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 36 akan jatuh dalam wadah yang diletakkan diatas sensor berat. Setelah nilai berat tercapai maka mikrokontroler memberikan perintah off sehingga katup tertutup dan cairan berhenti mengalir. Hasil penakaran ditampilkan pada LCD dan proses penakaran selesai. Flowchart proses penakaran dapat dilihat pada gambar 3.11. A Mulai Inisialisasi Port Mikrokontroler B Pilihan sendiri Tampilan LCD Tampilan LCD Input keypad Solenoid ON Tombol A=250 gr Ya Berat >= input Tidak keypad Tidak Ya Tombol B=500 gr Ya Solenoid OFF Tidak Tombol C=1000 gr Tampilan LCD Ya Tidak Tombol D=2000 gr Tidak Selesai Ya B A Gambar 3.11. Flowchart Proses Penakaran PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 37 3.2.4. Pilihan Sendiri Program yang mengatur input keypad pada penelitian ini dimulai dengan inisialisasi port mikrokontroler. Data masukan diperoleh dari tombol keypad yang ditekan saat memasukkan nilai berat yang akan ditakar. Satuan berat yang dipakai dalam program ini adalah gram. Data tersebut kemudian akan ditampilkan pada LCD jika memenuhi batasanbatasan dalam program. Nilai berat yang dimasukkan harus merupakan kelipatan dari 10 gram, minimal 50 gram dan maksimal 2.000 gram. Kelipatan 10 dipakai karena ketelitian yang diharapkan adalah 10 gram. Penakaran dibatasi dari 50 – 2000 gram untuk mengatasi galat pada saat penakaran. Flowchart proses pilihan sendiri dapat dilihat pada gambar 3.12. Mulai Inisialisasi Port Mikrokontroler Input Keypad Tampilan LCD Apakah kelipatan 10? Tidak Ya Apakah ≥ 50? Tidak Ya Apakah ≤ 2000? Tidak Ya Selesai Gambar 3.12. Flowchart Proses Pilihan Sendiri PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 38 Berikut ini adalah uraian ketelitian penakaran dengan berdasarkan pada ketelitian ADC 10 bit dan tegangan referensi internal ADC : PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI BAB IV HASIL DAN PEMBAHASAN Bab ini membahas hasil dari sistem yang telah dirancang sebelumnya. Alat dan sistem tersebut diuji dan diambil data untuk mengetahui apakah sesuai dengan tujuan awal dari pembuatan alat. Data yang diambil adalah berat air yang keluar dan diukur dengan alat ukur yang standar atau alat pembanding. Nilai masukan pada sistem dibandingkan dengan hasil keluaran sistem untuk mengetahui error. 4.1. Hardware Mekanik dan Elektronik Hardware alat penakar berat air terdiri dari tiga bagian utama, yaitu mekanik, supply tegangan dan bagian elektronik. Berikut uraian masing-masing bagian. 4.1.1. Hardware Mekanik dan Supply Tegangan Alat penakar berat air berbasis mikrokontroler dibuat dari dispenser yang memiliki bagian-bagian seperti ditunjukkan pada gambar 4.1. dan gambar 4.2. Dispenser box Galon air 19 liter LCD Gelas Ukur 2L Keypad Pipa keluaran Modul sensor berat Gambar 4.1. Tampak Depan Alat Penakar Berat 39 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 40 Bagian-bagian dari alat terdiri dari dispenser sebagai rangka utama, galon air 19 liter sebagai tampungan, LCD 2x16 untuk menampilkan karakter data, keypad membran matrik 4x4 untuk masukan data, pipa sebagai saluran keluaran air yang akan ditakar dan timbangan sebagai sensor berat. Untuk mendapatkan hasil yang baik dari sistem maka rancangan alat dan sistem telah dirubah. Pompa akuarium ditambahkan karena tekanan air tidak cukup membuka katub pada solenoid valve. Pengujian telah dilakukan tanpa pompa dengan hasil aliran yang sangat kecil bahkan kadang air tidak keluar. Saluran dari tampungan Supply 12V DC untuk driver Solenoid valve Supply 5V DC dan 12/-12 V DC Saluran keluaran Pompa akuarium 220 AC Relay Gambar 4.2. Tampak Dalam Sistem Penakar Berat Air Gambar di atas menunjukkan alat bagian dalam dispenser yang terdiri atas power supply, pompa akuarium, solenoid valve, relay dan saluran masukan maupun keluaran air. 4.1.2. Hardware Elektronik Hardware elektronik dari alat penakar berat air berbasis mikrokontroler ditunjukkan pada gambar 4.3. Elektronik pada sistem penakar berat air ini terdiri dari LCD 2x16, sistem PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 41 mikrokontroler ATMega 8535, keypad 4x4, sensor berat strain gauge, penguat instrumentasi dan driver. LCD 2x16 Potensio kontras LCD Masukan dari sensor berat Sistem mikrokontroler ATMega 8535 Penguat instrumentasi Driver untuk valve dan pompa Input keypad Gambar 4.3. Panel Elektronik LDC 2x16 sebagai penampil, mikrokontroler ATMega 8535 sebagai kendali utama, keypad 4x4 sebagai masukan data dari pengguna alat, modul timbangan sebagai sensor berat, penguat instrumentasi sebagai penguat tegangan dari sensor menuju mikrokontroler dan driver yang mengendalikan relay, pompa dan solenoid valve. Gambar 4.4. Penguatan 2 Tahap dengan OP07 CP PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 42 Terdapat perubahan rancangan pada penguat instrumentasi. Penguatan 2.392,52 kali yang dikuatkan satu tahap diubah menjadi dua tahap, penguatan instrumentasi dan inverting. Dilakukan perubahan karena hasil pengujian yang tidak stabil pada penguatan satu tahap dengan masukan tegangan yang sangat kecil dari sensor yaitu di bawah 0,1 mV. Gambar 4.5. merupakan rangkaian PCB dari skema gambar 4.4. Gambar 4.5. Rangkaian PCB Penguatan 2 Tahap dan Driver Perubahan kedua adalah IC yang semula menggunakan LM741 diubah menjadi OP07 CP [15] yang memiliki karakter ultralow offset, low noise, cocok untuk aplikasi instrumentasi dan sensor strain gauges. Hasil pengujian dengan LM741 menunjukkan derau, noise dan offset yang terlalu besar pada sistem. Besar penguatan menjadi tidak sesuai dengan harapan dan tidak stabil, bahkan selalu lebih besar dari penguatan yang seharusnya. OP07 CP lebih sesuai untuk penguatan strain gauge dan instrumentasi. 4.2. Cara Penggunaan Alat Penakar Berat Cara penggunaan alat penakar berat bisa dilihat pada bagian depan panel seperti gambar 4.6. atau mengikuti petunjuk yang diberikan pada layar LCD. PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 43 250 500 1.000 Clear ON 2.000 Enter Gambar 4.6. Tampilan Sistem dan Tombol Keypad 1. Masukkan steker ke stop kontak jaringan listrik 220VAC. 2. Letakkan wadah ke atas sensor berat. 3. Tekan saklar yang terdapat pada bagian belakang dispenser pada posisi On. 4. Pada layar LCD 2x16 akan muncul tulisan “Selamat Datang” dan “Tekan ON” 5. Permintaan kalibrasi wadah akan muncul. 6. Petunjuk kalibrasi muncul berupa perintah “Tekan Clear” dan layar akan menunjukkan tampilan berat wadah yang dipergunakan. 7. Tekan tombol Clear dan nilai berat berubah menjadi 0 (nol). 8. Muncul perintah berikutnya untuk memasukkan nilai berat tertentu. 9. Cara memasukkan berat ada 2 : a. Tekan tombol instan 250, 500, 1.000 dan 2.000 gram. b. Tekan tombol angka sesuai keinginan dengan syarat berat minimal adalah 50 gram dan kelipatan 10 gram. Berat maksimal yang bisa ditimbang adalah 2.000 gram. Angka yang ditekan pertama akan muncul paling kiri (angka ke-1) dan seterusnya ke kanan sampai angka ke-3 dan akan kembali ke angka ke-1 pada penekanan ke-4 dan terus berulang. c. Tekan tombol Clear untuk mereset menjadi nol. 10. Tekan Enter(ON) untuk menyatakan selesai. Jika nilai berat kurang dari 50 gram maka akan muncul peringatan “Terlalu Ringan” dan “Berat Min 50 gr”. Sebaliknya jika nilai PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 44 berat lebih besar dari 2.000 gram maka akan muncul peringatan “Terlalu Berat” dan “Berat Max 2.000 gr” 11. Jika nilai berat sesuai dengan batasan alat maka akan diproses. 12. Setelah penakaran selesai maka akan akan muncul sesaat tampilan “proses selesai” dan nilai hasil penakaran. 13. Tampilan kembali ke awal dan bisa mulai kalibrasi untuk penakaran berikutnya. 4.3. Percobaan Alat 4.3.1. Percobaan Alat Dengan Rangkaian Lengkap Percobaan alat berupa pengambilan data dilakukan namun tidak dilanjutkan karena tidak stabilnya sistem. Setiap kali dijalankan sistem penakaran, perintah yang diberikan selalu memiliki hasil yang berubah-ubah sangat ekstrim. Setelah nilai berat dimasukkan baik dengan pilihan sendiri atau instan, kadang proses dianggap selesai tanpa ada hasil diperoleh, namun kadang terjadi proses penakaran yang terlalu lama, seakan tidak tercapai berat yang diminta. Pengambilan data bisa dianggap tidak berhasil dari sistem dan hardware yang telah dibuat. Untuk seterusnya akan dibahas pada bagian analisa. 4.3.2. Percobaan Alat Dengan Rangkaian Yang Disederhanakan Sistem yang telah dibuat begitu komplek, sehingga mempengaruhi hasil keluaran yang tidak stabil. Untuk mengetahuinya maka dilakukan percobaan berupa perubahan alat menjadi lebih sederhana. Masukan keypad dan keluaran driver dihilangkan. Mikrokontroler hanya memiliki satu masukan dari penguat instrumentasi dan satu keluaran ke LCD 2x16. Program mikrokontroler hanya untuk membaca ADC dari sensor yang tetap dilewatkan melalui penguat instrumentasi dua tahap. Hasil pembacaan data dan konversi berat ditampilkan pada LCD. Alat dibuat pada sebuah multiplex tebal 5 mm dan disusun seperti pada gambar 4.7. Sistem keypad dan driver yang merupakan perangkat penakaran dihilangkan pada percobaan ini. Rangkaian lebih sederhana dengan satu power supply dan kabel lebih sedikit. Diharapkan dengan rangkaian dan sistem yang lebih sederhana akan diperoleh hasil yang lebih stabil. Pada intinya perubaan alat menjadi lebih sederhana adalah untuk melihat apakah sensor berat bekerja ketika diberikan beban yang berubah-ubah. Penguat yang dirancang PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 45 juga diamati apakah bekerja sesuai dengan perubahan berat dan perubahan tegangan pada sensor berat. Untuk mengetahuinya dilakukan dengan pengukuran tegangan keluaran pada sensor dan penguat serta terjadinya perubahan nilai pada LCD. Multiplex LCD 2x16 Beban Timba ngan Mikrokontroler Modul Timbanga n Penguat Instrumentasi Power Supply Masukan 220V AC Gambar 4.7. Alat Yang Sudah Disederhanakan Dilakukan percobaan dan pengambilan data pada alat baru yang telah disederhanakan. Pengambilan data dilakukan untuk mengetahui hubungan antara nilai berat yang diminta dengan nilai step ADC, nilai berat yang dihasilkan dan error yang terjadi. Nilai tegangan keluaran pada sensor dan penguat instrumentasi juga diambil untuk memastikan adanya perubahan tegangan saat nilai beban berubah. Data hasil percobaan ditunjukkan pada tabel 4.1. dan grafik hubungan antara step ADC dengan nilai set point berat ditunjukkan pada gambar 4.8. Hubungan antara tegangan keluaran sensor terhadap penguat instrumentasi ditunjukkan pada gambar 4.9. Hubungan antara tegangan keluaran baik pada sensor maupun penguat instrumentasi terhadap nilai berat ditunjukkan pada gambar 4.10. PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 46 Tabel 4.1. Data Set Point dan Keluaran Sistem Set Point Berat (gram) 0 50 100 150 200 250 300 350 500 550 600 650 700 750 800 850 1000 1050 1100 1150 1200 1250 1300 1350 1500 1550 1600 1650 1700 1750 1800 1850 2000 2050 2100 2150 2200 2250 2300 2350 2500 Keluaran Min 67 72 81 85 91 100 107 118 141 148 157 167 175 181 194 200 229 238 245 248 258 266 277 288 310 319 326 334 341 350 359 367 394 402 410 421 428 438 445 453 478 Error Step Berat (gr) Min Maks Maks Rata-rata Min Maks Rata-rata (%) (%) 80 73.5 15 118 66.5 88 80.0 47 160 103.5 6.00 220.00 93 87.0 90 190 140.0 10.00 90.00 102 93.5 115 231 173.0 23.33 54.00 107 99.0 146 263 204.5 27.00 31.50 117 108.5 210 307 258.5 16.00 22.80 128 117.5 265 346 305.5 11.67 15.33 133 125.5 318 405 361.5 9.14 15.71 154 147.5 461 535 498.0 7.80 7.00 164 156.0 501 582 541.5 8.91 5.82 170 163.5 553 614 583.5 7.83 2.33 180 173.5 589 658 623.5 9.38 1.23 186 180.5 645 699 672.0 7.86 -0.14 196 188.5 696 747 721.5 7.20 -0.40 205 199.5 730 813 771.5 8.75 1.63 212 206.0 774 852 813.0 8.94 0.24 236 232.5 936 1002 969.0 6.40 0.20 244 241.0 997 1065 1031.0 5.05 1.43 253 249.0 1040 1092 1066.0 5.45 -0.73 261 254.5 1085 1140 1112.5 5.65 -0.87 267 262.5 1149 1209 1179.0 4.25 0.75 277 271.5 1195 1254 1224.5 4.40 0.32 284 280.5 1242 1304 1273.0 4.46 0.31 295 291.5 1282 1346 1314.0 5.04 -0.30 320 315.0 1433 1507 1470.0 4.47 0.47 328 323.5 1479 1578 1528.5 4.58 1.81 336 331.0 1564 1635 1599.5 2.25 2.19 343 338.5 1607 1685 1646.0 2.61 2.12 350 345.5 1663 1729 1696.0 2.18 1.71 362 356.0 1707 1776 1741.5 2.46 1.49 370 364.5 1755 1813 1784.0 2.50 0.72 378 372.5 1809 1863 1836.0 2.22 0.70 405 399.5 1941 2024 1982.5 2.95 1.20 416 409.0 2002 2048 2025.0 2.34 -0.10 425 417.5 2035 2107 2071.0 3.10 0.33 432 426.5 2090 2147 2118.5 2.79 -0.14 442 435.0 2142 2205 2173.5 2.64 0.23 448 443.0 2180 2245 2212.5 3.11 -0.22 458 451.5 2254 2326 2290.0 2.00 1.13 468 460.5 2262 2361 2311.5 3.74 0.47 489 483.5 2436 2459 2447.5 2.56 -1.64 Tegangan Keluaran Tanpa Mikrokontroler Dengan Mikrokontroler Sensor Penguat Sensor Penguat (mV) (V) (mV) (V) 0.10 -2.60 0.10 1.15 0.10 -2.55 0.10 1.18 0.10 -2.49 0.10 1.20 0.10 -2.43 0.10 1.22 0.10 -2.37 0.10 1.24 0.10 -2.31 0.10 1.26 0.20 -2.00 1.35 0.25 -1.69 0.25 1.45 0.30 -1.34 0.30 1.56 0.35 -1.00 0.35 1.66 0.40 -0.65 0.40 1.76 0.45 -0.29 0.45 1.85 0.50 0.05 0.50 1.93 0.55 0.42 0.55 2.01 0.60 0.77 0.60 2.09 Hubungan antara perubahan step ADC terhadap perubahan nilai berat dicari persamaan garis linear yang berguna dalam pembuatan program perhitungan berat ADC PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 47 pada mikrokontroler dan ditampilkan pada LCD 2x16. Nilai step yang dipakai adalah nilai rata-rata karena nilai step yang tertampil pada layar LCD mengalami osilasi. Hubungan Antara Step Terhadap Berat Rata-rata Step (step) 3000 y = 6.0142x - 399.64 R² = 0.9996 2500 2000 1500 1000 500 0 0 100 200 300 400 500 600 Berat (gram) Gambar 4.8. Hubungan Antara Step ADC Terhadap Berat Pengambilan data nilai tegangan pada keluaran sensor dan keluaran penguat instrumentasi dimaksudkan untuk melihat tanggapan sistem terhadap perubahan berat. Tegangan diambil pada kondisi penguat terhubung dan tidak terhubung ke mikrokontroler. Percobaan ini untuk melihat kemungkinan terjadinya interferensi tegangan pada sistem yang memiliki kemungkinan mempengaruhi nilai akhir. Tegangan Keluaran Penguat (V) Hubungan Antara Penguat Terhadap Sensor 3 2 1 0 -1 0 0.1 0.2 0.3 0.4 0.5 0.6 -2 -3 Tegangan Keluaran Sensor (mV) Penguat tanpa mikrokontroler Penguat dengan mikrokontroler Gambar 4.9. Hubungan Antara Penguat Terhadap Sensor 0.7 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 48 Tegangan Keluaran (mV) Hubungan Antara Tegangan Terhadap Berat 4000 2000 0 -2000 0 500 -4000 1000 1500 2000 2500 3000 Berat (gr) Sensor Penguat tanpa mikrokontroler Penguat dengan mikrokontroler Gambar 4.10. Hubungan Antara Tegangan Terhadap Berat 4.4. Analisa 4.4.1. Analisa Pada Rangkaian Lengkap Percobaan pengambilan data tidak dilakukan karena sistem tidak stabil. Berikut adalah proses yang telah dilalui untuk menganalisa ketidaksempurnaan sistem : a. Power supply dari awal sudah dibuat terpisah antara sistem mikrokontroler dan penguat dengan relay dan solenoid valve. Pemisahan dimaksudkan supaya tidak terjadi interferensi tegangan pada sistem. b. Rangkaian untuk driver, penguat, sensor selesai dibuat serta saling dihubungkan. Ground yang berbeda membuat sistem tidak punya referensi tegangan yang sama, maka akhirnya ground dijadikan satu dan sistem sementara tidak mengambang. c. Gain dari penguat yang diharapkan dalam perhitungan adalah 2.392,52 kali. Besar penguatan tersebut dibuat hanya 1 tahap dengan LM741. Hasil yang didapatkan adalah saturasi antara 8 - 9 VDC. Analisa sementara adalah karena keluaran sensor yang sangat kecil yaitu dibawah 0,1 mV sebelum mendapat beban dan dengan penguatan 1 tahap untuk nilai sebesar itu adalah tidak mampu. Diputuskan penguatan 2 tahap. d. Penguatan 2 tahap dengan LM741 dibuat dengan hasil yang masih saturasi. e. Pengecekan ulang dilakukan : keluaran sensor muncul dan bekerja dengan baik, namun selang dengan waktu memiliki hasil keluaran yang berbeda. Berdasarkan pengecekan diperoleh hasil bahwa tegangan berubah sehingga membuat nilai tegangan keluaran sensor juga berubah. Diputuskan catu daya akan dibuat dari adaptor yang sudah diturunkan sebesar 3,3VDC dengan IC AMS1117 3,3. PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 49 f. Penguatan instrumentasi 2 tahap dengan LM741 diteliti satu per satu. Diperoleh hasil bahwa salah satu keluaran sensor tersambung dengan In+ penguat sedangkan keluaran sensor lainnya dan In- penguat harus tersambung dengan ground. Negatif dari catu sensor harus terpisah dengan ground sehingga floating. g. Penguatan dengan LM741 mendapat hasil keluaran tdk stabil dan besar penguatan lebih tinggi dari seharusnya walaupun tidak saturasi. Dicoba dengan OP07CP dan memperoleh penguatan mendekati yang diinginkan secara teori. Nilai aktual dari resistor yang dipakai belum diperhitungkan. Hasil percobaan bisa dilihat pada gambar 4.11. dan tabel 4.2. serta 4.3. Gambar 4.11. Inverting Amplifier Tabel 4.2. Penguatan dengan LM741 R1 R2 Tegangan Tegangan Penguatan (k) (k) Keluaran Sensor Keluaran Penguat (kali) (V) (V) 1 10 0,0002 0.0038 19 1 10 0,011 0,214 19,45 1 200 0,003 0,969 323 Tabel 4.3. Penguatan dengan OP07CP R1 R2 Tegangan Tegangan Penguatan (k) (k) Keluaran Sensor Keluaran Penguat (V) (V) (kali) 1 10 0,0002 0.002 10 1 10 0,011 0,12 10,9 1 200 0,003 0,578 192,67 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 50 h. Penggantian variable resistor RV4 pada gambar 4.4. yang semula menggunakan Trimpot dengan Multiturn Resistor supaya lebih mudah dalam gain setting. i. Penambahan rangkaian pengatur offset seperti gambar di bawah. Prinsip pembagi tegangan dipakai pada rangkaian ini. Rv merupakan multiturn resistor sebesar 10 kohm. Nilai R17 dan R18 juga 10 kohm. Pada kedua ujung kaki R17 dan R18 terhubung ke +12VDC dan -12VDC sebagai offset range. Rangkaian ini diperlukan karena terdapat offset pada sensor. Saat sensor tidak terbebani, sudah ada tegangan tertentu (0,1 mV menurut multimeter) pada keluaran sensor sehingga harus diatur menjadi nol pada keluran penguat. Gambar 4.12. Offset Regulator j. Pengambilan data untuk mencari hubungan antara berat, keluaran sensor, dan keluaran penguat instrumentasi. Penguatan yang diukur adalah penguatan 2 tahap dengan OP07CP, sedangkan alat ukur yang digunakan adalah 2 buah multimeter, untuk keluaran sensor dan keluaran penguat. Data diambil dan dibuat grafik seperti ditunjukkan pada tabel 4.4. dan gambar 4.13. dan 4.14. k. Pengambilan data mengalami kendala karena kemampuan baca dari multimeter paling kecil hanya 0,1 mVDC, sedangkan perubahan pada keluaran sensor seharusnya sampai 0.01 mVDC. Saat berat benda ditambah kurang dari 50 gram, sudah terjadi perubahan nilai pada keluaran penguat namun belum berubah pada keluaran sensor. Data ini tentunya akan mempengaruhi linearitas dari keluaran penguat. Formula yang muncul tidak begitu sesuai dengan kondisi sebenarnya dari sensor. Pada hasil penakaran tentu akan muncul error yang cukup besar sehubungan dengan formula yang dipakai untuk perhitungan. PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Tabel 4.4. Data Linearitas Sensor Pada Penguat Dua Tahap Tegangan Keluaran Sensor Tegangan Keluaran Penguat (mV) (V) 0.10 0.00 0.10 0.02 0.10 0.05 0.10 0.11 0.15 0.21 0.20 0.31 0.30 0.51 0.35 0.61 0.40 0.71 0.45 0.82 0.55 1.02 0.60 1.12 0.65 1.22 0.70 1.32 0.80 1.53 0.85 1.63 0.90 1.72 0.95 1.82 1.05 2.02 Step ADC (step) 400 (min) 690 (maks) Keluaran Sensor Terhadap Berat Output Sensor (mV) 1.2 y = 0.0005x + 0.0668 R² = 0.9985 1 0.8 0.6 0.4 0.2 0 0 500 1000 1500 2000 2500 Berat (gram) Gambar 4.13. Hubungan Antara Keluaran Sensor Terhadap Perubahan Berat 51 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 52 Keluaran Penguat Terhadap Berat Output Opamp (V) 2.5 y = 0.001x + 0.0046 R² = 1 2 1.5 1 0.5 0 0 500 1000 1500 2000 2500 Berat (gram) Gambar 4.14. Hubungan Antara Keluaran Penguat Terhadap Perubahan Berat l. Penguat dihubungkan ke pin mikrokontroler, keluaran yang tampil pada LCD adalah nilai step ADC. Hasil sangat fluktuatif sehingga sulit untuk menentukan linearitas dari sistem, bahkan sangat jauh dari harapan. Contoh pengambilan data ditunjukkan pada tabel 4.5. dan gambar 4.15. Tabel 4.5. Hubungan Antara Perubahan Berat Terhadap Step ADC Berat (gram) Step ADC (step) 0 250 150 420 700 610 1350 680 1800 860 2500 Berat (gr) 2000 y = 3.1458x - 974.22 R² = 0.9272 1500 1000 500 0 -500 0 200 400 600 800 1000 Step ADC (step) Gambar 4.15. Hubungan Antara Perubahan Berat Terhadap Step ADC PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 53 m. Dilakukan pengambilan data saat tidak terbebani dan terbebani maksimal untuk menentukan formula perhitungan ADC. Hal ini dilakukan karena tidak stabilnya tegangan keluaran dari sensor. Data terlihat pada tabel 4.4. dan grafik pada gambar 4.16. Berat Terhadap Step ADC 2500 y = 6.8966x - 2758.6 R² = 1 Berat (gram) 2000 1500 1000 500 0 -500 0 200 400 600 800 Step ADC (step) Gambar 4.16. Hubungan Antara Perubahan Berat Terhadap Step ADC (2) n. Formula linear yang sudah diperoleh dipakai untuk pengambilan data untuk mencari kestabilan sistem ADC ternyata hasil sangat fluktuatif, bahkan kadang sangat jauh dari harapan seperti diitunjukkan pada tabel 4.6. Tabel 4.6.Data Kestabilan ADC Berat sebenarnya Hasil terkecil Hasil terbesar 150 gram 34 gram 210 gram 500 gram 330 gram 750 gram 1.000 gram 783 gram 1.312 gram Pada pengambilan data berikutnya pada berat yang sama setelah sistem dimatikan diperoleh hasil yang berbeda. Sistem sangat tidak stabil. o. Keluaran sensor dan keluaran penguat dilihat dengan oscilloscope. Perangkat yang digunakan adalah Picoscope 6 beserta driver software. Data diambil pada dua kondisi, tidak ada beban dan saat dibebani. Data diambil pada skala mendatar 200 ms/div. Hasil pengamatan ditunjukkan pada gambar 4.17. dan 4.18. PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 54 Gambar 4.17. Tegangan Pada Keluaran Sensor Tanpa Beban Gambar 4.18. Tegangan Pada Keluaran Sensor Terbebani p. Hasil percobaan dengan keluaran sensor yang langsung masuk ke masukan penguat adalah tidak stabil. Dilakukan percobaan berikutnya yaitu keluaran sensor diperhalus dengan RC filter. Frekuensi sinyal keluaran sensor sebesar 287Hz dan kapasitor yang dipakai adalah 100nF, nilai R yang dihasilkan adalah 570 ohm sesuai yang ada di pasaran. PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 560 Gambar 4.19. Rangkaian RC Filter Perhitungan mencari nilai R19 : Hasil dari penambahan filter tampak pada gambar 4.20. dan 4.21. Gambar 4.20. Tegangan Pada Keluaran Sensor Tanpa Beban Dengan RC Filter 55 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 56 Gambar 4.21. Tegangan Pada Keluaran Sensor Terbebani Dengan RC Filter q. Hasil keluaran sensor sudah lebih baik namun tetap muncul penyimpangan yang membesar saat dibebani. Keluaran penguat setelah ditambah RC filter ternyata tetap tidak baik, hasil masih sangat fluktuatif seperti pada gambar 4.22. dan 4.23. Gambar 4.22. Tegangan Pada Keluaran Penguat Tanpa Beban Dengan RC Filter PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 57 Gambar 4.23. Tegangan Pada Keluaran Penguat Terbebani Dengan RC Filter r. Percobaan dengan hardware sementara dihentikan. Keluaran ADC coba diperbaiki dengan program rata-rata pada mikrokontroler. Dasar dari pemikiran ini adalah terjadinya loncatan naik dan turun tegangan secara periodik dan hasil yang tidak selalu sama. Harapan dari percobaan ini adalah nilai yang berbeda-beda namun periodik jika dijumlahkan maka akan mendapat hasil yang mendekati sama atau merata. Berikut ini program perhitungan berat ADC dengan sistem rata-rata. void abot() // program perhitungan berat ADC { ulang1++; //counter 1 input1=read_adc(0); // membaca ADC delay_us(120); // waktu pembacaan ADC sumInput1=sumInput1+input1; // menjumlah inputan ADC if(ulang1>=20) //sampai 20 kali { sumInput1=sumInput1/20; //diambil rata-rata ulang1=0; //counter 1 kembali nol ulang2++; //counter 2 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI if(ulang2<=20) 58 // sampai 20 kali { rata1=rata1+sumInput1; //rata-rata dari suminput ditambah sebanyak 20x } else { rata1=rata1/20; //diambil rata-rata lagi yang ke2 ulang2=0; //counter 2 kembali nol ulang3++; //counter 3 if(ulang3<=20) //sampai 20 kali { rata2=rata2+rata1; //rata-rata dari rata1 ditambah sebanyak 20x } else { rata2=rata2/20; //diambil rata-rata lagi yang ke 2 berat=6.8966*rata2-2758.6; //masukkan rumus berat ADC if(berat<=0){berat=0;} //jika berat perhitungan di bawah 0 dianggap 0 lcd_gotoxy(0,1); // LCD baris 1 kolom 0 ftoa(berat,3,adece); // desimal berat ADC lcd_puts(adece); // tampil ADC delay_ms(300); // waktu tampil LCD ulang3=rata2=0; //counter 3 dan rata2 kembali nol } rata1=0; // rata 1 kembali ke 0 } sumInput1=0; // suminput kembali ke 0 } } s. Hasil lebih baik jika dibandingkan dengan percobaan sebelumnya, namun terjadi masalah baru yaitu terlambatnya penakaran saat PINB.4 yang mengaktifkan driver bernilai high (aktif). Driver pada rangkaian ini mengaktifkan solenoid valve dan relay yang PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 59 mengendalikan pompa AC. Dugaan yang muncul adalah timbul gangguan tegangan atau turunnya arus sehingga sistem tidak bekerja semestinya. Beberapa baris program dicoba tidak diaktifkan, namun saat driver aktif, penakaran tetap terlambat atau bahkan berhenti. Saat program lain diaktifkan dan perintah untuk driver dimatikan, penakaran berjalan normal. Ketika program lain dan perintah driver aktif namun sambungan pada PINB.4 dimatikan, program berjalan normal. Kesimpulan yang diambil adalah diperlukan power supply yang terpisah namun referensi tegangan tidak mengambang. t. Diputuskan untuk menambah rangkaian optocoupler yang berfungsi memisahkan PINB.4 dengan driver. Gambar 4.24. Rangkaian Optocoupler Arus yang diijinkan melalui optocoupler maksimal 200 mA, tegangan yang masuk dari pin mikrokontroler 5 VDC, maka besar R21 minimal yang dipasang adalah 25 ohm. Resistor dipasang 100 ohm. Arus IB maksimal diijinkan adalah 1 A, untuk bisa mengaktifkan solenoid valve dengan IC = 450 mA, pada perhitungan sebelumnya IB = 3 mA. Dengan tegangan masukan 5VDC maka diperoleh nilai resistor adalah 4 kohm. Dalam rangkaian dipasang resistor masing-masing 1 kohm seri sehingga besar arus yang lewat adalah sebesar 6 mA. u. Setelah rangkaian optocoupler dipasang, sistem dijalankan, maka kendala saat perintah driver aktif sudah teratasi, perhitungan penakaran bisa berjalan normal. v. Percobaan pengambilan data dilanjutkan, saat sistem dijalankan, penakaran sudah tidak terlambat namun hasil tetap tidak stabil. Masukan nilai berat tertentu terhadap sistem tidak menghasilkan nilai yang diharapkan. Bahkan sering terjadi proses penakaran dianggap selesai sesaat setelah tombol Enter ditekan. Nilai yang tertampil juga sangat jauh dari nilai masukan, bisa sangat rendah, bisa mendekati, namun bisa dua kali lipatnya. PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 60 Kontrol setiap sambungan antar kabel dan pin, kontrol tegangan catu daya pada titik tertentu apakah sudah sesuai, kontrol saklar dan kontrol program. Cek kembali kalibrasi formula dengan aktual saat tidak ada beban dan saat beban tertentu. Cek program pengulangan terutama pada bagian rata-rata data masukan dan kalibrasi. Pergantian formula dilakukan baik pada ADC, rata-rata, kalibrasi dan yang lain. Hasil tetap tidak baik. Percobaan dihentikan dan dibuat analisa ketidakstabilan sistem. 4.4.2. Analisa Pada Rangkaian Yang Disederhanakan a. Rangkaian yang lebih sederhana tidak menggunakan sistem keypad dan driver. Kabel dan rangkaian lebih sederhana. Program yang dijalankan juga lebih sederhana, hanya program pembacaan ADC dan penampilan ke LCD. Hardware driver dan program untuk mengaktifkan juga tidak ada pada rangkaian ini. Respon sistem dalam melakukan penimbangan menjadi lebih cepat. b. Power supply hanya satu sehingga memiliki satu referensi tegangan. Pembacaan oleh penguat maupun ADC mikrokontroler lebih jelas referensinya. c. Percobaan dan pengambilan data dilakukan, dimulai dari tanpa beban sampai dengan berat 2.500 gram. Beban yang dikapai adalah anak timbangan yang sudah dikalibrasi dengan timbangan digital yang memiliki ketelitian 1 gram. d. Program pembacaan ADC yang dibuat ditampilkan berupa step ADC 10 bit. Beban ditimbang dan dicatat (tabel 4.1.) yang untuk selanjutnya dibuat grafik seperti gambar 4.8. Hasil dari grafik tersebut adalah formula garis linear yang dipergunakan dalam perhitungan konversi berat ADC. Nilai step yang tertampil ternyata berosilasi seperti ditunjukkan tabel 4.1. sehingga diambil nilai rata-ratanya. e. Dilakukan pengukuran tegangan keluaran pada sensor dan penguat untuk melihat tanggapan sistem. Pengukuran menggunakan multimeter dengan ketelitian 0,1 mV. Sama seperti pada analisa sebelumnya pada rangkaian lengkap, ketelitian alat ukur seharusnya sampai 0,01 mV. Sangat jelas belum terjadi perubahan pada keluaran sensor pada saat diberi beban 0 – 250 gram, masih menunjukkan angka 0,1 mV sedangkan pada keluaran penguat sudah berubah. Kondisi ini terulang terus secara periodik setiap 250 gram seperti ditunjukkan grafik pada gambar 4.9. f. Pengukuran tegangan keluaran dilakukan pada dua kondisi, saat penguat terhubung ke mikrokontroler dan saat tidak terhubung. Sangat jelas pada tabel 4.1. dan grafik pada gambar 4.9. dan 4.10. bahwa nilai tegangan sangatlah berbeda. Pada saat tidak terhubung PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 61 ke mikrokontroler memiliki nilai – 2,6 V sampai dengan 0,77 V. Saat terhubung memiliki nilai 1,15 sampai dengan 2.09 V. Nilai negative saat tanpa beban bisa diubah menjadi 0V dengan memutar multiturn resistor pada offset regulator, namun nilai 1,15 V juga akan berubah naik, begitu pula nilai 0,77 V dan 2.09 V. Perbedaan tegangan pada saat terhubung ke mikrokontroler dan tidak terhubung menunjukkan bahwa adanya interferensi tegangan saat terhubung ke hardware lain, dalam hal ini mikrokontroler. Bahkan terjadi interferensi tegangan saat probe multimeter terhubung karena multimeter memiliki catu daya sendiri. Ini ditunjukkan adanya perubahan nilai tampilan pada LCD saat multimeter terhubung dan tidak terhubung ke sistem. g. Tidak stabilnya nilai step ADC yang muncul sangat mempengaruhi nilai berat yang dihasilkan. Tabel 4.1. dengan jelas menunjukkan besar error yang terjadi pada setiap set point dari nilai berat yang diinginkan. Contoh perhitungan pada berat 1.000 gr : Error terbesar terjadi saat beban 50 gram sebesar 220% yang dihasilkan oleh berat maksimal 103,5 gram, dan error terkecil saat beban 2.050 gram sebesar 0,1% yang dihasilkan oleh berat maksimal 2.025 gram. h. Jika diamati dengan seksama maka terdapat 3 kelompok besar, kelompok pertama adalah 0 gr – 1.000 gr dengan error di atas 6%, kelompok ke dua adalah 1.050 gr – 1.550 gr dengan error antara 4 – 5%, kelompok ke tiga adalah 1.600 gr- 2.500 gr dengan error 1,5 – < 4%. Error paling besar terjadi pada beban di bawah 500 gram yaitu diatas 8%. i. Semakin berat set point semakin stabil nilai keluaran berat, semakin stabil sensor berat. PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 4.5. 62 Pembahasan Software Pada tugas akhir ini software yang digunakan adalah CodeVisionAVR versi 2.05.3. dengan compiler bahasa C. Program dibuat melalui software ini sesuai dengan parameterparameter yang dikehendaki. Chip yang digunakan adalah ATmega 8535 yang terpasang pada rangkaian minimum system. Software simulasi yang digunakan adalah Proteus ISIS release 7.0 SPO build 12325. Simulasi diperlukan untuk mengetahui rangkaian apakah berjalan dengan baik, minimal dalam simulasi. Pembuatan rangkaian PCB menggunakan software Eagle version 6.5.0. for Windows. Penentuan komponen yang hendak digunakan sampai dengan desain rangkaian, dilanjutkan dengan merubah menjadi rangkaian PCB dan mengaturnya sampai rapi. Program yang telah dibuat dan disimulasikan dengan benar bisa dimasukkan ke dalam chip. Alat yang dipergunakan adalah unit downloader K-125 USB AVR Programer. Proses download program dilakukan dengan bantuan komputer yang sudah terpasang driver PL2303 Profilic v1417. Alat yang dipakai untuk melihat bagaimana tegangan keluaran pada titik tertentu adalah Picoscope 6 yang sebelumnya install driver pada komputer. Ini merupakan oscilloscope tanpa display sehingga diperlukan computer sebagai penampil. 4.6. Program 4.6.1. Program Pada Rangkaian Lengkap Program pada rangkaian lengkap terdiri dari 4 bagian yaitu : a. Program keypad (urutan proses, tombol instan dan pilihan sendiri). b. Program perhitungan berat ADC termasuk kalibrasi. c. Program on-off driver. d. Program tampilan. Berikut ini cuplikan program tampilan awal saat sistem dinyalakan. Pada bagian atas kiri LCD 2x16 atas akan tertampil “Selamat Datang” dan bagian bawah kiri akan tampil “Tekan ON”. PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 63 Program dibawahnya adalah saat perintah untuk memasukkan berat melalui keypad. Baris ke dua dari kiri LCD akan menampilkan angka sesuai masukan dari keypad dan di sebelah kanannya akan tertampil satuan berat gram. Gambar 4.25. Cuplikan Program Tampilan Awal dan Masukkan Berat Program selengkapnya terdapat pada lampiran 1. 4.6.2. Program Pada Rangkaian Sederhana Program dalam rangakaian sederhana adalah program rata-rata pembacaan masukan ADC dan menampilkan ke layar LCD. void main(void) { ulang1=ulang2=ulang3=0; // set awal counter = 0 while (1) { // Place your code here baca=read_adc(0); // membaca ADC delay_us(120); // waktu untuk pembacaan ADC ulang1++; // counter 1 aktif if(ulang1<=10) // syarat pengulangan 1 { sum1=sum1+baca; // penambahan baca ADC } else // jika melewati syarat PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI { rata1=sum1/10; // rata-rata 1 ulang1=0; // counter 1 kembali ke 0 ulang2++; // counter 2 aktif if(ulang2<=10) // syarat pengulangan 2 { sum2=sum2+rata1; // penambahan rata-rata 1 } else // jika melewati syarat { rata2=sum2/10; // rata-rata 2 ulang2=0; // counter 2 kembali ke 0 ulang3++; // counter 3 aktif if(ulang3<=10) // syarat pengulangan 3 { sum3=sum3+rata2; // penambahan rata-rata 2 } else // jika melewati syarat { rata3=sum3/10; // rata-rata 3 berat=6.0142*rata3-399.64; // konversi berat ADC if(berat<=0){berat=0;} // jik berat kurang dari 0 maka dianggap 0 lcd_gotoxy(0,0); // LCD baris 0 (atas) rata kiri (kolom 0) ftoa(rata3,3,adece); // desimal step ADC dari rata-rata terakhir lcd_puts(adece); // adece tampil ke LCD lcd_gotoxy(10,0); // LCD baris 0 kolom 10 lcd_putsf("step"); // tulisan “step” tampil pada LCD lcd_gotoxy(0,1); // LCD baris 1 (bawah) kolom 0 ftoa(berat,3,adece); // desimal konversi berat dari rata-rata terakhir lcd_puts(adece); // adece tampil ke LCD lcd_gotoxy(10,1); // LCD baris 1 kolom 10 lcd_putsf("gram"); // tulisan “gram” tampil pada LCD delay_ms(200); // waktu untuk tampil 64 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI ulang3=sum3=rata3=0; // nilai counter, jumlah dan rata-rata 3 kembali ke 0 } sum2=rata2=0; // nilai jumlah dan rata-rata 2 kembali ke 0 } sum1=rata1=0; // nilai jumlah dan rata-rata 1 kembali ke 0 } } } Program selengkapnya terdapat pada lampiran 2. 65 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI BAB V KESIMPULAN DAN SARAN 5.1. Kesimpulan Berdasarkan proses perancangan, pembuatan sampai dengan pengujian alat penakar berat air berbasis mikrokontroler dapat diambil kesimpulan sebagai berikut : 1. Alat penakar berat yang telah dibuat dapat bekerja dengan hasil yang tidak stabil terutama pada nilai beban di bawah 500 gram dengan error 8 – 220 % pada alat yang sudah disederhanakan. 2. Semakin berat beban yang ditimbang maka semakin stabil sistem sehingga dapat memiliki error di bawah 4% untuk beban di atas 1.600 gram. 3. Tegangan keluaran sensor berat berupa modul strain gauge yang dipakai dalam penelitian sangat kecil dan fluktuatif, yaitu dibawah 0.1 mV dengan rentang osilasi ±60 mV dengan frekuensi yang tidak stabil. 4. Penguat instrumentasi dan filter yang dirancang tidak mampu menstabilkan tegangan keluaran sensor yang sangat kecil dan tidak stabil. 5. Power supply, grounding dan rangkaian yang komplek dapat menimbulkan interferensi tegangan yang sangat mempengaruhi keberhasilan sistem. 5.2. Saran Setelah melewati seluruh proses maka diperoleh beberapa saran yang bisa digunakan untuk perkembangan penelitian lebih lanjut yaitu : 1. Penguat instrumentasi yang mampu mengolah tegangan sangat kecil dengan frekuensi tidak stabil sangat diperlukan dalam membangun alat penakar berat dengan sensor berat strain gauge. 2. Sistem dan rangkaian yang dapat mengurangi atau menghilangkan interferensi tegangan harus dirancang dengan baik dan cermat sehingga sistem menjadi stabil serta memberikan hasil yang teliti. 3. Alat ukur dengan ketelitian 0,01 mV sangat dibutuhkan dalam pengukuran tegangan keluaran sensor strain gauge yang sangat kecil, yaitu di bawah 0,1 mV. 66 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 67 DAFTAR PUSTAKA [1] Nuresa, Y.R., 2011, Penakar Bahan Makanan Otomatis Berbasis Mikrokontroler, Skripsi Tugas Akhir, Institut Teknologi Telkom, Jakarta. [2] Camry Electronic Ltd., 2011, Electronic Kitchen Scales EK5055, http://www.camryscale.com/showroom/ek5055.html, diakses pada 10 Juni 2013. [3] Atmel, 2007, Data Sheet 8-bit AVR with 8K Bytes In System Programmable Flash ATMega8535-ATMega8535L, Atmel, San Jose. [4] Boylestad R., 2002, Introductory Circuit Analysis, 10th Edition, hal 390-397. [5] Tokyo Sokki Kenkyojo Co., Ltd.,_______, Strain Gauges, Tokyo Sokki Kenkyojo Co., Ltd., Tokyo, Japan. [6] Karris, S.T., 2005, Electronic Devices and Amplifier Circuits with MATLAB® Applications, Orchard Publications,. California, United States of America, chapter 5.16. [7] Parallax Inc., 2011, Data Sheet of 4x4 Matrix Membrane Keypad, Parallax Inc. [8] NetMedia, 2002, Data Sheet of 2x16 Serial LCD Display Module, v1.2, NetMedia Inc., Stallard Place, Tucson. [9] Solenoid-Valve-Info.com, 2013, What is Solenoid Valve?, http://www.solenoidvalve-info.com, diakses pada 7 November 2013. [10] Seeed Studio Works, 2014, Data Sheet of G1/2 Electric Solenoid Valve (Normally Closed), http://www.seeedstudio.com/depot/electric-solenoid-valve-p-636.html, diakses 8 Februari 2014. [11] Floyd, T.L., 2012, Electronic Devices : Conventional Current Version, 9th ed, Prentice Hall, New Jersey, hal 193-194. [12] Texas Instrument, 2013, Data sheet of LM741 Operasional Amplifier, Texas Instrument, Texas. [13] Fairchild Semiconductor International, 2000, Data Sheet of TIP31 Series, Fairchild Semiconductor Corporation. [14] Fairchild Semiconductor International, 2000, Data Sheet of 1N4001, Fairchild Semiconductor Corporation. [15] Analog Device Inc, 2002-2011, data Sheet of OP07, Analog Devices. PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI PROGRAM DENGAN RANGKAIAN LENGKAP Chip type : ATmega8535 Program type : Application AVR Core Clock frequency : 12.000000 MHz Memory model : Small External RAM size :0 Data Stack size : 128 *****************************************************/ #include <mega8535.h> #include <stdio.h> #include <math.h> #include <stdlib.h> #include <delay.h> // Alphanumeric LCD functions #include <alcd.h> #define ADC_VREF_TYPE 0xC0 // setting referensi tegangan internal 2,56 V int a,b,d,angka1,angka2,angka3,angka4,input; int baca,ulang1,ulang2,ulang3; float sum1,sum2,sum3,rata1,rata2,rata3,berat,htakar; long kalib; char adece[20]; char angka[20]; // Read the ADC conversion result unsigned int read_adc(unsigned char adc_input) { ADMUX=adc_input | (ADC_VREF_TYPE & 0xff); // Delay needed for the stabilization of the ADC input voltage delay_us(10); // Start the AD conversion ADCSRA|=0x40; // Wait for the AD conversion to complete while ((ADCSRA & 0x10)==0); L1-1 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI ADCSRA|=0x10; return ADCW; } // Declare your global variables here void abot() // program perhitungan berat ADC { baca=read_adc(0); // baca ADC delay_us(120); // waktu pembacaan ADC ulang1++; // counter 1 aktif if(ulang1<=20) // syarat pengulangan 1 { sum1=sum1+baca; // penambahan baca ADC } else // jika melewati syarat { rata1=sum1/20; // rata-rata1 ulang1=0; // counter 1 kembali 0 ulang2++; // counter 2 aktif if(ulang2<=20) // syarat pengulangan 2 { sum2=sum2+rata1; // penambahan rata-rata1 } else // jika melewati syarat { rata2=sum2/20; // rata-rata 2 berat=3.16*rata2-505.6; // konfersi berat ADC if(berat<=0){berat=0;} // jika berat kurang dari 0 maka dianggap 0 lcd_gotoxy(0,1); // LCD baris 1 kolom 0 ftoa(berat,3,adece); // decimal ADC lcd_puts(adece); // tampil ADC delay_us(200); // waktu tampil ADC ulang2=sum2=rata2=0; // counter 2, jumlah 2 dan rata-rata 2 kembali 0 L1-2 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI } sum1=rata1=0; // jumlah 1 dan rata-rata 2 kembali 0 } } void tampil1() // sub program tampil 1 { lcd_gotoxy(0,0); // LCD baris 0 kolom 0 lcd_putsf("Selamat Datang"); // tampil “Selamat Datang” lcd_gotoxy(0,1); // LCD baris 1 kolom 0 lcd_putsf("Tekan ON"); // tampil “Tekan ON” } void tampil3() // sub program tampil 3 { lcd_gotoxy(0,0); // LCD baris 0 kolom 0 lcd_putsf("Masukan Berat!!"); // tampil “Masukkan Berat” lcd_gotoxy(0,1); // LCD baris 1 kolom 0 lcd_puts(angka); // tampil angka (nilai berat ADC) lcd_gotoxy(6,1); // LCD baris 1 kolom 6 lcd_putsf("gr"); // tampil “gr” (satuan) } void main(void) // program utama { // Declare your local variables here // Input/Output 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; L1-3 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI L1-4 // Port B initialization // Func7=Out Func6=Out Func5=Out Func4=Out Func3=Out Func2=Out Func1=Out Func0=Out // State7=0 State6=0 State5=0 State4=0 State3=0 State2=0 State1=0 State0=0 PORTB=0x00; DDRB=0xFF; // Port C initialization // Func7=Out Func6=Out Func5=Out Func4=Out Func3=Out Func2=Out Func1=Out Func0=Out // State7=0 State6=0 State5=0 State4=0 State3=0 State2=0 State1=0 State0=0 PORTC=0x00; DDRC=0xFF; // Port D initialization // Func7=In Func6=In Func5=In Func4=In Func3=Out Func2=Out Func1=Out Func0=Out // State7=T State6=T State5=T State4=T State3=0 State2=0 State1=0 State0=0 PORTD=0x00; DDRD=0x0F; // Timer/Counter 0 initialization // Clock source: System Clock // Clock value: Timer 0 Stopped // Mode: Normal top=0xFF // OC0 output: Disconnected TCCR0=0x00; TCNT0=0x00; OCR0=0x00; // Timer/Counter 1 initialization // Clock source: System Clock // Clock value: Timer1 Stopped // Mode: Normal top=0xFFFF PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI // OC1A output: Discon. // OC1B output: Discon. // 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; // Timer/Counter 2 initialization // Clock source: System Clock // Clock value: Timer2 Stopped // Mode: Normal top=0xFF // OC2 output: Disconnected ASSR=0x00; TCCR2=0x00; TCNT2=0x00; OCR2=0x00; // External Interrupt(s) initialization // INT0: Off // INT1: Off // INT2: Off L1-5 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI MCUCR=0x00; MCUCSR=0x00; // Timer(s)/Counter(s) Interrupt(s) initialization TIMSK=0x00; // USART initialization // USART disabled UCSRB=0x00; // Analog Comparator initialization // Analog Comparator: Off // Analog Comparator Input Capture by Timer/Counter 1: Off ACSR=0x80; SFIOR=0x00; // ADC initialization // ADC Clock frequency: 750.000 kHz // ADC Voltage Reference: AREF pin // ADC High Speed Mode: Off // ADC Auto Trigger Source: ADC Stopped ADMUX=ADC_VREF_TYPE & 0xff; ADCSRA=0x87; SFIOR&=0xEF; // SPI initialization // SPI disabled SPCR=0x00; // TWI initialization // TWI disabled TWCR=0x00; //hasil setting ADC - register L1-6 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI // Alphanumeric LCD initialization // Connections are 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 // Characters/line: 16 lcd_init(16); awal: while (b==0) { tampil1(); // panggil sub program tampil 1 PORTD=4; // kolom 3 ( 2^2=4) if(PIND==132) // tombol # (ON/Enter)(2^7 +4 = 132) { while(PIND.7==1){tampil1();} lcd_clear(); // membersihkan LCD lcd_gotoxy(0,0); // LCD baris 0 kolom 0 lcd_putsf("Kalibrasi"); // tampil “Kalibrasi” lcd_gotoxy(0,1); // LCD baris 1 kolom 0 lcd_putsf("Wadah Anda"); // tampil “Wadah Anda” delay_ms(1000); // waktu tampil 1.000 ms lcd_clear(); // membersihkan LCD lcd_gotoxy(0,0); // LCD baris 0 kolom 0 lcd_putsf("Tekan Clear"); // tampil “Tekan Clear” while(1) { abot(); // panggil program sub program abot delay_us(100); // waktu jeda L1-7 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI kalib=berat; // berat wadah disimpan menjadi kalib lcd_gotoxy(0,1); // LCD baris 1 kolom 0 ftoa(kalib,3,adece); // decimal untuk kalibrasi lcd_puts(adece); // tampil ADC (berat wadah) delay_us(100); // waktu tampil ADC PORTD=1; // keypad kolom 1 (2^0=1) if(PIND==129) // tombol * (clear) untuk kalibrasi { goto kalibrasi; // lompat ke kalibrasi } } kalibrasi: b=1; } } while(b==1) // kalibrasi wadah { for(a=1;a<=8;a=a*2) { PORTD=a; if(a==1) { if(PIND.7==1) { while(PIND.7==1){}; // berat wadah disimpan lcd_clear(); // memory tampilan lcd clear lcd_gotoxy(0,0); // LCD baris 0 kolom 0 lcd_putsf("Menyimpan"); // tampil “menyimpan” lcd_gotoxy(0,1); // LCD baris 1 kolom 0 ftoa(kalib,3,adece); // decimal ADC untuk kalibrasi lcd_puts(adece); // tampil ADC (nilai wadah) delay_ms(500); // waktu tampil 500 ms b=2; // masuk ke b=2 L1-8 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI L1-9 } } lcd_clear(); // membersihkan tampilan LCD angka[0]='0'; //tampilan nol setelah kalibrasi, angka pertama, dan seterusnya angka[1]='0' angka[2]='0'; angka[3]='0'; } } while (b==2) // input keypad pada pilihan sendiri { atas: for(a=1;a<=8;a=a*2) { PORTD=a; tampil3(); // tampilan saat perintah masukkan berat if(a==1) // keypad kolom1 { // angka ke 1 if(PIND.7==1&&d==0){while(PIND.7==1&&d==0){tampil3();};d=0;b=4;} if(PIND.6==1&&d==0){while(PIND.6==1&&d==0){tampil3();};angka[0]='7';an gka1=7;d=1;} if(PIND.5==1&&d==0){while(PIND.5==1&&d==0){tampil3();};angka[0]='4';an gka1=4;d=1;} if(PIND.4==1&&d==0){while(PIND.4==1&&d==0){tampil3();};angka[0]='1';an gka1=1;d=1;} // angka ke 2 if(PIND.7==1&&d==1){while(PIND.7==1&&d==1){tampil3();};d=0;b=4;} if(PIND.6==1&&d==1){while(PIND.6==1&&d==1){tampil3();};angka[1]='7';an gka2=7;d=2;} if(PIND.5==1&&d==1){while(PIND.5==1&&d==1){tampil3();};angka[1]='4';an gka2=4;d=2;} PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI L1-10 if(PIND.4==1&&d==1){while(PIND.4==1&&d==1){tampil3();};angka[1]='1';an gka2=1;d=2;} // angka ke 3 if(PIND.7==1&&d==2){while(PIND.7==1&&d==2){tampil3();};d=0;b=4;} if(PIND.6==1&&d==2){while(PIND.6==1&&d==2){tampil3();};angka[2]='7';an gka3=7;d=0;} if(PIND.5==1&&d==2){while(PIND.5==1&&d==2){tampil3();};angka[2]='4';an gka3=4;d=0;} if(PIND.4==1&&d==2){while(PIND.4==1&&d==2){tampil3();};angka[2]='1';an gka3=1;d=0;} // angka ke 4 if(PIND.7==1&&d==3){while(PIND.7==1&&d==3){tampil3();};d=0;b=4;} if(PIND.6==1&&d==3){while(PIND.6==1&&d==3){tampil3();};angka[3]='7';an gka4=7;d=0;} if(PIND.5==1&&d==3){while(PIND.5==1&&d==3){tampil3();};angka[3]='4';an gka4=4;d=0;} if(PIND.4==1&&d==3){while(PIND.4==1&&d==3){tampil3();};angka[3]='1';an gka4=1;d=0;} } if(a==2) // kolom2 { //angka 1 if(PIND.7==1&&d==0){while(PIND.7==1&&d==0){tampil3();};angka[0]='0';an gka1=0;d=1;} if(PIND.6==1&&d==0){while(PIND.6==1&&d==0){tampil3();};angka[0]='8';an gka1=8;d=1;} if(PIND.5==1&&d==0){while(PIND.5==1&&d==0){tampil3();};angka[0]='5';an gka1=5;d=1;} if(PIND.4==1&&d==0){while(PIND.4==1&&d==0){tampil3();};angka[0]='2';an gka1=2;d=1;} //angka 2 if(PIND.7==1&&d==1){while(PIND.7==1&&d==1){tampil3();};angka[1]='0';an gka2=0;d=2;} PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI L1-11 if(PIND.6==1&&d==1){while(PIND.6==1&&d==1){tampil3();};angka[1]='8';an gka2=8;d=2;} if(PIND.5==1&&d==1){while(PIND.5==1&&d==1){tampil3();};angka[1]='5';an gka2=5;d=2;} if(PIND.4==1&&d==1){while(PIND.4==1&&d==1){tampil3();};angka[1]='2';an gka2=2;d=2;} //angka 3 if(PIND.7==1&&d==2){while(PIND.7==1&&d==2){tampil3();};angka[2]='0';an gka3=0;d=0;} if(PIND.6==1&&d==2){while(PIND.6==1&&d==2){tampil3();};angka[2]='8';an gka3=8;d=0;} if(PIND.5==1&&d==2){while(PIND.5==1&&d==2){tampil3();};angka[2]='5';an gka3=5;d=0;} if(PIND.4==1&&d==2){while(PIND.4==1&&d==2){tampil3();};angka[2]='2';an gka3=2;d=0;} //angka 4 if(PIND.7==1&&d==3){while(PIND.7==1&&d==3){tampil3();};angka[3]='0';an gka4=0;d=0;} if(PIND.6==1&&d==3){while(PIND.6==1&&d==3){tampil3();};angka[3]='8';an gka4=8;d=0;} if(PIND.5==1&&d==3){while(PIND.5==1&&d==3){tampil3();};angka[3]='5';an gka4=5;d=0;} if(PIND.4==1&&d==3){while(PIND.4==1&&d==3){tampil3();};angka[3]='2';an gka4=2;d=0;} } if(a==4) //kolom3 { //angka 1 if(PIND.7==1&&d==0){while(PIND.7==1&&d==0){tampil3();};b=3;} if(PIND.6==1&&d==0){while(PIND.6==1&&d==0){tampil3();};angka[0]='9';an gka1=9;d=1;} if(PIND.5==1&&d==0){while(PIND.5==1&&d==0){tampil3();};angka[0]='6';an gka1=6;d=1;} PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI L1-12 if(PIND.4==1&&d==0){while(PIND.4==1&&d==0){tampil3();};angka[0]='3';an gka1=3;d=1;} //angka 2 if(PIND.7==1&&d==1){while(PIND.7==1&&d==1){tampil3();};b=3;} if(PIND.6==1&&d==1){while(PIND.6==1&&d==1){tampil3();};angka[1]='9';an gka2=9;d=2;} if(PIND.5==1&&d==1){while(PIND.5==1&&d==1){tampil3();};angka[1]='6';an gka2=6;d=2;} if(PIND.4==1&&d==1){while(PIND.4==1&&d==1){tampil3();};angka[1]='3';an gka2=3;d=2;} //angka 3 if(PIND.7==1&&d==2){while(PIND.7==1&&d==2){tampil3();};b=3;} if(PIND.6==1&&d==2){while(PIND.6==1&&d==2){tampil3();};angka[2]='9';an gka3=9;d=0;} if(PIND.5==1&&d==2){while(PIND.5==1&&d==2){tampil3();};angka[2]='6';an gka3=6;d=0;} if(PIND.4==1&&d==2){while(PIND.4==1&&d==2){tampil3();};angka[2]='3';an gka3=3;d=0;} //angka 4 if(PIND.7==1&&d==3){while(PIND.7==1&&d==3){tampil3();};b=3;} if(PIND.6==1&&d==3){while(PIND.6==1&&d==3){tampil3();};angka[3]='9';an gka4=9;d=0;} if(PIND.5==1&&d==3){while(PIND.5==1&&d==3){tampil3();};angka[3]='6';an gka4=6;d=0;} if(PIND.4==1&&d==3){while(PIND.4==1&&d==3){tampil3();};angka[3]='3';an gka4=3;d=0;} } if(a==8) //kolom4 untuk menu instan, tampil3 >>masukkan berat { if(PIND.7==1){while(PIND.7==1){tampil3();} //baris 4 angka[0]='2';angka[1]='0';angka[2]='0';angka[3]='0';angka1=2;} if(PIND.6==1){while(PIND.6==1){tampil3();} //baris 3 angka[0]='1';angka[1]='0';angka[2]='0';angka[3]='0';angka1=1;} PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI if(PIND.5==1){while(PIND.5==1){tampil3();} //baris 2 angka[0]='0';angka[1]='5';angka[2]='0';angka[3]='0';angka2=5;} if(PIND.4==1){while(PIND.4==1){tampil3();} //baris 1 angka[0]='0';angka[1]='2';angka[2]='5';angka[3]='0';angka2=2;angka3=5;} } } } while(b==3) //ribuan, ratusan, puluhan, satuan { input=(angka1*1000)+(angka2*100)+(angka3*10)+(angka4*1); delay_ms(500); //jeda 500 ms if(input>2000) //jika berat lebih dari 2.000 gram { lcd_clear(); //memory LCD clear lcd_gotoxy(0,0); //LCD baris 0 kolom 0 lcd_putsf("Terlalu Berat"); lcd_gotoxy(0,1); // tampil “Terlalu Berat” // LCD baris 1 kolom 0 lcd_putsf("Berat Max 2000gr"); //tampil “Berat Max 2000gr” delay_ms(1000); // jeda waktu tampil lcd_clear(); // memory lCD clear b=2; //kembali ke pilihan sendiri angka[0]='0'; //tampilan kembali nol angka[1]='0'; angka[2]='0'; angka[3]='0'; angka1=angka2=angka3=angka4=0; goto atas; //loncat ke pilihan sendiri } if(input<50) //jika masukan kurang dari 50 gram { lcd_clear(); //memory LCD clear L1-13 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI lcd_gotoxy(0,0); //LCD baris 0 kolom 0 lcd_putsf("Terlalu Ringan"); //tampil “Terlalu Ringan” lcd_gotoxy(0,1); //LCD baris 1 kolom 0 lcd_putsf("Berat Min 50gr"); //tampil “Berat Min 50gr” delay_ms(1000); //jeda waktu tampil lcd_clear(); //memory LCD clear //d=0; b=2; angka[0]='0'; //nilai kembali ke 0 angka[1]='0'; angka[2]='0'; angka[3]='0'; angka1=angka2=angka3=angka4=0; goto atas; } else{lcd_clear();b=5;} } while(b==4) { angka[0]='0'; angka[1]='0'; angka[2]='0'; angka[3]='0'; angka1=angka2=angka3=angka4=d=0; b=2; goto atas; } lcd_gotoxy(0,0); //LCD baris 0 kolom 0 lcd_putsf("Memproses"); // taampil “memproses” PORTB.4=0; //perintah driver on (NOT dengan optocoupler) delay_ms(100); //jeda L1-14 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI while(b==5) { abot(); //panggil sub program abot (proses penakaran) if(berat>=input+kalib) // berat terhitung adalah wadah ditambah isi { lcd_clear(); // memory LCD clear b=6; // masuk ke b=6 } } while(b==6) { htakar=berat-kalib; // berat actual adalah berat total dikurangi wadah PORTB.4=1; // driver off (optocoupler) lcd_gotoxy(0,0); // LCD baris 0 kolom 0 lcd_putsf("proses selesai");// tampil “proses selesai” lcd_gotoxy(0,1); //LCD baris 1 kolom 0 ftoa(htakar,3,adece); //desimal hasil penakaran lcd_puts(adece); //hasil penakaran ditampilkan delay_ms(3000); // jeda waktu tampil b=0; goto awal; } } //kembali ke kalibrasi awal L1-15 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI PROGRAM DENGAN RANGKAIAN SEDERHANA Chip type : ATmega8535 Program type : Application AVR Core Clock frequency : 12.000000 MHz Memory model : Small External RAM size :0 Data Stack size : 128 *****************************************************/ #include <mega8535.h> #include <stdio.h> #include <delay.h> #include <stdlib.h> #include <math.h> // Alphanumeric LCD functions #include <alcd.h> #define ADC_VREF_TYPE 0xC0 // Read the AD conversion result unsigned int read_adc(unsigned char adc_input) { ADMUX=adc_input | (ADC_VREF_TYPE & 0xff); // Delay needed for the stabilization of the ADC input voltage delay_us(10); // Start the AD conversion ADCSRA|=0x40; // Wait for the AD conversion to complete while ((ADCSRA & 0x10)==0); ADCSRA|=0x10; return ADCW; } L2-1 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI // Declare your global variables here char adece[30]; int baca,ulang1,ulang2,ulang3; float berat,rata1,rata2,rata3,sum1,sum2,sum3; void main(void) { // Declare your local variables here // Input/Output 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 // 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; L2-2 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI // Timer/Counter 0 initialization // Clock source: System Clock // Clock value: Timer 0 Stopped // Mode: Normal top=0xFF // OC0 output: Disconnected TCCR0=0x00; TCNT0=0x00; OCR0=0x00; // Timer/Counter 1 initialization // Clock source: System Clock // Clock value: Timer1 Stopped // Mode: Normal top=0xFFFF // OC1A output: Discon. // OC1B output: Discon. // 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; // Timer/Counter 2 initialization L2-3 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI // Clock source: System Clock // Clock value: Timer2 Stopped // Mode: Normal top=0xFF // OC2 output: Disconnected ASSR=0x00; TCCR2=0x00; TCNT2=0x00; OCR2=0x00; // External Interrupt(s) initialization // INT0: Off // INT1: Off // INT2: Off MCUCR=0x00; MCUCSR=0x00; // Timer(s)/Counter(s) Interrupt(s) initialization TIMSK=0x00; // USART initialization // USART disabled UCSRB=0x00; // Analog Comparator initialization // Analog Comparator: Off // Analog Comparator Input Capture by Timer/Counter 1: Off ACSR=0x80; SFIOR=0x00; // ADC initialization // ADC Clock frequency: 187.500 kHz // ADC Voltage Reference: Int., cap. on AREF // ADC High Speed Mode: Off L2-4 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI // ADC Auto Trigger Source: ADC Stopped ADMUX=ADC_VREF_TYPE & 0xff; ADCSRA=0x87; SFIOR&=0xEF; // SPI initialization // SPI disabled SPCR=0x00; // TWI initialization // TWI disabled TWCR=0x00; // Alphanumeric LCD initialization // Connections are 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 // Characters/line: 16 lcd_init(16); ulang1=ulang2=ulang3=0; while (1) { baca=read_adc(0); // membaca ADC delay_us(120); // waktu untuk pembacaan ADC ulang1++; // counter 1 aktif if(ulang1<=10) // syarat pengulangan 1 L2-5 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI L2-6 { sum1=sum1+baca; // penambahan baca ADC } else // jika melewati syarat { rata1=sum1/10; // rata-rata 1 ulang1=0; // counter 1 kembali ke 0 ulang2++; // counter 2 aktif if(ulang2<=10) // syarat pengulangan 2 { sum2=sum2+rata1; // penambahan rata-rata 1 } else // jika melewati syarat { rata2=sum2/10; // rata-rata 2 ulang2=0; // counter 2 kembali ke 0 ulang3++; // counter 3 aktif if(ulang3<=10) // syarat pengulangan 3 { sum3=sum3+rata2; // penambahan rata-rata 2 } else // jika melewati syarat { rata3=sum3/10; // rata-rata 3 berat=6.0142*rata3-399.64; // konversi berat ADC if(berat<=0){berat=0;} // jik berat kurang dari 0 maka dianggap 0 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI lcd_gotoxy(0,0); L2-7 // LCD baris 0 (atas) rata kiri (kolom 0) ftoa(rata3,3,adece); // desimal step ADC dari rata-rata terakhir lcd_puts(adece); // adece tampil ke LCD lcd_gotoxy(10,0); // LCD baris 0 kolom 10 lcd_putsf("step"); // tulisan “step” tampil pada LCD lcd_gotoxy(0,1); // LCD baris 1 (bawah) kolom 0 ftoa(berat,3,adece); // desimal konversi berat dari rata-rata terakhir lcd_puts(adece); // adece tampil ke LCD lcd_gotoxy(10,1); // LCD baris 1 kolom 10 lcd_putsf("gram"); // tulisan “gram” tampil pada LCD delay_ms(200); // waktu untuk tampil ulang3=sum3=rata3=0; // nilai counter, jumlah dan rata-rata 3 kembali ke 0 } sum2=rata2=0; // nilai jumlah dan rata-rata 2 kembali ke 0 } sum1=rata1=0; // nilai jumlah dan rata-rata 1 kembali ke 0 } } } PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Rangkaian Total : L3 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Rangkaian Sederhana : L4 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Data sheet halaman 1 L5 PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Data sheet halaman 1 L6