Top Banner

of 56

[123doc.vn] Pengendali Motor Stepper Pada Pintu Bendungan Otomatis Berbasis Mikrokontroler At89s51

Mar 07, 2016

Download

Documents

Romeo Apri

from 123doc.org
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
  • 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