PERANCANGAN DAN SIMULASI SISTEM KIPAS EXHAUST BERBASIS AT89C51 DENGAN BAHASA ASSEMBLY

 

                     PERANCANGAN DAN SIMULASI  SISTEM

                         KIPAS EXHAUST BERBASIS AT89C51

                        DENGAN BAHASA ASSEMBLY


                          
    


     Dosen Pengampu:

     DR. Samuel Beta K.,Ing.Tech,M.T.


                                                                             Disusun Oleh: 

                                                                              Kelompok 5

 

                                     1.    Aqsyal Frandykatama                EK–2A           3.32.24.0.05

                                     2.    Putra Athallah                             EK-2A            3.32.24.0.21

                                     3.    Jan Salmon W. Rumsowek         EK-2A            3.32.24.0.14

                                     4.    Salsabila Nisa Haibah                 EK-2A            3.32.24.0.24


                              

PROGRAM STUDI TEKNIK ELEKTRONIKA

JURUSAN TEKNIK ELEKTRO

POLITEKNIK NEGERI SEMARANG

2025


                                                                    KATA PENGANTAR

     Puji syukur kami panjatkan kepada Allah SWT atas segala rahmat, nikmat, dan keberkahan Nya, yang telah memberikan kami kekuatan dan kemudahan dalam menjalani setiap proses. Alhamdulillah, dengan bimbingan dan petunjuk-Nya, kami berhasil menyelesaikan proyek besar yang berjudul “Perancangan dan Simulasi Sistem Kipas Exhaust Berbasis AT89C51 Dengan Bahasa Assembly” dengan lancar. Proyek ini merupakan bagian dari tugas akhir pada semester 3, yang tentunya tidak dapat terwujud tanpa usaha dan dedikasi kami.

Selama proses penyusunan proyek ini, kami menghadapi berbagai tantangan dan kendala, baik yang bersifat teknis maupun non-teknis. Namun, dengan adanya kerja sama yang solid di antara anggota tim, dukungan moral yang kami terima, serta bantuan dari berbagai pihak, kami dapat menyelesaikan proyek ini dengan baik. Untuk itu, kami ingin mengucapkan terima kasih kepada:

1.     Bapak Dr. Samuel Beta K., Ing.Tech, M.T., selaku dosen pengampu mata kuliah Mikrokontroler 1, yang telah memberikan bimbingan, arahan, dan ilmu yang sangat berharga sehingga proyek ini dapat terselesaikan dengan baik.

2.  Politeknik Negeri Semarang (POLINES) yang telah menyediakan fasilitas dan sarana yang mendukung kelancaran penelitian serta pembuatan proyek ini.

3.    Rekan-rekan dalam kelompok 5 yang telah memberikan kontribusi waktu, tenaga, dan pikiran untuk bekerja sama dalam menyelesaikan proyek ini.

4.  Orang tua yang selalu memberikan doa, dukungan, dan izin kepada anggota kelompok, sehingga seluruh proses dapat berjalan dengan lancar.

5.   Semua pihak yang telah memberikan bantuan, baik secara langsung maupun tidak langsung, meskipun tidak dapat kami sebutkan satu per satu.

Kami menyadari bahwa proyek ini masih memiliki kekurangan dan belum mencapai kesempurnaan. Oleh karena itu, kami sangat menghargai setiap kritik dan saran yang konstruktif demi perbaikan di masa mendatang. Kami berharap proyek ini dapat memberikan manfaat serta menjadi referensi bagi siapa pun yang membaca laporan ini.


       BAB 1

     PENDAHULUAN

1.1    Latar Belakang

Kondisi kualitas udara di area industri memiliki peranan besar dalam menjaga kenyamanan serta keselamatan tenaga kerja. Beberapa ruang kerja, seperti area produksi, pengecatan, dan penyimpanan bahan kimia, sering mengalami peningkatan suhu dan pencemaran udara akibat debu, asap proses, maupun bau zat kimia. Apabila kondisi tersebut tidak ditangani dengan baik, lingkungan kerja dapat menjadi tidak sehat dan berdampak pada penurunan kinerja pekerja.

Salah satu upaya yang umum digunakan untuk mengatasi permasalahan tersebut adalah pemanfaatan kipas exhaust sebagai sistem ventilasi. Kipas exhaust berfungsi membuang udara kotor dari dalam ruangan agar sirkulasi udara tetap terjaga. Akan tetapi, pada penerapannya, pengoperasian kipas exhaust di banyak industri masih dilakukan secara manual dan tidak terintegrasi. Hal ini mengharuskan operator mengendalikan kipas secara langsung di lokasi masing-masing, sehingga kurang efisien dan menyulitkan proses pemantauan.

