اطلاعیه

Collapse
No announcement yet.

تولید موج pwm روی همه ی پایه های میکرو

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

    #16
    پاسخ : تولید موج pwm روی همه ی پایه های میکرو

    من مهندس عمرانم و تجربه و دانش زیادی در این رابطه ندارم ولی به شخصه تجربه کردم که روی هر پایه MCU میشه به صورت نرم افزاری PWM تولید کرد. اما Resolution حاصله یک شرط اصلی داره اونم قدرت پردازش MCU هستش که خودش به چند مورد دیگه بستگی داره

    1- تعداد پایه هایی که باید PWM تولید کنند
    2- تنوع فرکانس ها. مثلا فرض کنید 20 پایه باید PWM داشته باشند که از این مقدار 10 عدد با فرکانس 300hz و 5 عدد با فرکانس 500hz و 5 عدد با فرکانس 1Khz
    3- خلاقیت برنامه نویس برای پیاده کردن پربازده ترین الگوریتم ممکنه
    4- کارهای دیگری که باید MCU به غیر از تولید PWM انجام بده.
    5-زبان برنامه نویسی که استفاده میشه. همونطور که میدونید سرعت اجرای دستورات در زبان های مختلف باهم فرق داره مثلا دستور PulseOut در BascomAVR که دوست خوبمون بهش اشاره کرد، خودش یه جور تابع داخلی هستش که به صورت پیش فرض در نرم افزار تعریف و از چندین دستور دیگه تشکیل شده.

    اگر مورد دیگه ای هست من حضور ذهن ندارم. در آخر اینو بگم که من سعی کردم خیلی ساده موضوع رو عنوان کنم ولی عملا این کار زیاد راحت نیست به خصوص در Resolution بالا و برنامه هایی که interrupt های زیادی دارن یا در اونها از توابع تاخیری مثل Wait یا Delay زیاد استفاده شده

    دیدگاه


      #17
      پاسخ : تولید موج pwm روی همه ی پایه های میکرو

      سلام دوستان
      برای کسانی که از اینگونه موضوعات جستجو میکنند ولی چیز خوبی نصیبشون نشده این لینک رو میگذارم تا استفاده کنند ...
      امیدوارم مفید باشه ....
      چگونه همه پایه های میکروکنترلر را PWM کنیم ؟؟
      با سه کامپایلر :
      کدویژن
      بسکام
      اتمل استودیو
      http://www.eca.ir/forum2/index.php?topic=90246.0
      [b]چگونه همه پایه های میکروکنترلر AVR را PWM کنیم؟
      معرفی نرم افزارEasy 7segment (برای راه اندازی آسانتر 7segment )
      معرفی نرم افزار Codewizard PWM
      با من بیشتر آشنا شوید

      دیدگاه


        #18
        پاسخ : تولید موج pwm روی همه ی پایه های میکرو

        نوشته اصلی توسط emer62304
        من مهندس عمرانم و تجربه و دانش زیادی در این رابطه ندارم
        داخل پرانتز :

        چقدر خوبه که شما از الکترونیک (حتی در این حد) متوجه میشید ... برام جالبه . احسنت بر شما :applause:

        آخه هستند افرادی که الکترونیک خوندند . اما گاهی اوقات از سوالهای ساده ای که در ارتباط با رشته شون مطرح میکنند ،آ‌آدم تعجب میکنه ... برخورد داشتم با اینگونه موارد :agree:

        براتون آرزوی موفقیت دارم ... :applause:
        بر زنده باد گفتن این مردم خوش گریز

        دل بر مَنه که یک تنه در سنگرت کنند ...

        دیدگاه


          #19
          پاسخ : تولید موج pwm روی همه ی پایه های میکرو

          نوشته اصلی توسط وحیـد
          داخل پرانتز :

          چقدر خوبه که شما از الکترونیک (حتی در این حد) متوجه میشید ... برام جالبه . احسنت بر شما :applause:

          آخه هستند افرادی که الکترونیک خوندند . اما گاهی اوقات از سوالهای ساده ای که در ارتباط با رشته شون مطرح میکنند ،آ‌آدم تعجب میکنه ... برخورد داشتم با اینگونه موارد :agree:

          براتون آرزوی موفقیت دارم ... :applause:
          دوست منم مهندش شیمی هست ...
          ولی یه دستگاه CNC ساخته ...
          اختراعش هم به ثبت رسوند ... واقعا بهش افتخار میکنم ... :applause:
          اون موقع که ما دانشجو بودیم ... دانشجوهای دیگه الکترونیک رو که میدیدم دپرس میشدم و از خودم نا امید میشدم ...
          دلم به حال جوانهایی میسوزه که نمی دونند برای چی میرن دانشگاه و هدفشون از زندگی چیه ...
          ولش کن ....
          بحث سیاسی ممنوع
          [b]چگونه همه پایه های میکروکنترلر AVR را PWM کنیم؟
          معرفی نرم افزارEasy 7segment (برای راه اندازی آسانتر 7segment )
          معرفی نرم افزار Codewizard PWM
          با من بیشتر آشنا شوید

          دیدگاه


            #20
            پاسخ : تولید موج pwm روی همه ی پایه های میکرو

            سلام خسته نباشید
            لطفا یه برنامه بسکام برای LEDPWM برام بفرستین
            البته سورس فقط

            من این رو پیدا کردم ولی کامپال نشد

            کد HTML:
            $regfile = "m32def.dat"
            
            $crystal = 8000000
            
            config porta = output
            
            DIM C as Byte , X as Byte , led(8) as Byte
            
            config TIMER0 = TIMER , PRESCALE = 1
            
            On OVF0 Rgbpwm
            
            Enable TIMER0
            
            Enable Interrupts
            
            For X = 1 to 8
            
            LED(X) = 0
            
            next
            
            do
            
            led1 = 255
            
            led2 = 60
            
            led3 = 240
            
            loop
            
            END
            
            Rgbpwm:
            
            TIMER0 = 0
            
            Incr C
            
            if C = 0 Then Porta = &B11111111
            
            if LED1 = C Then Reset porta.0
            
            if LED2 = C Then Reset porta.1
            
            if LED3 = C Then Reset porta.2
            
            Return

            دیدگاه


              #21
              پاسخ : تولید موج pwm روی همه ی پایه های میکرو

              ممنون
              این برنامه عالی بود
              کارم ره افتاد

              دیدگاه

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