NOTICE توجه: این یک موضوع قدیمی است که آخرین پست ارسالی آن مربوط به 3631 روز قبل است . لطفا فقط پاسخ ها ، سوالات و درخواست های 100 درصد مرتبط را به آن ارسال کنید و برای درخواست ها و سوالات جدید موضوع جدیدی را ایجاد کنید
نمایش نتایج: از 1 به 7 از 7

موضوع: راه اندازی موتور سروو

  1. #1
    کاربر علاقه مند
    تاریخ عضویت
    Apr 2014
    نوشته ها
    72
    تشکر
    28
    تشکر شده 63 بار در 20 پست

    پیش فرض راه اندازی موتور سروو

    سلام به همگی دوستان
    بنده قصد راه اندازی موتور سروو رو دارم
    میکرویی که استفاده میکنم 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. # ADS
    Circuit advertisement
    تاریخ عضویت
    Always
    نوشته ها
    Many
     

  3. #2
    ناظم سایت KHM آواتار ها
    تاریخ عضویت
    Jul 2010
    نوشته ها
    1,047
    تشکر
    2,895
    تشکر شده 2,131 بار در 905 پست

    پیش فرض

    سلام.چه سروویی رو میخواین راه بندازین؟ چون سیستمشون باهم میفرقه...
    ax12 یا سری های مشابه ارتباط سریال هستن..(و جالبش اینه که توش از میکرو mega8 استفاده شده)
    سرووهای معمولی با pwm کار میکنن...کد شما هم pwm هست...
    صدای داخلش بخاطر اینه که خارج از محدوده اش دیوتی سایکل موجتون هست...
    شما یه فرکانس در حد 50 تا 80 هرتز تولید کنین و 2تا کلید بذارین برا تنظیم دیوتی سایکل..
    بعد ببینین حداقل و حداکثر دیوتی سایکلتون که موتور توش کار میکنه چقدره..که تو موتورهای مختلف فرق میکنه..
    اگه حرکاتش منظم نبود،pwm رو جوری تولید کنین که ابتدا صفر باشه و بعد مقایسه یک بشه...
    موفق باشین

  4. کاربران : 5 تشکر کرده اند از شما KHM برای ارسال این پست سودمند:


  5. #3
    کاربر علاقه مند
    تاریخ عضویت
    Apr 2014
    نوشته ها
    72
    تشکر
    28
    تشکر شده 63 بار در 20 پست

    پیش فرض

    سلام
    مدلش hitec hs-635hb هست
    ممنون از کمکتون

  6. #4
    ناظم سایت KHM آواتار ها
    تاریخ عضویت
    Jul 2010
    نوشته ها
    1,047
    تشکر
    2,895
    تشکر شده 2,131 بار در 905 پست

    پیش فرض

    اینکه 180 درجه است نه 360 که..
    همو کاری که کردم بکنین جواب میگیرین..
    موفق باشین

  7. تشکرها از این نوشته :


  8. #5
    کاربر علاقه مند
    تاریخ عضویت
    Apr 2014
    نوشته ها
    72
    تشکر
    28
    تشکر شده 63 بار در 20 پست

    پیش فرض

    اقای khm ممنون
    فقط یه چیز دیگه میشه به کد نگاه کنید ببینید فرکانس 50 هرتز هست یا نه؟
    چجور مطمین بشم؟
    این کد توی پروتیوس کامل جواب میده
    بازم ممنون

  9. #6
    ناظم سایت KHM آواتار ها
    تاریخ عضویت
    Jul 2010
    نوشته ها
    1,047
    تشکر
    2,895
    تشکر شده 2,131 بار در 905 پست

    پیش فرض

    خواهش میکنم...شرمنده من اصلا وقت ندارم چک کنم.خودتون برنامه رو تو پروتئوس شبیه سازی کنین، با فرکانس میکرو...
    میتونین از اسکوپ پروتئوس ببینین که فرکانس خروجیتون چقدره..
    در ثانی مقدار فرکانس اصلا مهم نیست..
    تو اون حد ها باشه، هرچی باشه جواب میده..زیاد حساس نشین...
    فقط مقدار دیوتی سایکل مهمه...و مثلا ار دیوتی سایکل 10% تا 20% رنج کاری سرووتون میشه...(اعداد تقریبی هستند)
    موفق باشین

  10. #7
    کاربر فعال
    تاریخ عضویت
    May 2013
    نوشته ها
    193
    تشکر
    120
    تشکر شده 21 بار در 17 پست

    پیش فرض

    سلام.من هم میخوام سروو موتور رو راه اندازی کنم واسه پروژه دانشگاه و درواقع پروژه راه اندازی شیر برقی هست .این قسمت راه اندازی سروو موتور واسه منه.منتها من یه برنامه ای نوشتم مثل بالایی ولی استادم گفته که از delay استفاده نکن.میشه کدش رو برام یکی قرار بده؟ممنون میشم.

موضوعات مشابه

  1. $$$$ سروو موتورها $$$$
    توسط REZA_KLNTR در انجمن موتورها و درایوها
    پاسخ: 6
    آخرين نوشته: 23-10-2018, 15:18
  2. پاسخ: 17
    آخرين نوشته: 09-02-2018, 15:50
  3. پاسخ: 9
    آخرين نوشته: 20-06-2013, 23:41
  4. مشکل در راه اندازی سروو موتور
    توسط Bio-Engineer در انجمن PIC
    پاسخ: 4
    آخرين نوشته: 14-01-2013, 15:30
  5. سروو موتور
    توسط usef در انجمن سنسور و ماژول های اندازه گیری
    پاسخ: 22
    آخرين نوشته: 15-04-2009, 15:26

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •