• Tidak ada hasil yang ditemukan

Pengujian Rangkaian Driver Motor stepper

PENGUJIAN RANGKAIAN DAN PROGRAM

4.2 Pengujian Rangkaian Driver Motor stepper

Rangkaian driver motor stepper ini terdiri dari empat masukan dan empat keluaran, dimana masing-masing masukan dihubungkan dengan mikrokontroler AT89S51 dan keluarannya dihubungkan ke motor stepper. Rangkaian ini akan bekerja memutar motor stepper jika diberi sinyal high (1) secara bergantian pada ke-4 masukannya. Rangkaiannya seperti gambar di bawah :

Gambar 4.1 Rangkaian Driver Motor stepper

Rangkaian ini terdairi dari 4 buah transistor NPN TIP 122. Masing-masing transistor dihubungkan ke P0.0, P0.1, P0.2 dan P0.3 pada mikrokontroler AT89S51. Basis dari masing-masing transistor diberi tahanan 10 Kohm untuk membatasi arus yang masuk ke transistor. Kolektor dihubungkan dengan kumparan yang terdapat pada motor stepper, kemudian kumparan dihubungkan dengan sumber tegangan 12 volt.dan emitor dihubungkan ke ground.

Jika P0.0 diberi logika high (1), yang berarti basis pada transistor TIP 122 mendapat tegangan 5 volt, sehingga transistor akan aktif. Hal ini akan menyebabkan terhubungnya kolektor dengan emitor, sehingga kolektor mendapatkan tegangan 0 volt dari ground. Hal ini menyebabkan arus akan mengalir dari sumber tegangan 12 volt ke

kumparan, sehingga kumparan akan menghasilkan medan magnet. Medan magnet ini akan menarik logam yang ada pada motor, sehingga motor mengarah pada kumparan yang memiliki medan magnet tersebut.

Jika kemudian P0.0 di beri logika low (0), yang berarti transistor tidak aktif dan tidak ada arus yang mengair pada kumparan, sehingga tidak ada medan magnet pada kumparan. Dan disisi lain P0.1 diberi logika high (1), sehingga kumparan yang terhubung ke P0.1 akan menghasilkan medan magnet. Sehingga motor akan beralih kearah kumparan yang terhubung ke P0.1 tersebut. Seterusnya jika logika high diberikan secara bergantian pada input dari driver motor stepper, sehingga motor stepper akan berputar sesuai dengan arah logika high (1) yang diberikan pada inputnya.

Untuk memutar dengan arah yang berlawanan dengan arah yang sebelumnya, sehingga logika high (1) pada input driver motor stepper harus diberikan secara bergantian dengan arah yang berlawanan dengan sebelumnya.

Program yang diberikan pada driver motor stepper untuk memutar motor stepper adalah sebagai berikut :

mov a,#11h putar: mov P0,a acall tunda Rl a jmp putar

program akan memasuki rutin putaran webcam. Nilai a diisikan ke port 0, sehingga sekarang nilai port 0 adalah 11h. ini berarti P0.0 dan P0.4 mendapatkan logika high sedangkan yang lainnya mendapatkan logika low, seperti table di bawah,

Tabal 4.1 Kaki pengisian data pada mikrokontroler AT89S51 port 0

P0.7 P0.6 P0.5 P0.4 P0.3 P0.2 P0.1 P0.0

P0 0 0 0 1 0 0 0 1

Program dilanjutkan dengan memanggil rutin tunda. Lamanya tunda akan mempengaruhi kecepatan perputaran motor. Semakin lama sehingga tunda, sehingga perputaran motor akan semakin lambat. Perintah berikutnya adalah Rl a, perintah ini akan memutar nilai yang ada pada akumulator (a), seperti tampak pada tabel di bawah ,

Tabel 4.2 Kaki pengisian data pada mikrokontroler AT89S51 nilai R1

a 0 0 0 1 0 0 0 1

Rl

a 0 0 1 0 0 0 1 0

Dst...

Nilai pada akumulator (a) yang awalnya 11h, setelah mendapat perintah Rl a, sehingga nilai pada akumulator (a) akan merubah menjadi 22h. Kemudian program akan melihat apakah kondisi sensor putaran webcam dalam keadaan high (1) atau low (0). Jika high (1),

