PRAKTIK ANTARMUKA DAN PERIFERIAL - Pemrograman Motor DC

 

PRAKTIK ANTARMUKA DAN PERIFERIAL

Praktik Ke 2

                                                       Pemrograman Motor DC

 

 

 

 

 

 

Tanggal Penyerahan      : 3 Oktober 2014

Nama Mahasiswa         : Handi Suryawinata

NIM/ Rombel/ Absen   : 5301412061/ 2 / 23

Nama Dosen                : DRS. SLAMET SENO ADI,M.Pd.,M.T.

 

 

PTE – TE

FT UNNES

September 2014

FAKULTAS TEKNIK UNIVERSITAS NEGERI SEMARANG

Labolatorium Elektro

Pemrograman Motor DC

Smt : 5

Praktik ke 2

Jurusan : Teknik Elektro

Waktu : 2 SKS

 

A.     Tujuan

a.       Membuat Rangkaian Motor DC dengan ISIS Proteus

b.      Membuat pemrograman Motor DC dengan Code Vision AVR

c.       Memahami cara kerja rangkaian Motor DC

d.      Melakukan simulasi Motor DC

 

B.     Dasar Teori

Motor DC adalah motor yang digerakkan oleh energi listrik arus searah. Salah satu jenis motor DC adalah motor DC magnet permanen. Motor DC tipe ini banyak ditemui penggunaanya baik di industri maupun di rumah tangga. Pada umumnya, penggunaan motor DC jenis ini adalah untuk sumber – sumber tenaga yang kecil, seperti pada rumah tangga dan otomotif.

Sebuah motor DC magnet permanen biasanya tersusun atas magnet permanen, kumparan jangkar, dan sikat (brush). Medan magnet yang besarnya konstan dihasilkan oleh magnet permanen, sedangkan komutator dan sikat berfungsi untuk menyalurkan arus listrik dari sumber di luar motor ke dalam kumparan jangkar. Letak sikat di sepanjang sumbu netral dari komutator, yaitu sumbu dimana medan listrik yang dihasilkan bernilai nol. Hal ini dimaksudkan agar pada proses perpindahan dari sikat ke komutator tidak terjadi percikan api.

Medan stator memproduksi fluks Φ dari kutub U ke kutub S. Sikat – arang menyentuh terminal kumparan rotor di bawah kutub. Bila sikat – arang dihubungkan pada satu sumber arus serah di luar dengan tegangan V, maka satu arus I masuk ke terminal kumparan rotor di bawah kutub Udan keluar dari terminal di bawah kutub S. Dengan adanya fluks stator dan arus rotor akan menghasilkan satu gaya F bekerja pada kumparan yang dikenal dengan gaya Lorentz. Arah Fmenghasilkan torsi yang memutar rotor ke arah yang berlawanan dengan jarum jam. Kumparan yang membawa arus bergerak menjauhi sikat – arang dan dilepas dari sumber suplai luar. Kumparan berikutnya bergerak di bawah sikat – arang dan membawa arus I. Dengan demikian, gaya F terus menerus diproduksi sehingga rotor berputar secara kontinyu.

 

C.     Alat dan Bahan

a.       Laptop/ netbook

b.      Software CodeVision AVR

c.       Software Proteus Proteus Profesional 7.5

D.     Langkah Kerja

a.       Buat Rangkaian Motor DC terlebih dahulu

b.      Melakukan pemrograman Motor DC pada CodeVision AVR

c.       Compile program untuk mencari tahu apakah ada kesalahan pada pemrograman yang dilakukan.

d.      Menjalankan simulasi Motor DC

 

E.      Gambar Praktikum

F.      Pemrograman CodeVision AVR

/*****************************************************

This program was produced by the

CodeWizardAVR V1.25.8 Evaluation

Automatic Program Generator

© Copyright 1998-2007 Pavel Haiduc, HP InfoTech s.r.l.

http://www.hpinfotech.com

 

Project :

Version :

Date    : 9/26/2014

Author  : Freeware, for evaluation and non-commercial use only

Company :

Comments:

 

 

Chip type           : ATmega32

Program type        : Application

Clock frequency     : 11.059200 MHz

Memory model        : Small

External SRAM size  : 0

Data Stack size     : 512

*****************************************************/

 