Seiring berkembangnya teknologi, penggunaan mikrokontroler memungkinkan perancangan sistem kendali yang lebih efektif dan terpusat. Oleh karena itu, penelitian ini berfokus pada perancangan dan simulasi sistem kipas exhaust berbasis mikrokontroler AT89C51 menggunakan bahasa assembly, dengan tujuan meningkatkan efisiensi pengendalian serta mempermudah pengawasan sistem ventilasi di lingkungan industri.

1.2  Rumusan Masalah

· Bagaimana merancang sistem kipas exhaust berbasis mikrokontroler AT89C51 menggunakan bahasa assembly?

·    Bagaimana melakukan simulasi sistem kipas exhaust untuk mengetahui kinerja pengendalian kipas?

·  Bagaimana sistem kipas exhaust berbasis AT89C51 dapat meningkatkan efisiensi pengoperasian dibandingkan dengan sistem manual?

1.3  Tujuan 

        ·    Merancang sistem kipas exhaust berbasis mikrokontroler AT89C51 menggunakan bahasa assembly.

·   Mensimulasikan sistem kipas exhaust untukmengetahui kinerja dan respon pengendalian kipas.

·  Meningkatkan efisiensi pengoperasian serta mempermudah pengawasan kipas exhaust dibandingkan dengan sistem pengendalian manual.

   BAB II

   TINJAUAN PUSTAKA

     2.1.   Perangkat Keras

a.    Mikrokontroller AT89C51

                      

                     Gambar (a): Mikrokontroller AT89C51

Mikrokontroler AT89C51 adalah 

sebuah mikrokomputer 8-bit dalam satu chip yang terdiri dari CPU, memori program, RAM, dan port input/output (I/O) yang dapat diprogram. AT89C51 kompatibel dengan keluarga 8051 dan sering digunakan untuk mengendalikan sistem elektronik tertanam yang membutuhkan logika kendali, pembacaan input, dan keluaran sinyal ke perangkat lain.

b.    L293D (Motor Driver)

      
           

Gambar (b): L293D (Motor Driver)

         IC L293D adalah sebuah motor driver dual H-bridge yang berfungsi mengendalikan satu atau dua motor DC sesuai sinyal logika dari mikrokontroler. L293D bekerja sebagai penyedia arus yang cukup untuk menggerakkan motor, karena mikrokontroler sendirian tidak bisa langsung mengalirkan arus yang besar ke motor.

c.    Kipas (Aktuator)

Gambar (c): Kipas (Aktuator)

Dalam proyek ini, kipas industri atau motor DC berfungsi sebagai aktuator—yaitu perangkat yang melakukan tindakan fisik (mengalirkan udara). Aktuator menerima sinyal dari mikrokontroler (melalui driver L293D) untuk menyala atau mati sesuai kondisi kontrol.

d.    Push Button (Tombol Tekan)

                   

                Gambar (c): Push Button (Tombol Tekan)

 Push button adalah saklar mekanis yang memberikan sinyal input ke mikrokontroler saat ditekan. Ketika tombol ditekan, ia mengubah kondisi logika (misalnya dari HIGH ke LOW atau sebaliknya), yang kemudian dibaca oleh mikrokontroler sebagai perintah kontrol (misalnya untuk menyalakan atau mematikan kipas).

e.    Display 7 - Segmen

             

                     Gambar (e): Display 7 - Segmen        

Display 7-segmen adalah modul tampilan berupa tujuh LED yang disusun sedemikian rupa sehingga dapat menampilkan angka desimal 0–9. Setiap segmen dapat dikendalikan oleh mikrokontroler untuk membentuk digit angka yang diinginkan.


     2.2.   Perangkat Lunak

a.    Edsim51

        

              Gambar (a): Edsim51

EdSim51 adalah sebuah software simulator yang digunakan untuk menulis dan menjalankan program mikrokontroler 8051/AT89C51 secara virtual. Program yang ditulis (misalnya menggunakan bahasa assembly) dapat diuji langsung melalui EdSim51 sehingga pengguna dapat melihat bagaimana instruksi dieksekusi oleh CPU mikrokontroler tanpa harus langsung ke perangkat keras (hardware). EdSim51 juga menyediakan antarmuka visual seperti register, memory, I/O port, dan status pin yang memudahkan proses debugging program.

