24
BAB II LANDASAN TEORI Pengendalian motor DC digital terdiri dari dua bagian penting, yaitu bagian kontroler dan sistem mekaniknya. Bagian kontroler merupakan bagian yang paling penting untuk menjalankan dan memerintahkan sistem mekanik untuk melakukan kerja. Adapun teori-teori penunjang yang berkaitan dengan judul perancangan ini, antara lain: Mikrokontroler AT89S52, Keypad, display LCD, Motor DC ,DAC 0808 ,OP-AMP 741, dan Transistor Tip 142, Schemitt Triger 74LS132. 2.1. Motor DC Motor DC adalah motor yang fluks magnet utamanya dihasilkan oleh magnet permanen. Elektromagnetik digunakan untuk medan sekunder atau fluks jangkar.Arus mengalir melalui kumparan jangkar dari sumber tegangan DC, menyebabkan jangkar beraksi sebagai magnet. Kutup jangkar ditarik kutup medan dari polaritas yang berbeda, menyebabkan jangkar berputar.

BAB II

  • Upload
    hari

  • View
    213

  • Download
    0

Embed Size (px)

DESCRIPTION

bab 2

Citation preview

BAB II

BAB II

LANDASAN TEORI

Pengendalian motor DC digital terdiri dari dua bagian penting, yaitu bagian kontroler dan sistem mekaniknya. Bagian kontroler merupakan bagian yang paling penting untuk menjalankan dan memerintahkan sistem mekanik untuk melakukan kerja.

Adapun teori-teori penunjang yang berkaitan dengan judul perancangan ini, antara lain: Mikrokontroler AT89S52, Keypad, display LCD, Motor DC ,DAC 0808 ,OP-AMP 741, dan Transistor Tip 142, Schemitt Triger 74LS132.

2.1. Motor DC

Motor DC adalah motor yang fluks magnet utamanya dihasilkan oleh magnet permanen. Elektromagnetik digunakan untuk medan sekunder atau fluks jangkar.Arus mengalir melalui kumparan jangkar dari sumber tegangan DC, menyebabkan jangkar beraksi sebagai magnet. Kutup jangkar ditarik kutup medan dari polaritas yang berbeda, menyebabkan jangkar berputar.

Gambar

Kelebihan motor DC adalah mudah didapat dan mudah diatur kecepatan putarannya.Semakin tinggi tegangan jangkar semakin tinggi kecepatan motor.

2.2. Mikrokontroler AT89S52

Mikrokontroler yang digunakan pada kit Eksperimentasi Kendali Motor DC Digital adalah Atmel AT89S52 yang memiliki 40 pin. 32 pin diantaranya adalah pin input/ouput (I/O).

Gambar 2.4 : Mikrokontroler AT89S52

Mikrokontroler ini memiliki fitur sebagai berikut :

Memiliki 4 Kbyte flash memory yang dapat diprogram ulang.

Memiliki daya tahan yang baik, sampai 1000 kali hapus-tulis.

Dapat beroperasi dengan frekuensi clock 0 Hz sampai 24 Hz.

128 x 8 bit RAM internal

32 pin I/O yang dapat diprogram.

2 macam counter/timer 16-bit.

6 sumber interrupt Kanal serial yang dapat diprogram.

Low power idle dan power-down modes.

Memiliki arsitektur 8051

2.2.1 Deskripsi pin

Dalam pengembangannya AT89S52 dirancang dengan logika statis untuk bekerja pada frekuensi mendekati nol dan mendukung oleh dua mode Saving Power yang terkendali oleh software. Mode Idle menghentikan CPU (Central Processing Unit) sementara RAM, timer/counter, serial port dan system interupsi terus bekerja. Mode Power Down menyimpan data RAM dan menghentikan osilator secara menonaktifkan fungsi-fungsi chip yang lain sampai terdapat reset dari luar.

Konfigurasi pin dan penjelasannya :VCC: sumber tegangan (5V)

GND: ground

Port 0: ialah 8-bit I/O port. Sebagai output port, setiap pin memiliki default I. Port 0 berfungsi sebagai port yang menerima kode pada saat pemrograman Flash, dan mengeluarkan kode selama verifikasi pemrograman.

Port 1 : ialah 8 bit I/O port. Port 1 juga berfungsi untuk menerima byte alamat orde rendah selama pemrograman flash dan verifikasi.

