TUGAS 2

 RANGKAIAN APLIKASI SEDERHANA

Rangkaian Mikroprosesor 8086 Sebagai Penggerak Motor Stepper Bipolar



Prinsip Kerja Rangkaian


gambar rangkaian sistem minimum


    Rangkaian yang ditunjukkan merupakan sistem berbasis mikroprosesor 8086 yang digunakan untuk mengendalikan motor stepper bipolar melalui IC driver L298. Mikroprosesor 8086 (U1) berfungsi sebagai pusat pengolah yang mengirimkan instruksi berupa data urutan logika untuk menggerakkan motor. Karena bus pada 8086 bersifat multiplex, data dan alamat berbagi jalur yang sama (AD0–AD7), sehingga dibutuhkan IC latch 74HC373 (U2) untuk menangkap alamat ketika sinyal ALE aktif, agar selanjutnya jalur bus dapat dipakai untuk pengiriman data. Data dari prosesor kemudian dikirim ke IC PPI 8255A (U3) yang bertugas sebagai antarmuka paralel untuk menghubungkan 8086 dengan perangkat eksternal. Port-port pada 8255 diprogram untuk menghasilkan sinyal logika yang sesuai dengan urutan langkah motor stepper bipolar. Sinyal ini diteruskan ke IC L298 (U4) yang berperan sebagai driver H-Bridge, sehingga mampu memberikan arus dua arah ke lilitan motor stepper. Dengan pola logika yang dikirimkan secara bergantian, motor stepper dapat bergerak dalam mode full-step atau half-step sesuai program. Selain itu, pada rangkaian ini juga terdapat seven segment display yang dihubungkan ke salah satu port 8255, berfungsi sebagai penampil status seperti posisi langkah atau arah putaran motor. Secara keseluruhan, rangkaian ini bekerja dengan cara mikroprosesor 8086 mengeksekusi program untuk menghasilkan urutan logika, 8255 menjadi jembatan penghubung ke perangkat keras, L298 menguatkan sinyal untuk menggerakkan motor stepper, dan seven segment menampilkan informasi kondisi sistem.


🔹 1. Mikroprosesor 8086 (U1)

  • U1 = 8086 sebagai otak utama sistem.

  • Jalur AD0–AD15 digunakan sebagai bus alamat/data multiplexed.

  • Dengan bantuan sinyal kontrol ALE (Address Latch Enable), sinyal alamat dipisahkan menggunakan latch eksternal.


🔹 2. Latch Address/Data (U2 = 74HC373)

  • Karena 8086 menggunakan multiplex bus, data dan alamat berbagi pin (AD0–AD7).

  • 74HC373 (U2) berfungsi untuk “menyimpan” alamat dari bus ketika ALE aktif.

  • Setelah itu bus dapat digunakan untuk data.


🔹 3. IC PPI 8255A (U3)

  • 8255A = Programmable Peripheral Interface.

  • Dipakai untuk komunikasi I/O paralel antara 8086 dengan perangkat eksternal (motor stepper, seven segment).

  • Port A, B, C dari 8255 digunakan untuk mengirimkan pola logika (bit ON/OFF) yang akan menentukan urutan langkah motor stepper bipolar.

  • 8255 juga bisa dihubungkan ke 7-seg display untuk menampilkan status (misalnya step ke berapa).


🔹 4. Driver Motor L298 (U4)

  • L298 adalah driver motor H-Bridge yang dapat mengendalikan motor stepper bipolar.

  • Input IN1–IN4 menerima sinyal logika dari 8255.

  • Output OUT1–OUT4 terhubung ke lilitan motor stepper bipolar.

  • Kombinasi ON/OFF pada keempat input akan menentukan arah dan langkah motor.

    • Contoh urutan step full-step:

      1. IN1=1, IN2=0, IN3=1, IN4=0

      2. IN1=0, IN2=1, IN3=1, IN4=0

      3. IN1=0, IN2=1, IN3=0, IN4=1

      4. IN1=1, IN2=0, IN3=0, IN4=1


🔹 5. Seven Segment Display

  • Terhubung ke salah satu port 8255 (misalnya Port A).

  • Dipakai untuk menampilkan status kontrol, seperti angka step yang sedang aktif, arah putaran, atau jumlah langkah.


🔹 6. Prinsip Kerja Keseluruhan

  1. 8086 menjalankan program (kode assembly) yang mengatur urutan logika untuk menggerakkan motor stepper.

  2. Alamat dikirim melalui bus → latch (74HC373) menyimpan alamat.

  3. Data (pola step) dikirim ke 8255.

  4. 8255 meneruskan data ke driver L298.

  5. L298 mengubah logika ON/OFF menjadi arus pada lilitan motor stepper.

  6. Motor stepper berputar sesuai urutan langkah yang diberikan (CW/CCW, full-step/half-step).

  7. Seven segment menampilkan angka yang merepresentasikan step atau status motor.


Gambar Rangkaian 

    1. Sebelum dijalankan


sebelum dijalankan

      2. Setelah dijalankan

setelah dijalankan



Vidio Simulasi


Flowchart Rangkaian



Listing Program


; Program 8086 + 8255

; Menggerakkan motor stepper (Port C) dan menampilkan angka di 7-seg (Port A)


.model tiny

.code

org 100h


