24 BAB III PERANCANGAN SISTEM 3.1. Diagram Blok Secara garis

advertisement
BAB III
PERANCANGAN SISTEM
3.1. Diagram Blok
Secara garis besar rangkaian pengendali peralatan elektronik dengan
menggunakan PC, memiliki 6 blok utama, yaitu personal komputer (PC),
Mikrokontroler AT89S51, relay, lampu beban, Pintu dan sensor arus. Diagram
blok rangkaian tampak seperti gambar berikut :
P0.0
Driver stepper
Motor
stepper
P0.3
P0.1
P0.2
Gambar di atas merupakan gambar diagram blok dari rangkaian
pengendali peralatan elektronik dengan menggunakan PC. Jika komputer diberi
perintah tertentu melalui program yang ada pada komputer, maka akan terjadi
komunikasi data antara komputer dan mikrokontroler, Selanjutnya mikrokontroler
akan mengambil data dari output komputer, sehingga mikrokontroler AT89S51
mengetahui data yang dikirimkan oleh komputer tersebut dan data ini akan
24
Universitas Sumatera Utara
dianggap oleh mikrokontroler sebagai perintah untuk mengerjakan sesuatu
(mengaktifkan/menonaktifkan relay). Langkah selanjutnya mikrokontroler akan
membandingkan data yang masuk dengan data yang telah diprogramkan dalam
mikrokontroler, kemudian mengerjakan perintah (mengaktifkan/menonaktifkan
relay tertentu) sesuai dengan data yang diterima. Relay yang aktif akan
menyebabkan lampu yang dihubungkan ke relay tersebut menyala. Setiap lampu
dihubungkan ke sensor arus, sehingga jika lampu menyala, maka sensor arus yang
terhubung ke lampu tersebut akan aktif dan mengirimkan sinyal tertentu ke
mikrokontroler AT89S51. Sehingga dengan demikian mikrokontroler mengetahui
lampu-lampu mana saja yang menyala. Hal yang sama juga terjadi ketika dibuka
atau ditutup pintu.
3.2. Perancangan 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 relay. Rangkaian
tampak seperti gambar di bawah ini :
TIP32C
12 Volt DC
LM7805CT
Vreg
220 V AC
IN
OUT
330
100
0V
5 Volt DC
2200uF
1uF
100uF
0 Volt
Gambar 4.1 Rangkaian Power Supplay (PSA)
25
Universitas Sumatera Utara
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 rangkaian butuh arus yang cukup besar.
Transistor tipe PNP ini akan aktif jika tegangan pada basis > 0,7 volt dari
tegangan positif. Tegangan positif yang dihubungkan ke emitor sebesar 12 volt,
sehingga transistor akan aktif jika diberi tegangan yang lebih kecil dari 12 volt –
0,7 volt = 11,3 volt. Dalam kondisi biasa (LM7805 tidak kekurangan arus), maka
basis akan mendapatkan tegangan 12 volt, sehingga transistor tidak aktif, emitor
tidak terhubung dengan kolektor, sehingga tegangan pada kolektor sama dengan
tegangan pada output regulator LM7805 yaitu 5 volt. Namun jika rangkaian
membutuhkan arus yang lebih banyak, maka regulator akan mengambil arus dari
inputnya, sehingga tegangan pada input regulator akan turun hingga lebih kecil
dari 11,3 volt, transistor akan aktif, maka arus akan mengalir dari emitor ke
kolektor. Pada transistor ini jika aktif, maka yang mengalir dari emitor ke kolektor
adalah arusnya, sedangkan tegangannya tidak, sehingga tegangan pada kolektor
tetap 5 volt.
26
Universitas Sumatera Utara
Tegangan 12 volt DC langsung diambil dari keluaran 2 buah dioda.
Sebenarnya tegangan 12 volt ini tidak stabil, namun karena tegangan 12 volt ini
hanya digunakan untuk menghidupkan relay, jadi tidak dipermasalahkan, karena
relay dapat hidup dengan tegangan 8 – 15 volt.
3. 3. Rangkaian Mikrokontroler AT89S51
Rangkaian mikrokontroler ini berfungsi sebagai pusat kendali dari seluruh
rangkaian yang ada pada alat ini. Gambar rangkaian mikrokontroler AT89S51
ditunjukkan pada gambar 3.8 berikut ini :
VCC
5V
AT89S51
1
2
3
4
VCC 5V
5
6
7
8
10uF
P1.0
Vcc
P1.1
P0.0 (AD0)
P1.2
P0.1 (AD1)
P1.3
P0.2 (AD2)
P1.4
P0.3 (AD3)
P1.5
P0.4 (AD4)
P1.6
P0.5 (AD5)
P1.7
P0.6 (AD6)
9
10
11
12
VCC 5V
13
14
15
2SA733
16
4.7k 
17
18
LED1
19
30pF
P0.7 (AD7)
P3.0 (RXD)
EA/VPP
P3.1 (TXD)
ALE/PROG
P3.2 (INT0)
PSEN
P3.3 (INT1)
P2.7 (A15)
P3.4 (T0)
P2.6 (A14)
P3.5 (T1)
P2.5 (A13)
P3.6 (WR)
P2.4 (A12)
P3.7 (RD)
P2.3 (A11)
XTAL 12 MHz
1
RST
2
20
30pF
XTAL2
P2.2 (A10)
XTAL1
P2.1 (A9)
GND
P2.0 (A8)
40
39
38
37
36
35
34
33
32
31
30
29
28
27
26
25
24
23
22
21
Gambar 3.8 Rangkaian Mikrokontroler AT89S51
Mikrokontroler ini memiliki 32 port I/O, yaitu port 0, port 1, port 2 dan
port 3. Pin 40 dihubungkan ke sumber tegangan 5 volt. Dan pin 20 dihubungkan
ke ground. Rangkaian mikrokontroler ini menggunakan komponen kristal 12 MHz
27
Universitas Sumatera Utara
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 positif dan sebuah resistor 10 Kohm yang dihubungkan ke ground. Kedua
komponen ini berfungsi agar program pada mikrokontroler dijalankan beberapa
saat setelah power aktif. Lamanya waktu antara aktifnya power pada IC
mikrokontroler dan aktifnya program adalah sebesar perkalian antara kapasitor
dan resistor tersebut. Jika dihitung maka lama waktunya adalah :
t  R x C  10 K  x 10  F  1 m det ik
Jadi 1 mili detik setelah power aktif pada IC kemudian program aktif.
Pin 17 yang merupakan P3.7 dihubungkan dengan transistor dan sebuah
LED. Ini dilakukan hanya untuk menguji apakah rangkaian minimum
mikrokontroler AT89S51 sudah bekerja atau belum. Dengan memberikan
program sederhana pada mikrokontroler tersebut, dapat diketahui apakah
rangkaian minimum tersebut sudah bekerja dengan baik atau tidak. Jika LED yang
terhubug ke Pin 17 sudah bekerja sesuai dengan perintah yang diberikan, maka
rangkaian minimum tersebut telah siap digunakan. Namun setelah seluruh
rangkaian disatukan, LED yang terhubung ke in 17 ini tidak digunakan lagi.
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
28
Universitas Sumatera Utara
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 :
VCC
VCC
12V
12V
AT89S51 (P0.2)
AT89S51 (P0.0)
Tip 122
Tip 122
1.0k 
1.0k 
MOTOR
Stepper
AT89S51 (P0.3)
AT89S51 (P0.1)
Tip 122
Tip 122
1.0k 
1.0k 
Gambar 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 aktif. Hal ini akan menyebabkan
terhubungnya kolektor dengan emitor, sehingga kolektor mendapatkan tegangan 0
volt dari ground. Hal ini menyebabkan arus akan mengalir dari sumber tegangan
12 volt ke kumparan, sehingga kumparan akan menghasilkan medan magnet.
Medan magnet ini akan menarik logam yang ada pada motor, sehingga motor
mengarah pada kumparan yang memiliki medan magnet tesebut.
29
Universitas Sumatera Utara
Jika kemudian P0.0 diberi logika low (0), yang berarti transistor tidak aktif
dan tidak ada arus yang mengalir 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.
3.8. Perancangan program
Program yang digunakan dalam proyek ini adalah program visual basic untuk
interface komputer ke rangkaian dan asssembler untuk mikrokontroler, adapun
program yang diisikan adalah sbb:
program interface komputer ke rangkaian”:
Private Declare Sub PortOut Lib "IO.DLL" (ByVal Port As Integer, ByVal Data
As Byte)
Private Declare Function Portin Lib "IO.DLL" (ByVal Port As Integer) As Byte
Private Declare Sub Sleep Lib "Kernel32" (ByVal dwMiliseconds As Long)
Private Declare Function Inp Lib "DllPort.dll" Alias "Inp32" (ByVal PortAddress
As Integer) As Integer
Private Sub Buka_Gerbang_Click()
PortOut &H378, &H1A
30
Universitas Sumatera Utara
Sleep 50
PortOut &H378, &H1C
End Sub
Private Sub Close_Click()
Unload Me
End Sub
Private Sub Statusgerbang_Click()
PortOut &H378, &H3A
Sleep 100
NilaiGerbang = Inp(&H379)
If NilaiGerbang = 127 Then
Statusgrb = "Terbuka"
Else
Statusgrb = "Tertutup"
End If
End Sub
31
Universitas Sumatera Utara
BAB IV
PENGUJIAN DAN ANALISA SISTEM
4.1. Pengujian Rangkaian Catu Daya
Pengujian pada bagian rangkaian catu daya ini dapat dilakukan dengan
mengukur tegangan keluaran dari rangkaian ini dengan menggunakan voltmeter
digital. Dari hasil pengujian diperoleh tegangan keluaran pertama sebesar + 4,9
volt. Sedangkan tegangan keluaran kedua adalah sebesar +13,7 volt. Tegangan 4,9
volt digunakan untuk mensupplay tegangan ke mikrokontroler AT89S51.
Sedangkan tegangan 13,7 volt digunakan untuk mensupplay tegangan ke relay.
4.2. Pengujian Rangkaian minimum mikrokontroller AT89S51
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 aktif. Tipe
transistor yang digunakan adalah PNP A733, dimana transistor ini akan aktif
(saturasi) jika pada basis diberi tegangan 0 volt (logika low) dan transistor ini
akan tidak aktif 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:
32
Universitas Sumatera Utara
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
juga sebaliknya jika logika pada P2.7 low maka akan diubah ke high, demikian
seterusnya.
Logika low akan mengaktifkan transistor sehingga LED akan menyala dan
logika high akan menonaktifkan 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.5. Pengujian rangkaian driver motor stepper
Pengujian pada rangkaian ini dapat dilakukan dengan menghubungkan rangkaian
driver motor stepper ini dengan rangkaian mikrokontroler AT89S51, kemudian
memberikan program sederhana untuk mengendalikan perputaran motor stepper
tersebut.
33
Universitas Sumatera Utara
Program yang diberikan pada mikrokontroler untuk memutar motor
stepper adalah sebagai berikut :
mov a,#11h
Mov r0,#100
Buka_Palang:
mov P0,a
acall tunda
Rl a
djnz r0,buka_palang
mov P0,#0h
Program diawali dengan memberikan nilai 11h 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 tabel 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 tabel di bawah ini :
a
0
0
0
1
34
0
0
0
1
Universitas Sumatera Utara
Rl
a
0
0
1
0
0
0
1
0
Dst..................
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 nilai pada R0 sudah nol atau belum, jika nilai pada R0 belum
nol, yang berarti palang belum terbuka lebar, maka program akan kembali ke rutin
buka palang untuk terus membuka palang. 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, seperti tabel di bawah ini :
P0.7 P0.6 P0.5 P0.4 P0.3 P0.2 P0.1 P0.0
P0
0
0
1
0
0
0
1
0
Sebelumnya telah dibahas bahwa P0.0, P0.1, P0.2, dan P0.3 dihubungkan ke
masukan driver motor stepper, dengan program di atas 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 palang. Palang akan terus dibuka sampai
nilai pada r0 menjadi nol, yang berarti pintu telah terbuka lebar maka program
akan melanjutkan ke baris berikutnya, yaitu mengisi port 0 dengan nilai 0h, yang
merupakan perintah untuk menghentikan perputaran motor.
Hal yang sama juga berlaku ketika motor berputar untuk menutup
palang, perbedaannya hanya pada perintah rotate. Jika pada perintah buka pintu
digunakan rotate left ( Rl ), maka pada perintah tutup pintu digunakan perintah
rotate right ( Rr). Perputaran perintah Rr diperlihatkan pada table berikut,
35
Universitas Sumatera Utara
a
1
0
0
0
1
0
0
0
0
1
0
0
Rr
a
0
1
0
0
Dst...................
36
Universitas Sumatera Utara
BAB V
KESIMPULAN DAN SARAN
5.1
Kesimpulan

Dengan menggunakan motor stepper apakah dapat bergerak atau tidak.

Dengan memberikan program dan mikrokontroler, maka mikrokontroler
dapat
berkomunikasi
dengan
driver
stepper
motor
,
sehingga
mikrokontroler dapat melaksanakan perintah-perintah yang diberikan.
5.2
Saran

Komunikasi paralel antara mikrokontroler membutuhkan kabel yang
banyak. Sebaiknya rangkaian ini dikembangkan dengan menggunakan
komunikasi secara serial, sehingga jumlah kabel yang digunakan lebih
sedikit.
37
Universitas Sumatera Utara
Download