Port 2: ialah 8 bit I/O port. Port 2 mengeluarkan alamat orde tinggi selama proses fetch (pengambilan) dari memory program external dan selama mengakses ke memori data external yang menggunakan alamat-alamat 16 bit. Port 2 juga menerima bi-bit alamat orde tinggi dan sinyal kontrol selama pemrograman Flash dan verifikasi.

Port 3: ialah 8 bit I/O port. Juga berfungsi sebagai fitur-fitur khusus dari AT89C51 yang dapat dilihat pada tabel berikut. Juga berfungsi sebagai penerima sinyal kontrol pada saat pemrograman Flash dan verifikasi.

Tabel 2.1 : Fungsi Khusus port 3

PinFungsi Alternatif

P3.0RXD (serial input port)

P3.1TXD (serial output port)

P3.2INTO (external interrupt 0)

P3.3INTI (external interrup 1)

P3.4TO (timer 0 external input)

P3.5T1 (timer 1 external input)

P3.6WR (external data memory write strobe)

P3.7RD (external data memory read strobe)

RST

: input reset. Nilai HIGH (1) untuk 2 cycle selama oscilator berjalan akan mereset devais.

ALE/PROG:Address Latch Enable ialah sebuah pulsa output untuk proses

latch dari byte rendah dari alamat memori selama akses ke memori external. Pin ini juga sebagai pulsa input program (PROG) selama pemrograman flash. Dalam operasi normal, ALE mengeluarkan pulsa 1/6 frekuensi oscilator dapat dipakai untuk timing atau clock external.

PSEN: Program Store Enable. EA harus dipasangkan ke GND agar devais dapat mengambil kode dari lokasi memori external program mulai dari 0000H sampai FFFFH. Pin ini harus dipasangkan ke VCC agar program internal berjalan.

XTAL 1

: input ke inverting amplifier oscilator dan input ke rangkaian operasi inernal clock.

XTAL 2

:output dari inverting amplifier oscilator.

2.2.2 Organisasi Memori

Pada arsitektur mikrokontroler 8051 digunakan alokasi memori untuk data dan program (kode) yang terpisah. Kedua kode dan data disimpan secara internal namun keduanya hanya dapat menggunakan maksimal 64 Kbyte kode memori dan 64 Kbyte data memori.

Memori internal terdiri dari on-chip ROM dan on-chip RAM. Dua buah fitur penting yang terdapat pada arsitektur 8051 ialah :

Seluruh register dan port input-output telah dipetakan pada memori (memory-mapped) dan dapat diakses seperti alamat memori lainnya.

Stack nerada pada internal RAM (pada umumnya stack terdapat pada external memori).

Berikut skema dari on-chip data memory dari 8051.

Gambar 2.5 : RAMGambar 2.6 : Special Function Register

Pada gambar 2.5 dapat dilihat bahwa pada 32 lokasi di bagian bawah internal memori (00 sampai 1F) terdapat register banks. Pada mikrokontroler 8051 terdapat 8 register yang berlokasi pada alamat 00H sampai 07H. Register bank yang aktif dapat diubah dengan mengubah bit pilihan register bank (register bank select bits) pada program status word. Fungsi dari register bank ini ialah untuk menghasilkan perubahan konteks/isi (context switching) yang cepat dan efektif, sehingga bagian software yang berbeda dapat menggunakan set register pribadi yang independent dari bagian software yang lain.

2.2.3 Rangkaian pendukung

Selain piranti I/O, mikrokontroler juga perlu dihubungkan ke beberapa rangkaian pendukung :

Rangkaian Kristal untuk pembangkit clock.

Gambar 2.7 : Rangkaian Cristal untuk Clock

Rangkaian Reset

Gambar 2.8 : Rangkaian Reset

Rangkaian Voltage Regulator untuk memperoleh catu daya yang bersih (tidak banyastorsi atau derau).

Gambar 2.9 : Rangkaian Regulator Tegangan

2.2.4 Pemrograman Mikrokontroler

Berikut beberapa instruksi yang banyak dipakai pada pemrograman mikrokontroler :

InstruksiSingkatanFungsi

ADDAdd Penjumlahan

CLRClearMenghapus isi register

