اطلاعیه

Collapse
No announcement yet.

راه اندازی esc با avr

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

    راه اندازی esc با avr

    سلام
    یکی یه کمکی بکنه من بتونم این براشلس رو راااهههه بندازززممم
    :angry: :angry: :angry: :angry: :angry:
    یه دو خط کد به هر زبونی شده چه c چه بیسیک
    یکی بزاره دعاش میکنم :smile:
    فقط دور موتور بشه با ولوم کمو زیاد کرد
    دمه همه گرم

    #2
    پاسخ : راه اندازی esc با avr

    یه تاپیک گنده هست واسه براشلس! جستجو نکردین؟
    اینا:



    راه اندازی موتور براشلس (BLDC)

    دیدگاه


      #3
      پاسخ : راه اندازی esc با avr

      نوشته اصلی توسط Rohalamin
      یه تاپیک گنده هست واسه براشلس! جستجو نکردین؟
      اینا:



      راه اندازی موتور براشلس (BLDC)
      سلام
      منم ان تایپیک گنده رو خوندم. این قدر گندست که اصلا متوجه نشدم که قضیه از چه قراره!!
      در واقع بیشتر در مورد ساخت یه دونه اسپیدکنترلره نه راه اندازی اون برای موتور براشلس.
      من فقط کدویژن بلدم و اصلا از بسکام سر در نمیارم ولی به هر حال خودم هم درگیر این قضیه ام:
      باید شما یک پالس با فرکانس 50 هرتز و دامنه ی 5 ولت رو با متغیر بودن پریود (عرض) پالس از 1 تا 2 میلی ثانیه رو به سیم زرد کانکتور رسیور ESC تون بدین تا راه بیفته.
      مثلا اگه شما از phase courrect PWM در تایمر صفر و از کریستال 11.0592 مگاهرتز استفاده کنید (با تنظیم درست فیوز بیت ها و تقسیمات درست در فرمول مربوطه) می تونین به پالس PWM با فرکانس 50 هرتز برسین. (مقدار OCR0 هم آزمایش و خطاست)
      کد:
      /*******************************
      timer/counter0 => output OC0 PWM
      start up brushless motor
      ******************************/
      #include <mega16.h> 
      #define xtal 11059200
      #include <delay.h>
      interrupt [TIM0_OVF] void timer0_ovf_isr(void) 
      { 
           TCNT0=0x28; 
      }
      void main(void) 
      {  
           PORTD.0=1; //pull up
           PORTD.1=1; //pull up
           DDRB=(1<<PORTB3); 
           TCNT0=0x28; //TCNT0 = 40
           OCR0=0x6B; //OCR0 = 107
           TIMSK=0x01;  
           #asm("sei")
           TCCR0=0x6D;
      	while (1)
      	{     
                delay_ms(100);
      		if( (PIND.0==0) && ((OCR0+1)>=0x28) ) OCR0++; 
      		if( (PIND.1==0) && ((OCR0-1)>=0x28) ) OCR0--;
      		delay_ms(100);  
      	}
      }
      من خودم در تایپیک هایی توی همین انجمن به این مطالب رسیدم. این برنامه هم اندکی تغییرات لازم داره.(برای atmega16)
      هر سوزنی که برای غیر خدا زدم به دستم فرو رفت (شیخ رجبعلی خیاط)

      دیدگاه


        #4
        پاسخ : راه اندازی esc با avr

        نوشته اصلی توسط sadeghmohebbi
        سلام
        منم ان تایپیک گنده رو خوندم. این قدر گندست که اصلا متوجه نشدم که قضیه از چه قراره!!
        در واقع بیشتر در مورد ساخت یه دونه اسپیدکنترلره نه راه اندازی اون برای موتور براشلس.
        من فقط کدویژن بلدم و اصلا از بسکام سر در نمیارم ولی به هر حال خودم هم درگیر این قضیه ام:
        باید شما یک پالس با فرکانس 50 هرتز و دامنه ی 5 ولت رو با متغیر بودن پریود (عرض) پالس از 1 تا 2 میلی ثانیه رو به سیم زرد کانکتور رسیور ESC تون بدین تا راه بیفته.
        مثلا اگه شما از phase courrect PWM در تایمر صفر و از کریستال 11.0592 مگاهرتز استفاده کنید (با تنظیم درست فیوز بیت ها و تقسیمات درست در فرمول مربوطه) می تونین به پالس PWM با فرکانس 50 هرتز برسین. (مقدار OCR0 هم آزمایش و خطاست)
        کد:
        /*******************************
        timer/counter0 => output OC0 PWM
        start up brushless motor
        ******************************/
        #include <mega16.h> 
        #define xtal 11059200
        #include <delay.h>
        interrupt [TIM0_OVF] void timer0_ovf_isr(void) 
        { 
             TCNT0=0x28; 
        }
        void main(void) 
        {  
             PORTD.0=1; //pull up
             PORTD.1=1; //pull up
             DDRB=(1<<PORTB3); 
             TCNT0=0x28; //TCNT0 = 40
             OCR0=0x6B; //OCR0 = 107
             TIMSK=0x01;  
             #asm("sei")
             TCCR0=0x6D;
        	while (1)
        	{     
                  delay_ms(100);
        		if( (PIND.0==0) && ((OCR0+1)>=0x28) ) OCR0++; 
        		if( (PIND.1==0) && ((OCR0-1)>=0x28) ) OCR0--;
        		delay_ms(100);  
        	}
        }
        من خودم در تایپیک هایی توی همین انجمن به این مطالب رسیدم. این برنامه هم اندکی تغییرات لازم داره.(برای atmega16)
        اقا دمت گرم دیگه داشتم دیوونه میشدم
        فقط یک سوال الان من باچی باید سرعت (دیوتی)کنترول کنم ؟ ولوم باید بزارم؟

        دیدگاه


          #5
          پاسخ : راه اندازی esc با avr

          اول این که من این برنامه رو هنوز دارم آزمایش می کنم ولی با پروتئوس آزمایش کردم نتجه داد. :rolleyes:
          برای کنترل باید بر سر راه Vcc بر روی پورت های PD0 و PD1 یه میکرو سوئیچ بذارید که با چندین بار قطع و وصل شدن ، هر بار مقدارش کم یا زیاد می شه.(دقیقا نمی دونم کدومش کمه و کدوم زیاد می کنه) در واقع این دو پورت روی وضعیت Pull up هستند. توی این برنامه سرعت موتور براشلس خیلی آروم کم یا زیاد می شه که می تونین با تغییر if در (while(1 تنظیماتتون رو اعمال کنید.

          من خودم همین حالا که دارم این تایپیک رو می نویسم مدت ها گیر همین قضیه هستم و امیدوارم هر دوتامون نتیجه بگیریم... :cry2:
          هر سوزنی که برای غیر خدا زدم به دستم فرو رفت (شیخ رجبعلی خیاط)

          دیدگاه


            #6
            پاسخ : راه اندازی esc با avr

            سلام
            هم میتونی ولوم بذاری هم میکرو سوییچ که کار با هر کدوم برای میکرو فرق میکنه ولی با میکرو سوییچ راحتره دوتا میذاری وصل میکنی به دوتا از پایه های میکرو که ازادن و توی حلقه اصلی چک میکنی کدوم فشار داده شده و به همون میزان مقدار OCR0 را تغییر میدی
            :job:
            قندیل، تندیس قطره هایی است که تسلیم جاذبه زمین نشدند. "چگوآرا"

            دیدگاه

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