BAB III

advertisement
BAB III
PERANCANGAN DAN REALISASI PERANGKAT KERAS DAN
PERANGKAT LUNAK SISTEM
3.1 Perancangan Perangkat Keras
3.1.1 Blok Diagram
Dari diagram sistem dapat diuraikan metode kerja sistem secara global.
Gambar 3.1. blok diagram sistem
Sistem pengendalian medan magnet memungkinkan seorang pengguna
memperoleh nilai medan magnet yang diinginkan serta memantau nilai medan
magnet yang dihasilkan melalui PC.
3-1
Nilai medan magnet yang diinginkan dimasukkan sebagai input pada PC
untuk kemudian diolah menjadi nilai tegangan dan arus yang sesuai. Nilai
tegangan dan arus tersebut diteruskan ke catu daya SM 7020-D dari Delta
Elektronika untuk menghasilkan medan magnet. Besarnya medan magnet
dideteksi oleh sensor efek Hall dan ditampilkan pada PC.
3.1.2 Blok Diagram Boks Antarmuka dan Akuisisi Data
Block Diagram
Interface and Data Aquisition
Microcontroller
Input Sensor
( Hall Probe)
Pre
Amplifier
Output Datato PC
RS232
ADC
( 10Bit)
Control Unit
SM 7020-D
Delta
PWM
Output V and I
to Magnetometer
Catu Daya
Gambar 3.2. blok diagram boks antarmuka dan akuisisi data
Boks antarmuka dan akuisisi data terdiri dari empat bagian utama, yaitu :
a. Catu daya
b. Modul mikrokontroler (ADC internal dan PWM)
c. Modul serial RS232
d. Modul sensor dan penguat awal
3-2
3.1.3 Catu Daya
Umumnya suatu rangkaian elektronika membutuhkan sumber tegangan,
berupa catu daya. Suatu catu daya berfungsi menghasilkan tegangan searah dari
tegangan bolak-balik yang disearahkan. Catu daya terdiri dari dua bagian yaitu
rangkaian penyearah dan rangkaian voltage regulator atau penstabil tegangan.
Rangkaian penyearah berfungsi menerima masukan tegangan ac dan melalui
beberapa proses menghasilkan tegangan dc. Rangkaian voltage regulator
berfungsi untuk membatasi dan menstabilkan tegangan keluaran sesuai dengan
besarnya nilai tegangan keluaran yang dibutuhkan. Rangkaian voltage regulator
terdiri dari beberapa transistor, resistor, dan dioda yang biasanya telah dibuat
dalam satu kemasan IC. Rangkaian ini berfungsi memberikan tegangan pada
setiap modul.
GND
2
Gambar 3.3. catu daya
Sumber tegangan masukan pada sub sistem catu daya adalah 220 Vac.
Tegangan keluaran dari blok ini adalah 5 V. Pada gambar, tegangan ac 220 Volt
diturunkan menjadi 12 Vdc. Dari 12 Vdc ini disearahkan menggunakan dioda
dengan konfigurasi penyearah setengah gelombang untuk mencegah terjadinya
kesalahan polaritas. Tegangan yang dihasilkan oleh penyearah tersebut
dihubungkan dengan regulator untuk mendapatkan tegangan yang stabil.
Tegangan keluaran +5 Vdc diperoleh dengan menggunakan IC regulator 7805.
3-3
3.1.4 Modul Mikrokontroler (ADC Internal dan PWM)
Pengendali dari sistem yang akan dirancang menggunakan mikrokontroler
AVR ATMega8. Pada perancangan dan realisasi bagian kontrol utama ini
digunakan beberapa rangkaian pendukung, yaitu rangkaian reset mikrokontroler,
rangkaian clock, dan catu daya. Sub sistem mikrokontroler berfungsi melakukan
pengaturan terhadap jalur komunikasi antara modul sensor, catu daya SM 7020-D,
dan PC. Gambar rangkaian pendukung diperlihatkan pada gambar berikut.
Gambar 3.4. rangkaian pendukung mikrokontroler
Kecepatan pengolahan data pada mikrokontroler ATMega8 ditentukan oleh
rangkaian oscillator atau rangkaian clock yang dapat dilihat pada gambar berikut
ini :
3-4
Gambar 3.5. rangkaian clock
Rangkaian clock menggunakan kristal sebagai komponen utama yang
terhubung pada pin 9 (XTAL1) dan pin 10 (XTAL2) serta dihubungkan dengan
dua buah kapasitor sebesar 33 pF. Kristal berfungsi sebagai komponen penghasil
clock oscillator yang digunakan untuk menentukan kecepatan dalam 1 cycle
pengolahan data pada mikrokontroler ATMega8. Mikrokontroler AVR ATMega8
memiliki arsitektur RISC 8 bit. Semua instruksi dikemas dalam kode 16-bit (16bits word) dan sebagian besar instruksi dieksekusi dalam satu langkah (step),
berbeda dengan instruksi MCS51 yang membutuhkan 12 langkah. Maka apabila
kristal yang digunakan 11.0592 Mhz, lamanya pengolahan data 1 cycle adalah
90,422 ns.
Gambar 3.6. aliran arus dan perubahan tegangan pada reset otomatis
3-5
Reset dapat dilakukan secara otomatis saat power diaktifkan (Power On
Reset). Gambar 3.6. merupakan gambar rangkaian reset yang bekerja secara
otomatis saat sumber daya diaktifkan. Pada saat catu daya diaktifkan, maka
kapasitor C1 sesuai dengan sifat kapasitor akan terhubung singkat sehingga
rangkaian ekivalennya tampak pada gambar a. Arus mengalir dari Vcc langsung
ke kaki RESET (pin 1) sehingga kaki tersebut berlogika 1. Kemudian kapasitor
terisi hingga tegangan pada kapasitor (Vc) yaitu tegangan antara Vcc dan titik
antara kapasitor C1 dan resistor R2 mencapai Vcc, sehingga tegangan pada R2
atau tegangan RESET akan turun menjadi 0 dan kaki RESET akan berlogika 0
(gambar b).
Gambar 3.7. rangkaian PWM
Pada aplikasi tegangan input terhubung pada pin 27 (ADC4) kemudian hasil
keluaran konversi 10 bit terhubung pada register OCR1AH dan OCR1AL. AVCC
(sumber tegangan ADC) dihubungkan dengan VCC dan tegangan referensi ADC
3-6
(AREF) dihubungkan dengan VCC sehingga tegangan referensi ADC adalah 5
Volt.
Keluaran sinyal PWM terletak pada pin 15 (OC1A). Ketika nilai TCNT1
sama dengan nilai 10 bit pada OCR1AH dan OCR1AL maka output pada OC1A
akan berlogika satu saat mencacah ke atas sebaliknya ketika nilai TCNT1 sama
dengan nilai 10 bit pada OCR1H dan OCR1L maka output pada OC1A akan
berlogika nol saat mencacah ke bawah.
Keluaran dari OC1A dihubungkan dengan basis dari sebuah transistor NPN
9013, dengan mengubah-ubah arus basis transistor bekerja seperti sebuah saklar.
Jika arus basis lebih besar atau sama dengan IB(sat), titik kerja Q berada pada ujung
atas dari garis beban. Transistor terhubung singkat antara kolektor dan emiter,
maka idealnya tegangan output jatuh menjadi nol. Dalam keadaan ini, transistor
kelihatan seperti sebuah saklar yang tertutup. Sebaliknya jika arus basis nol,
transistor bekerja pada ujung bawah dari garis beban seperti sebuah saklar yang
terbuka, dengan tidak adanya arus yang melalui tahanan kolektor maka tegangan
output sama dengan 15 V. Dalam hal ini, transistor bekerja sebagai sebuah saklar
dengan penguatan inverting 3 kali.
Output dari kolektor kemudian masuk ke dalam buffer. Buffer adalah
rangkaian dengan impedansi input Rin sangat tinggi dan impedansi output Rout
sangat rendah. Karena adanya umpan balik antara output dengan input inverting
maka:
Vout = Vin
(1)
3-7
Dapat juga dikatakan bahwa tegangan output Vout mengikuti tegangan input Vin
atau sebagai voltage follower. Dengan Rin >> Rout dan Vin = Vout maka dapat
disimpulkan bahwa arus output (Iout) akan lebih besar dari arus input (Iin) yang
mengakibatkan daya output (Pout) lebih besar dari daya input (Pin). Ini
menunjukkan bahwa buffer berfungsi untuk menaikkan level daya.
Keluaran dari buffer masuk ke salah satu kaki potensiometer 10 kΩ.
Dengan tegangan masukan sebesar 15 Volt, potensiometer multiturn ini akan
berfungsi sebagai pembagi tegangan yang tegangan keluarannya dapat diatur
berdasarkan besarnya hambatan. Tegangan keluaran kembali masuk ke buffer
yang kedua sebelum digunakan untuk mengatur arus pada catu daya SM-7020.
3.1.5 Modul Serial
Komponen yang dipakai untuk berkomunikasi secara serial dengan
komputer adalah MAX 232 yang dihubungkan dengan mikrokontroler dan
komputer dengan rangkaian berikut :
3-8
Gambar 3.8. rangkaian serial
MAX 232 sebuah komponen yang dapat menyesuaikan level tegangan
rangkaian antarmuka dan memenuhi semua spesifikasi EIA-RS-232 E dan V.8.
MAX 232 hanya membutuhkan sebuah tegangan +5 V tidak seperti komponen
antar muka serial lainnya yang memerlukan tegangan +12 V karena di dalam IC
MAX 232 telah terintegrasi voltage doubler dan voltage inverter maka satu buah
chip ini juga dapat menghasilkan tegangan ±10 V yang dapat digunakan untuk
menyuplai komponen lainnya namun dengan daya yang terbatas. Untuk keperluan
tersebut, maka diperlukan beberapa kapasitor eksternal yang dipasangkan pada
komponen ini.
Simbol R dan T pada gambar tersebut masing-masing menunjukkan bahwa
MAX 232 berfungsi sebagai receiver dan transmitter sinyal dari dan ke komputer.
Jadi pin Rout dihubungkan ke pin RXD mikrokontroler dan pin Tin ke pin TXD
sedangkan pin Tout dihubungkan ke pin 2 (RX) dari DB9 dan pin Rin ke pin 3
(TX) dari DB9.
Fungsi-fungsi pin adalah seperti pada tabel berikut :
Tabel 3.1. fungsi pin-pin DB9
Pin
Nama
Keterangan
2
RX
Data keluar
3
TX
Data masuk
5
GND
GND
7
CTS
Handshake keluar
8
RTS
Handshake masuk
3-9
Dalam aplikasinya, pin 5 dari DB9 dihubungkan ke GND serta pin 7 dan 8
dapat dihubungkan untuk handshaking dengan komponen MAX 232 dipakai
dalam sistem ini sebagai komponen antar muka serial antara mikrokontroler dan
PC dengan menggunakan protokol RS232. Pemakaian MAX 232 ini tidak
mempengaruhi baudrate dari PC.
3.1.6 Modul sensor dan penguat awal
Sensor Efek Hall dari LakeShore digunakan sebagai pendeteksi medan
magnet. Sensitivitasnya dapat mencapai 0.93 mV/kGauss dan sumber arus untuk
sensor Efek Hall mencapai 100 mA (data diperoleh dari datasheet sensor). Oleh
karena itu, digunakan catu daya sebesar 5 Volt dengan resistor pembatas arus
sebesar 47 Ω sehingga menghasilkan arus sekitar 100 mA. Rangkaian sensor
dapat dilihat pada gambar berikut.
Gambar 3.9. rangkaian sensor
3-10
Penguat awal digunakan untuk menguatkan sinyal yang diperoleh dari
sensor. Rangkaian penguat awal terdiri dari sebuah penguat inverting dan sebuah
buffer. Penguat inverting yang digunakan memiliki penguatan (gain) yang dapat
diatur sebesar :
Gain = 1 +
RV
RL
(2)
Rangkaian penguat awal dapat dilihat pada gambar berikut.
Gambar 3.10. rangkaian penguat awal
3.2 Perancangan Perangkat Lunak
Sistem kerja dari alat yang akan dirancang dan direalisasikan dapat
dilihat pada flowchart pada gambar 3.11.
3-11
Gambar 3.11. cara kerja sistem
Perancangan perangkat lunak pada sistem meliputi 2 bagian, yaitu
perancangan perangkat lunak pada mikrokontroler (pembacaan sensor, ADC,
PWM, interrupt, penghitungan, dan tampilan) dan perangkat lunak pada PC.
Aplikasi perangkat lunak pada mikrokontroler berfungsi melakukan pengontrolan
terhadap semua perangkat keras yang terhubung pada mikrokontroler, dengan
adanya perangkat lunak tersebut memudahkan pengguna dalam perubahan metode
pengontrolan karena sebagian besar dilakukan pada sisi perangkat lunak. Aplikasi
perangkat
lunak
pada
mikrokontroler
dirancang
menggunakan
bahasa
3-12
pemograman assembly. Untuk perancangan aplikasi perangkat lunak pada PC
digunakan bahasa pemograman tingkat tinggi Visual Basic 6.0. Aplikasi pada PC
merupakan aplikasi antarmuka pengguna dimana pengguna dapat melakukan
pengontrolan terhadap alat yang dirancang dan melakukan pengolahan data hasil
pengukuran melalui perangkat lunak pada PC tersebut.
3.2.1 Spesifikasi perangkat Lunak
Untuk mempermudah dalam perancangan perangkat lunak, maka harus
ditentukan terlebih dahulu spesifikasi dan batasan dari perangkat lunak yang
dirancang. Adapun spesifikasi dan batasan perangkat lunak adalah:
1. Untuk perangkat lunak pada mikrokontroler ATMega8 digunakan
bahasa pemograman Assembly menggunakan AVR Studio 3.55.
2. Perangkat lunak pada mikrokontroler melakukan pengontrolan
terhadap perangkat keras sesuai dengan permintaan aplikasi
perangkat lunak pada PC.
3. Perangkat lunak disimpan pada memori flash internal dari
mikrokontroler.
4. Perangkat lunak pada PC dibangun menggunakan bahasa
pemograman Visual Basic 6.0.
5. Perangkat lunak pada PC melakukan pengontrolan terhadap fungsi
dari power supply SM 7020 D dan menerima data hasil pengukuran
dari modul sensor serta menampilkannya.
3-13
3.2.2
Perancangan perangkat lunak pada PC
Flowchart aplikasi user interface pada PC:
Start
Aktifkan
komunikasi serial
Input perintah pada
mikrokontroler
Menampilkan hasil
pengukuran
Ya
Tampilkan
hasil pengukuran
?
Tidak
Set Current
?
Ya
Mengirimkan
permintaan current
Tidak
Reset sistem
?
Ya
Proses reset
sistem
Tidak
Non-aktifkan
komunikasi serial
end
Gambar 3.12. Flowchart aplikasi user interface pada PC.
Pada gambar 3.12 dapat dilihat flowchart program aplikasi user interface
pada PC, penjelasan dari flowchart sebagai berikut, pada saat aplikasi mulai
dijalankan maka program akan mengaktifkan komunikasi serial dengan
konfigurasi baudrate 9600, 8 bit data dan 1 stop bit. Selanjutnya program akan
3-14
meminta user untuk memasukkan perintah, baik berupa set current, tampilkan
pembacaan sensor, maupun proses reset sistem.
Tampilan program aplikasi user interface pada PC :
Gambar 3.13. tampilan program aplikasi user interface pada PC
3.2.3 Perancangan perangkat lunak pada mikrokontroler.
Pada gambar 3.14 dapat dilihat flowchart dari perangkat lunak
mikrokontroler.
3-15
Gambar 3.14. flowchart perangkat lunak dumb slave
3-16
Berdasarkan flowchart pada gambar 3.14 dapat dijelaskan proses jalannya
program pada
mikrokontroler
sebagai
berikut,
pada
saat
program di
mikrokontroler diaktifkan maka program akan melakukan inisalisasi terhadap
variable, stack pointer, port, ADC, inisialisasi komunikasi serial, inisialisasi
timer1, timer2 dan interrupt. Sementara itu, program akan membangkitkan
timer2. Apabila nilai timer2 melimpah maka program akan mengaktifkan
interupsi untuk mengambil data pembacaan sensor secara otomatis. Hasil
pembacaan berupa 4 buah data. Sebuah data terbaru menggantikan data terlama.
Selanjutnya program akan menunggu paket perintah dari PC, apabila paket
perintah diterima maka program akan melakukan pengecekan terhadap paket
perintah tersebut, apabila paket perintah tersebut valid. Jika paket tersebut valid,
maka proses berikutnya akan dilanjutkan. Perintah dianggap valid apabila isi dari
paket perintah tersebut sesuai dengan persyaratan. Setelah itu program akan
menterjemahkan paket perintah yang diterima. Jika paket perintah merupakan
perintah set current maka byte sisa akan diubah menjadi bilangan biner untuk
input PWM, sementara itu jika paket perintah merupakan perintah membaca
sensor maka mikrokontroler akan membaca merata-ratakan 4 buah data hasil
pembacaan sensor, mengubahnya menjadi BCD untuk kemudian dikirimkan ke
PC dan ditampilkan.
3-17
Download