Nilai yang ada pada akumulator (a), akan kembali diisikan ke port 0, sehingga nilai di port 0 akan berubah menjadi 22h, ini berarti P0.1 dan P0.5 mendapatkan logika high sedangkan yang lainnya mendapatkan logika low, seperti table di bawah

Tabel 4.3 Kaki pengisian data pada mikrokontroler AT89S51 nilai Port 0 menjadi 22h

P0.7 P0.6 P0.5 P0.4 P0.3 P0.2 P0.1 P0.0

P0 0 0 1 0 0 0 1 0

Sebelumnya telah dibahas bahwa P0.0, P0.1, P0.2, dan P0.3 dihubungkan ke masukan driver motor stepper, dengan program di atas sehingga P0.0, P0.1, P0.2, dan P0.3 akan mendapatkan nilai high (1) secara bergantian. Hal ini menyebabkan motor stepper akan berputar memputaran webcam.Hal yang sama juga berlaku ketika motor berputar kaearah sebaliknya, perbedaannya hanya pada perintah rotate. Jika pada perintah berlawanan arah jarum jam digunakan rotate left ( Rl ), sehingga pada perintah searah jarum jam digunakan perintah rotate right ( Rr). Perputaran perintah Rr diperlihatkan pada table berikut,

Tabel 4.4 Kaki pengisian data pada mikrokontroler AT89S51 nilai Rr

a 1 0 0 0 1 0 0 0

R r

a 0 1 0 0 0 1 0 0

Pengujian pada rangkaian sensor gerak ini dapat dilakukan dengan cara menghubungkan rangkaian ini dengan sumber tegangan 5 volt, kemudian meletakkan fotodioda dan infra merah secara berhadapan. Ketika diletakkan secara berhadapan, sehingga pancaran sinar infra merah akan mengenai fotodioda, sehingga menyebabkan LED indikator pada rangkaian penerima akan menyala, dan tegangan output rangkaian sebesar 0,2 volt. Namun ketika antara infra merah dan fotodioda diberi suatu penghalang, yang menyebabkan pancaran infra merah tidak mengenai fotodioda, hal ini menyebabkan LED indikator pada rangkaian penerima tidak menyala dan tegangan output dari rangkaian ini sebesar 4,8 volt.

Pengujian selanjutnya dilakukan dengan cara menghubungkan rangkaian ini dengan rangkaian mikrokontroler AT89S51, dan memberikan program tertentu pada mikrokontroler AT89S51.Untuk mendeteksi adanya sinyal yang dikirimkan oleh sensor, sehingga mikrokontroler harus diprogram untuk untuk dapat mengecek sinyal apa yang dikirimkan oleh sensor. Jika sinyal yang dikirimkan adalah sinyal high (1), berarti tidak ada orang yang masuk ke dalam ruangan atau melewati sensor, namun jika sinyal yang dikirimkan adalah sinyal low, sehingga ini berarti ada orang yang masuk ke dalam ruangan atau melewati sensor. Program untuk mendeteksi pengiriman sinyal dari rangkaian sensor ini adalah

Cek_sensor_masuk:

Jnb sensor_masuk, Cek_sensor_masuk Clr P0.0

. . .

Di awal program dibuat inisialisasi port, dimana rutin ini menunjukkan bahwa sensor masuk dihubungkan ke P1.3 . Kemudian program akan dilanjutkan dengan rutin cek sensor masuk. Pada rutin ini program akan melihat kondisi P1.3 yang dihubungkan ke sensor gerak, dengan menggunakan perintah JnB (jump if not bit), jika kondisi P1.3 bit (high), yang berarti tidak ada orang yang masuk ke dalam ruangan, sehingga program akan lompat ke rutin cek sensor masuk atau kembali lagi ke awal untuk proses pengecekan. Namun jika kondisi P1.3 notbit (low), sehingga program akan melanjutkan ke rutin Clr P0.0. Perintah ini akan menyebabkan LED yang terhubung ke P0.0 mati. Jika rangkaian telah berjalan sesuai dengan program yang diberikan, sehingga rangkaian telah bekerja dengan baik.

BAB 5

Dokumen terkait