اطلاعیه

Collapse
No announcement yet.

PWMدر ATMEGA8

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

    PWMدر ATMEGA8

    لطفا استفاده و نحوه ایجاد pWM را در ATMEGA8 توضح بدهید .
    و روی کدام پایه ایجاد میشود.
    پالس با لبه پایین رونده میخواهم ایجاد کنم.

    #2
    پاسخ : PWMدر ATMEGA8

    سلام

    در ATmega8 از 3 تا پایه میتونی بعنوان PWM خروجی بگیری اول این 3 تا پایه رو تو عکس زیر ببین :



    حالا معرفی این پایه ها به صورت خلاصه :
    پایه های 16 و 15 از ATmega8 متعلق به تایمر 1 هست وچون تایمر یک 16 بیتی هست اگه روی مد PWM قرار داده بشه میتونه تا 66536 پله ( یعنی 2 به توان 16 استپ) تغییر حالت داشته باشیم اما این قابلیت وجود داره که روی 10 بیتی و 8 بیتی هم کار کنه . اگه دقت کنی پایه های تایمر 1 رو با سیم قرمز به اسکوپ وصل کردم .

    اما پایه 17 مربوط به تایمر کانتر 2 هست . تایمر کانتر دو 8 بیتیه یعنی تا 256 حالت میتونه عرض پالس تغییر کنه . این پایه رو با سیم سبز به اسکوپ وصل کردم .

    حالا میریم سراغ برنامه . من یه برنامه خیلی ساده تو بسکام نوشتم که این پایینه :


    توی این برنامه در ابتدا تایمر 1 رو به صورت PWM مرتب کردم بعد چون تایمر یک 16 بیتیه اونو اومدم به صورت 8 بیتی تعریف کردم (pwm=8) . خروجی پایه 15 با دستور
    compare A pwm=Clear up به صورت معکوس تعریف شده .یعنی چی ؟ یعنی اگه به رجیستر مربوط به اون عدد 254 رو بدی ( چون 8 بیتی تعریف شده از 0 تا 255 رو میتونی بدی )
    کمترین عرض پالس رو میگیری . خروجی پایه 16 با دستور compare A pwm=Clear down به صورت نرمال تعریف شده یعنی اگه به رجیستر مربوط به اون عدد 254 رو بدی بیشترین عرض پالس رو میگیری . prescale هم که فرکانس PWM رو مشخص میکنه ........ :nerd:

    حالا PWM1a مربوط به خروجی پایه 15 و PWM1b مربوط به خروجی پایه 16 هست تحلیلش خیلی سادس وازش صرفه نظر می کنم
    اما قسمت دوم برنامه اومدم تایمر 2 رو به صورت PWM تعریف کردم .

    وقتی برنامه اجرا بشه در ابتدا فقط پایه های 15 و 16 خروجی میدن (تغییرات عرض پالسهارو می تونی ببینی ) و بعد از مدتی پایه 17 هم شروع به کار میکنه .....

    لینک زیر شامل برنامه بسکام به همراه فایل پرتیوس هست که اگه دانلود کنی میتونی نحوه کار رو تو پروتیوس به صورت زنده ببینی

    http://www.4shared.com/file/43098069...mega8_pwm.html





    آسمان بار امانت نتوانست کشید قرعه کار به نام من دیوانه ردند
    سلطانی دو عالم باشد از آن آن کس سلطان بیامدست و درویش رفته باشد

    دیدگاه


      #3
      پاسخ : PWMدر ATMEGA8

      ضمنا اگه با code vision کار می کنی هم می تونی تو قسمت code wizard این کارا رو انجام بدی و بعد کد مربوط به تغییرات رو بنویسی .
      آسمان بار امانت نتوانست کشید قرعه کار به نام من دیوانه ردند
      سلطانی دو عالم باشد از آن آن کس سلطان بیامدست و درویش رفته باشد

      دیدگاه


        #4
        پاسخ : PWMدر ATMEGA8

        در مورد تایمر 1 در بسکام در حالت pwm تامیر بصورت فست pwm کار میکند یا بصورت phase correct

        برای فرکانس pwm در حالت 8 بیتی باید بر 256 تقسیم کنم یا 512؟؟؟؟

        دیدگاه

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