Rangkaian pengendali on board

dari laptop berupa karakter yang akan mengaktifkan atau menonaktifkan transmisi data dari mikrokontroler dan karakter untuk mengaktifkan motor penggerak. Transmisi data dari mikrokontroler adalah data sensor CMPS10 dan H48C yang telah disusun formatnya. Penjelasan mengenai format dan penyusunan datanya akan dijelaskan pada sub bab berikutnya.

4.2.6. Rangkaian pengendali on board

Sistem kendali on board Gambar 55 terdiri dari modul DT-AVR Low Cost Micro System, modul sensor CMP10, modul sensor H48C, sensor suhu DS1820, pengendali motor yang terdiri dari EMS 2A Dual H-Bridge dan EMS 5A H-Bridge, dan catu daya yang terdiri dari adaptor 1A, adaptor 2A, dan adaptor 5A. Modul DT-AVR Low Cost Micro System berfungsi sebagai pengendali utama sistem elektronik. Modul sensor CMPS10 berfungsi untuk mengukur arah, pitch, dan roll. Modul sensor H48C berfungsi untuk mengukur akselerasi. Sensor suhu DS1820 berfungsi untuk mengukur suhu di dalam tabung kompartemen elektronik. EMS 2A Dual H-Bridge berfungsi sebagai saklar motor naik turun. EMS 5A H-Bridge berfungsi sebagai saklar motor maju, mundur, belok kanan dan kiri. Gambar 55. Penempatan komponen elektronik Adaptor 12V 5A Adaptor 12V 2A Adaptor 12V 1A EMS 5A H-BRIDGE EMS 2A DUAL H-BRIDGE MODUL MIKROKONTROLER CMPS 10 Masing-masing komponen dihubungkan dengan kabel. Kabel yang masuk ke dalam rangkaian ini adalah kabel VAC yang berfungsi sebagai catu daya. Kabel yang keluar dari rangkaian ini adalah kabel TX-RX pengiriman dan penerimaan data, Ground, kabel video 1 dan kabel video 2 Gambar 50. 4.3. Program Mikrokontroler Program mikrokontroler ini dibuat sesuai dengan spesifikasi mikrokontroler ATmega32A. Kode program yang disusun menggunakan Code Vision AVR 2.05 Lampiran 11. 4.3.1. Inisialisasi dan konfigurasi mikrokontroler ATmega32A Inisialisasi mikrokontroler merupakan hal pertama yang harus dilakukan agar program dapat diunduh pada mikrokontroler dan dapat bekerja sesuai dengan jenis mikrokontrolernya. Inisialisasi terdiri dari pemberian header files dari fungsi library yang sesuai kebutuhan dengan diawali “include”. “include mega32a.h” berfungsi untuk mendefinisikan register input dan output IO untuk mikrokontroler ATmega32A. “include i2c.h” digunakan sebagai bentuk dasar untuk fungsi I2C bus master. Fungsi ini dimasukkan setelah mendeklarasikan alamat IO dari Register Data Port dimana I2C Bus terkoneksi dan Data Bits yang digunakan untuk SDA dan SCL. “include math.h” digunakan sebagai bentuk dasar untuk fungsi matematika. “include delay.h” digunakan sebagai bentuk dasar dari penundaan waktu. “include 1wire.h” digunakan sebagai bentuk dasar untuk fungsi 1-Wire. “include ds1820.h” digunakan sebagai bentuk dasar untuk menggunakan fungsi pengambilan data suhu dari sensor DS1820. Konfigurasi mikrokontroler dilakukan untuk mengaktifkan fitur-fitur yang akan dipakai seperti komunikasi antarmuka I2C, 1-Wire dan USART untuk proses pengiriman dan penerimaan data. Konfigurasi komunikasi I2C ditulis dalam kode program berikut: as m . equ __i 2c _por t =0x 1B ; PORTA . equ __s da_bi t =6 . equ __s c l _bi t =7 endas m Konfigurasi komunikasi 1-Wire ditulis dalam kode program berikut: as m . equ __w1_por t =0x 18; PORTB . equ __w1_bi t =1 endas m “asm” merupakan salah satu C prepocessor seperti “include”. “asm” ini diikutkan untuk mendefinisikan PORT dan bit yang digunakan untuk komunikasi I2C dan 1-Wire. Konfigurasi fungsi USART terdiri dari beberapa bagian seperti USART Receiver Buffer, USART Receiver Interrupt Service Routine, fungsi getchar fungsi untuk mendapatkan satu karakter dari laptop, fungsi putchar fungsi untuk memberikan satu karakter ke laptop, USART Transmitter Buffer, dan USART Transmitter Interrupt Service Routine. Pengaktifan fitur-fitur mikrokontroler seperti PORT IO dan USART dilakukan di dalam bagian utama program yaitu “void main ”. Pengaktifan PORT dilakukan dengan menentukan lokasi alamat memori IO yaitu Data Direction Register DDRx, Data Register PORTx, dan Port Input Pins PINx. DDxn bit pada DDRx Register menentukan fungsi pin tersebut. Logika 1 mengartikan bahwa pin pada PORT tersebut dikonfigurasikan sebagai output. Logika 0 berarti pin dikonfigurasikan sebagai input. Jika PORTxn ditulis dengan logika 1 ketika pin dikonfigurasikan sebagai input, maka pull up resistor akan aktif. Pull up resistor akan tidak aktif jika PORTxn ditulis dengan logika 0. Jika PORTxn ditulis dengan logika 1 ketika pin dikonfigurasikan sebagai output, maka PORT tersebut akan mengeluarkan tegangan sebesar 5 Volt tegangan kerja mikrokontroler. Penulisan logika 0 akan menyebabkan PORT menjadi Ground. Pada program mini ROV ini, tiap-tiap PORT dikonfigurasikan sebagai berikut: PORTA=0x 00; DDRA=0x 00; PORTB=0x 00; DDRB=0x FF; PORTC=0x 00; DDRC=0x FF; PORTD=0x 00; DDRD=0x 00; DDRA dan DDRD dikonfigurasikan sebagai input karena pada penelitian ini tidak digunakan. DDR PORTB dan PORTC bernilai 0xFF mengartikan bahwa semua pin pada PORT ini bertindak sebagai output. Hal ini dikarenakan pada kedua PORT ini digunakan untuk konfigurasi switching thruster. Inisialisasi fitur USART ditulis pada kode berikut: UCSRA=0x 00; UCSRB=0x D8; UCSRC=0x 06; UBRRH=0x 00; UBRRL=0x 19; Inisialisasi ini memiliki arti bahwa mikrokontroler ini berkomunikasi dengan laptop pada baudrate 9600 kbps kilobyte per second dengan parameter komunikasi: • 8 Data, 1 Stop, No Parity • Penerima USART: aktif • Pengirim USART : aktif • Mode USART: Asynchronous

4.3.2. Transmisi Data