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

موضوع: Pwm

  1. #1
    کاربر علاقه مند amiraliforoozandeh آواتار ها
    تاریخ عضویت
    Feb 2009
    نوشته ها
    76
    تشکر
    14
    تشکر شده 59 بار در 26 پست

    پیش فرض Pwm

    سلام
    من با استفاده از کدویزاردی که تو انجمن هست pwm رو راه انداختم.
    کسی میدونه برای ایجاد 50 هرتز باید چه کار کرد؟
    دیوتی سایکل رو چه طور باید عوض کرد؟
    فرمول های اون چیه؟

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


  3. # ADS
    Circuit advertisement
    تاریخ عضویت
    Always
    نوشته ها
    Many
     

  4. #2
    کاربر ارشد 1nafar آواتار ها
    تاریخ عضویت
    Jul 2007
    نوشته ها
    2,745
    تشکر
    1,266
    تشکر شده 4,874 بار در 1,377 پست

    پیش فرض

    سلام
    همون طور که میدونید برای PWM یه سری ریجستر وجود داره که باید اونا رو مقدار دهی کنیم
    اولین قدم برای راه اندازی PWM ، تنظیم کردن مقدار فرکانس تایمر هست ( البته بعد از فعال سازی کانال های دلخواه ) که میشه اون رو با فرمول زیر حلش کرد :

    توی رجیستر PWM_MR میشه کلاک pwm رو با دو روش تعیین کرد ، اولین روش مقدار دهی CLKA, CLKB و روش دوم مقدار دهی PREA, PREB هست .

    توی فرمول بالا عدد 2 برای حالتی به کار میره که شما بخوایید جاروب pwm از وسط شروع بشه .( Center Aligned ) ، در صورتی که میخوایید pwm به صورت Left Aligned باشه ، به جای 2 عدد 1 بزارید ( 2 رو حذف کنید از فرمول ) .
    برای کسب اطلاعات بیشتر در مورد Left Aligned و Center Aligned ) تصویر موجود در صفحه ی 429 دیتا شیت میکروکنترلر At91sAM7X256 رو ببینید .
    همچنین منظور از x مقدار prescaler یا همون عددی هست که با مقدار دهی PREA, PREB بدست میاد .

    .................................................. ..................
    توی این بخش ما مقدار t رو داریم ، مقدار mck ( فرکانس کلاک میکرو کنترلر که با استفاده از pll اون رو به 66 مگا هرتز رسوندیم) رو داریم ، پس میتونیم به diva یا divb (یا x) مقدار بدیم و CPRD رو بدست بیاریم یا به CPRD مقدار بدیم و diva یا divb (یا x) رو بدست بیاریم ، مقدار دهی diva یا divb ( یا x) و CPRD به ترتیب در رجیستر PWM_MR و PWM_CPRD انجام میشه .
    مطابق معمول من ساده ترین روش رو انتخاب میکنم و رجیستر PWM_MR رو طوری مقدار دهی میکنم که در اون از PREA, PREB برای تعیین مقدار فرکانس استفاده بشه ، در این حالت باید 8 بیت اول و سوم این رجیستر با عدد یک و بیت های 8 تا 11 و 24 تا 27 رو با عددی که از فرمول دوم بدست میاد مقدار دهی کنم .
    همچنین رجیستر PWM_CPRD هم در بیشترین مقدار خودش یعنی 0xFFFF مقدار دهی دهی میشه ( البته شاید بعدا مجبور بشیم برای بدست آوردن فرکانس دقیق ، این مقدار رو تغییر بدیم . )
    در صورتی مقادیر رو در فرمول بزاریم ، مقدار x مطابق تصویر زیر بدست میاد :
    عدد بدست اومده شد 40.28 ، که ما باید نزدیک ترین عدد استاندارد ( یکی از اعداد 1, 2, 4, 8, 16, 32, 64, 128, 256, 512, or 1024) رو انتخاب کنیم ، من64 رو انتخاب میکنم ( عدد انتخاب شده باید بزرگتر از مقدار بدست اومده باشه )
    در این حالت مقدار فرکانس تایمر برابر با mck/64م میشه و فرکانس pwm برابر با 15 هرتز میشه که از فرکانس مورد نظر ما خیلی کمتره .
    در این حالت و با تعیین شدن فرکانس میشه مقدار دقیق PWM_CPRD رو بدست آورد :

    الان ما یه دونه پالس pwm با فرکانس 50هرتر داریم . و باید دیوتی سایکلش رو روی 50 هرتز تنظیم کنیم ، برای دیوتی سایکل هم یه فرمول به شکل زیر وجود دارد :
    در فرمول بالا هم مانند حالت قبل یه عدد 2 وجود داره که قبلا در موردش توضیح دادم .
    در این فرمول ما یه مجهول به نام CDTY داریم که باید مقدارش رو بدست بیاریم و در رجیستر PWM_CDTYx قرار بدیم .
    در این فرمول period ، مقدار دوره ی تناوب مود نظر هست ( 1/f ) و fchannel_x_clock هم مقدار فرکانس کانال مورد نظر .

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

نام: pwm1.jpg
مشاهده: 132
حجم: 7.0 کیلو بایت   برای دیدن سایز بزرگ روی عکس کلیک کنید

نام: pwm2.jpg
مشاهده: 139
حجم: 3.8 کیلو بایت   برای دیدن سایز بزرگ روی عکس کلیک کنید

نام: pwm3.jpg
مشاهده: 129
حجم: 10.5 کیلو بایت   برای دیدن سایز بزرگ روی عکس کلیک کنید

نام: 3.jpg
مشاهده: 132
حجم: 14.6 کیلو بایت   برای دیدن سایز بزرگ روی عکس کلیک کنید

نام: pwm4.jpg
مشاهده: 130
حجم: 23.4 کیلو بایت  


  5. کاربران : 3 تشکر کرده اند از شما 1nafar برای ارسال این پست سودمند:


  6. #3
    کاربر علاقه مند amiraliforoozandeh آواتار ها
    تاریخ عضویت
    Feb 2009
    نوشته ها
    76
    تشکر
    14
    تشکر شده 59 بار در 26 پست

    پیش فرض

    سلام
    با اینکه 2 ماه از پرسیدن سوالم میگزره ولی مهم اینه بالاخره به جوابم رسیدم
    ممنون

  7. #4
    مدیرکل انجمنها agape آواتار ها
    تاریخ عضویت
    Feb 2009
    نام
    Zeus
    نوشته ها
    1,235
    تشکر
    139
    تشکر شده 2,209 بار در 846 پست

    پیش فرض

    خوب بازم جای شکرش باقی هست ! البته من هدر کامل رو تو بخش آموزش ها گذاشتم که میتونید از اونم استفاده کنید!

  8. #5
    عضو جدید
    تاریخ عضویت
    Dec 2014
    نوشته ها
    12
    تشکر
    6
    تشکر شده 2 بار در 2 پست

    پیش فرض

    با سلام برای محاسبه pwm با فرکانس 40 کیلوهرتز باید چجوری محاسبه کنم؟؟

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

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