Anda di halaman 1dari 11

LAPORAN PRAKTIKUM

SISTEM KENDALI
EK – 5D

Disusun Oleh :
Tirta Dwi Rahman
2105042040

PROGRAM STUDI TEKNIK


ELEKTRONIKA JURUSAN TEKNIK
ELEKTRO
POLITEKNIK NEGERI MEDAN
2023/2024
LEMBAR
PENGESAHAN

Nomor Percobaan : 13/LAB-EK/EK-5D/2023

Judul : Mengendalikan Stepper Motor dengan AVR Atmega 32/16

Nama Praktikan : Tirta Dwi Rahman

Tim : Personal

Tanggal Percobaan : Selasa,21-11-2023

Tanggal Penyerahan : Selasa,27-11-2023

Instruktur : Ansharuddin, S.T., M.T & Ulfa Hasnita, S.T., M.T

Nilai :

Keterangan :
1. Percobaan Stepper Motor Dengan AVR Atmega 32
1.1. Rangkaian Stepper Motor Dengan Atmega 32

1.2. Komponen Yang Digunakan pada Proteus 8 Profesional


1. Atmega 32 3. Stepper Motor 5. Power 7. Ground
2. ULN2003A 4. Push Button 6. Resistor

1.3. Program Yang diperlukan pada AVR studio


#include <avr/io.h>
#define F_CPU 8000000UL /* Define CPU Frequency 8MHz */
#include <avr/io.h> /* Include AVR std. library file */
#include <util/delay.h> /* Include delay header file */
int main (void)
{
int period;
DDRD = 0x0F; /* Make PORTD lower pins as output */
period = 100; /* Set period in between two steps */
while (1)
{
/* Rotate Stepper Motor clockwise with Half step sequence */
for(int i=0;i<12;i++)
{
PORTD = 0x09;
_delay_ms(period);
PORTD = 0x08;
_delay_ms(period);
PORTD = 0x0C;
_delay_ms(period);
PORTD = 0x04;
_delay_ms(period);
PORTD = 0x06;
_delay_ms(period);
PORTD = 0x02;
_delay_ms(period);
PORTD = 0x03;
_delay_ms(period);
PORTD = 0x01;
_delay_ms(period);
}
PORTD = 0x09; /* Last step to initial position */
_delay_ms(period);
_delay_ms(1000);

/* Rotate Stepper Motor Anticlockwise with Full step sequence */


for(int i=0;i<12;i++)
{
PORTD = 0x09;
_delay_ms(period);
PORTD = 0x03;
_delay_ms(period);
PORTD = 0x06;
_delay_ms(period);
PORTD = 0x0C;
_delay_ms(period);
}
PORTD = 0x09;
_delay_ms(period);
_delay_ms(1000);
}
}

1.4. Langkah-langkah Percobaan


1. Silahkan anda mempersiapkan terlebih dahulu software yang diperlukan seperti
Proteus 8 Profesional dan AVR Studio.
2. Setelah itu silahkan anda buka terlebih dahulu Proteus 8 Profesional dan Pilih NEW
PROJECK, berikan file dengan nama projeck anda.
3. Setelah itu silahkan anda rangkaian sesuai gambar rangkaian yang diberikan diatas
4. Lakukan pemeriksaan pada hasil yang anda rangkai
5. Setelah itu buka AVR STUDIO, klick NEW FILE, pilih Atmega 32
6. Silahkan anda copas program diatas dan tempel pada bar tampilan AVR STUDIO
7. Lalu anda compail program,perhatikan apakah ada error? Jika ada coba anda cari
tau, apa solusi terbaik yang anda lakukan untuk memperbaiki error
8. Jika tidak ada error maka Langkah berikut nya kita akan memasukan program
tesebut pada atmega 32 di proteus
9. Anda buka proteus anda Kembali lalu pada komponen ATMEGA 32 anda double
klick, perhatikan di tampilan nya ada tulisan PROGRAM FILE di sampinya anda
klik berbentuk file exploxer lalu masukan program yang anda simpan tadi dalam
bentuk HEX file.
10. Silahkan anda start simulation pada pojok kiri bawah di software proteus

1.5. Hasil percobaan


2. Percobaan Stepper Motor Dengan AVR Atmega 16
2.1. Rangkaian Stepper Motor Dengan Atmega 16

