اطلاعیه

Collapse
No announcement yet.

فرکانس متغییر

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

    فرکانس متغییر

    با سلام به دوستان محترم
    من میخواهم در خروجی میکرو یک موج مربعی با فرکانس کاری بین 100تا 40کیلو هرتز تولید کنم با استپ 1کیلو لطف میکنید اگه اطلاعاتی در این زمینه داشتید به من هم بدید.
    با تشکر

    #2
    پاسخ : فرکانس متغییر

    سلام
    شما برای این کار باید از تایمر های میکرو استفاده کنید و یکی از I/O های میکرو را باتوجه به مقدار تایمر صفر و یک کنید.
    مثلا شما می خواهید یک موج مربعی با فرکانس 1 کیلو بسازید. برای این منظور دوره تناوب برابر 1 میلی ثانیه است یعنی Pinb.0 هر 1 میلی ثانیه باید یک و صفر منطقی شود . برای این منظور شما از تایمر یک میکرو استفاده می کنید و تایمر یک تایمر 16 بیتی است یعنی هر 65536 میکرو ثانیه یک وقفه اتفاق می افتند.(با فرض کریستال 8 مگا هرتر باشد)
    65536-1000=64536
    مقدار تایمر را با این عدد پر می کنی و1000 میکرو ثانیه یک وقفه اتفاق می افتد داخل وقفه می تونی پایه را یک و صفر کنی.

    دیدگاه


      #3
      پاسخ : فرکانس متغییر

      متاسفانه با روشی که آقای حیاتی فرمودند نمیشه
      در واقع دقت بسیار پایینی داره.

      شما چاره ای جز استفاده از PLLآ‌ ندارید. مثل 4046

      در حلقه ی PLLآ‌ میکرو نقش تقسیم کننده خواهد داشت و این نقش رو با تایمرهاش بدون خطا انجام خواهد داد. همچنین فرکانس مرجع می تونه توسط میکرو تولید بشه. نتیجه ضرب فرکانس مرجع در عدد تقسیم میکرو خواهد بود. با مرجع یک کیلوهرتز شما می تونید 1 و 2 و 3 و ... n کیلوهرتز را بدقت عالی تولید کنید.

      در صورت نیاز بگید تا براتون مدار و برنامشو بگذارم
      با عرض پوزش خدمت دایی های عزیزم تا اطلاع ثانوی به اینترنت دسترسی ندارم.

      دیدگاه


        #4
        پاسخ : فرکانس متغییر

        hاگه لطف کنید خیلی ممنون میشم

        دیدگاه


          #5
          پاسخ : فرکانس متغییر

          اگه با مدار زیر یا مدل میکروی داخل اون مشکلی ندارید برنامشو بگذارم:
          با عرض پوزش خدمت دایی های عزیزم تا اطلاع ثانوی به اینترنت دسترسی ندارم.

          دیدگاه


            #6
            پاسخ : فرکانس متغییر

            نوشته اصلی توسط afsanehuniversal
            hاگه لطف کنید خیلی ممنون میشم
            میتونی از مد CTC تایمر 1 هم برای اینکار استفاده بکنی.
            Fout=Fin/(2*N*(1+OCR1A))....b
            فرمول فرکانس خروجی اینه. (Fin که فرکانس کاریه میکرو هستش / N مقدار Prescale هستش و OCR1A هم که یکی از رجیستر های تایمر 1 هست که با مقدار دهی اون تو مد CTC میتونی فرکانس
            متغیر ایجاد کنی)
            فرض کنیم N=1 در نظر گرفتی,حالا مثلا برای 100 هرتز باید به رجیستر OCR1A عدد هگزادسیمال 9C40 یا همون 40000 خودمون رو بنویسی
            یا برای فرکانس 40 کیلوهرتز رجیستر OCR1A رو باید روی 100 تنظیم کنی , میکرو بقیه کارا رو میکنه. دقیق هم هست به مقدار کافی. فقط بعضی جاها
            ممکنه عدد OCR1A از فرمول بالا اعشاری بیاد و اینجاس که یه کوچولو انحراف فرکانس پیدا میکنه.
            به هیچ IC دیگه ای جز میکرو هم احتیاج نداری.

            یا حق :nerd:
            آموزش نرم افزار Matlab برای دانشجویان رشته های مهندسیhttp://alidoost.ir/news.php?readmore=22

            دیدگاه


              #7
              پاسخ : فرکانس متغییر

              البته یادم رفت بگم , فرکانس خود میکرو رو هم 8 مگ در نظر بگیری
              آموزش نرم افزار Matlab برای دانشجویان رشته های مهندسیhttp://alidoost.ir/news.php?readmore=22

              دیدگاه


                #8
                پاسخ : فرکانس متغییر

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

                دیدگاه


                  #9
                  پاسخ : فرکانس متغییر

                  نوشته اصلی توسط ahmadmn
                  فرید عزیز
                  اگر کمی به صورت مسئله و پاسخ خای دیگر دقت کنی می بینی خطای فرکانس خواسته نشده! وگرنه یک 555 هم می تواند از این فرکانسهای تقریبی تولید کند. وقتی بسادگی می توانیم خطای صفر داشته باشیم دلیلی برای تقریب وجود ندارد ...
                  جای دیگه نگی ها بده...
                  CTC میکرو رو با 555 مقایسه میکنی؟؟؟ :biggrin:
                  شما اگه از کریستال استفاده کنید اینطرف هم دقیق جواب میگیرین , شمارنده خطاش کجا بود؟
                  تازه دوستمون راجع به دقت فرکانس خروجی صحبتی نکردن.
                  من که تو کارام زیاد از CTC استفاده کردم , خیلی هم خوب جواب میده.
                  وگرنه اگه به ساخت PLL باشه همون میکرو هم نیاز نبود :rolleyes:
                  تو درسهای مدار مخابراتی و تکنیک پالس خوندیم ها مثلا ....
                  آموزش نرم افزار Matlab برای دانشجویان رشته های مهندسیhttp://alidoost.ir/news.php?readmore=22

                  دیدگاه


                    #10
                    پاسخ : فرکانس متغییر

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

                    دیدگاه


                      #11
                      پاسخ : فرکانس متغییر

                      همین کمال گرایی ممکنه یه نوع بیماری باشه .
                      وقتی که ما تو طراحیهامون به قول اون وری ها Over Design انجام میدیم و اونقدر
                      هزینه تمام شده یک محصول رو بالا می بریم که جایی در بازار های جهانی برای رقابت نداریم.
                      دقت خوبه. اما باید بررسی بشه این دقت کجا میخواد استفاده بشه؟؟
                      میخواهیم یه Function Generator بسازیم ؟ خوب DDS واسه چیه؟

                      البته میبینم که بحث این بیچاره رو خیلی منحرف کردیم. حالا شما ادامه بحث رو بزارین ....
                      قرار بود واسه این بنده خدا کد میکروش رو بزارین.

                      خیلی ببخشید که مثل دمپایی پریدم وسط.(قصد جسارت یا .. نداشتم)
                      از همه عذر می خوام که بحثو پیچوندم(ادامه فیلم سینمایی تا چند لحظه دیگر)
                      آموزش نرم افزار Matlab برای دانشجویان رشته های مهندسیhttp://alidoost.ir/news.php?readmore=22

                      دیدگاه


                        #12
                        پاسخ : فرکانس متغییر

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

                        دیدگاه

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