اطلاعیه

Collapse
No announcement yet.

چگونگی ایجاد DeadTime در میکروهای سری مگا و آردوینو

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

    چگونگی ایجاد DeadTime در میکروهای سری مگا و آردوینو

    ***
    با سلام
    بنده روی پروژه ای کار میکنم که نیااااززز شدییید به ایجاد dead time در دو موج pwm خروجی از میکروکنترلر مگا8 دارم . ازونجایی که سری مگا قابلیت سخت افزاری ددتایم رو ندارن، کسی بلده چجوری میشه این کار رو کرد ؟؟؟؟؟؟
    آردوینو چطور ؟؟؟؟
    کمک
    *** کمترین توقع از یک فرد تحصیل کرده، دانستن املاءِ صحیحِ کلمات است ***

    #2
    پاسخ : چگونگی ایجاد DeadTime در میکروهای سری مگا و آردوینو

    سلام
    جناب طراح قبلا توضیح دادند

    ایجاد dead time بصورت نرم افزاری در میکروکنترلرهایی که فاقد امکان اضافه کردن آن به شکل موج هستند:


    برای اعمال فرمان به سوییچ های نیمه هادی در مداراتی مانند پل های قدرت باید به سیگنال های متقارن، dead time اعمال شود تا به سوییچ های موجود در هر بازو آسیبی وارد نشود. اما در برخی از میکروکنترلرها مانند AVR، تایمرها دارای قابلیت اضافه کردن dead time در تولید شکل موج نیستند. با استفاده از روش نرم افزاری که در ادامه توضیح داده می شود در این نوع میکروکنترلرها هم می توان این اثر را در شکل موج ها ایجاد کرد. برای این کار باید ابتدا دو واحد تولید شکل موج در یک تایمر را به گونه ای تنظیم کنیم که منطق سیگنال های خروجی آنها مخالف یکدیگر باشند و مثلا اگر یک خروجی در هنگام افزایش مقدار تایمر در شرایط compare match از high به low تغییر وضعیت می دهد، خروجی دوم در شرایط compare match از low به high تغییر وضعیت بدهد. روش نرم افزاری برای ایجاد dead time در این وضعیت به این ترتیب است که مقادیر قرار گرفته در رجیسترهای compare نباید با یکدیگر برابر باشند. بلکه بسته به کلاک تایمر و میزان dead time مورد نیاز باید با هم اختلاف داشته باشند. مثلا اگر کلاک تایمر برابر 2MHz باشد، برای رسیدن به dead time=1us باید 2 واحد اختلاف در مقدار دو compare register وجود داشته باشد. به عنوان مثال عددی اگر compare register در یک کانال با 100 مقداردهی شده باشد و خروجی این کانال در هنگام افزایش تایمر در عبور از مقدار 100 از high به low تغییر وضعیت بدهد، برای کانال دوم باید مقدار 102 در compare register قرار بگیرد تا به میزان دو کلاک معادل با 1us هر دو خروجی low باشند و بعد با گذر مقدار تایمر از 102، خروجی دوم high شود. در این مثال در هنگام کاهش تایمر و گدر از 102 به 101 ابتدا خروجی دوم low می شود و باز به میزان 1us هر دو خروجی low می مانند و در ادامه خروجی اول در گذر از 100 به 99 مجددا high می شود. برای سایر مقادیر dead time هم می توان از همین روش با ایجاد اختلاف مناسب در مقادیر compare register استفاده کرد.

    دیدگاه


      #3
      پاسخ : چگونگی ایجاد DeadTime در میکروهای سری مگا و آردوینو

      به غیر از روشی که در پست قبل نقل قول کردند، بصورت سخت افزاری هم می توانید با استفاده از گیت AND و یک تاخیر دهنده RC به شکل موج Dead Time اضافه کنید. فرض کنید یک پالس را بصورت مستقیم به یکی از ورودی های گیت AND اعمال کنید و همان پالس را با یک فیلتر RC پایین گذر متصل کنید و خروجی فیلتر را به ورودی دوم گیت AND اعمال کنید. در این شرایط بسته به ثابت زمانی RC، تاخیری در High شدن خروجی گیت AND نسبت به شکل موج اصلی ایجاد خواهد شد. برای شکل موج مکمل هم می توانید از روش مشابه استفاده کنید.
      اوژن: به معنای افکننده و شکست دهنده است
      دانایی، توانایی است-Knowledge is POWER
      برای حرفه ای شدن در الکترونیک باید با آن زندگی کرد
      وضعمان بهتر می شود، اگر همه نسبت به جامعه و اطراف خود مسوول باشیم و نگوئیم به ما چه
      قوی شدن و خوب ماندن - خوبی کردن به دیگران یک لذت ماندگار است
      اگر قرار باشد نفت و منابع خام را بدهیم و چرخ بگیریم، بهتر است چرخ را از نو اختراع کنیم
      ساعت کار بدن اکثر انسان ها کمتر از 800000 ساعت است و بعد از آن از کار می افتد

      دیدگاه


        #4
        پاسخ : چگونگی ایجاد DeadTime در میکروهای سری مگا و آردوینو

        نوشته اصلی توسط طراح نمایش پست ها
        به غیر از روشی که در پست قبل نقل قول کردند، بصورت سخت افزاری هم می توانید با استفاده از گیت AND و یک تاخیر دهنده RC به شکل موج Dead Time اضافه کنید. فرض کنید یک پالس را بصورت مستقیم به یکی از ورودی های گیت AND اعمال کنید و همان پالس را با یک فیلتر RC پایین گذر متصل کنید و خروجی فیلتر را به ورودی دوم گیت AND اعمال کنید. در این شرایط بسته به ثابت زمانی RC، تاخیری در High شدن خروجی گیت AND نسبت به شکل موج اصلی ایجاد خواهد شد. برای شکل موج مکمل هم می توانید از روش مشابه استفاده کنید.
        باسلام .
        خیلی ممنونم بابت پاسختون . یه سوال، محدودیت داره این مدار ؟؟ منظورم از نظر دیوتی سایکل هستش . من دیوتیم از 5 تا 90درصد متغیر هست

        دلیل: ادغام دو پست برای جلوگیری از اسپم

        نوشته اصلی توسط sepehr63 نمایش پست ها
        سلام
        جناب طراح قبلا توضیح دادند

        ایجاد dead time بصورت نرم افزاری در میکروکنترلرهایی که فاقد امکان اضافه کردن آن به شکل موج هستند:


        برای اعمال فرمان به سوییچ های نیمه هادی در مداراتی مانند پل های قدرت باید به سیگنال های متقارن، dead time اعمال شود تا به سوییچ های موجود در هر بازو آسیبی وارد نشود. اما در برخی از میکروکنترلرها مانند AVR، تایمرها دارای قابلیت اضافه کردن dead time در تولید شکل موج نیستند. با استفاده از روش نرم افزاری که در ادامه توضیح داده می شود در این نوع میکروکنترلرها هم می توان این اثر را در شکل موج ها ایجاد کرد. برای این کار باید ابتدا دو واحد تولید شکل موج در یک تایمر را به گونه ای تنظیم کنیم که منطق سیگنال های خروجی آنها مخالف یکدیگر باشند و مثلا اگر یک خروجی در هنگام افزایش مقدار تایمر در شرایط compare match از high به low تغییر وضعیت می دهد، خروجی دوم در شرایط compare match از low به high تغییر وضعیت بدهد. روش نرم افزاری برای ایجاد dead time در این وضعیت به این ترتیب است که مقادیر قرار گرفته در رجیسترهای compare نباید با یکدیگر برابر باشند. بلکه بسته به کلاک تایمر و میزان dead time مورد نیاز باید با هم اختلاف داشته باشند. مثلا اگر کلاک تایمر برابر 2MHz باشد، برای رسیدن به dead time=1us باید 2 واحد اختلاف در مقدار دو compare register وجود داشته باشد. به عنوان مثال عددی اگر compare register در یک کانال با 100 مقداردهی شده باشد و خروجی این کانال در هنگام افزایش تایمر در عبور از مقدار 100 از high به low تغییر وضعیت بدهد، برای کانال دوم باید مقدار 102 در compare register قرار بگیرد تا به میزان دو کلاک معادل با 1us هر دو خروجی low باشند و بعد با گذر مقدار تایمر از 102، خروجی دوم high شود. در این مثال در هنگام کاهش تایمر و گدر از 102 به 101 ابتدا خروجی دوم low می شود و باز به میزان 1us هر دو خروجی low می مانند و در ادامه خروجی اول در گذر از 100 به 99 مجددا high می شود. برای سایر مقادیر dead time هم می توان از همین روش با ایجاد اختلاف مناسب در مقادیر compare register استفاده کرد.
        باسلام. خیلی ممنونم مهندس عزیز
        حتما تست میکنم این روش رو
        یه سوال ؟ من این ددتایمم رو باید از روی دیتاشیت قطعه مورد نظرم که ماسفت هست بخونم آیا میتونم زیر 1us تنظیم کنم ؟ مثلا 200ns ؟؟
        و اینکه حداکثر دیوتی که میتونم ازین روش بگیرم چقدره ؟؟ من تا 90درصد نیاز به چرخه وظیفه دارم...
        *** کمترین توقع از یک فرد تحصیل کرده، دانستن املاءِ صحیحِ کلمات است ***

        دیدگاه

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