اطلاعیه

Collapse
No announcement yet.

ایجاد سیگنال شیفت فاز با خروجی تایمر یک

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

    ایجاد سیگنال شیفت فاز با خروجی تایمر یک

    میخوام 2 تا سیگنال برای راه اندازی 4 تا ماسفت به روش تمام پل ایجاد کنم و شیوه ایجاد پالس هام شیفت فاز باشه.یعنی دو تا سیگنال مربعی با فرکانس و عرض پالس معلوم که فقط نسبت به هم شیفت زمانی دارن.چجوری باید از تایمر یک برای این موضوع استفاده کنم؟

    #2
    پاسخ : ایجاد سیگنال شیفت فاز با خروجی تایمر یک

    دوستان راهنمایی کنین اینهمه استاد اینجاس :angry:

    دیدگاه


      #3
      پاسخ : ایجاد سیگنال شیفت فاز با خروجی تایمر یک

      دوست عزیز سلام
      شما باید طبق فرکانس و عرض پالسی که میخوای محاسباتت رو انجام بدی و مقادیر رجیسترهای OCR و TCCR رو مقدار بدی
      وقفه تایمر رو فعال کن و حساب کن برای هر بار ایجاد وقفه چه زمانی صرف میشه، در زیر برنامه وقفه یه متغیر رو اضافه کن و با استفاده از مقدار اون میتونی فاصله زمانی رو ایجاد کنی
      مثلا اگه هر بار ایجاد وقفه 1 میلی ثانیه زمان میبره، و شما فاصله زمانی 3 میلی ثانیه ای میخوای ، متغیرت به 3 که رسید اون یکی خروجی رو فعال کن
      اگه بگی مقدار فرکانس و پهنای پالست چقدر هست بهتر میتونم راهنماییت کنم چون استفاده از دو تایمر راحتتره
      ولی روش کار همینه

      دیدگاه


        #4
        پاسخ : ایجاد سیگنال شیفت فاز با خروجی تایمر یک

        نوشته اصلی توسط ameen.kh
        دوست عزیز سلام
        شما باید طبق فرکانس و عرض پالسی که میخوای محاسباتت رو انجام بدی و مقادیر رجیسترهای OCR و TCCR رو مقدار بدی
        وقفه تایمر رو فعال کن و حساب کن برای هر بار ایجاد وقفه چه زمانی صرف میشه، در زیر برنامه وقفه یه متغیر رو اضافه کن و با استفاده از مقدار اون میتونی فاصله زمانی رو ایجاد کنی
        مثلا اگه هر بار ایجاد وقفه 1 میلی ثانیه زمان میبره، و شما فاصله زمانی 3 میلی ثانیه ای میخوای ، متغیرت به 3 که رسید اون یکی خروجی رو فعال کن
        اگه بگی مقدار فرکانس و پهنای پالست چقدر هست بهتر میتونم راهنماییت کنم چون استفاده از دو تایمر راحتتره
        ولی روش کار همینه
        فرکانس 120 کیلو هرتز و عرض پالس بین 5 تا 50 درصد

        دیدگاه


          #5
          پاسخ : ایجاد سیگنال شیفت فاز با خروجی تایمر ی

          نوشته اصلی توسط hamedhamidi
          فرکانس 120 کیلو هرتز و عرض پالس بین 5 تا 50 درصد
          برای این کار شما نمیتونی از شکل موج PWM استفاده کنی چون فرکانس های خاصی رو میشه با این شکل موج ساخت
          بهترین کار اینه که برای هر شکل موج از یک تایمر کانتر استفاده کنی
          ببین فرکانس 120k یعنی پریود 8.3 میکروثانیه
          شما اگر کریستال 16MHz استفاده کنی
          اینطوری هر کلاک میکرو برابر 0.0625 میکروثانیه میشه
          اگه OCR تایمر رو روی 0x08 تنظیم کنی و وقفه OCR هم فعال کنی، تایمر در هر 8 تا شمارش یه وقفه میده (یعنی هر 0.5 میکروثانیه یه وقفه)
          تو برنامه وقفه یه متغیر رو بذار یه واحد اضافه شه، مثلا :
          ; i++
          فقط همین یه خط!!!
          بعد تو بدنه اصلی برنامه، مقدار اولیه مثلا پایه صفر پورت B رو 1 بذار
          وقتی مقدار i به 9 رسید (یعنی 9 تا 0.5 میکروثانیه بشماره که میشه 4.5 میکروثانیه یعنی 50 درصد فرکانس) PB.0 رو صفر کن و وقتی i به 17 (یعنی 8.3 میکروثانیه) رسید دوباره PB.0 رو 1 کن و i رو صفر کن
          حالا برای اون یکی شکل موج هم یه متغیر j هم بعد از i توی زیر برنامه وقفه اضافه کن و طوری PB.1 رو روی مقادیر j کنترل کن که شکل موجی که میخوای ایجاد بشه

          آقا دیگه از این بهتر نمیتونستم بگم :biggrin:

          دیدگاه

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