JNBJump if bit not setLompat ke alamat yang ditunjuk bila bit yang diperiksa 0.

MOV A,BMoveKopi isi register B ke A

CALLCallMemanggil subrutin

JMPJumpLompat ke label/alamat yang ditunjuk

DJNZDecrement and jump if not zeroRegister dikurangi satu dan lompat bila register itu tidak nol.

NOPNo operationTidak melakukan apa-apa selama 1 clock

RETReturnMengakhiri subrutin dan kembali ke main program.

Tabel 2.2 : Contoh beberapa set instruksi

Pada mikrokontroler 8051 terdapat beberapa fitur yang penting yaitu Timer Operation, Serial Port Operation dan Interrupt Operation. Berikut akan dibahas satu per satu.

2.2.4.1 Timer Operation

Timer berfungsi sebagai :

pewaktu berinterfal (interval timing); sebuah timer diprogram sehingga overflow pada interfal yang tetap dan mengeset flag overflow dari timer.

penghitung event (event counting); digunakan untuk menentukan banyaknya suatu event/kejadian muncul.

penghasil baud-rate (baud rate generation) untuk serial port.

Timer digunakan pada hampir semua aplikasi, terutama yang berorientasi kontrol. Pada arsitektur 8051 terdapat dua buah 16-bit timer yang masing-masing memiliki 4 buah mode operasi. Timer diakses melalui enam buah register khusus (lihat tabel 2.3).

Tabel 2.3 : Register khusus Timer

Register khusus timerKegunaanAlamatBit-Addressable

TCONKontrol 88HYes

TMODMode89HNo

TLOByte rendah dari Timer 08AHNo

TL1Byte rendah dari Timer 18BHNo

THOByte tinggi dari Timer 08CHNo

TH1Byte tinggi dari Timer 18DHNo

Register TMOD (register mode timer) biasanya hanya dimasukan sekali pada awal program untuk menginisialisasi mode timer. Tiap bit dari TMOD memiliki fungsi khusus yang dapat dilihat pada tabel 2.4.

Tabel 2.4 : TMOD

BITNamaTimerPenjelasan

7GATE1Gate bit, jika set, timer hanya akan berjalan bila INT1 bernilai 1 (High)

6C/T1Bit untuk memilih counter/timer

1 = event counter, 0 = interval timer

5M11Mode bit 1

4M01Mode bit 0

3GATE0Gate timer 0

2C/T0Timer 0 bit untuk memilih counter/timer

1M10Timer 0 mode bit 1

0M00Timer 0 Mode bit 0

Untuk mode timer dapat dilihat dari tabel berikut.

Tabel 2.5 : Mode Timer

M1M0ModePenjelasan

000Timer mode 13-bit

011Timer mode 16 bit

102Mode 8-bit auto-reload

113Timer mode terpisah (Split timer mode)

Timer 0 : TLD sebagai timer 8 bit yang dikontrol oleh bit-bit mode timer 0. THO sebagai timer 8 bit yang dikontrol oleh bit-bit mode timer 1

Timer 1 : dihentikan

Register TCON terdiri dari bit-bit status dan kontrol untuk timer 0 dan 1. Empat buah bit teratas (TCON 4 TCON 7) digunakan untuk mengontrol Timer 0 dan timer 1. Sedangkan empat buah bit dibawahnya digunakan untuk mendeteksi dan menjalankan interupsi eksternal. Bit-bit TCON dapat dilihat di bawah ini.

Tabel 2.6 : Register TCON

BITSimbolAlamat BitPenjelasan

TCON.7TF18FHFlag overflow Timer 1

TCON.6TR18EHBit kontrol untuk menjalankan Timer 1

TCON.5TF08DHFlag overflow Timer 0

TCON.4TR08CHBit kontrol untuk menjalankan Timer 0

TCON.3IE18BHExternal interrupt 1 edge flag

TCON.2IT18AHExternal interrupt 1 type flag

TCON.1IE089HExternal interrupt 0 edge flag

TCON.0IT088HExternal interrupt 0 type flag

Perlu diperhatikan bahwa untuk interval timing atau kondisi oeprasi timer yang kontinu, register TLX dan THX berinkremen setiap 1/12 dari frekuensi osillasi.

Mode operasi timer ada 4 macam (lihat tabel 2.6). Pada halaman selanjutnya dipaparkan masing-masing diagram blok dari masing-masing mode operasi.

Mode operasi timer:

Timer Mode 13-bi(Mode 0)

Gambar 2.10 : Timer Mode 0

Mode ini sudah jarang dipakai 3 buah bit teratas (bit 5-7) dari TLx tidak dipakai.

Timer Mode 16-bit (Mode 1)

Gambar 2.11 : Timer Mode 1

Mode ini mirip dengan mode 0 namun menggunakan seluruh 16 bit dari TLx dan THx.

Timer Mode auto-reload 8-bit (mode 2)

Gambar 2.12 : Timer Mode 2TLx berfungsi sebagai timer 8-bit sementara THx menyimpan nilai yang akan diisi ulang ke TLx (reload). Ketika terjadi overflow dari FFH ke 00h, tidak hanya flag timer diset namun THx pun diisikan ke TLx.

Timer Mode terpisah/Split Timer Mode (Timer Mode 3)

Gambar 2.13 : Timer Mode 3

Pada mode ini timer 0 dipisahkan menjadi dua buah timer 8-bit (TL0 dan TH0), dan flag timer 1 hanya dipengaruhi oleh timer 0. Timer 1 pada mode 3 ini tidak digunakan, namun masih dapat dipakai untuk aplikasi-aplikasi yang tidak memerlukan interupsi.

2.2.4.2 Serial Port Operation

Serial port digunakan untuk komunikasi antara mikrokontroler dengan CPU. Dua buah register khusus yang dapat mengakses serial port ialah SBUF dan SCON.

Serial Port Buffer (SBUF)

Merupakan dua buah buffer yang terpisah, bila mengisi buffer maka data akan ditransmisikan, bila membaca buffer berarti mengakses data yang telah diterima. Kedua buffer ini merupakan dua buah register yang berbeda. Lihat gambar dibawah ini.

Gambar 2.14 : Blok Diagram dari Serial Port

Register kontrol serial port (SCON)

SCON berfungsi untuk menginisialisasi mode yang tepat. Fungsi dari bit-bit pada register SCON dapat dilihat pada tabel berikut :

Tabel 2.7 : Register SCON

BITSimbolAlamatPenjelasan

SCON.7SM09FHBit 0 dari mode Serial Port (lihat tabel berikut)

SCON.6SM19EHBit 1 dari mode Serial Port (lihat tabel berikut)

SCON.5SM29DHBit 2 dari mode Serial Port. Memungkinkan komunikasi multiprocessor

SCON.4REN9CHReceiver enable, harus diset untuk menerima karakter

SCON.3TB89BHTransmit bit 8. Bit ke 9 dikirim pada mode 2 dan 3

SCON.2RB89AHReceive bit 8. Menerima bit ke 9

SCON.1TI99HTransmit interrupt flag

SCON.0RI98HReceive interrupt flag

Tabel 2.8 : Mode Serial Port

SM0SM1ModePenjelasanBaud Rate

000Shift RegisterTertentu (Frekuensi osilasi /12)

0118 bit UARTVariabel (diatur oleh timer)

1029 bit UARTTertentu (Frekuensi osilasi/12 atau/64)

1139 bit UARTVariabel (diatur oleh timer)

Mode operasi serial port :

Mode 0 8-bit shift register

pada mode ini data masuk dan keluar melalui RXD sedangkan TXD mengeluarkan sinyal shift clock. 8 bit data dikirim dan diterima dengan least-significant bit (LSB) terlebih dahulu. Baud ratenya ialah 1/12 dari frekuensi on-chip-oscillator. Pengiriman data dilakukan dengan instruksi write data ke SBUF. Data dikeluarkan pada RXD dan pulsa clocknya dikirim melalui TXD. Penerimaan dilakukan ketika receiver enable bit (REN) diset dan receiver interrupt bit (RI) bernilai 0.

Mode 1 8-bit UART with variable Baud Rate2

UART (Universal Asynchronous Receiver/Transmitter) ialah sebuah devais yang menerima dan mengirim data serial yang setiap karakter datanya didahului dengan sebuah bit start (low) dan diikuti dengan sebuah bit stop (high). Baud rate ditentukan oleh kecepatan overflow dari Timer 1. Pada mode ini data dikirim melalui TXD dan diterima melalui RXD. Jika sebuah start bit terdeteksi, penerimaan karakter dilanjutkan. Pada saat ini start bit akan diabaikan, dan 8 bit data disimpan di serial port shift register. Ketika ke 8-bit data tersebut telah ada di serial port shift register, bit 9 disimpan ke RB8 pada SCON, SBUF diisi dengan 8 bit data, dan flag interup receiver (RI) diset.

Mode 2 9-bit UART with Fixed Baud Rate

Jumlah bit yang ditransmisikan sebanyak 11 bit yaitu sebuah start bit, 8 buah data bit, sebuah bit pariti, dan sebuah stop bit. Pada transmisi bit ke-9 disimpan pada TB8 pada SCON, sedangkan pada penerimaan bit ini disimpan pada RB8. Baud rate pada mode ini ialah 1/32 atau 1/64 dari frekuensi osilasi.

Mode 3 9-bit UART with Variable Baud Rate

Mode 3 ini sama seperti mode 2 namun baud ratenya dapat diprogram dan disediakan oleh timer. Pada dasarnya mode 1, 2 dan 3 sangat mirip. Perbedaannya ialah pada mode 2 baud ratenya tetap sedangkan pada mode 1 dan 3 dapat diprogram, pada mode 1 jumlah data bit ialah 8, sedangkan pada mode 2 dan 3 jumlah data bit ialah 9.

Gambar 2.15 : Skema sumber clock pada port serial

Rumus untuk menentukan baud rate pada mode 1 dan 3 ialah:

Bila SMOD = 0

Baud Rate = Timer 1 overflow rate / 32

Bila SMOD = 1

Baud Rate = Timer 1 overflow rate / 162.3 Liquid Crystal Display (LCD)

Biasanya sebuah program dari keluarga MCS 8051 harus beinteraksi dengan dunia luar menggunakan devais input dan output yang bisa berkomunikasi dengan manusia. Satu dari devais paling umum adalah penampil LCD. Beberapa diantara LCD yang dihubungkan dengan microcontroller AT89S52 adalah display 16x2 dan 20x2. 16x2 artinya 16 karakter perbaris dengan jumlah baris 2, sedangkan 20x2 artinya 20 karakter per baris dengan jumlah baris 2.

Meskipun banyak pabrik yang memproduksi berbagai macam LCD, perlu ada LCD yang dijadikan standar sebagai devais komunikasi tanpa melihat pembuatnya. LCD itu adalah HD44780U yang mempunyai chip pengontrol. Chip ini menerima data dari sumber luar dalam hal ini dari microcontroller AT89S52 dan berkomunikasi secara langsung dengan LCDnya.

Standar 44780 memerlukan 3 saluran kontrol baik untuk saluran 4 atau 8 I/O untuk bus data. Pengguna dapat memilih apakah LCD beroperasi pada bus data 4-bit atau 8-bit. Jika bus data 4-bit yang digunakan, LCD memerlukan total 7 saluran data yang terdiri dari 3 saluran kontrol dan 4 saluran untuk bus data. Jika bus data 8-bit yang digunakan, LCD memerlukan total 11 saluran data yang terdiri dari 3 saluran kontrol dan 8 saluran untuk bus data.

2.3.1 Saluran EN, RS dan RW

Tiga saluran kontrol dinamakan EN, RS dan RW. Saluran EN dari ENABLE digunakan untuk menyatakan bahwa LCD dikirimi data. Untuk mengirim data pada LCD, harus dipastikan pada program bahwa saluran ini bernilai low (0) dan diset untuk 2 saluran yang lain atau beri data pada bus data. Jika saluran yang lain sudah siap, jadikan EN high (1) dan tunggu untuk jumlah waktu minimim dengan melihat datasheet LCD dn akhiri dengan menjadikan EN low (0) lagi.

RS adalah Saluran Register Select. Ketika RS dalam keadaan low (0), data akan diperlakukan sebagai sebuah perintah atau instruksi khusus. Ketika RS high (1), data yang kirim adalah data teks yang ditampilkan sebagai teks di layar. Misalnya untuk menampilkan huruf T pada layar, RS harus diset high.

Saluran RW adalah saluran kontrol Baca/Tulis. Ketika RW low (0), informasi pada bus data ditulis ke LCD. Ketika RW high (1), program secara efektif membaca LCD. Hanya satu instruksi (Get LCD Status) adalah perintah Baca, sedangkan yang lainnya sebagai perintah Tulis, oleh karena itu RW selalu dalan keadaan low.

