Senin, 31 Mei 2010

perancangan memodifikasi sepeda motor

Perancangan Serial Stepper
Blok diagram dari rangakaian yang dirancang tampak pada gambar dibawah
ini :
Komputer
Komputer berfungsi untuk mengendalikan peralatan luar, dengan peralatan
luar yang dimaksud adalah motor stepper.
Spesifikasi program yang dirancang memiliki kemampuan sebagai berikut :
· Mengatur kecepatan motor stepper
· Mengendalikan putaran motor secara manual melalui keyboard
· Menjalankan motor secara kontinu
Antar Muka
Antar muka berfungsi untuk mengkonversi data serial yang diterma dari
komputer diubah menjadi data – data untuk mengendalikan motor stepper
Antar muka terdiri dari dua unit rangkaian :
· Rangkaian Mikrokontroler
· Rangkaian Driver Motor stepper
Antar Muka
Mikrokontroler
Mikrokontroler berfungsi untuk mengkonversi data serial yang diterima
menjadi data paralel yang kemudian dikirimkan ke driver motor stepper.
Model komunikasi serial yang digunakan yaitu komunikasi asinkron. Model
paket komunikasi asinkron tampak seperti gambar dibawah ini :
Dari gambar dibawah terlihat format bit pengiriman data serial asynchronous.
selalu rendah selalu high
Start D0 D1 D2 D3 D4 D5 D6 PARITY STOP STOP
Gambar 3 Format komunikasi asinkron
Komputer Antar Muka Peralatan
luar
Mikrokontroler Driver motor
Stepper
Dalam komunikasi asinkron dikenal dengan istilah Baudrate yaitu banyaknya
data baud yang dikirim perdetik dikenal dengan satuan Bps
Motor stepper yang akan dikendalikan memiliki spesifikasi sebagai berikut :
· kecepatan maksimum 2 (dua) putaran perdetik
· Putaran perstep motor sebesar 6 derajat maka untuk satu putaran dibutuhkan
360/6 = 60 data
Dari spesifikasi diatas maka kecepatan pergantian data maksimum yaitu
1/(2*60) = 8,3 ms (1)
Baudrate minimum yaitu:
1/8,3 ms > 120,5 Bps (2)
Baudrate yang akan digunakan 4800 Bps
Perancangan Perangkat lunak Mikrokontroler
Program yang digunakan menggunakan bahasa assembly Intel MCS-51. Program
yang akan dirancang mempunyai kemampuan membaca data dari komputer melalui
port serial kemudian mengolah data yang diterima kemudian mengirimkan ke port
paralel yang terhubung ke rangkaian driver motor stepper.
Diagram Alir program mikro sebagai berikut :
Start
Init
Ambil Data dari
port serial
Baca data
kecepatan motor
Konversi ke dalam
waktu
Baca Model
pengontrolan
Manual/
otomatis
Subrutin
manual
Subrutin
otomatis
Flowchart program di Mikrokontroler
Untuk pengaturan kecepatan hanya untuk pengaturan otomatis sedangkan untuk
manual digunakan kecepatan default yaitu 20 rpm
Sesuai dengan spesifikasi motor yang dikendalikan telah didapat data bahwa
kecepatan motor maksimum yaitu 2 putaran perdetik maka dalam satu menit banyak
putaran maksimum :
2*60 = 120 putaran/menit (3)
Dengan demikian data jangkah kecepatan motor yaitu dari 1 – 120. Sesuai dengan
perhitungan diawal kecepatan maksimum pergantian data yaitu setiap 8,3 milidetik.
Rasio pertambahan waktu untuk mengurangi kecepatan motor yaitu
delay = 8,3*n (4)
Bila n makin besar maka makin lambat putaran motor yang dihasilkan
Misal kecepatan putar diinginkan 4 rpm maka waktu untuk pergantian data yaitu :
8,3 * 4 = 33,2 milidetik = 33 milidetik (5)
Perancangan Perangkat Lunak Mikrokontroler
Perangkat mikrokontroler supaya dapat bekerja harus diisi program. Seperti
telah dijelaskan diawal bahasa yang akan digunakan yaitu bahasa assembly Keluarga
Intel MCS 51.
Telah dijelaskan di bab II supaya mikrokontroler dapat berhubungan dengan
komputer perlu dilakukan inisialisasi register SCON, TCON, TMOD dan TH1.
Register TCON berfungsi untuk mengaktifkan timer, register TMOD untuk mengatur
mode timer, TH1 untuk menginisialisasi baud rate komunikasi serial dari
mikrokontroler sedangkan register SCON untuk mengaktifkan port serial dari
mikrokontroler.
Mengatur Register SCON
Format Register SCON sebagai berikut :
MSB LSB
SMO SM1 SM2 REN TB8 RB8 T1 R1
Detail fungsi masing masing bit telah dijelaskan di BAB II.
Telah dijelaskan diatas komunikasi yang kita gunakan yaitu komunikasi
asynchronous dengan baud rate sebesar 4800 Bps.
Untuk komunikasi asynchronous mode yang digunakan yaitu mode 1, (UART
8 bit). Maka SM0 = 0, SM1 = 1, SM2 = 1. REN = 1, RB8 dan TB8 berfungsi untuk
untuk menampung bit stop, bila RB8 bernilai 1 maka data diterima benar sebaliknya
bila RB8 bernilai 0 maka data diterima salah dan RI tidak menjadi 1 meskipun SBUF
sudah berisi data dari port serial. TB8 sebagai bit paritas yaitu untuk menampung bit
ke 9. Disini bit paritas tidak digunakan sebagai default bit RB8 dan TB8 diberi nilai 0.
Bit TI berfungsi sebagai flag bila data telah komplit dikirim dan RI juga berfungsi
sama seperti TI hanya bedanya untuk menandai bahwa data telah komplit diterima.
Maka SCON = 01110000b
Mengatur register TCON
Format register TCON
MSB LSB
TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0
Register TCON berfungsi untuk mengaktifkan timer dan untuk mengaktifkan
cukup dengan menset /atau merubah nilai bit dari 0 menjadi yaitu bit TR1.
Mengatur Register TMOD
Format register TMOD
MSB LSB
Timer/counter 1 Timer/counter 0
GATE C/T M1 M0 GATE C/T M1 M0
Register TMOD berfungsi untuk mengatur mode dari timer. Timer untuk komunikasi
serial digunakan timer 1 dengan mode 1 yaitu auto reload 8 bit. Bit gate diisi 0 dan bit
C/T diisi 0.
Maka isi TMOD = 00010000b
Mengatur register TH1
Register TH1 untuk mendefinisikan baud rate dari komunikasi serial yang kita
gunakan.
Formula untuk menghitung baud rate yaitu :
(384* RATE)
TH1 256 - (K* FREKUENSI OSCILATOR
BAUD
= (7)
Rangkaian yang dirancang menggunakan Frekuensi oscilator 11,0592 Mhz, k diisi 1
maka nilai TH1 didapat :
250
384* 4800
256 1*11,0592.10
6
- = d = 0FAh (8)
Flowchart inisialiasi
Bahasa untuk memprogram mikro digunakan bahasa assembler MCS-51. Sesuai
dengan rancangan yang dibuat diatas maka flowchart untuk inisialisasi awal sebagai
berikut :
Flowchart Inisialisasi
Start
Ambil data dari
SBUF
Isi SBUF=stack
Baca model
pengontrol
Rutin
control
T
Y
Flowchart baca mode pengontrolan
Kode untuk Rutin Putar Motor
Data digital untuk menggerakkan motor stepper :
Memutar ke kanan
step 1 0 0 1 1
step 2 1 0 0 1
step 3 1 1 0 0
step 4 0 1 1 0
step 5 0 0 1 1
Pergantian data untuk setiap stepnya disesuaikan dengan kecepatan yang
dmasukkan.
Data diatas akan dibuat dalam suatu subrutin khusus dan kode untuk
memanggil subrutin untuk memutar ke kanan yaitu 027H dan ke kiri 0C6H.
Pemberian kode 027H dan 0C6H tidak aturan khusus, sehingga bila diinginkan kode
dapat diganti begitu pula kode yang dikirimkan oleh komputer disesuaikan dengan di
program di mikrokontroler.
Memutar ke kiri
step 1 0 0 1 1
step 2 0 1 1 0
step 3 1 1 0 0
step 4 1 0 0 1
step 5 0 0 1 1
Baca kode
pengontrolan
Kode otomatis
Inisialisasi
Kode manual
Baca kecepatan
yang diinginkan
Baca kode
tombol
Rutin putar
kiri Rutin stop Rutin putar
kanan
Kode arah
putaran
Rutin putar
kiri
Rutin putar
kanan
Ada
penekanan
tombol ?
Ada
penekanan
tombol ?
Kode komunikasi
selesai
Selesai
Tombol masih
ditekan
Tombol masih
ditekan
Perancangan perangkat lunak di komputer
Bahasa yang digunakan di komputer yaitu gabungan bahasa pascal dan bahasa
assembler 8088. Bahasa assembler digunakan untuk menginisialisasi port serial
komputer. Sedangkan bahasa pascal digunakan untuk untuk mengontrol pergerakan
motor.
Flowchart Perangkat lunka di komputer.
Mirip dengan di mikrokontroler langkah awal kita menginisialiasi port serial
komputer dan mengatur baud rate komputer sama dengan mikrokontroler yaitu 4800
Bps. Setelah port serial komputer diinisialisasi komputer mengirim data ke
mikrokontroler yaitu 5 buah data integer untuk mengaktifkan komunikasi antara
mikro dan komputer.
Dibawah ini tampak flowchart dari program yang dibuat:
Inisialiasi port serial komputer.
Menginisialisasi port serial komputer menggunakan pelayanan interupsi 14H.
dan kode pengontrolan seperti baudrate, mode komunikasi, dimasukkan ke register
AH. Untuk menentukan port yang digunakan dimasukkan ke register DX.
Nilai yang dimasukkan ke register AH sebagai berikut :
Start
Inisialisasi Port
Serial
Baud rate = 4800
Kirim data integer
Baca Data
balasan dari mikro
Data dikirim
sama dengan
diterima
Kirim kode
pengontrolan
Selesai
Baud rate Parity Stop Data bits
7 6 5 Bps 4 3 2 1 0
0 0 0 110 X 0 None 0 – 1 1 0 7
0 0 1 150 0 1 odd 1 - 2 1 1 8
0 1 0 300
0 1 1 600
1 0 0 1200
1 0 1 2400
1 1 0 4800
1 1 1 9600
Komunikasi serial komputer ada dua yaitu COM 1 dan COM 2 dan untuk
memilih jalur komuniksi yang digunakan menggunakan register DX. Untuk COM 1
DX diisi nilai 0 dan untuk COM 2 nilai DX diisi 1.
Telah diuraikan diatas kecepatan komunikasi dipilih 4800 bps. Parity tidak
digunakan, stop bit dipilih yang 2 (dua) dan data bits 8 maka isi register AH yaitu
11000100B = 0C4H.
Kode Pengontrolan
Kode pengontrolan yang dirancang terdiri dari menu :
· Pengaturan kecepatan motor
· Putar motor kontinu ke kiri
· Putar motor kontinu ke kanan
· Putar motor perlangkah ke kiri
· Putar motor perlangkah ke kanan.
Bila keluar program tekan tombol Esc.
Kode pengontrolan motor ke kanan 27H dan ke kiri C6H maka dari komputer
untuk memutar motor ke kanan dikirim kode 27H. Kecepatan motor yang dikontrol
bergantung kecepatan pengiriman kode yang dikirim 27H atau C6H. Untuk mengatur
kecepatan motor digunakan rumus (5). Kecepatan yang didapat akan dibulatkan dan
angka hasil pembulatan akan dimasukkan ke sintaks delay(n).
Perancangan perangkat keras
Ada dua bagian perangkat keras yang digunakan yaitu rangkaian pengontrol dan
rangkaian driver motor stepper.
Rangkaian kontrol
Rangkaian kontrol berfungsi untuk mengatur pergerakkan dari motor stepper.
Komponen utama yang digunakkan yaitu IC ATMEL 89C51 dan IC MAX 232.
Rangkaian Pembangkit Frekuensi
Untuk Pembangkit detak dari IC ATMEL 89C51 digunakan kristal sebesar 11,0592
MHZ dan 2 komponen tambahan kapasitor keramik 27 PF. Rangakaian yang
digunakan tampak pada gambar dibawah ini :
Rangkaian pembangkit frekuensi ATMEL 89C51
Rangkaian Reset
Rangkaian reset diperlukan bila terjadi konflik pada program dikarenakan ada
kebocoran arus listrik atau ada komponen yang rusak sehingga proses kontrol terjadi
konflik atau hang. |Untuk rangkaian reset tampak pada gambar dibawah ini
VCC
Rangkain reset
Rangkaian komunikasi serial ke komputer
Rangkaian
serial ke komputer dari mikro
pin yang dihubungkan
Yang perlu diperhatikan disini dalam membuat kabel serial yaitu pin no 2 DB9 yang
terhubung ke komputer dihubungkan ke pin no 3 DB9 yang ke mikro begitu juga
sebaliknya.
Pin Reset
100 NF
2
3
5
7
3
2
5
7
Rangkaian driver
Rangkaian driver dibutuhkan karena arus yang dihasilkan oleh mikrokontroler
sangat kecil dan tidak mampu menggerakkan motor yang dikontrol sehingga
dibutuhkan suatu rangkaian penguat yang disesuaikan dengan motor yang dikontrol.
Motor yang dikontrol mempunyai spesifikasi arus dan tegangan sebagai
berikut :
· Arus Minimum 500 mA
· Tegangan kerja 12 V
· 4 pin data input dengan arus minimum 500 mA
Merujuk spesifikasi diatas maka dipilih transistor darlington yang mampu
mengalirkan arus yang besar. Jenis darlington yaitu TIP 122 yang mempunyai
spesifikasi sebagai berikut :
· Arus kerja maximum 2 A
· Tegangan kerja 5 V – 80 V
· Arus untuk mengaktifkan minimum 5 uA
Sesuai spesifikasi diatas maka TIP 122 memenuhi syarat untuk dapat
menggerakkan motor yang dikontrol.
Untuk menghindari arus balik dari motor yang dapat merusakkan transistor
darlington di rangkaian driver ditambahkan dioda penyearah. Rangkaian driver motor
stepper tampak pada gambar dibawah ini :
Gambar rangkaian driver motor stepper
Rangkaian driver diatas dihubungkan ke Port 1 dari rangkaian kontrol,

Tidak ada komentar:

Posting Komentar