#include <mega32.h>

//////////////////////////////////////////////////////////////////////       

 

#define pwm OCR0   ///NILAI PWM ADALAH NILAI DUTY CYCLE OCR0/256 (TOP)*100%

#define inka PORTB.0

#define inki PORTB.1

////////////////////////////////////////////////////////////////////////

#define atas PINA.0

#define bawah PINA.1

 

// Declare your global variables here

 

 

///////////////////////////////program jalan motor////////////////////

void maju ()

{

pwm = 254;

   inka=0;

     inki=1;

 

}

////////////////////////////////////////////////////////////////////////

void mundur ()

{

pwm = 254;

   inka=1;

     inki=0;

 

}

 

 

void main(void)

{

// Declare your local variables here

 

// Input/Output Ports initialization

// Port A initialization

// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In

// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T

PORTA=0x03;

DDRA=0x00;

 

// Port B initialization

// Func7=In Func6=In Func5=In Func4=In Func3=Out Func2=In Func1=In Func0=In

// State7=T State6=T State5=T State4=T State3=0 State2=T State1=T State0=T

PORTB=0x00;

DDRB=0x0f;

 

// Port C initialization

// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In

// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T

PORTC=0x00;

DDRC=0x00;

 

// Port D initialization

// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In

// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T

PORTD=0x00;

DDRD=0x00;

 

// Timer/Counter 0 initialization

// Clock source: System Clock

// Clock value: 43.200 kHz

// Mode: Fast PWM top=FFh

// OC0 output: Non-Inverted PWM

TCCR0=0x6C;

TCNT0=0x00;

OCR0=0x00;

 

// Timer/Counter 1 initialization

// Clock source: System Clock

// Clock value: Timer 1 Stopped

// Mode: Normal top=FFFFh

// OC1A output: Discon.

// OC1B output: Discon.

// Noise Canceler: Off

// Input Capture on Falling Edge

// Timer 1 Overflow Interrupt: Off

// Input Capture Interrupt: Off

// Compare A Match Interrupt: Off

// Compare B Match Interrupt: Off

TCCR1A=0x00;

TCCR1B=0x00;

TCNT1H=0x00;

TCNT1L=0x00;

ICR1H=0x00;

ICR1L=0x00;

OCR1AH=0x00;

OCR1AL=0x00;

OCR1BH=0x00;

OCR1BL=0x00;

 

// Timer/Counter 2 initialization

// Clock source: System Clock

// Clock value: Timer 2 Stopped

// Mode: Normal top=FFh

// OC2 output: Disconnected

ASSR=0x00;

TCCR2=0x00;

TCNT2=0x00;

OCR2=0x00;

 

// External Interrupt(s) initialization

// INT0: Off

// INT1: Off

// INT2: Off

MCUCR=0x00;

MCUCSR=0x00;

 

// Timer(s)/Counter(s) Interrupt(s) initialization

TIMSK=0x00;

 

// Analog Comparator initialization

// Analog Comparator: Off

// Analog Comparator Input Capture by Timer/Counter 1: Off

ACSR=0x80;

SFIOR=0x00;

 

while (1)

      {

      // Place your code here

      //maju();

     

      if(!atas )  {maju();}

     

      if(!bawah)  {mundur();}

     

      };

}

 

G.     Kesimpulan

a.       Software CodeVision AVR dan Proteus dapat bekerja sama dengan baik dalam simulasi.

b.      Software proteus mampu mensimulasikan ATMEGA 32, Button, L293D dan Motor DC dengan baik.

c.       Motor DC mampu bergerak sesuai dengan pemrograman yang telah dibuat.



DOWNLOAD LAPORAN INI SELENGKAPNYA DISINI

Terima Kasih Anda Telah Membaca Artikel
Judul: PRAKTIK ANTARMUKA DAN PERIFERIAL - Pemrograman Motor DC
Ditulis Oleh Handi
Berikanlah saran dan kritik atas artikel ini. Salam blogger, Terima kasih

Post a Comment