Bus data terdiri dari saluran 4 atau 8, tergantung pada mode operasi yang dipilih pengguna. Pada bus data 8 bit saluran dibaca sebagai DB0, DB1, DB2, DB3, DB4, DB5, DB6 dan DB7.

2.3.2 Konfigurasi Hardware

Seperti yang dijelaskan di atas, LCD memerlukan 8 atau 11 saluran I/O untuk berkomunikasi. Di bawah ini digambarkan contoh hubungan antara AT89S52 micro dengan LCD. Di sini digunakan bus data 8-bit, oleh karena itu digunakan 11 pin I/O pada AT89S52 micro.

Gambar 2.16 : Hubungan antara 89S52 Micro dengan LCD

2.4. Transistor TIP 142

Transistor adalah komponen semikonduktor yang mempunyai tiga kaki atau lebih sehingga daya dapat diperkuat. Fungsi transistor sebagai penguat atau amplifier dari sinyal listrik,tahanan variabel atau sebagai saklar.

Transistor TIP 142 adalah konfigurasi pasangan darlington yang menghubungkan dua transistor bipolar atau lebih sehingga transistor yang lebih kecil mempunyai arus basis untuk transistor yang lebih besar.

That Pair's DARLINGton The maximum input impedance one can expect from an emitter follower, is limited by the finite gains of individual transistors (~ 50 to ~ 350). However, there is a way to increase the effective gain or transistors by using two transistors. The total gain of this transistor pair is Gv1 x Gv2 = Gv total (Gv ~ 2k - 100k). This is achieved by arranging the transistors such that the emitter of one is driving the base of the next and connecting the collectors together. This is known as a Darlington pair, and can be used as any single transistor would be: common emitter, emitter follower, etc.

The down side of this arrangement, is reduced speed: because of the very high gain's effect on the collector to base capacitance, Co (Ctotal = Co x Hfe).

2.5 Operasional Amplifier 2.5.1 Pengikut Tegangan (Voltage Follower)

Pada dasarnya digunakan sebagai aplikasi penyangga yang memisahkan satu rangkaian dengan yang lain. Follower tegangan mempunyai input impedansi sangat tinggi yang menjamin bahwa rangkaian input tidak dibebani turun. Hal ini tidak akan merubah input baik fase maupun amplitudo. Vin = Vout yang berarti tidak terjadi penguatan tegangan, hanya terjadi penguatan arus.

2.5.2. Konverter arus ketegangan

Op-amp ini berfungsi mengubah sinyal dengan cara yang dikehendaki , untuk membuat lebih mudah diukur atau lebih stabil.2.6 Keypad

Keypad yang digunakan dalam tugas akhir ini adalah keypad berukuran 4X32.7 Schemitt Triger

Schemitt triger berfungsi mengurangi bounching.

TLx (5bit)

THx (8Bit)

TLx

Overflow Flag

Timer Clock

TLx

THx

TLx

Overflow Flag

Timer Clock

TLx

THx

TFx

Overflow Flag

Timer Clock

TL1

TH1

TF0

Overflow Flag

Timer Clock

TL0

Timer Clock

TF1

Overflow Flag

TH0

/12fOSC

SBUF

(write-only)

Shift REgister

SBUF

(Read-only)

Baud Rate

Clock

Transmit

Baud Rate

Clock

Receiver

RXD(P3.0)

TXD(P3.1)

8051 internal bus

/12

/64

/32

/32

/16

Frekuensi

osilasi

Baud Rate

Clock

Frekuensi

Osilasi

Timer 1

Over flow

Baud Rate

Clock

SMOD = 0

SMOD = 1

Baud Rate

Clock

SMOD = 0

SMOD = 1

Mode 1 dan Mode 3

_1199074489.unknown

_1199076683.unknown

_1199076720.unknown

_1230045710.vsd

P1.0P1.1P1.2P1.3P1.489S52P1.5MicroP1.6P1.7

P3.7P3.6P3.5

DB0 DB1 DB2 DB3 DB4 DB5 DB6HD44780 DB7LCD

EN RS RW

_1199076615.unknown

_1199067999.unknown