اطلاعیه

Collapse
No announcement yet.

درخواست کمک برای اندازه گیری اختلاف فاز در یک موج مربعی توسط AVR

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

    درخواست کمک برای اندازه گیری اختلاف فاز در یک موج مربعی توسط AVR

    سلام
    من میخوام اختلاف فاز دوتا موج مربعی با فرکانس تقریبی 1کیلو هرتز رو با میکرو اندازه گیری کنم.
    حداکثر تاخیر تو این دوتا موج، 200 میکروثانیه است؛ در واقع میتونیم بین صفر تا 200 میکرو ثانیه تاخیر داشته باشیم.
    اگه کسی بتونه کمکم کنه ممنون می شم.

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

    با سلام
    چون طول موجتون 1mS است (خودتون گفتید 1 کیلوهرتز) :
    1- با AVR یک تایمر بساز با پریود 1uS میکرو ثانیه.
    2- یکی از موجها رو بده به پایه int0 و اون یکی رو بده به int1 .
    3- اینتراپت هر دو رو بصورت لبه بالارونده تنظیم کن .
    4- با اولین اینتراپت خارجی تایمر رو فعال و بلافاصله در اینتراپت بعدی
    تایمر رو غیر فعال کن.
    5- حالا عرض اختلاف فاز با دقت 1 میکرو ثانیه بدست میاد.
    افتادگی آموز اگر طالب علمی
    هرگز نخورد آب زمینی که بلند است

    دیدگاه


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

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

      دیدگاه


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

        با PLL ها می تونی به راحتی این کار رو انجام بدی. مشکل اینه که اونا آنالوگن.
        اگه با میکرو می خوای کار کنی روش CNC_IR رو اجرا کن با این فرق که باید تایمر1 را در اول برنامه روی مقدار وسط یعنی 32768 قرار بدی. این مقدار صفر مجازی شماست.
        وقتی اینتراپت INT0 اومد و پین INT1 صفر بود یعنی فاز مثبت است . باید تایمر را با 32768 لود کنید و Direction آنرا در حالت بالا شمارنده قرار دهید. منتظر INT1 بمانید.
        و بلعکس
        با عرض پوزش خدمت دایی های عزیزم تا اطلاع ثانوی به اینترنت دسترسی ندارم.

        دیدگاه


          #5
          پاسخ : درخواست کمک برای اندازه گیری اختلاف فاز در یک موج مربعی توسط AVR

          با عرض سلام

          نوشته اصلی توسط smh_12dt
          سلام
          ممنون از راهنمایی مفیدتون
          اما موضوع کمی مشکل تر از اینه. نکته اینجاست که اولا معلوم نیست کدوم سیگنال پیشفازه و من می خوام علاوه بر اختلاف فاز پیش فز یا پس فاز بودن رو هم مشخص کنم. و دوم اینکه با این روشی که شما فرمودید ممکنه لبه های بالا رونده اشتباه گرفته بشه و اینطوری کار خراب میشه!
          نظر شما با اضافه کردن یک مدار خارجی چیه؟
          ممنون میشم اگه بیشتر راهنمایی کنید.
          موفق باشید
          ببینید و دقت کنید :
          با استفاده از یک روش و مدار ایده آل و فرضیات مسئله شما باید یک اختلاف فاز بین صفر تا 200 میکروثانیه رو
          اندازه گیری کنید ، درسته؟ یعنی اگر این اختلاف فاز از 200 میکروثانیه بیشتر شد یعنی شما یکی از لبه ها رو
          درست تشخیص ندادید(البته برای اینکه میکرو دچار اشتباه نشه بهتره که با یک پ امپ ساده شکل موجتون
          رو به مربعی تبدیل کنید). در این وضعیت یک مقدار ثابت در حدود 1000 میکرو ثانیه بعلاوه یک اختلاف حد اکثر
          200 میکرو ثانیه خواهید دید. با اینترتیب خیلی راحت میتونی تشخیص بدی که واقعا" کدوم اول رسیده.
          برای اینکه مطمئن بشید آیا اختلاف فازهاییکه عرضشون در حد مدت زمان اجرای اینتراپته ، مربوط به اختلاف
          فازه یا هر دو همزمان رسیدند ، بلافاصله بعد از تشخیص اولین لبه و اجرای اینتراپت، اون یکی پایه رو بخون و
          ذخیره کن ،بعدش بسته به سلیقه خودت یا حساسیت مقدار اختلاف فاز میتونی چند جای دیگه از روتین اینتراپت
          اون یکی پایه رو بخونی و جداگانه ذخیره کنی ، یعنی چی؟ یعنی اینکه بعد از اجرای اینتراپت و بازگشت ممکنه
          اون یکی پایه اینتراپتش برسه ، ولی شما ندونی که همون لحظه رسیده یا در خلال اینتراپت پایه اولی. ولی اینبار
          شما چند تا نمونه داری که میتونه کمکت کنه تا بدونی اگه در خلال اینتراپت قبلی ، این یکی هم اینتراپت داده جاش
          کجا بوده.

          گفته های جناب ahmadmn در این مورد هم صحیحه. در ضمن اگر هم ممکنه واسه تلف نشدن وقت در مورد
          مدارتون بیشتر توضیح بدید.
          افتادگی آموز اگر طالب علمی
          هرگز نخورد آب زمینی که بلند است

          دیدگاه


            #6
            پاسخ : درخواست کمک برای اندازه گیری اختلاف فاز در یک موج مربعی توسط AVR

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

            دیدگاه


              #7
              پاسخ : درخواست کمک برای اندازه گیری اختلاف فاز در یک موج مربعی توسط AVR

              سلام به دوست عزیز
              نوشته اصلی توسط smh_12dt
              سلام به جناب CNC و ahmad جان
              ممنونم
              راهنمایی خوبی بود. فردا کارایی رو که گفتید انجام میدم. امیدوارم ردیف بشه.
              بازم ممنون
              دوست من ، اسمم CNC_IR و فردا منتظرم ببینم چیکار کردی ها!
              یه نیگا هم به این قسمت بنداز ببین برنامش چطوریه ، با اونی که من
              گفتم یه خورده فرق داره ، امتحانش مجانیه!
              http://www.avrfreaks.net/index.php?name=PNphpBB2&file=printview&t=6 5314&start=0
              افتادگی آموز اگر طالب علمی
              هرگز نخورد آب زمینی که بلند است

              دیدگاه


                #8
                پاسخ : درخواست کمک برای اندازه گیری اختلاف فاز در یک موج مربعی توسط AVR

                سلام
                اوکی. دمت گرم. تا حدودی کارم راه افتاد :wow:

                دیدگاه


                  #9
                  پاسخ : درخواست کمک برای اندازه گیری اختلاف فاز در یک موج مربعی توسط AVR

                  سلام
                  زنده باشی جوون ، ما در خدمتیم.
                  افتادگی آموز اگر طالب علمی
                  هرگز نخورد آب زمینی که بلند است

                  دیدگاه


                    #10
                    پاسخ : درخواست کمک برای اندازه گیری اختلاف فاز در یک موج مربعی توسط AVR

                    اگر می خوای مدار خارجی اضافه کنید به این صورت هست که باید یکی از دو سیگنال رو NOT کنی و با اون یکی جمع کنی. سپس ازش انتگرال بگیری تا یک مقدارDC به دست بیاد. بعد اون مقدار رو توسط َADC میکرو بخونی و با توجه به اینکه این مقدار با توجه به اختلاف فاز همیشه بین صفر و یک مقدار ثابت تغییر می کنه اختلاف فاز رو پیدا کنی. این کار در مقایسه با روش دوستان کار سخت تری هست. چون باید روی سخت افزار بیشتر وقت بذاری.
                    دلا یاران سه قسمند ار بدانی
                    زبانی اند و نانی اند و جانی
                    به نانی نان بده از در برانش
                    محبت کن به یاران زبانی
                    و لیکن یار جانی را به دست آر
                    به جانش جان بده تا می توانی

                    دیدگاه


                      #11
                      پاسخ : درخواست کمک برای اندازه گیری اختلاف فاز در یک موج مربعی توسط AVR

                      سلام
                      آرش جان روشت جالب بود فقط اگه میتونی شماتیک مداری که این کار ور انجام میده بهم معرفی کن
                      :nice:

                      دیدگاه

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