Rabu, 10 April 2013

Simulasi kendali motor servo menggunakan aplikasi Proteus dan program Cvavr

Secara singkat motor servo merupakan motor yang dapat diatur derajat perputarannya. Motor servo ada 2 jenis yaitu motor servo yang hanya dapat bergerak 180 derajat dan motor servo yang dapat bergerak 360 derajat. Cara menentukan derajat perputaran motor servo dapat ditentukan dengan rumus sbb:

a.  max 180 --> [( max control pulse - min control pulse) / 180 ] * Derajat yang diinginkan

b. max 360 -->  [( max control pulse - min control pulse) / 360 ] * Derajat yang diinginkan

Kendali derajat motor servo berupa pulsa delay dalam us ( mikro secon ) dengan pulsa delay maksimum sebesar 20000 us.

Dibawah ini langkah - langkah simulasi motor servo menggunakan proteus dan program cvavr.

1. Buka program cvavr lalu ikuti langkah berkut

















2. Buka Proteus lalu rangkai seperti berikut

 motor servo 1 ( port a.0)

  motor servo 2 ( port a.1 )

 pengaturan pada mikon

 


3. Program

Program ini simulasi untuk menggerakan motor servo max 360 derajat dan 180 derajat.

/*****************************************************
This program was produced by the
CodeWizardAVR V1.25.3 Standard
Automatic Program Generator
© Copyright 1998-2007 Pavel Haiduc, HP InfoTech s.r.l.
http://www.hpinfotech.com

Project : 
Version : 
Date    : 10/18/2012
Author  : F4CG                            
Company : F4CG                            
Comments: 


Chip type           : ATmega8535
Program type        : Application
Clock frequency     : 4.000000 MHz
Memory model        : Small
External SRAM size  : 0
Data Stack size     : 128
*****************************************************/

#include <mega8535.h> 
#include <delay.h>

// Declare your global variables here

void main(void)
{
PORTA = 0x00;
DDRA = 0x01;

// Declare your local variables here

// Input/Output Ports initialization
// Port A initialization
// Func7=Out Func6=Out Func5=Out Func4=Out Func3=Out Func2=Out Func1=Out Func0=Out 
// State7=0 State6=0 State5=0 State4=0 State3=0 State2=0 State1=0 State0=0 
PORTA=0x00;
DDRA=0xFF;

// Port B 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 
PORTB=0x00;
DDRB=0x00;

// 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: Timer 0 Stopped
// Mode: Normal top=FFh
// OC0 output: Disconnected
TCCR0=0x00;
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)
      {
      PORTA.0=1;  
      delay_us(2000); 
      PORTA.0=0;
      delay_us(18000); 
      PORTA.1=1;  
      delay_us(1000); 
      PORTA.1=0;
      delay_us(19000);
      
    
     


      
      
      
      
      // Place your code here

      };
}



1 komentar:

  1. Blue titanium is one of the first pieces of hardware that proves it's worth
    Blue titanium titanium chain is one of the first pieces titanium astroneer of hardware that proves titanium forging it's trekz titanium headphones worth it head titanium ti s6

    BalasHapus