PENGENDALI MOTOR STEPPER PADA PINTU BENDUNGAN OTOMATIS BERBASIS
MIKROKONTROLER AT89S51
TUGAS AKHIR
FATIMAH SRI HANDAYANI 072408007
PROGRAM STUDI D-III FISIKA INSTRUMENTASI
DEPARTEMEN FISIKA FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS SUMATERA UTARA MEDAN
2010
Universitas Sumatera Utara
PENGENDALI MOTOR STEPPER PADA PINTU BENDUNGAN OTOMATIS BERBASIS
MIKROKONTROLER AT89S51
TUGAS AKHIR
Diajukan untuk melengkapi syarat memperoleh gelar Ahli Madya
FATIMAH SRI HANDAYANI 072408007
PROGRAM STUDI D-III FISIKA INSTRUMENTASI DEPARTEMEN FISIKA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA
MEDAN 2010
Universitas Sumatera Utara
BAB 2
DASAR TEORI
2.1 Perangkat Keras
2.1.1 Prinsip Kerja Pembuka/Penutup Pintu
Pintu air sebagai sistem kontrol, yang akan digerakkan oleh motor. Mikrokontroler
AT89S51 sebagai pusat proses untuk mengendalikan semua perangkat pada pintu.
Mikrokontroler telah diprogram untuk dapat membaca data dan kemudian mengolah
semua data tersebut dan selanjutnya mengambil keputusan perangkat mana saja yang
harus dikendalikan. Berdasarkan hasil yang diperoleh dari mikrokontroler yaitu bila
air dalam bendungan terlalu berlebih dan air mengenai sensor, maka driver motor
akan menggerakkan motor dan pintu air akan membuka. Begitu juga sebaliknya, bila
air dalam bendungan sudah sama dengan data yang diberikan user dan sensor tidak
dikenai air, maka driver motor akan menggerakkan motor yang mengakibatkan pintu
air akan menutup. Ketinggian air dalam bendungan akan selalu terjaga. Air dalam
bendungan tidak akan berlebihan, karena sudah dikontrol oleh pintu air ini. Bila air
berlebihan, air akan dialirkan keluar melalui pintu air, yang selanjutnya akan dialirkan
ke sungai.
Universitas Sumatera Utara
2.1.2 Sensor Air Sedehana
Sensor air ini menggunakan prinsip benda terapung. Sensor air berfungi untuk
mendeteksi level ketinggian air pada bendungan atau waduk, dimana prinsip kerjanya
sama seperti saklar, saat air menyentuh sensor maka sensor akan aktif. Pada sensor ini
terdapat sebuah pelampung yang akan bergerak sesuai dengan level ketinggian air
yang menekannya dari bawah. Pada pelampung terdapat magnet yang akan menjadi
switch atau saklar penghubung antara kabel A dan B. Pada saat posisi pelampung
berada di bawah maka kabel A dan B tidak terhubung, atau dengan kata lain posisi ini
adalah posisi saklar OFF. Apabila posisi pelampung berada di atas maka akan terjadi
medan magnet yang dapat menghubungkan antara kabel A dan B, atau dengan kata
lain posisi ini adalah posisi saklar ON. Pada saat pelampung diatas maka kita dapat
mengidentifikasi bahwa ketinggian air pada bendungan telah meningkat.
2.1.3 Mikrokontroler AT89S51
Mikrokontroler sebagai suatu terobosan teknologi mikrokontoler dan mikrokomputer
hadir memenuhi kebutuhan pasar (market need) dan teknologi baru. Sebagai teknologi
baru, yaitu teknologi semikonduktor dengan kandungan transistor yang lebih banyak
namun hanya membutuhkan ruang kecil serta dapat diproduksi secara missal (dalam
jumlah banyak) sehingga harga menjadi lebih murah (dibandingkan mikroprosesor).
Sebagai kebutuhan pasar, mikrokontroller hadir untuk memenuhi selera industri dan
para konsumen akan kebutuhan dan keinginan alat-alat bantu dan mainan yang lebih
canggih.
Universitas Sumatera Utara
Ilustrasi yang mungkin bisa memberikan gambaran yang jelas dalam
penggunaan mikrokontroler adalah aplikasi mesin tiket dalam arena permainan yang
saat ini terkenal di Indonesia. Jika kita sudah selesai bermain, maka akan diberikan
suatu nilai, nilai inilah yang menentukan berapa jumlah tiket yang bisa diperoleh dan
jika dikumpulkan dapat ditukar dengan berbagai macam hadiah. Sistem tiket ini
ditangani dengan mikrokontroler, karena tidak mungkin menggunakan computer PC
yang harus dipasang disamping atau di belakang mesin permainan yang bersangkutan.
Selain sistem tiket, kita juga dapat menjumpai aplikasi mikrokontroler dalam
bidang pengukuran jarak jauh atau yang dikenal dengan sistem telemetri. Misalnya
pengukuran disuatu tempat yang membahayakan manusia, maka akan lebih nyaman
jika dipasang suatu sistem pengukuran yang bisa mengirimkan data lewat pemancar
dan diterima oleh stasiun pengamatan dari jarak yang cukup aman dari sumbernya.
Sistem pengukuran jarak jauh ini jelas membutuhkan suatu sistem akuisisi data
sekaligus sistem pengiriman data secara serial (melalui pemancar), yang semuanya itu
bisa diperoleh dari mikrokontroler yang digunakan.
Tidak seperti sistem komputer, yang mampu menangani berbagai macam
program aplikasi (misalnya pengolah kata, pengolah angka dan lain sebagainya),
mikrokontroler hanya bisa digunakan untuk satu aplikasi tertentu saja. Perbedaan
lainnya terletak pada perbandingan RAM-nya dan ROM. Pada sistem computer
perbandingan RAM dan ROM-nya besar, artinya program program pengguna
disimpan dalam ruang RAM yang relative besar, sedangkan rutin rutin antarmuka
perangkat keras disimpan dalam ruang ROM yang kecil. Sedangkan pada
mikrokontroler, perbandingan ROM dan RAM-nya yang besar artinya program
kontrol disimpan dalam ROM (bisa Masked ROM atau Flash PEROM) yang
Universitas Sumatera Utara
ukurannya relatif lebih besar, sedangkan RAM digunakan sebagai tempat
penyimpanan sementara, termasuk register register yang digunakan pada
mikrokontroler yang bersangkutan.
Mikrokontroler AT89S51 merupakan salah satu keluarga dari MCS-51
keluaran ATMEL. Jenis Mikrokontroler ini pada prinsipnya dapat digunakan untuk
mengolah data perbit ataupun data 8 bit secara bersamaan.
Pada prinsipnya program pada mikrokontroller dijalankan bertahap, jadi pada
program itu sendiri terdapat beberapa set instruksi dan tiap instruksi itu dijalankan
secara bertahap atau berurutan.
Beberapa fasilitas yang dimiliki oleh mikrokontroler AT89S51 adalah sebagai
berikut :
1. Sebuah Central Processing Unit 8 bit
2. Osilatc : internal dan rangkaian pewaktu
3. RAM internal 128 byte
4. Flash memori 4 Kbyte
5. Lima buah jalur interupsi (dua buah interupsi eksternal dan tiga buah interupsi
internal)
6. Empat buah programable port I/O yang masing-masing terdiri dari delapan buah
jalur I/O
7. Sebuah port serial dengan kontrol serial full duplex UART
8. Kemampuan untuk melaksanakan operasi aritmatika dan operasi logika
9. Kecepatan dalam melaksanakan instruksi per siklus 1 mikrodetik pada frekuensi
12 MHz.
Universitas Sumatera Utara
2.1.3.1 Kontruksi AT89S51
Mikrokontroler AT89S51 hanya memerlukan tambahan 3 kapasitor, 1 resistor dan 1
kristal serta catu daya 5 volt. Kapasitor 10 mikro farad dan resistor 10 kilo Ohm
dipakai untuk membentuk rangkaian riset. Dengan adanya rangkaian riset ini
AT89C4051 otomatis diriset begitu rangkaian menerima catu daya. Kristal dengan
frekuensi maksimum 24MHz dan kapasitor 30 mikro-farad dipakai untuk melengkapi
rangkaian oscilator pembentuk clock yang menentukan kecepatan kerja
mikrokontroller. Memori merupakan bagian yang sangat penting pada
mikrokontroller. Mikrokontroller memiliki dua macam memori yang sifatnya berbeda.
Read Only Memory (ROM) yang isinya tidak berubah meskipun IC
kehilangan catu daya. Sesuai dengan keperluannya, dalam susunan MCS-51 memori
penyimpanan program ini dinamakan sebagai memori program. Ada berbagai jenis
ROM. Untuk mikrokontroller dengan program yang sudah baku dan diproduksi secara
massal, program diisikan kedalam ROM pada saat IC Mikrokontroller dicetak
dipabrik IC. Untuk keperluan tertentu mikrokontroller menggunakan ROM yang dapat
diisi ulang atau Programble Eraseable ROM yang disingkat menjadi PROM
(PEROM). Dulu banyak UV-EPROM (Ultra Violet Eraseable Programble ROM) yang
kemudian dinilai mahal dan ditinggalkan setelah ada flash PEROM yang harganya
jauh lebih murah.
Random Access Memory (RAM) isinya akan sirna begitu IC kehilangan catu
daya, dipakai untuk menyimpan data pada saat program bekerja. RAM yang dipakai
Universitas Sumatera Utara
untuk menyimpan data ini disebut sebagai memori data. Jenis memori yang dipakai
untuk memori program AT89S51 adalah flash PEROM, program untuk
mengendalikan Mikrokontroler diisikan ke memori itu lewat bantuan alat yang
dinamakan sebagai AT89C4051 flash PEROM Programmer. Memori data yang
disediakan dalam chip AT89S51 sebesar 128 kilo byte meskipun hanya kecil saja tapi
untuk banyak keperluan memori kapasitas itu sudah cukup.
AT89S51 dilengkapi UART (Universal Asyncronous Receiver/Transmiter)
yang biasa dipakai untuk komunikasi data secara seri. Jalur untuk komunikasi data
seri (RXD dan TXD) diletakkan berhimpitan dengan P1.0 dan P1.1 pada kaki nomor 2
dan 3, sehingga kalau sarana input/output bekerja menurut fungsi waktu. Clock
penggerak untaian pencacah ini bisa berasal dari oscillator kristal atau clock yang
diumpan dari luar lewat T0 dan T1/T0 dan T1 berhimpitan dengan P3.4 dan P3.5,
sehingga P3.4 dan P3.5 tidak bisa dipakai untuk jalur input/output paralel kalau T0
dan T1 dipakai.
AT89S51 mempunyai enam sumber pembangkit interupsi, dua diantaranya
adalah sinyal interupsi yang diumpankan ke kaki INT0 dan INT1. Kedua kaki ini
berhimpitan dangan P3.2 dan P3.3 sehingga tidak bisa dipakai sebagai jalur
input/output paralel kalau INT0 dan INT1 dipakai untuk menerima sinyal interupsi.
Port1 dan 2, UART, Timer 0, Timer 1 dan sarana lainnya merupakan yang secara fisik
merupakan RAM khusus, yang ditempatkan di Special Function Register (SFR).
Universitas Sumatera Utara
2.1.3.2 Pin-Pin pada Mikrokontroler AT89S51
Deskripsi pin-pin pada Mikrokontroler AT89S51 :
Gambar 2.1 IC Mikrokontroler AT89S51
1. VCC (Pin 40)
Suplai tegangan
2. GND (Pin 20 )
Ground
Universitas Sumatera Utara
3. Port 0 (Pin 39-Pin 32)t
Port 0 dapat berfungsi sebagai I/O biasa, low order multiplex address/data ataupun
penerima kode byte pada saat flash progamming. Pada fungsi sebagai I/O biasa
port ini dapat memberikan output sink ke delapan buah TTL input atau dapat
diubah sebagai input dengan memberikan logika 1 pada port tersebut.
Pada fungsi sebagai low order multiplex address/data, port ini akan mempunyai
internal pull up. Pada saat flash programming diperlukan eksternal pull up,
terutama pada saat verifikasi program.
4. Port 2 (Pin 21 pin 28)
Port 2 berfungsi sebagai I/O biasa atau high order address, pada saat mengakses
memori secara 16 bit. Pada saat mengakses memori 8 bit, port ini akan
mengeluarkan isi dari P2 special function register. Port ini mempunyai internal
pull up dan berfungsi sebagai input dengan memberikan logika 1. Sebagai output,
port ini dapat memberikan output sink keempat buah input TTL.
5. Port 3 (Pin 10 pin 17)
Port 3 merupakan 8 bit port I/O dua arah dengan internal pull up. Port 3 juga
mempunyai fungsi pin masing-masing, yaitu sebagai berikut :
Universitas Sumatera Utara
Tabel 2.1 Fungsi Masing-masing Pin pada Port 3 Mikrokontroler
Nama Pin Fungsi Alternatif
P3.0 (pin 10) RXD Untuk menerima data port serial
P3.1 (pin 11) TXD Untuk mengirim data port serial
P3.2 (pin 12) INT0 Interupsi Eksternal waktu pencacah 0
P3.3 (pin 13) INT1 Interupsi Eksternal waktu pencacah 1
P3.4 (pin 14) T0 Input Eksternal waktu pencacah 0
P3.5 (pin 15) T1 Input Eksternal waktu pencacah 1
P3.6 (pin 16) WR Jalur menulis memori data eksternal
P3.7 (pin 17 ) RD Jalur membaca memori data eksternal
6. RST (pin 9)
Reset akan aktif dengan memberikan input high selama 2 cycle.
7. ALE/PROG (pin 30)
Address latch Enable adalah pulsa output untuk me - latch byte bawah dari alamat
selama mengakses memori eksternal. Selain itu, sebagai pulsa input progam
(PROG) selama memprogam Flash.
8. SEN (pin 29)
Progam store enable digunakan untuk mengakses memori progam eksternal.
Universitas Sumatera Utara
9. EA (pin 31)
Pada kondisi low, pin ini akan berfungsi sebagai EA yaitu mikrokontroler akan
menjalankan progam yang ada pada memori eksternal setelah sistem direset. Jika
kondisi high, pin ini akan berfungsi untuk menjalankan progam yang ada pada
memori internal. Pada saat flash programming, pin ini akan mendapat tegangan 12
Volt.
10. XTAL1 (pin 19)
Input untuk clock internal.
11. XTAL2 (pin 18)
Output dari osilator.
2.1.4 Driver Motor stepper
Motor stepper yang digunakan pada contoh ini bertipe hibrid unipolar, memiliki empat
fasa dan panjang langkah sebesar 1,80
per langkah. Motor diharapkan dapat berputar
dalam dua arah dan memiliki dua kecepatan. Karena itu diperlukan pengendali motor
stepper yang memiliki empat keluaran pulsa dengan kemampuan dua arah perputaran
dan dua macam frekuensi pulsa guna mengatur kecepatan motor.
Universitas Sumatera Utara
Gambar 2.2 (a) bentuk pulsa keluaran dari driver motor stepper (b) penerapan
pulsa driver pada motor stepper dan arah putaran yang bersesuaian
Arah putaran motor dapat diatur dengan mengatur kondisi logika masukan
pada pena 13 dari IC 74LS86. Jika diterapkan logika 0, maka motor akan berputar
berlawanan dengan arah jarum jam (counter clock wise) sedangkan jika diterapkan
logika 1, maka motor akan berputar dengan arah sesuai dengan arah jarum jam (clock
wise).
Kecepatan motor ditentukan oleh frekuensi masukan clock yang berbentuk
gelombang persegi empat. Pulsa clock ini dibangkitkan oleh rangkaian osilator
pembangkit pulsa berbasis IC timer 555.
Gambar 2.3 bentuk gelombang keluaran rangkaian pembangkit pulsa
Universitas Sumatera Utara
Pulsa di atas memiliki frekuensi dan periode yang konstan. Periode dari satu
gelombang penuh adalah Tt (Time total). Th (Time high) adalah periode sinyal positif
atau tinggi sedangkan Tl (Time low) adalah periode sinyal nol atau rendah. Periode
gelombang keluaran tersebut ditentukan oleh VR1, VR2, R1, R2 dan C1. Kapasitor
C2 hanya berfungsi sebagai penstabil rangkaian. Untuk menghitung Periode keluaran,
dapat dilakukan dengan rumus berikut ini:
Th = 0,693 C1 (VR1 + R1 + R2)
Tl = 0,693 C1 R2
Tt = Th + T
Jadi periode gelombang (Tt) adalah:
f = Tt1
dimana f adalah frekunsi (Hz)
Tt adalah time total ( sekon )
Karena motor yang digunakan terdiri atas 4 phase dan memiliki kecepatan
sudut 1,80
v = f
per langkah, maka:
dimana : v adalah kecepatan motor ( rpm )
f adalah frekuensi (Hz )
Universitas Sumatera Utara
digunakan transistor bipolar (BJT) tipe TIP31 yang disusun sebagai open collector
switch. Transistor TIP31 adalah tergolong transistor daya menengah yang mampu
mengalirkan arus puncak hingga 5 A. Transistor-transistor ini harus dilengkapi oleh
lempengan pendingin dari aluminium untuk mengurangi panas yang terjadi akibat
besarnya arus yang mengalir. L1 - L4 adalah lilitan (wound) dalam motor stepper.
Dioda D1 - D4 berfungsi sebagai pelindung rangkaian dari tegangan tinggi (back
EMF) yang mungkin timbul dari lilitan motor setepper.
Keluaran dari rangkain pengendali motor stepper (phase1 - phase4)
dihubungkan ke masukan dari empat transistor tersebut melalui R1 - R2. Jika masukan
bernilai sinyal rendah, maka transistor akan berada pada keadaan cut-off sehingga arus
dalam lilitan motor stepper tidak mengalir. Jika masukan bernilai tinggi (diatas
tegangan ambang transistor), maka transistor akan ON sehingga tegangan antara
kolektor dengan emitor (VCE
) turun dan arus dapat mengalir ke tanah (ground).
Dengan begitu motor stepper berputar. Jika sinyal keluaran dari pengendali motor
stepper berbentuk seperti L4 akan dialiri arus secara berurutan. Dengan begitu rotor
dari motor stepper akan berputar sesuai dengan arah urutan.
2.1.5 Motor Stepper
2.1.5.1 Pengertian Motor Stepper
Motor stepper adalah perangkat elektromekanis yang bekerja dengan mengubah pulsa
elektronis menjadi gerakan mekanis diskrit. Motor stepper bergerak berdasarkan
urutan pulsa yang diberikan kepada motor. Karena itu, untuk menggerakkan motor
Universitas Sumatera Utara
stepper diperlukan pengendali motor stepper yang membangkitkan pulsa pulsa
periodik. Sudut rotasi motor proporsional dengan pulsa masukan sehingga lebih
mudah diatur
Stepper motor merupakan salah satu tipe motor yang sangat populer digunakan
sebagai peralatan penggerak/pemutar (movement unit/actuator) dalam sistem kontrol
otomatis di industri, instrumentasi, bahan printer yang sering kita pakai sehari-hari.
Motor stepper dikendalikan sepenuhnya oleh mikrokontroller, karena mikrokontroller
hanya mampu memberikan supplay tegangan 5 Volt dan dengan arus sekitar 20 mA,
jadi mikrokontroler tidak mampu untuk menggerakkan motor stepper.maka digunakan
driver penggerak untuk mensupplay arus yang dibutuhkan motor stepper tersebut.
Motor Stepper merupakan motor DC yang dapat diatur posisinya dengan
akurat pada posisi tertentu dan dapat berputar kearah yang diinginkan dengan
memberi sinyal - sinyal pulsa dengan pola tertentu. Biasanya motor stepper digunakan
untuk aplikasi - aplikasi yang membutuhkan torsi kecil dengan akurasi yang tinggi,
seperti pada penggerak head pada flopy disk drive atau pada CD-ROM
2.1.5.2 Konstruksi Motor Stepper
Motor stepper adalah motor listrik yang dikendalikan dengan pulsa-pulsa digital,
bukan dengan memberikan tegangan yang terus-menerus. Deretan pulsa
diterjemahkan menjadi putaran shaft, dimana setiap putaran membutuhkan jumlah
pulsa yang ditentukan. Satu pulsa menghasilkan satu kenaikan putaran atau step, yang
merupakan bagian dari satu putaran penuh. Oleh karena itu, perhitungan jumlah pulsa
Universitas Sumatera Utara
dapat diterapkan untuk mendapatkan jumlah putaran yang diinginkan. Perhitungan
pulsa secara otomatis menunjukkan besarnya putaran yang telah dilakukan, tanpa
memerlukan informasi balik (feedback).
Gambar 2.4 Pulsa keluaran motor stepper
Ketepatan kontrol gerak motor stepper terutama dipengaruhi oleh jumlah step
tiap putaran, semakin banyak jumlah step, semakin tepat gerak yang dihasilkan. Untuk
ketepatan yang lebih tinggi, beberapa driver motor stepper membagi step normal
menjadi setengah step (half step) atau mikro step.
Gambar 2.5 Mikro step dan bagian dari motor stepper
Bagian-bagian dari motor stepper yaitu tersusun atas rotor, stator, bearing, casing dan
sumbu.
Rotor pada motor stepper terdiri dari poros, roda dan sudu gerak.
Universitas Sumatera Utara
Stator terdiri dari beberapa kutub. Setiap kutub memilki lilitan yang menghasilkan
medan magnet yang akan menggerakkan rotor. Pemberian arus yang berurutan
pada kutub kutubnya menyebabkan medan magnet berputar yang akan menarik
rotor ikut berputar. Stator juga memiliki dua bagian plat yaitu plat inti dan plat
lilitan. Plat inti dari motor stepper ini biasanya menyatu dengan casing.
Casing motor stepper terbuat dari aluminium dan ini berfungsi sebagai dudukan
bearing dan stator pemegangnya adalah baud sebanyak empat buah. Di dalam
motor stapper memiliki dua buah bearing yaitu bearing bagian atas dan bearing
bagian bawah.
Sumbu merupakan pegangan dari rotor dimana sumbu merupakan bagian tengah
dari rotor, sehingga ketika rotor berputar sumbu ikut berputar.
Gambar 2.6 Bagian stator motor dan rotor motor stepper
Pada motor stepper umumnya tertulis spesifikasi Np (pulsa/rotasi). Sedangkan
kecepatan pulsa diekspresikan sebagai pps (pulsa per second) dan kecepatan putar
umumnya ditulis sebagai (rotasi/menit atau rpm). Kecepatan putar motor stepper
(rpm) dapat diekspersikan menggunakan kecepatan pulsa (pps) sebagai berikut.
Universitas Sumatera Utara
Oleh karena 1 rotasi = 360o
, maka tingkat ketelitian motor stepper dapat diekspresikan
dalam rumus sebagai berikut:
2.1.5.3 Prinsip Kerja Motor Stepper
Pada dasarnya, prinsip kerja stepper motor ini sama dengan DC Motor, yaitu
pembangkitan medan magnit untuk memperoleh gaya tarik ataupun gaya lawan
dengan menggunakan catu tegangan DC pada lilitan/kumparannya. Perbedaanya
terletak pada gaya yang digunakan. Bila DC Motor menggunakan gaya lawan untuk
melawan atau mendorong fisik kutub magnet yang dihasilkan maka stepper motor
menggunakan gaya tarik untuk menarik fisik kutub magnet yang berlawanan sedekat
mungkin ke posisi kutub magnet dihasilkan oleh kumparan. Oleh karena itu, pada DC
Motor, putaranya relatif tidak terkendali, jarak tolakannya sangat relatif, tergantung
pada besar medan magnet yang dihasilkan. Sebaliknya pada stepper motor, gerakan
Universitas Sumatera Utara
motor terkendali karena begitu kutub yang berlawanan tadi sudah tarik-menarik dalam
posisi yang paling dekat, gerakan akan berhenti dan direm.
Bila kumparan mendapat tegangan dengan analogi mendapat logika 1, maka
akan dibangkitkan kutub magnet yang berlawanan dengan kutub magnet tetap pada
rotor. Dengan demikian, posisi kutub magnet rotor akan ditarik mendekati lilitan yang
menghasilkan kutub magnet tetap pada rotor itu akan berpindah posisi menuju kutub
magnet lilitan yang dihasilkan sekarang. Berarti, telah terjadi gerakan 1 step. Bila
langkah ini diulang terus-menerus, dengan memberikan tegangan secara bergantian ke
lilitan-lilitan yang bersebelahan, rotor akan berputar.
Logika perputaran rotor tersebut dapat dianalogikan secara langsung dengan
data 0 atau 1 yang diberikan secara serentak terhadap semua lilitan stator motor. Hal
ini sangat memudahkan bagi sistem designer dalam menciptakan putaran-putaran
stepper motor secara bebas dengan hanya mempermainkan bit-bit pada data yang
dikirimkan ke rangkaian interface stepper motor tersebut.
Untuk stepper motor 4 fase, pada prinsipnya ada dua macam cara kerja, yaitu
full stef dan half stef. Penjabatan formasi logika dalam tabel ini adalah untuk
mewakili putaran 360 relatif terhadap fase dari motor.
Stepper Motor yang dijumpai di pasaran sebagian besar melipatgandakan
jumlah kutub magnit kumparannya dengan memperbanyak kumparan stator sejenis
melingkar berurutan dalam konfigurasi penuh 360 rill terhadap poros rotor ( dengan
Universitas Sumatera Utara
jumlah fase tetap). Hal ini dilakukan untuk memperoleh efek rill putaran 1 stef yang
lebih presisi, misalnya 3,6/stef atau 1,8/stef.
Untuk memperoleh efek cekraman yang lebih kuat, modus data yang diberikan
pada mode full wave dapat dimanipulasi dengan memberikan double aktif bits pada
setiap formasi. Dengan cara ini, torsi yang dihasilkan akan lebih besar. Namun
demikian, penggunaan arus akan berlipat dua karena pada saat yang bersamaan dua
lilitan mendapatkan arus kemudi. Dalam aplikasinya, sumber daya yang tersedia perlu
diperhatikan.
Tabel 2.2 Formasi tegangan/logika pada Stepper Motor
Stef ke full stef Half stef
1 1 0 0 0 1 0 0 0
2 0 1 0 0 1 1 0 0
3 0 0 1 0 0 1 0 0
4 0 0 0 1 0 1 1 0
5
Berulang ke stef 1
0 0 1 0
6 0 0 1 1
7 0 0 0 1
8 1 0 0 1
Berulang ke stef 1
Universitas Sumatera Utara
Tabel 2.3 Formasi double active bit untuk mode putaran full step
Stef ke Full step
1 1 1 0 0
2 0 1 1 0
3 0 0 1 1
4 1 0 0 1
Pada full step, suatu titik pada sebuah kutub magnet dirotor akan kembali
mendapat tarikan medan magnet stator pada lilitan yang sama setelah step 4.
Berikutnya, dapat diberikan lagi mulai dari stef satu 1. Untuk Half step semua kutub
magnet pada rotor akan kembali mendapatkan tarikan dari medan magnet lilitan yang
sama setelah step 8. Berikutnya mulai step 1.
2.1.5.4 Aplikasi Motor Stepper
Aplikasi penggunaan motor stepper dapat juga di jumpai dalam bidang industri atau
untuk jenis motor stepper kecil dapat digunakan dalam perancangan suatu alat
mekatronik atau robot. Motor stepper berukuran besar digunakan, misalnya, dalam
proses pengeboran logam yang menghendaki ketepatan posisi pengeboran, dalam hal
ini dilakukan oleh sebuah robot yang memerlukan ketepatan posisi dalam gerakan
lengannya dan lain-lain.
Universitas Sumatera Utara
Motor Stepper merupakan motor DC yang dapat diatur posisinya dengan
akurat pada posisi tertentu dan dapat berputar kearah yang diinginkan dengan
memberi sinyal - sinyal pulsa dengan pola tertentu. Biasanya motor stepper digunakan
untuk aplikasi - aplikasi yang membutuhkan torsi kecil dengan akurasi yang tinggi,
seperti pada penggerak head pada flopy disk drive atau pada CD-ROM
Pada gambar di bawah ditunjukkan dasar susunan sebuah motor stepper.
Gambar 2.7 Diagram motor stepper
Magnet permanen N-S berputar kearah medan magnet yang aktif. Apabila
kumparan stator dialiri arus sedemikian rupa, maka akan timbul medan magnet dan
rotor akan berputar mengikuti medan magnet tersebut. Setiap pengalihan arus ke
kumparan berikutnya menyebabkan medan magnet berputar menurut suatu sudut
tertentu, biasanya informasi besar sudut putar tertulis pada badan motor stepper yang
bersangkutan. Jumlah keseluruhan pengalihan menentukan sudut perputaran motor.
Jika pengalihan arus ditentukan, maka rotor akan berhenti pada posisi terakhir. Jika
kecepatan pengalihan tidak terlalu tinggi, maka slip akan dapat dihindari. Sehingga
tidak di perlukan umpan balik (feedback) pada pengendalian motor stepper.
A
D
B
A
C
B
U
S
Universitas Sumatera Utara
Motor stepper banyak digunakan untuk aplikasi-aplikasi yang biasanya cukup
menggunakan torsi yang kecil, seperti untuk penggerak piringan disket atau piringan
CD. Dalam hal kecepatan, kecepatan motor stepper cukup cepat jika dibandingkan
dengan Motor DC. Motor stepper merupakan Motor DC yang tidak memiliki
komutator. Pada umumnya motor stepper hanya mempunyai kumparan pada statornya
sedangkan pada bagian rotornya merupakan permanen magnet. Dengan model motor
seperti ini maka motor stepper dapat diatur posisinya pada posisi tertentu dan/atau
berputar ke arah yang diinginkan, searah jarum jam atau sebaliknya.
Kecepatan motor stepper pada dasarnya ditentukan oleh kecepatan pemberian
data pada komutatornya. Semakin cepat data yang diberikan maka motor stepper akan
semakin cepat pula putarannya. Pada kebanyakan motor stepper kecepatannya dapat
diatur dalam daerah frekuensi audio dan akan menghasilkan putaran yang cukup
cepat.
2.1.5.5 Motor Stepper Sebagai Pengendali Pintu Bendungan
Motor stepper yang digunakan merupakan motor stepper jenis hibrid unipolar. Motor
stepper unipolar terdiri dari dua lilitan yang memiliki center tap. Center tap dari
masing-masing lilitan ada yang berupa kabel terpisah ada juga yang sudah terhubung
didalamnya sehingga center tap yang keluar hanya satu kabel. Untuk motor stepper
yang center tapnya ada pada masing masing lilitan kabel inputnya ada 6 kabel.
Namun jika center tapnya sudah terhubung di dalam kabel inputannya hanya 5 kabel.
Universitas Sumatera Utara
Center tap dari motor stepper dapat dihubungkan ke pentanahan atau ada juga
yang menghubungkannya ke +VCC hal ini sangat dipengaruhi oleh driver yang
digunakan. Sebagai gambaran dapat dilihat konstruksi motor stepper unipolar pada
gambar di bawah ini:
Gambar 2.9 Motor Stepper Unipolar
Motor stepper unipolar terdiri dari dua buah motor yang masing-masing
mempunyai dua buah kumparan sedangkan motor stepper bipolar terdiri dari sebuah
motor dengan dua buah kumparan.
Pada pintu bendungan digunakan sebuah penggerak motor yang akan
menggerakkan motor stepper sehingga dapat membuka atau menutup pintu bendungan
tersebut. Pengaturan gerak pintu air dapat dikontrol secara digital menggunakan
mikrokontroler. Ketinggian air di bendungan akan selalu stabil sesuai dengan range
ketinggian air yang telah ditentukan sebelumnya.
Pada stepper motor, gerakan motor terkendali karena begitu kutub yang
berlawanan tadi sudah tarik-menarik dalam posisi yang paling dekat, gerakan akan
berhenti dan direm. Pergerakan stepper motor berdasarkan perubahan logika pada
input lilitan-lilitanya maka menjadi mudah bagi programmer untuk mengubah arah
gerakan dan kedudukan rotor pada posisi yang akurat. Ini adalah salah satu
Universitas Sumatera Utara
keuntungan dari penggunaan stepper motor. Untuk membuat gerakan yang lebih
presisi, biasanya jumlah batang magnet di rotor diperbanyak dan lilitan dibuat
berpasangan sesuai posisi kutub magnet rotor. Cara lain adalah menggunakan sistem
gear pada poros rotor tanpa mengubah karakteristik stepper motornya.
Kecepatan motor stepper pada dasarnya ditentukan oleh kecepatan pemberian
data pada komutatornya. Semakin cepat data yang diberikan maka motor stepper akan
semakin cepat pula berputarnya. Pada kebanyakan motor stepper kecepatannya dapat
diatur dalam daerah frekuensi audio dan akan menghasilkan putaran yang cukup
cepat. Untuk mengatur gerakan motor per step-nya dapat dilakukan dengan 2 cara
berdasarkan simpangan sudut gerakannya yaitu full step dan half step.
Ketepatan kontrol gerak motor stepper terutama dipengaruhi oleh jumlah
step tiap putaran, semakin banyak jumlah step maka semakin tepat gerak yang
dihasilkan. Untuk ketepatan yang lebih tinggi, beberapa driver motor stepper membagi
step normal menjadi setengah step (half step) atau mikro step.
2.2 Perangkat lunak
2.2.1 Bahasa Assembly MCS-51
Bahasa yang digunakan untuk memprogram IC mikrokontroler AT89S51 adalah
bahasa assembly untuk MCS-51. angka 51 merupakan jumlah instruksi pada bahasa
ini hanya ada 51 instruksi, antara lain yaitu :
Universitas Sumatera Utara
1. Instruksi MOV
Perintah ini merupakan perintah untuk mengisikan nilai ke alamat atau register
tertentu. Pengisian nilai dapat secara langsung atau tidak langsung.
Contoh pengisian nilai secara langsung
MOV R0,#20h
Perintah di atas berarti : isikan nilai 20 Heksadesimal ke register 0 (R0).
Tanda # sebelum bilangan menunjukkan bahwa bilangan tersebut adalah nilai.
Contoh pengisian nilai secara tidak langsung
MOV 20h,#80h
...........
............
MOV R0,20h
Perintah di atas berarti : isikan nilai yang terdapat pada alamat 20
Heksadesimal ke register 0 (R0).
Tanpa tanda # sebelum bilangan menunjukkan bahwa bilangan tersebut adalah
alamat.
2. Instruksi DJNZ
Insruksi DJNZ (DECREAMENT JUMP IF NOT ZERO) ini merupakan
perintah untuk mengurangi nilai register tertentu dengan 1 dan lompat jika
hasil pengurangannya belum nol. Contoh ,
MOV R0,#80h
Loop: ...........
............
Universitas Sumatera Utara
DJNZ R0,Loop
............
R0 -1, jika belum 0 lompat ke loop, jika R0 = 0 maka program akan
meneruskan ke perintah pada baris berikutnya.
3. Instruksi ACALL
Instruksi ACALL ini berfungsi untuk memanggil suatu rutin tertentu. Contoh :
.............
ACALL TUNDA
.............
TUNDA:
.................
4. Instruksi RET
Instruksi RETURN (RET) ini merupakan perintah untuk kembali ke rutin
pemanggil setelah instruksi ACALL dilaksanakan. Contoh,
ACALL TUNDA
.............
TUNDA:
.................
RET
Universitas Sumatera Utara
5. Instruksi JMP
Instruksi JMP (JUMP) ini merupakan perintah untuk lompat ke alamat
tertentu. Contoh,
Loop:
.................
..............
JMP Loop
6. Instruksi JB
Instruksi JB (JUMP IF BIT) ini merupakan perintah untuk lompat ke alamat
tertentu, jika pin yang dimaksud berlogika high (1). Contoh,
Loop:
JB P1.0,Loop
.................
7. Instruksi JNB
Instruksi JNB (JUMP IF NOT BIT) ini merupakan perintah untuk lompat ke
alamat tertentu, jika pin yang dimaksud berlogika Low (0). Contoh,
Loop:
JNB P1.0,Loop
.................
8. Instruksi CJNE
Instruksi CJNE (COMPARE JUMP IF NOT EQUAL) ini berfungsi untuk
membandingkan nilai dalam suatu register dengan suatu nilai tertentu. Contoh,
Universitas Sumatera Utara
Loop:
................
CJNE R0,#20h,Loop
................
Jika nilai R0 tidak sama dengan 20h, maka program akan lompat ke rutin
Loop. Jika nilai R0 sama dengan 20h,maka program akan melanjutkan
instruksi selanjutnya.
9. Instruksi DEC
Instruksi DEC (DECREAMENT) ini merupakan perintah untuk mengurangi
nilai register yang dimaksud dengan 1. Contoh,
MOV R0,#20h R0 = 20h
................
DEC R0 R0 = R0 1
.............
10. Instruksi INC
Instruksi INC (INCREAMENT) ini merupakan perintah untuk menambahkan
nilai register yang dimaksud dengan 1. Contoh,
MOV R0,#20h R0 = 20h
................
INC R0 R0 = R0 + 1
..............
Universitas Sumatera Utara
2.2.2 Software 8051 Editor, Assembler, Simulator
Instruksi-instruksi yang merupakan bahasa assembly tersebut dituliskan pada sebuah
editor, yaitu 8051 Editor, Assembler, Simulator. Tampilannya seperti di bawah ini.
Gambar 2.9 Software 8051 Editor, Assembler, Simulator
Setelah program selesai ditulis, kemudian di-save dan kemudian di-Assemble
(di-compile). Pada saat di-assemble akan tampil pesan peringatan dan kesalahan. Jika
masih ada kesalahan atau peringatan, itu berarti ada kesalahan dalam penulisan
perintah atau ada nama subrutin yang sama, sehingga harus diperbaiki terlebih dahulu
sampai tidak ada pesan kesalahan lagi.
Universitas Sumatera Utara
Software 8051IDE ini berfungsi untuk merubah program yang kita tuliskan ke
dalam bilangan heksadesimal, proses perubahan ini terjadi pada saat peng-compile-an.
Bilangan heksadesimal inilah yang akan dikirimkan ke mikrokontroller.
2.2.3 Software Downloader
Untuk mengirimkan bilangan-bilangan heksadesimal ini ke mikrokontroller digunakan
software ISP- Flash Programmer 3.0a yang dapat didownload dari internet.
Tampilannya seperti gambar di bawah ini
Gambar 2.10 ISP- Flash Programmer
Cara menggunakannya adalah dengan meng-klik Open File untuk mengambil
file heksadesimal dari hasil kompilasi 8051IDE, kemudian klik Write untuk
mengisikan hasil kompilasi tersebut ke mikrokontroller.
Universitas Sumatera Utara
BAB 3
RANCANG BANGUN DAN PROGRAM
3.1 Diagram Blok Rangkaian
pintu Motor stepper Driver stepper motor
AT89S51
Saklar batas tutup
Saklar batas buka
Sensor air
Gambar 3.1 Diagram Blok Sistem Pembuka/Penutup Pintu
Fungsi tiap blok:
Sensor air
merupakan bagian yang berfungi mendeteksi level ketinggian air pada
bendungan atau waduk, dimana prinsip kerjanya sama seperti saklar, saat air
menyentuh sensor maka sensor akan aktif.
Universitas Sumatera Utara
Mikrokontroler AT89S51
merupakan pusat proses untuk mengendalikan semua perangkat pada pintu. Pada
blok ini mikrokontroler telah diprogram untuk dapat membaca data dari
penerima infra merah kemudian mengolah semua data tersebut dan selanjutnya
mengambil keputusan perangkat mana saja yang harus dikendalikan.
Driver Stepper Motor
berfungsi untuk mengendalikan arah putaran motor stepper, sehingga pintu
dapat bergeser dengan baik. Pada blok ini digunakan beberapa transistor untuk
men-drive motor agar dapat berputar dan mengubah polaritas tegangan motor
sehingga dapa mengubah arat putaran motor.
Motor Stepper
Motor ini berfungsi sebagai pengeser pintu, yaitu untuk membuka dan menutup
pintu.
Saklar Batas buka
Saklar ini merupakan batas terbukanya pintu, saklar ini dikendalikan oleh
mikrokontroler AT89S51.
Saklar Batas Tutup
Saklar ini merupakan batas tertutupnya pintu, saklar ini dikendalikan oleh
mikrokontroler AT89S51.
Universitas Sumatera Utara
Vreg
LM7805CT
IN OUT
TIP32C
100ohm
100uF
330ohm220V 50Hz 0Deg
TS_PQ4_12
2200uF 1uF1N5392GP
1N5392GP
12 Volt
5 Volt
3.2 Perancangan Power Supplay (PSA)
Rangkaian ini berfungsi untuk mensupplay tegangan ke seluruh rangkaian yang ada.
Rangkaian PSA yang dibuat terdiri dari dua keluaran, yaitu 5 volt dan 12 volt,
keluaran 5 volt digunakan untuk mensupplay tegangan ke seluruh rangkaian,
sedangkan keluaran 12 volt digunakan untuk mensuplay tegangan ke motor stepper.
Rangkaian power supplay ditunjukkan pada gambar 3.1 berikut ini :
Gambar 3.2 Rangkaian Power Supplay (PSA)
Trafo CT merupakan trafo stepdown yang berfungsi untuk menurunkan
tegangan dari 220 volt AC menjadi 12 volt AC. Kemudian 12 volt AC akan
disearahkan dengan menggunakan dua buah dioda, selanjutnya 12 volt DC akan
diratakan oleh kapasitor 2200 F. Regulator tegangan 5 volt (LM7805CT) digunakan
agar keluaran yang dihasilkan tetap 5 volt walaupun terjadi perubahan pada tegangan
masukannya. LED hanya sebagai indikator apabila PSA dinyalakan. Transistor PNP
TIP 32 disini berfungsi untuk mensupplay arus apabila terjadi kekurangan arus pada
rangkaian, sehingga regulator tegangan (LM7805CT) tidak akan panas ketika
Universitas Sumatera Utara
5VVCC
5VVCC
10uF
21
30pF30pF
XTAL 12 MHz
AT89S51
P0.3 (AD3)
P0.0 (AD0)
P0.1 (AD1)
P0.2 (AD2)
VccP1.0
P1.1
P1.2
P1.3
P1.4
P1.5
P1.6
P1.7
P0.4 (AD4)
P0.5 (AD5)
P0.6 (AD6)
P0.7 (AD7)RST
EA/VPPP3.0 (RXD)
P3.1 (TXD)
P3.2 (INT0)
P3.3 (INT1)
P3.4 (T0)
ALE/PROG
PSEN
P2.7 (A15)
P2.6 (A14)
P2.5 (A13)
P2.4 (A12)
P2.3 (A11)
P2.2 (A10)
P2.1 (A9)
P3.6 (WR)
P3.5 (T1)
P3.7 (RD)
XTAL2
XTAL1
GND P2.0 (A8)
1
2
3
4
5
6
7
8
40
39
38
37
36
35
34
33
9
10
11
12
13
14
15
32
31
30
29
28
27
2616
17
18
19
20
25
24
23
22
21
rangkaian butuh arus yang cukup besar. Tegangan 12 volt DC langsung diambil dari
keluaran 2 buah dioda penyearah. Jadi catu daya +12 volt digunakan untuk
menggerakkan motor melalui motor driver. Keluaran +12 volt diatur oleh IC
regulatoir L 200 yang sebelumnya telah dilakukan filter dengan dua kapasitor 2200
@F/50V dan 1000@F/25V untuk menghasilkan tegangan konstan +12 Volt.
3.3. Perancangan Rangkaian Mikrokontroler AT89S51
Rangkaian ini berfungsi sebagai pusat kendali dari seluruh system yang ada. Kompoen
utama dari rangkaian ini adalah IC mikrokontroler AT89S51. Pada IC inilah semua
program diisikan, sehingga rangkaian dapat berjalan sesuai dengan yang dikehendaki.
Rangkaian mikrokontroler ditunjukkan pada gambar berikut ini:
Gambar 3.3 Rangkaian Mikrokontroller AT89S51
Universitas Sumatera Utara
Mikrokontroler ini memiliki 32 port I/O, yaitu port 0, port 1, port 2 dan port 3.
Pin 32 sampai 39 adalah Port 0 yang merupakan saluran/bus I/O 8 bit. Pin 1 sampai 8
adalah port 1. Pin 21 sampai 28 adalah port 2. Dan Pin 10 sampai 17 adalah port 3 Pin
40 dihubungkan ke sumber tegangan 5 volt. Dan pin 20 dihubungkan ke ground.
Rangkaian mikrokontroler ini menggunakan komponen kristal 12 MHz sebagai
sumber clocknya. Nilai kristal ini akan mempengaruhi kecepatan mikrokontroler
dalam mengeksekusi suatu perintah tertentu.
Pada pin 9 dihubungkan dengan sebuah kapasitor 10 uF yang dihubungkan ke
positip dan sebuah resistor 10 Kohm yang dihubungkan ke ground. Kedua komponen
ini berfungsi agar program pada mikrokontroler dijalankan beberapa saat setelah
power aktip. Lamanya waktu antara aktipnya power pada IC mikrokontroler dan
aktipnya program adalah sebesar perkalian antara kapasitor dan resistor tersebut. Jika
dihitung maka lama waktunya adalah :
10 10 1 dett R xC K x F m ik= = =
Jadi 1 mili detik setelah power aktip pada IC kemudian program aktif.
3.4 Sensor Air Sederhana
Sensor air ini menggunakan prinsip benda terapung. Pada sensor ini terdapat sebuah
pelampung yang akan bergerak sesuai dengan level ketinggian air yang menekannya
dari bawah. Pada pelampung terdapat magnet yang akan menjadi switch atau saklar
penghubung antara kabel A dan B. Pada saat posisi pelampung berada di bawah maka
kabel A dan B tidak terhubung, atau dengan kata lain posisi ini adalah posisi saklar
Universitas Sumatera Utara
A BA B
OFF. Apabila posisi pelampung berada di atas maka akan terjadi medan magnet yang
dapat menghubungkan antara kabel A dan B, atau dengan kata lain posisi ini adalah
posisi saklar ON. Pada saat Pelampung diatas maka kita dapat mengidentifikasi bahwa
ketinggian air pada bendungan telah meningkat.
Gambar 3.4 Sensor Air Sederhana
3.5 Perancangan Rangkaian Driver Motor Stepper
Untuk mengendalikan perputaran motor stepper dibutuhkan sebuah driver. Driver ini
berfungsi untuk memutar motor stepper searah dengan jarum jam atau berlawanan
arah dengan jarum jam. 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 :
Universitas Sumatera Utara
Gambar 3.5 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, maka transistor akan aktip. 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
Tip 122Tip 122
VCC12V
MOTOR
AT89S51 (P0.0)AT89S51 (P0.2)
Stepper
VCC12V
Tip 122 Tip 122
1.0k
1.0k
AT89S51 (P0.1)
1.0k
1.0k
AT89S51 (P0.3)
Universitas Sumatera Utara
akan menarik logam yang ada pada motor, sehingga motor mengarah pada kumparan
yang memiliki medan magnet tesebut.
Jika kemudian P0.0 di beri logika low (0), yang berarti transistor tidak aktip 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. Maka motor akan beralih
kearah kumparan yang terhubung ke P0.1 tersebut. Seterusnya jika logika high
diberikan secara bergantian pada input dari driver motor stepper, maka motor stepper
akan berputar sesuai dengan arah logika high (1) yang diberikan pada inputnya.
Driver motor stepper digunakan sebagai pengatur penggerakan motor stepper
yang diatur dari mikrokontroller. Arah putar motor diubah dengan memberikan
polaritas yang dibalik agar bisa menggerakkan motor dengan arah berlawanan.
3.6 Diagram Alir Program
Program diawali dengan start, kemudian program akan menunggu atau mengecek
sinyal yang diinputkan oleh tombol. Jika tidak ada sinyal maka program akan terus
menunggu sinyal input. Jika ada sinyal maka program membandingkan apakah sinyal
tersebut adalah sinyal untuk membuka atau menutup pintu. Jika yang diterima adalah
sinyal buka pintu maka program akan memerintahkan motor untuk membuka pintu.
Universitas Sumatera Utara
start
Apakah ada sinyal buka
Buka pintu bendungan sebagian
Apakah ada sinyal buka penuh
Apakah ada sinyal tutup
Buka pintu bendungan seluruhnya
tutup pintu bendungan seluruhnya
Apakah ada sinyal tutup sebagian
tutup pintu bendungan sebagian
Ya
Tidak
Ya Ya
Ya
Tidak Tidak
Tidak
Apakah ada sinyal buka penuh
Apakah ada sinyal tutupYa Tidak
Ya
Tidak
Hal ini dapat dilihat lebih jelas pada gambar di bawah ini:
Gambar 3.6 Diagram Alir Program
Universitas Sumatera Utara
Vreg
LM7805CT
IN OUT
TIP32C
100ohm
100uF
330ohm220V 50Hz 0Deg
TS_PQ4_12
2200uF 1uF1N5392GP
1N5392GP
12 Volt
5 Volt
BAB 4
ANALISA RANGKAIAN DAN PROGRAM
4.1 Pengujian Rangkaian Power Supplay (PSA)
Rangkaian PSA yang dibuat terdiri dari dua keluaran, yaitu 5 volt dan 12 volt,
keluaran 5 volt digunakan untuk menghidupkan seluruh rangkaian, sedangkan
keluaran 12 volt digunakan untuk menghidupkan motor stepper. Rangkaian tampak
seperti gambar di bawah ini,
Gambar 4.1 Rangkaian Power Supplay (PSA)
Pengujian pada bagian rangkaian catu daya ini dapat dilakukan dengan
mengukur tegangan keluaran dari rangkaian ini dengan menggunakan volt meter
Universitas Sumatera Utara
P1.0P1.1
P1.2
P1.3P1.4
P1.5
P1.6
P1.7
RST
P3.0/RX0P3.1/TX0
P3.2/INT0P3.3/INT1
P3.4/T0
P3.5/T1
P3.6/WRP3.7/RD
XTAL2
XTAL1
GND P2.7/A16
P2.6/A14
P2.5/A13
P2.4/A12
P2.3/A11
P2.2/A10
P2.1/A9
P2.0/A8
PSEN
ALE/PROG
EA/VPP
P0.7/AD7
P0.6/AD6P0.5/AD5
P0.4/AD4
P0.3/AD3
P0.2/AD2
P0.1/AD1
P0.0/AD0
VCC
AT89S51
40
39
383736
353433
32
31
30
29
2827
2625
24
23
22
2120
19
18
17
1615
14
1312
1110
9
8
765
4
32
1
21
Xtal 12 MHz
10kohm10uF
4.7kohm
5VVCC
33pF33pF
digital. Dari hasil pengujian diperoleh tegangan keluaran pertama sebesar + 4,9 volt.
Sedangkan tegangan keluaran kedua adalah sebesar +11,9 volt. Dan tegangan keluaran
ketiga sebesar 12,1 volt.
4.2 Pengujian Rangkaian Minimum AT89S51
Rangkaian minimum mikrokontroler AT89S51 ditunjukkan pada gambar 4.2 berikut
ini :
Gambar 4.2 Rangkaian Minimum AT89S51
Universitas Sumatera Utara
Pengujian rangkaian mikrokontroler dilakukan dengan menghubungkan
rangkaian ini dengan sebuah transistor A733 yang dihubungkan dengan sebuah LED
indikator, dimana transistor disini berfungsi sebagai saklar untuk mengendalikan
hidup/mati LED. Dengan demikian LED akan menyala jika transistor aktif dan
sebaliknya LED akan mati jika transistor tidak aktip. Tipe transistor yang digunakan
adalah PNP A733, dimana transistor ini akan aktip (saturasi) jika pada basis diberi
tegangan 0 volt (logika low) dan transistor ini akan tidak aktip jika pada basis diberi
tegangan 5 volt (logika high). Basis transistor ini dihubungkan ke pin I/O
mikrokontroler yaitu pada kaki 28 (P2.7). Langkah selanjutnya adalah mengisikan
program sederhana ke mikrokontroler AT89S51. Programnya adalah sebagai berikut :
Loop:
Cpl P2.7
Acall tunda
sjmp loop
tunda:
mov r7,#255
tnd:
mov r6,#255
djnz r6,$
djnz r7,tnd
ret
Program di atas akan mengubah logika yang ada pada P2.7 selama selang waktu
tunda. Jika logika pada P2.7 high maka akan diubah menjadi low, demikian jiga
sebaliknya jika logika pada P2.7 low maka akan diubah ke high, demikian seterusnya.
Universitas Sumatera Utara
Logika low akan mengaktipkan transistor sehingga LED akan menyala dan
logika high akan menonaktipkan transistor, sehingga LED padam. Dengan demikian
program ini akan membuat LED berkedip terus-menerus. Jika LED telah berkedip
terus menerus sesuai dengan program yang diinginkan, maka rangkaian
mikrokontroler telah berfungsi dengan baik.
4.3 Pengujian Rangkaian Driver Motor Stepper
Setelah mendapatkan data startbit, maka mikrokontroler akan mengambil 3 data
setelah data startbit tersebut, yang merupakan data dari nilai yang dikirimkan oleh
pemancar.
Arah putaran motor dapat diatur dengan mengatur kondisi logika masukan
pada pena 13 dari IC 74LS86. Jika diterapkan logika 0, maka motor akan berputar
berlawanan dengan arah jarum jam (counter clock wise) sedangkan jika diterapkan
logika 1, maka motor akan berputar dengan arah sesuai dengan arah jarum jam (clock
wise).
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.
Universitas Sumatera Utara
Rangkaiannya seperti gambar di bawah :
Gambar 4.3 Rangkaian 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.
Universitas Sumatera Utara
Jika P0.0 diberi logika high (1), yang berarti basis pada transistor TIP 122
mendapat tegangan 5 volt, maka transistor akan aktip. 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 tesebut.
Jika kemudian P0.0 di beri logika low (0), yang berarti transistor tidak aktip 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. Maka motor akan beralih
kearah kumparan yang terhubung ke P0.1 tersebut. Seterusnya jika logika high
diberikan secara bergantian pada input dari driver motor stepper, maka motor stepper
akan berputar sesuai dengan arah logika high (1) yang diberikan pada inputnya.
Untuk memutar dengan arah yang berlawanan dengan arah yang sebelumnya,
maka 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
Universitas Sumatera Utara
acall tunda
Rl a
jmp putar
Program diawali dengan memberikan nilai 11h pada pada accumulator (a),
kemudian program akan memasuki rutin buka pintu. 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
ini,
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 maka tunda, maka
perputaran motor akan semakin lambat. Perintah berikutnya adalah Rl a,perintah
ini akan memutar nilai yang ada pada accumulator (a), seperti tampak pada table di
bawah ini,
a 0 0 0 1 0 0 0 1
Rl
Universitas Sumatera Utara
Nilai pada accumulator (a) yang awalnya 11h, setelah mendapat perintah Rl a,
maka nilai pada accumulator (a) akan merubah menjadi 22h. Kemudian program akan
melihat apakah kondisi sensor buka pintu dalam keadaan high (1) atau low (0). Jika
high (1). Nilai yang ada pada accumulator (a), akan kembali diisikan ke port 0, maka
nilai di port 0 akan berubah menjadi 22h, ini berarti P0.1 dan P0.5 mendapatkan
logika high sedangkan yang lainnya mendapatkan logika low.
Sebelumnya telah dibahas bahwa P0.0, P0.1, P0.2, dan P0.3 dihubungkan ke
masukan driver motor stepper, dengan program di atas maka P0.0, P0.1, P0.2, dan
P0.3 akan mendapatkan nilai high (1) secara bergantian. Hal ini menyebabkan motor
stepper akan berputar membuka pintu.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 ), maka pada perintah
searah jarum jam digunakan perintah rotate right ( Rr). Perputaran perintah Rr
diperlihatkan pada table berikut,
a 1 0 0 0 1 0 0 0
R r
Universitas Sumatera Utara
Untuk lebih jelasnya dapat dilihat pada tabel data motor stepper dibawah ini:
Tabel 4.1 Data Motor Stepper Untuk Membuka dan Menutup
DATA MOTOR
Buka
(rr)
Tutup
(rl)
P0.7 P0.6 P0.5 P0.4 P0.3 P0.2 P0.1 P0.0
0 0 0 0 0 0 0 0 0 0
1 0 0 0 0 1 0 0 0 1
1 0 0 0 1 0 0 0
0 1 0 0 0 1 0 0
0 0 1 0 0 0 1 0
0 0 0 1 0 0 0 1
0 1 0 0 0 1 0 0 0 1
0 0 1 0 0 0 1 0
0 1 0 0 0 1 0 0
1 0 0 0 1 0 0 0
4.4 Pengujian Motor Stepper
Pengujian motor stepper dilakukan dengan menghubungkan input rangkaian driver
motor stepper ini dengan rangakaian mikrokontroler AT89S51 dan menghubungkan
Universitas Sumatera Utara
output dari rangkaian driver motor stepper ini dengan motor stepper, kemudian
memberikan program sebagai berikut:
Loop:
Clr P0.3
Setb P0.0
Acall Tunda
Clr P0.0
Setb P0.1
Acall Tunda
Clr P0.1
Setb P0.2
Acall Tunda
Clr P0.2
Setb P0.3
Acall Tunda
Sjmp Loop
Tunda:
Mov R7,#50
Tnd:
Mov R6,#255
Djnz r6,$
Djnz r7,Tnd
Ret
Universitas Sumatera Utara
Program di atas akan memberikan logika high secara bergantian pada input
dari driver motor stepper, dimana input dari jembatan masing-masing dihubungkan ke
P0.0,P0.1, P0.2 dan P0.3.Dengan program di atas maka motor akan bergerak searah
dengan arah putaran jarum jam (menutup pintu). Untuk memutar dengan arah
sebaliknya, maka diberikan program sebagai berikut :
Loop:
Clr P0.0
Setb P0.3
Acall Tunda
Clr P0.0
Setb P0.3
Acall Tunda
Clr P0.2
Setb P0.1
Acall Tunda
Clr P0.1
Setb P0.0
Acall Tunda
Sjmp Loop
Tunda:
Mov R7,#50
Tnd:
Mov R6,#255
Djnz r6,$
Universitas Sumatera Utara
Djnz r7,Tnd
Ret
Dengan program di atas, maka motor akan berputar berlawanan arah dengan
arah putaran jarum jam (membuka pintu). Tunda digunakan untuk mengatur
kecepatan putar dari motor. Semakin besar nilai yang diberikan pada tunda, maka
perputaran motor akan semakin lambat, dan sebaliknya.
Universitas Sumatera Utara
BAB 5
KESIMPULAN DAN SARAN
5.1 Kesimpulan
Dari hasil perancangan alat hingga pengujian dan pembahasan sistem, maka penulis
dapat menarik kesimpulan, antara lain:
1. Sistem pengendali pintu kanal banjir pada bendungan ini menggunakan
Mikrokontroler AT89S51 sebagai tempat pemproses data dari sistem yang
berfungsi untuk menerima sinyal dari sensor air serta menggerakkan motor
untuk membuka dan menutup pintu. Gerbang air bisa membuka dan menutup
dengan bantuan penggerak motor bertorsi tinggi. Pengaturan gerak pintu air
dapat dikontrol secara digital menggunakan mikrokontroler.
2. Motor stepper merupakan motor dengan gerak bertahap, sehingga jumlah
perputarannya dan sudut putaran dari motor stepper tersebut dapat di
kendalikan.
3. Motor akan bergerak apabila tegangan yang diberikan berupa pulsa-pulsa
tegangan pada tiap kutubnya secara bergantian. Hal ini sangat berbeda
Universitas Sumatera Utara
dengan jenis motor yang lain yang cukup memberikan tegangan supplay saja
untuk memutar motor tersebut.
4. Pemantaun dan pengendalian ketinggian air menjadi lebih efisien, sehingga
dapat disusun sistem irigasi yang terpadu dengan menggunakan beberapa
bendungan otomatis disepanjang sungai.
5.2 Saran
Setelah melakukan penulisan ini diperoleh beberapa hal yang dapat dijadikan saran
untuk dapat dilakukan perancangan lebih lanjut, yaitu :
1. Sistem penerima pada pintu jarak jauh ini menggunakan mikrokontroler
AT89S51, bagaimana kalau dikembangkan dengan menggunakan
mikrokontroler jenis lain, misalnya ATmega 8535
2. Alat pembuka pintu kanal banjir otomatis ini masih berupa prototipe, untuk
itu hendaknya lebih dikembangkan lagi ke alat yang sebenarnya, supaya
dapat langsung diaplikasikan.
3. Sensor yang digunakan adalah sensor air sederhana, ada baiknya jika
menggunakan sensor ultrasonic agar dapat langsung diaplikasikan pada alat
sebenarnya.
Universitas Sumatera Utara
DAFTAR PUSTAKA
Agfianto. 2004. Belajar Mikrokontroler AT89C51/52/55 Teori dan Aplikasi. Edisi
Kedua. Yogyakarta: Gava Media
Andi. 2003. Panduan Praktis Teknik Antarmuka dan Pemrograman Mikrokontroler
AT89C51. Jakarta: PT Elex Media Komputindo.
Budiharto, Widodo. 2005. Perancangan Sistem dan Aplikasi Mikrokontroler. Jakarta:
PT. Elex Media Komputindo
Eko Putra, Agfianto. Belajar Mikrokontroller AT89C51/52/55. Yogyakarta: Gava
Media
http://www.elektronikaelektronika/blogspot.com
Diakses tanggal 20 April 2010
http://id.wikipedia.org/wiki/Motor_Stepper
Diakses tanggal 20 April 2010
http://www.toko-elektronika.com/tutorial/uc1.html
Diakses tanggal 20 April 2010
Malvino, Albert paul. 2003. Prinsip-prinsip Elektronika. Jilid 1 & 2. Edisi Pertama.
Jakarta: Salemba Teknika.
Petruzella, Frank D. 2001. Elektronik Industri. Terjemahan sumanto. Edisi kedua.
Yogyakarta: Andi
Pitowarno, Endra. 2005. Mikroprosesor & Interfacing. Yogyakarta: Andi
Universitas Sumatera Utara