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