2.2. Komponen Yang Digunakan pada Proteus 8 Profesional


1. Atmega 32 3. Stepper Motor 5. Power 7. Ground
2. ULN2003A 4. Push Button 6. Resistor

2.3. Program Yang diperlukan pada AVR studio


#define F_CPU 16000000UL /* Define CPU Frequency 8MHz */
#include <avr/io.h> /* Include AVR std. library file */
#include <util/delay.h> /* Include delay header file */
main()
{

int i, period;
DDRA = 0x0F; /* Make PORTA lower pins as output */
period = 6; /* Set period in between two steps */

while(1)
{

/* Rotate Stepper Motor clockwise with Half step sequence */


for(i=0;i<50;i++)
{
PORTA = 0x09;
_delay_ms(period);
PORTA = 0x08;
_delay_ms(period);
PORTA = 0x0C;
_delay_ms(period);
PORTA = 0x04;
_delay_ms(period);
PORTA = 0x06;
_delay_ms(period);
PORTA = 0x02;
_delay_ms(period);
PORTA = 0x03;
_delay_ms(period);
PORTA = 0x01;
_delay_ms(period);
}
PORTA = 0x09; /* Last step to initial position */
_delay_ms(period);
_delay_ms(1000);

/* Rotate Stepper Motor Anticlockwise with Full step sequence */


for(i=0;i<50;i++)
{
PORTA = 0x01;
_delay_ms(period);
PORTA = 0x03;
_delay_ms(period);
PORTA = 0x02;
_delay_ms(period);
PORTA = 0x06;
_delay_ms(period);
PORTA = 0x04;
_delay_ms(period);
PORTA = 0x0C;
_delay_ms(period);
PORTA = 0x08;
_delay_ms(period);
PORTA = 0x09;
_delay_ms(period);

}
PORTA = 0x09;
_delay_ms(period);
_delay_ms(1000);
}
}

2.4. Langkah-langkah Percobaan


1. Silahkan anda mempersiapkan terlebih dahulu software yang diperlukan seperti Proteus
8 Profesional dan AVR Studio.
2. Setelah itu silahkan anda buka terlebih dahulu Proteus 8 Profesional dan Pilih NEW
PROJECK, berikan file dengan nama projeck anda.
3. Setelah itu silahkan anda rangkaian sesuai gambar rangkaian yang diberikan diatas
4. Lakukan pemeriksaan pada hasil yang anda rangkai
5. Setelah itu buka AVR STUDIO, klick NEW FILE, pilih Atmega 16
6. Silahkan anda copas program diatas dan tempel pada bar tampilan AVR STUDIO
7. Lalu anda compail program,perhatikan apakah ada error? Jika ada coba anda cari tau, apa
solusi terbaik yang anda lakukan untuk memperbaiki error
8. Jika tidak ada error maka Langkah berikut nya kita akan memasukan program tesebut
pada atmega 16 di proteus
9. Anda buka proteus anda Kembali lalu pada komponen ATMEGA 16 anda double klick,
perhatikan di tampilan nya ada tulisan PROGRAM FILE di sampinya anda klik berbentuk
file exploxer lalu masukan program yang anda simpan tadi dalam bentuk HEX file.
10. Silahkan anda start simulation pada pojok kiri bawah di software proteus
2.5. Hasil Percobaan
KESIMPULAN
- Praktikum ini berhasil mengimplementasikan kontrol stepper motor dengan menggunakan
mikrokontroler ATmega16 dan ATmega32.
- Dengan menggunakan AVR Studio sebagai lingkungan pengembangan dan Proteus sebagai
simulator sirkuit, program berhasil mengontrol pergerakan stepper motor sesuai dengan
kebutuhan.
- Langkah-langkah implementasi, termasuk inisialisasi pin, konfigurasi port, urutan fase motor,
dan penggunaan fungsi khusus, membantu dalam mencapai tujuan praktikum.
- Evaluasi hasil menunjukkan bahwa program dapat menghasilkan pergerakan stepper motor
yang diinginkan, menunjukkan keberhasilan dalam implementasi kontrol stepper motor
menggunakan mikrokontroler ATmega16 dan ATmega32.

Anda mungkin juga menyukai