اطلاعیه

Collapse
No announcement yet.

PWM سینوسی نرم افزاری

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

    PWM سینوسی نرم افزاری

    سلام دوستان
    می خواستم که کد pwm سینوسی نرم افزاری رو بنویسم، از اونجایی که این کد رو من نتونستم توی انجمن و یا اینترنت پیدا کنم گفتم اینجا مطرحش کنم چون ممکنه به درد بقیه دوستان هم بخوره،
    1- خوب من می خوام با atmega8 یه pwm سینوسی تولید کنم و مثلاً رو پایه c0 نمایشش بدم
    2- سه فازش کنم (که این مورد قبلاً توسط دوستان انجام شده)
    3- سه تا سیگنال Complementary متناظر هر فاز رو بسازم
    3- dead time نرم افزاری رو بهش اضافه کنم (برای درایو سوییچ های قدرت)

    همین تاپیک در avrfreaks
    http://www.avrfreaks.net/forum/software-sine-pwm

    خوب بسم ا...

    لطفاً پیشنهاداتتون رو بگین

    اینم یه application note از شرکت اتمل در مورد تولید pwm نرم افزاری
    www.atmel.com/images/doc8020.pdf

    راهنمایی کدنویسی و کد اتمل
    http://www.atmel.com/images/AVR136.zip
    اديسون : من هفتصد بار اشتباه نکرده ام ، من يکبار هم اشتباه نکرده ام من زماني موفق شدم که ،هفتصد راهي را که موفقيت آميز نبود اصلاح کردم.
    Gmail: Jsoltanii@gmail.com

    #2
    پاسخ : PWM سینوسی نرم افزاری

    نوشته اصلی توسط جواد سلطانی
    سلام دوستان
    می خواستم که کد pwm سینوسی نرم افزاری رو بنویسم، از اونجایی که این کد رو من نتونستم توی انجمن و یا اینترنت پیدا کنم گفتم اینجا مطرحش کنم چون ممکنه به درد بقیه دوستان هم بخوره،
    1- خوب من می خوام با atmega8 یه pwm سینوسی تولید کنم و مثلاً رو پایه c0 نمایشش بدم
    2- سه فازش کنم (که این مورد قبلاً توسط دوستان انجام شده)
    3- سه تا سیگنال Complementary متناظر هر فاز رو بسازم
    3- dead time نرم افزاری رو بهش اضافه کنم (برای درایو سوییچ های قدرت)

    خوب بسم ا...

    لطفاً پیشنهاداتتون رو بگین

    اینم یه application note از شرکت اتمل در مورد تولید pwm نرم افزاری
    www.atmel.com/images/doc8020.pdf

    راهنمایی کدنویسی و کد اتمل
    http://www.atmel.com/images/AVR136.zip
    درود آقای سلطانی

    قبل از اینکه وارد بحث اصلی بشیم ابتدا بفرمایید که منظورتون از dead time چیه ؟؟
    [b]چگونه همه پایه های میکروکنترلر AVR را PWM کنیم؟
    معرفی نرم افزارEasy 7segment (برای راه اندازی آسانتر 7segment )
    معرفی نرم افزار Codewizard PWM
    با من بیشتر آشنا شوید

    دیدگاه


      #3
      پاسخ : PWM سینوسی نرم افزاری

      منظور از dead time زمان لازم برای خاموش شدن سوییچ بالایی و روشن شدن سوییچ پایینی یا بالعکس در یک ساق اینورتر هست.
      ایجاد dead time نرم افزاری: من برای pwm سخت افزاری می گم و اصول کار با pwm نرم افزاری یکیه:
      فرض کنید که 6 سیگنال رو برای سوییچای اینورتر تولید کردیم. باید از یه مقایسه گر برای تولید 3 سیگنال برای سوییچهای بالایی و یه مقایسه گر برای سه سوییچ پایینی استفاده کنیم
      وضعیت مقایسه گرها باید به گونه ای باشد که بین روشن و خاموش شدن سوییچ های یک ساق، در یک زمان اندک هر دو سوییچ خاموش باشند. این کار رو می تونیم با ایجاد اختلاف اندک بین مقادیر این دو مقایسه گر ایجاد کنیم (فکر کنم باید جدول سینوسی رو تصحیح کنیم)

      توضیحات بیشتر:
      www.atmel.com/Images/doc8010.pdf

      اديسون : من هفتصد بار اشتباه نکرده ام ، من يکبار هم اشتباه نکرده ام من زماني موفق شدم که ،هفتصد راهي را که موفقيت آميز نبود اصلاح کردم.
      Gmail: Jsoltanii@gmail.com

      دیدگاه


        #4
        پاسخ : PWM سینوسی نرم افزاری

        نوشته اصلی توسط جواد سلطانی
        منظور از dead time زمان لازم برای خاموش شدن سوییچ بالایی و روشن شدن سوییچ پایینی یا بالعکس در یک ساق اینورتر هست.
        ایجاد dead time نرم افزاری: من برای pwm سخت افزاری می گم و اصول کار با pwm نرم افزاری یکیه:
        فرض کنید که 6 سیگنال رو برای سوییچای اینورتر تولید کردیم. باید از یه مقایسه گر برای تولید 3 سیگنال برای سوییچهای بالایی و یه مقایسه گر برای سه سوییچ پایینی استفاده کنیم
        وضعیت مقایسه گرها باید به گونه ای باشد که بین روشن و خاموش شدن سوییچ های یک ساق، در یک زمان اندک هر دو سوییچ خاموش باشند. این کار رو می تونیم با ایجاد اختلاف اندک بین مقادیر این دو مقایسه گر ایجاد کنیم (فکر کنم باید جدول سینوسی رو تصحیح کنیم)

        توضیحات بیشتر:
        www.atmel.com/Images/doc8010.pdf
        بسیار عالی ...
        بازه فرکانسی که مد نظرتون هست باید چقدر باشه ؟؟
        یه سوال دیگه
        پس شما سه تا خروجی میخواین که با هم اختلاف فاز داشته باشند و زمان پایانی یک فاز با فاز دیگر یه خورده فاصله زمانی داشته باشه ... (زمان مرده )
        درسته ؟؟
        [b]چگونه همه پایه های میکروکنترلر AVR را PWM کنیم؟
        معرفی نرم افزارEasy 7segment (برای راه اندازی آسانتر 7segment )
        معرفی نرم افزار Codewizard PWM
        با من بیشتر آشنا شوید

        دیدگاه


          #5
          پاسخ : PWM سینوسی نرم افزاری

          نوشته اصلی توسط سامان اسدی
          بسیار عالی ...
          بازه فرکانسی که مد نظرتون هست باید چقدر باشه ؟؟
          یه سوال دیگه
          پس شما سه تا خروجی میخواین که با هم اختلاف فاز داشته باشند و زمان پایانی یک فاز با فاز دیگر یه خورده فاصله زمانی داشته باشه ... (زمان مرده )
          درسته ؟؟
          با تشکر از پیگیریتون

          به نظر من گزینه هایی مثل بازه فرکانسی و سه فاز رو در صورتی که pwm سینوسی رو بنویسیم، بعداً میشه اضافه کرد
          به نظر من الان این گزینه ها در ارجحیت هستن
          1- تولید pwm سینوسی نرم افزاری
          2- با بررسی میکرو mega48 دیدم که دارای 6 کانال pwm هست و قیمت اونم قابل رقابت با mega8 بوده و 28 پایه هست. پس قابلیت تولید pwm سینوسی سه فاز رو داره (چون فکر کنم به چهار compare match نیاز هست) پس اولیت دوم ایجاد pwm سینوسی (اگه شد سخت افزاری) روی پایه ای به غیر از خروجی های pwm سینوسی هست.
          3- استفاده از قابلیت capture به جای compare برای تولید 6 سیگنال مکمل سینوسی و ایجاد dead time (طبق توضیحات avr447)

          با سپاس
          اديسون : من هفتصد بار اشتباه نکرده ام ، من يکبار هم اشتباه نکرده ام من زماني موفق شدم که ،هفتصد راهي را که موفقيت آميز نبود اصلاح کردم.
          Gmail: Jsoltanii@gmail.com

          دیدگاه


            #6
            پاسخ : PWM سینوسی نرم افزاری

            نوشته اصلی توسط جواد سلطانی
            با تشکر از پیگیریتون

            به نظر من گزینه هایی مثل بازه فرکانسی و سه فاز رو در صورتی که pwm سینوسی رو بنویسیم، بعداً میشه اضافه کرد
            به نظر من الان این گزینه ها در ارجحیت هستن
            1- تولید pwm سینوسی نرم افزاری
            2- با بررسی میکرو mega48 دیدم که دارای 6 کانال pwm هست و قیمت اونم قابل رقابت با mega8 بوده و 28 پایه هست. پس قابلیت تولید pwm سینوسی سه فاز رو داره (چون فکر کنم به چهار compare match نیاز هست) پس اولیت دوم ایجاد pwm سینوسی (اگه شد سخت افزاری) روی پایه ای به غیر از خروجی های pwm سینوسی هست.
            3- استفاده از قابلیت capture به جای compare برای تولید 6 سیگنال مکمل سینوسی و ایجاد dead time (طبق توضیحات avr447)

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

            دیدگاه


              #7
              پاسخ : PWM سینوسی نرم افزاری

              نوشته اصلی توسط سامان اسدی
              خوب
              بگذار اول یه برنامه آزمایشی بنویسم ببین خوب هست یا نه ...
              قبوله ؟؟
              تشکر مهندس

              یه سوال: چجوری می تونم مقدار یه پایه رو روی پایه دیگه بریزم؟؟ یعنی می تونم که خروجی کانال pwm (مثلاً oc0) رو روی پایه ی دیگه ای داشته باشم؟
              اديسون : من هفتصد بار اشتباه نکرده ام ، من يکبار هم اشتباه نکرده ام من زماني موفق شدم که ،هفتصد راهي را که موفقيت آميز نبود اصلاح کردم.
              Gmail: Jsoltanii@gmail.com

              دیدگاه


                #8
                پاسخ : PWM سینوسی نرم افزاری

                نوشته اصلی توسط جواد سلطانی
                تشکر مهندس

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

                دیدگاه

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