start:

    ; =============== INIT 8255 =================

    mov dx, 083h         ; alamat control register 8255 (ubah sesuai mapping di proteusmu)

    mov al, 80h          ; Mode 0: semua port output (PA, PB, PC)

    out dx, al


    ; =============== LOOP PROGRAM ==============

main_loop:

    ; --- tampilkan angka di seven segment ---

    mov dx, 080h         ; alamat Port A (7-seg)

    mov al, seg_code[si] ; ambil kode seven segment

    out dx, al


    ; --- kirim step motor ke Port C ---

    mov dx, 082h         ; alamat Port C (motor stepper)

    mov al, step_code[di]

    out dx, al


    ; --- delay sederhana ---

    call delay


    ; --- update index ---

    inc si

    cmp si, 10

    jne next_digit

    mov si, 0


next_digit:

    inc di

    cmp di, 4

    jne loop_continue

    mov di, 0


loop_continue:

    jmp main_loop



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

; Tabel kode seven segment

; (untuk Common Cathode)

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

seg_code db 3FH,06h,5Bh,4Fh,66h,6Dh,7Dh,07h,7Fh,6Fh

; angka 0-9


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

; Urutan stepper (4 langkah)

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

step_code db 09h,0Ch,06h,03h

; 1001, 1100, 0110, 0011


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

; Delay sederhana

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

delay proc

    push cx

    mov cx, 0FFFFh

d1: loop d1

    pop cx

    ret

delay endp


end start



Penjelasan Berdasarkan Urutan Kode

1. Deklarasi Program

.model tiny
.code
org 100h
  • model tiny → program kecil, satu segmen kode dan data.

  • org 100h → lokasi awal program untuk format COM file.


2. Inisialisasi PPI 8255

mov dx, 083h         ; alamat control register
mov al, 80h          ; Mode 0, semua port sebagai output
out dx, al
  • Mengatur 8255 agar semua port (A, B, C) berfungsi sebagai output.

  • Control word 80h artinya Mode 0 → output semua port.


3. Menampilkan Angka di Seven Segment

mov dx, 080h         ; alamat Port A
mov al, seg_code[si] ; ambil kode dari tabel
out dx, al
  • Port A dihubungkan ke seven segment.

  • Nilai seg_code[si] diambil dari tabel angka 0–9.


4. Menggerakkan Motor Stepper

mov dx, 082h         ; alamat Port C
mov al, step_code[di]; ambil pola stepper
out dx, al
  • Port C dihubungkan ke driver motor stepper bipolar.

  • Nilai step_code[di] mengatur urutan lilitan motor (ON/OFF).


5. Delay

call delay
  • Memanggil subrutin delay agar putaran motor dan pergantian angka seven segment tidak terlalu cepat.


6. Update Index Seven Segment

inc si
cmp si, 10
jne next_digit
mov si, 0
  • SI sebagai indeks tabel angka.

  • Naik dari 0 → 9, lalu kembali ke 0.


7. Update Index Stepper

inc di
cmp di, 4
jne loop_continue
mov di, 0
  • DI sebagai indeks tabel stepper.

  • Naik dari 0 → 3, lalu kembali ke 0.


8. Ulangi Loop

jmp main_loop
  • Program akan terus mengulang (infinite loop).


9. Tabel Data Seven Segment

seg_code db 3FH,06h,5Bh,4Fh,66h,6Dh,7Dh,07h,7Fh,6Fh
  • Tabel berisi pola biner angka 0–9 untuk seven segment common cathode.


10. Tabel Data Stepper

step_code db 09h,0Ch,06h,03h
  • Urutan pola untuk mengaktifkan lilitan motor stepper bipolar:

    • 1001 → coil 1 dan 4 aktif

    • 1100 → coil 1 dan 2 aktif

    • 0110 → coil 2 dan 3 aktif

    • 0011 → coil 3 dan 4 aktif


11. Subrutin Delay

delay proc
    push cx
    mov cx, 0FFFFh
d1: loop d1
    pop cx
    ret
delay endp
  • Menggunakan perulangan kosong dengan counter CX.

  • Memberi jeda waktu agar motor stepper bergerak stabil dan angka seven segment terbaca jelas.


Kesimpulan

Program ini bekerja dengan alur berikut:

  1. Inisialisasi 8255 agar semua port menjadi output.

  2. Mengambil data angka dari tabel seg_code lalu menampilkannya di seven segment (Port A).

  3. Mengambil data langkah dari tabel step_code lalu mengirimkannya ke motor stepper (Port C).

  4. Memberikan delay agar gerakan dan tampilan tidak terlalu cepat.

  5. Mengupdate indeks angka dan stepper.

  6. Mengulangi proses dari awal secara terus menerus.

Dengan cara ini, seven segment akan menampilkan angka 0–9 secara berurutan, sementara motor stepper berputar mengikuti pola langkah yang ditentukan.


Download File

File Rangkaian unduh

File Program ASM unduh

File Program COM unduh

Datasheet mikroprosesor 8086 unduh

Datasheet IC PPI 8255A unduh

Datasheet 7HC373 unduh

Datasheet L298 unduh

Datasheet Motor Stepler unduh




Tidak ada komentar:

Posting Komentar

ELEKTRONIKA

 BAHAN PRESENTASI UNTUK MATA KULIAH  ELEKTRONIKA C Disusun Oleh : Abdul Hadi Aldoreza 2210952008 Dosen Pengampu : Dr. Darwison, M.T JURUSAN ...