اطلاعیه

Collapse
No announcement yet.

راه اندازی موتور سروو

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

    راه اندازی موتور سروو

    سلام به همگی دوستان
    بنده قصد راه اندازی موتور سروو رو دارم
    میکرویی که استفاده میکنم atmega 32 هست
    موقعی کد رو امتحان میکنم موتورم کار خاصی انجام نمیده
    بیشتر از داخل صدا میده
    بعضی وقتا هم حرکات خاصی انجام میده ولی نامنظم و بدون ترتیب هست
    توی پروتیوس هم جواب گرفتم
    توی پروتیوس موتوری که استفاده میکنم 180 درجه هست و کامل جواب میده ولی در واقعیت اشکال پیدا میکنه
    البته موتوری که توی واقعیت استفاده میکنم 360 هست.
    کد رو میذارم اگه کسی کار کرده لطفا کمکم کنه
    این هم کد
    کد:
    #include <mega32a.h>
    #include <delay.h>
    
    #define FCLK_I/O    8000000
    #define PRESCALER   8
    #define TOP      10000 // TOP = ICR1
    #define fOCnxPFCPWM  (FCLK_I/O / (2 * PRESCALER * TOP)) // fOCnxPFCPWM = 50 
    
    void main (){
    
    /*
    Waveform Generation Mode Bit Description:
             PWM, Phase and Frequency Correct 
             TOP:ICR1
             Update of OCR1x:BOTTOM
             TOV1 Flag Set on:BOTTOM
             WGM13  WGM12(CTC1)  WGM11(PWM11)  WGM10(PWM10):1 0 0 0
    */
    TCCR1A |= (1<<COM1A1)|(0<<COM1A0)|(0<<COM1B1)|(0<<COM1B0)|(0<<FOC1A)|(0<<FOC1B)|(0<<WGM11)|(0<<WGM10);
    /*
      CS12 CS11 CS10 Description
      0 0 0 No clock source (Timer/Counter stopped).
      0 0 1 clkI/O/1 (No prescaling)
      0 1 0 clkI/O/8 (From prescaler)
      0 1 1 clkI/O/64 (From prescaler)
      1 0 0 clkI/O/256 (From prescaler)
      1 0 1 clkI/O/1024 (From prescaler)
    */
    TCCR1B |= (0<<ICNC1)|(0<<ICES1)|(1<<WGM13)|(0<<WGM12)|(0<<CS12)|(1<<CS11)|(0<<CS10);
    TCNT1H |= 0x00;
    TCNT1L |= 0x00;
    /*
     ICR1 = 10000 ; BIN = 10 0111(ICR1H) 0001 0000(ICR1L)
    */
    ICR1H = 0x27;   
    ICR1L = 0x10;
    
    DDRD=0x20;
    
    while (1){
     OCR1A = ((5*TOP)/100);
     //delay_ms(2000); 
     //OCR1A = ((7.5*TOP)/100);
     //delay_ms(2000); 
     OCR1A = ((10*TOP)/100); 
     // delay_ms(2000);
    }
    }

    #2
    پاسخ : راه اندازی موتور سروو

    مدل موتورت چیه؟ دیتاشیت داره؟

    دیدگاه


      #3
      پاسخ : راه اندازی موتور سروو

      سلام
      مدلش HITEC HS_6635HB اینه
      ممنون

      دیدگاه


        #4
        پاسخ : راه اندازی موتور سروو

        فرکانس موج PWN که حتما 50 هرتز هستش؟
        شما پهنای موج تون رو 0 درصد تا صد در صد میدید؟

        دیدگاه


          #5
          پاسخ : راه اندازی موتور سروو

          نمیدونم
          طبق محاسباتی که انجام دادم 50 هرتز میشه
          میشه یه نگاهی بکنی ببینید 50 هرتز هست یا نه؟
          ممنون

          دیدگاه


            #6
            پاسخ : راه اندازی موتور سروو

            بله 50 هرتز هستش ؛ شما با پهنای موج تون زاویه گردش رو مشخص میکنید؛ در صد پهناتون رو چند درصد انتخاب میکنید.

            دیدگاه

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