اطلاعیه

Collapse
No announcement yet.

سرو موتور

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    سرو موتور

    سلام
    من یه سرو موتور دارم مدل :GSW S03N D 2BB و می خوام با avr درایوش کنم. ولی نمی دونم باید OCR1A رو چقدر بدم تا روی چند درجه وایسه؟؟؟
    (نگید دیتا شیتش رو سرچ کن چون توی نت هرچی گشتم دیتاشیت نداشت!!!)
    اینم کد: با این کد کار می کنه ولی با توجه به این که من یه حلقه نوشتم باید تمام زوایایی که توی حلقه هست رو پوشش بده ولی فقط چندتا زاویه می ده!
    کد:
     int i;
    #include <mega8.h>
    #include <delay.h>
    // Declare your global variables here
    
    void main(void)
    {
    // Declare your local variables here
    
    // Input/Output Ports initialization
    // Port B initialization
    // Func7=In Func6=In Func5=In Func4=In Func3=In Func2=Out Func1=Out Func0=In 
    // State7=T State6=T State5=T State4=T State3=T State2=0 State1=0 State0=T 
    PORTB=0x00;
    DDRB=0x06;
    
    // Port C initialization
    // Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In 
    // 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
    TCCR0=0x00;
    TCNT0=0x00;
    
    // Timer/Counter 1 initialization
    // Clock source: System Clock
    // Clock value: 1000.000 kHz
    // Mode: Ph. & fr. cor. PWM top=ICR1
    // OC1A output: Non-Inv.
    // OC1B output: Non-Inv.
    // Noise Canceler: Off
    // Input Capture on Falling Edge
    // Timer1 Overflow Interrupt: Off
    // Input Capture Interrupt: Off
    // Compare A Match Interrupt: Off
    // Compare B Match Interrupt: Off
    TCCR1A=0xA0;
    TCCR1B=0x11;
    TCNT1H=0x00;
    TCNT1L=0x00;
    ICR1H=0x1A;
    ICR1L=0x09;
    OCR1AH=0x00;
    OCR1AL=0x00;
    OCR1BH=0x00;
    OCR1BL=0x00;
    
    // Timer/Counter 2 initialization
    // Clock source: System Clock
    // Clock value: Timer2 Stopped
    // Mode: Normal top=0xFF
    // OC2 output: Disconnected
    ASSR=0x00;
    TCCR2=0x00;
    TCNT2=0x00;
    OCR2=0x00;
    
    // External Interrupt(s) initialization
    // INT0: Off
    // INT1: Off
    MCUCR=0x00;
    
    // Timer(s)/Counter(s) Interrupt(s) initialization
    TIMSK=0x00;
    
    // USART initialization
    // USART disabled
    UCSRB=0x00;
    
    // Analog Comparator initialization
    // Analog Comparator: Off
    // Analog Comparator Input Capture by Timer/Counter 1: Off
    ACSR=0x80;
    SFIOR=0x00;
    
    // ADC initialization
    // ADC disabled
    ADCSRA=0x00;
    
    // SPI initialization
    // SPI disabled
    SPCR=0x00;
    
    // TWI initialization
    // TWI disabled
    TWCR=0x00;
    
    while (1)
       {
       // Place your code here 
        for(i=1;i<2000;i++)
           {
           OCR1A=i;
           delay_ms(1000);
           }
           
       }
    }

    #2
    پاسخ : سرو موتور

    سلام
    من با سروو کار نکردم ولی این برنامه ای که شما نوشتید هر 1 ثانیه یکی به مقدار دیوتی سایکل اضافه میکنه و مقدار موثر ولتاز اضافه میکنه oo: فک نمیکنم اصلا اینجوری درست باشه. اگه ممکنه یه شماتیک یا عکس از موتور و درایورش بذارید.
    www.gam-co.blogsky.com

    دیدگاه


      #3
      پاسخ : سرو موتور

      سلام
      من زیاد کدویژن نمیدونم
      ولی فرکانس PWM برای سروو باید 40 تا 60 هرتز باشه
      آموزش ساخت جعبه برای مدار با نرم افزار Corel Draw - آموزش طراحی تابلو ثابت با Corel Draw و LED Tool - آموزش کرک LED Tool

      116 کتابخانه مورد نیاز برای Altium Designer

      از دروغ متنفرم؛ هرچند در این مملکت به جرم صداقت، کودن نامیده شوم.

      دیدگاه

      لطفا صبر کنید...
      X