b.    Proteus

                 

             Gambar (b): Proteus

 Proteus adalah sebuah software desain elektronika yang digunakan untuk mensimulasikan rangkaian listrik/elektronik secara keseluruhan, termasuk mikrokontroler dan komponen pendukungnya. Dengan Proteus, kamu bisa merancang skematik rangkaian, men-setup komponen seperti AT89C51, IC driver, motor/kipas, push button, display 7-segmen, dan langsung mensimulasikan kerja sistem secara nyata sebelum dibuat secara fisik. Proteus juga mendukung simulasi program mikrokontroler yang dimuat dari file HEX, sehingga interaksi antara hardware dan software bisa diuji bersama.


                   BAB III

                   PERANCANGAN SISTEM

 3.1.   Diagaram Blok

                                               
                      

  

                                            Gambar 3.1: Diagram Blok

 3.2.   Flowchart

                   

                  Gambar 3.2: Flowchart

 3.3.   Skematik Rangkaian

                 

                      Gambar 3.2: Skematik Rangkaian

 3.4.   Program

; =================================================================

; PROGRAM: KONTROL MOTOR DUA TOMBOL TOGGLE (FIXED VERSION)

; AT89C51 | Tombol P2.0 (M1), P2.1 (M2) | Motor P1.0, P1.3 | 7-Segmen P3

; Tampilan: 0=Idle, 1=M1 ON, 2=M2 ON, 3=Both ON

; =================================================================

 

; --- 1. DEFINISI PIN & REGISTER ---

IN1     EQU     P1.0          ; Output Motor 1

IN2     EQU     P1.1          ; Motor 1 Ground/Reverse

IN3     EQU     P1.3          ; Output Motor 2

IN4     EQU     P1.4          ; Motor 2 Ground/Reverse

 

BTN_M1  EQU     P2.0          ; Tombol 1: Toggle ON/OFF Motor 1

BTN_M2  EQU     P2.1          ; Tombol 2: Toggle ON/OFF Motor 2

 

R0_ST   EQU     R0            ; Status Motor 1 (0=OFF, 1=ON)

R2_ST   EQU     R2            ; Status Motor 2 (0=OFF, 1=ON)

 

; --- 2. VEKTOR RESET ---

ORG 0000H

LJMP MAIN

 

; =================================================================

; 3. PROGRAM UTAMA

; =================================================================

MAIN:

    ; Inisialisasi Port

    MOV P3, #3FH              ; Tampilkan angka '0' di awal

    MOV P1, #00H              ; Semua motor mati

    MOV P2, #0FFH             ; P2 sebagai Input

 

    ; Inisialisasi Status

    MOV R0_ST, #00H           ; Status M1 = 0 (OFF)

    MOV R2_ST, #00H           ; Status M2 = 0 (OFF)

 

MAIN_LOOP:

    ; --- CEK TOMBOL 1 ---

    JNB BTN_M1, M1_TOGGLE

   

    ; --- CEK TOMBOL 2 ---

    JNB BTN_M2, M2_TOGGLE

 

    SJMP APPLY_CONTROL        ; Perbarui kondisi output

 

; --- SUBRUTIN AKSI TOMBOL ---

M1_TOGGLE:

    CJNE R0_ST, #00H, M1_TURN_OFF

    MOV R0_ST, #01H           ; Jika tadi 0, sekarang jadi 1

    SJMP M1_DONE

M1_TURN_OFF:

    MOV R0_ST, #00H           ; Jika tadi 1, sekarang jadi 0

M1_DONE:

    LCALL DEBOUNCE_WAIT

    SJMP APPLY_CONTROL

 

M2_TOGGLE:

    CJNE R2_ST, #00H, M2_TURN_OFF

    MOV R2_ST, #01H           ; Jika tadi 0, sekarang jadi 1

    SJMP M2_DONE

M2_TURN_OFF:

    MOV R2_ST, #00H           ; Jika tadi 1, sekarang jadi 0

M2_DONE:

    LCALL DEBOUNCE_WAIT

    SJMP APPLY_CONTROL

 

; --- KONTROL MOTOR & 7-SEGMENT ---

APPLY_CONTROL:

    ; Kontrol Motor 1

    CJNE R0_ST, #01H, M1_STOP

    SETB IN1

    CLR IN2

    SJMP NEXT_M2

M1_STOP:

    CLR IN1

    CLR IN2

 

NEXT_M2:

    ; Kontrol Motor 2

    CJNE R2_ST, #01H, M2_STOP

    SETB IN3

    CLR IN4

    SJMP UPDATE_DISPLAY

M2_STOP:

    CLR IN3

    CLR IN4

 

UPDATE_DISPLAY:

    ; LOGIKA TAMPILAN 3 (Keduanya ON)

    MOV A, R0_ST

    ANL A, R2_ST              ; Cek apakah R0=1 AND R2=1

    JNZ SHOW_3

 

    ; LOGIKA TAMPILAN 1

    CJNE R0_ST, #01H, CHECK_2

    MOV P3, #06H              ; Angka 1

    SJMP MAIN_LOOP

 

CHECK_2:

    ; LOGIKA TAMPILAN 2

    CJNE R2_ST, #01H, SHOW_0

    MOV P3, #5BH              ; Angka 2

    SJMP MAIN_LOOP

 

SHOW_0:

    MOV P3, #3FH              ; Angka 0

    SJMP MAIN_LOOP

 

SHOW_3:

    MOV P3, #4FH              ; Angka 3 (Segmen A,B,C,D,G)

    SJMP MAIN_LOOP

 

; --- SUBRUTIN DEBOUNCE ---

DEBOUNCE_WAIT:

    ; Tunggu tombol dilepas agar tidak looping terus menerus

WAIT_RELEASE:

    JNB BTN_M1, WAIT_RELEASE

    JNB BTN_M2, WAIT_RELEASE

   

    ; Delay singkat (Debounce)

    MOV R6, #50

D1: MOV R7, #200

    DJNZ R7, $

    DJNZ R6, D1

    RET

 

END

 

                   BAB IV

                 HASIL DAN PEMBAHASAN

             a.    Cara Kerja Sistem

Sistem kipas angin ini bekerja dengan menggunakan mikrokontroler AT89C51 sebagai pusat pengendali yang menerima input dari push button dan mengatur keluaran berupa motor kipas serta tampilan 7-segmen. Sistem dirancang agar mampu menyalakan dan mematikan dua kipas sekaligus serta menampilkan status kipas yang sedang aktif

Adapun alur kerja sistem adalah sebagai berikut:

  1.      Saat rangkaian diberi catu daya, mikrokontroler melakukan proses inisialisasi sehingga kedua kipas berada dalam kondisi mati dan display 7-segmen menampilkan angka “0” sebagai indikator awal.
  2.    Sistem membaca input dari dua push button yang masing-masing digunakan untuk mengontrol satu kipas.
  3.       Ketika push button 1 ditekan, mikrokontroler mengaktifkan driver motor sehingga kipas 1 menyala dan display menampilkan angka “1”.
  4.    Ketika push button 2 ditekan, mikrokontroler  mengaktifkan kipas 2 dan display menampilkan angka “2”
  5.         Jika kedua push button ditekan secara bersamaan, maka kedua kipas akan menyala dan display 7-segmen menampilkan angka “3”.
  6.     Untuk mematikan kipas, push button ditekan kembali sehingga motor berhenti dan display kembali menampilkan angka “0”.

Seluruh proses pengendalian sistem diprogram menggunakan bahasa Assembly dan disimulasikan menggunakan EdSim51 serta Proteus untuk memastikan sistem bekerja sesuai dengan perancangan


                   BAB V

                 PENUTUP

  Berdasarkan hasil perancangan dan simulasi yang telah dilakukan, dapat disimpulkan bahwa sistem kontrol kipas exhaust industri berbasis mikrokontroler AT89C51 berhasil dirancang dan berfungsi dengan baik. Sistem ini memungkinkan pengoperasian beberapa kipas exhaust yang berada di ruangan berbeda hanya dari satu ruang kontrol, sehingga operator tidak perlu menyalakan kipas secara manual di setiap lokasi. Melalui penggunaan push button sebagai input, operator dapat menyalakan dan mematikan kipas secara terpisah maupun bersamaan, sementara status kerja kipas ditampilkan pada display 7-segmen. Penggunaan bahasa Assembly serta IC driver motor L293D memastikan proses pengendalian berjalan stabil dan aman. Dengan bantuan simulasi EdSim51 dan Proteus, sistem ini terbukti efektif untuk meningkatkan efisiensi, kemudahan pengoperasian, dan pengendalian exhaust udara di lingkungan industri


                    DAFTAR PUSTAKA

Raden Eddy Susanto. (2010). Pemrograman Mikrokontroler AT89C51 Menggunakan Bahasa Assembly.

Suyanto. (2014). Sistem Ventilasi dan Pengkondisian Udara Industri. Yogyakarta: Andi Offset.

                     LAMPIRAN

  •   Link Youtube

  •  Link Canva


             


Komentar

Postingan populer dari blog ini

AIR TEMPERATURE SWITCHING AND MONITORING SYSTEM DENGAN MENGGUNAKAN SENSOR LM35 BERBASIS ATMEGA 16

RANCANG BANGUN KALKULATOR DIGITAL OPERASI KALI DAN BAGI BERBASIS MIKROKONTROLER AT89C51

SISTEM LAMPU LALU LINTAS PERTIGAAN BERBASIS AT89s51 DENGAN SENSOR INFRAMERAH