اطلاعیه

Collapse
No announcement yet.

سوال در مورد طراحی فرکانس متر

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

    سوال در مورد طراحی فرکانس متر

    سلام.
    می خواهم یک فرکانس متر بسازم که بتواند فرکانس های بین 0 تا 50 مگاهرتز را اندازه گیری کند.البته هر نوع شکل موجی را باید بتواند اندازه گیری کند.
    از آنجایی که میکرو های AVR می توانند نهایتا به یک کریستال 16 مگاهرتزی وصل شوند پس باید با مدارات تقسیم کننده فرکانس ورودی را کاهش دهم.خب آیا این تئوری درست است؟
    ضمنا بخش مهمتر این پروژه این است که بتواند همه شکل موجها را اندازه گیری کند.برای این قسمت چیکار کنم؟ آیا می توانم همه شکل موجها را به موج مربعی که میکرو آن را می شناسد تبدیل کنم؟
    به نظر شما نکته دیگری در این مدار وجود دارد که مهم باشد؟

    #2
    پاسخ : سوال در مورد طراحی فرکانس متر

    با سلام
    شما به دو چیز برای انجام این پروژه نیاز داردید. اولا یک شمارنده (و یا به عبارت دیگر مقسم فرکانس) و همچنین یک مکانیزمی که ورودی رو capture کنید، چون همون طور که خودتون گفتید ورودی ممکنه مربعی نباشه و نشه مستقیم اون رو به یک کانتر دیجیتال داد.
    ۱. نکته اول اینه که مدار frequency counter یه مدار خیلی محبوبه و اگر یه سرچ توی اینترنت بزنید دها نمونه برای اون پیدا میآ‌کنید.
    ۲.شما در واقع برای راحت کردن زندگی نیاز به یک چیپ دارید که در آن frequency prescaler وجود داشته باشه. به عنوان مثال این مدار از همچین چیپی استفاده میآ‌کنه (میآ‌بینید که مدار خیلی ساده است ولی به راحتی احتمالا تا ۱ گیگ را میآ‌تواند محاسبه کند):
    http://hem.passagen.se/communication/pic/fcpllz1.gif
    منبع:http://www.electronics-lab.com/blog/?tag=frequency
    البته چیپ استفاده شده در این مدار ممکن است که در بازار ما دردسترس نباشد به همین دلیل پیشنهاد میآ‌کنم که به سایت www.rfphone.com یه سری بزنید و چیپآ‌های موجود رو برسی کنید. من یه نگاه اجمالی کردم این چیپآ‌ها رو داره: LMX2326 MB467 MB15F03

    نکته: دقت ساخت این مدار کاملا بستگی به پایداری اسیلاتور میکرو دارد. یادمه که بحثآ‌های جالبی در این زمینه توی سایت انجام شده بود.



    من دوست دارم آزاد فکر کنم، نرمآ‌افزارآ‌ و سختآ‌افزارهای آزاد را به کار ببرم و اگر توانستم نرمآ‌افزار، سختآ‌افزار و محتوای آزاد درست کنم!

    دیدگاه


      #3
      پاسخ : سوال در مورد طراحی فرکانس متر

      سلام

      برای کلاک میکرکنترلر ،حتما از یک اسیلاتور Active که در بازار موجوده استفاده کن چون هم دقتش خوبه و هم پایداری خوبی داره

      این اسیلاتور ها 2 پایه ی تغذیه و یک پایه ی خروجی کلاک دارن که باید میکرو رو در حالت کلاک خارجی قرار بدی، یعنی فیوز بیتهای CSEL0...CSEL3 تیک خوردیه باشن(در حالت 0 ) بعد خروجی اسیلاتور رو به پایه یXTAL1 متصل کنی

      تو بازار با اسم (اسیلاتور) میشناسن
      ِِDie for Life, Not Live to Die
      Freedom Fighter
      " ناخود گاه، هريك از ما ، از ناميرائي خود يقين دارد " . فروید

      دیدگاه


        #4
        پاسخ : سوال در مورد طراحی فرکانس متر

        از پاسختون ممنونم.
        در مورد اسیلاتور: فرکانس این اسیلاتور که شما می گید نهایتا چقدر می تواند باشد؟
        اصلا یه سوال : میکرو AVR نهایتا با چه فرکانسی می تواند کار کند؟ اگه یه اسیلاتور 20 مگاهرتز به میکرو وصل کنم با همون 20 مگا کار می کنه و سرعتش بیشتر می شه؟ یا محدودیت داریم و هنگ می کند؟

        سوال دیگم اینه که من تا چند تا شکل موج را می توانم به مربعی (دقیقا نمی دونم باید مربعی باشه یا پالسی؟) تبدیل کنم که میکرو بتواند آنها را بشمارد؟ آیا برای تبدیل هر شکل موجی به شکل موج مربعی یا پالسی مداری وجود دارد؟

        دیدگاه


          #5
          پاسخ : سوال در مورد طراحی فرکانس متر

          سلام

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

          شما حداکثر میتونید فرکانس 16 مگا هرتز رو ه میکرو بدید(بیشتر از این نمیشه)

          میتونید با مدارات آنالوگ و پ امپ شکل موجها رو به مربعی تبدیل کنید
          ِِDie for Life, Not Live to Die
          Freedom Fighter
          " ناخود گاه، هريك از ما ، از ناميرائي خود يقين دارد " . فروید

          دیدگاه


            #6
            پاسخ : سوال در مورد طراحی فرکانس متر

            نوشته اصلی توسط kasper
            از پاسختون ممنونم.
            در مورد اسیلاتور: فرکانس این اسیلاتور که شما می گید نهایتا چقدر می تواند باشد؟
            اصلا یه سوال : میکرو AVR نهایتا با چه فرکانسی می تواند کار کند؟ اگه یه اسیلاتور 20 مگاهرتز به میکرو وصل کنم با همون 20 مگا کار می کنه و سرعتش بیشتر می شه؟ یا محدودیت داریم و هنگ می کند؟

            سوال دیگم اینه که من تا چند تا شکل موج را می توانم به مربعی (دقیقا نمی دونم باید مربعی باشه یا پالسی؟) تبدیل کنم که میکرو بتواند آنها را بشمارد؟ آیا برای تبدیل هر شکل موجی به شکل موج مربعی یا پالسی مداری وجود دارد؟

            با سلام (شرمنده اگر خیلی بریده بریده نوشتم! خودم که خوندم دیدم نوشته از این شاخه به اون شاخه شده)

            ببینید معمولا در ورودی یک فیلتر بالاآ‌گذر (مثلا یک خازن ساده ) وجود دارد. بعد از فیلتر شدن، معمولا تغییر از منفی به مثبت و یا بلعکس به عنوان یک تغییر برای ورودی به حساب میآ‌آید. حالا شما ورودی رو به هر شکل در نظر بگیر مثلا سینوسی، مربع، دندان ارهآ‌ای و یا مثلثی در همهآ‌ی حالات این شکل تغییر وجود داره. باز هم میآ‌گم سادهآ‌ترین راه برای شما استفاده از چیپآ‌های دارای prescaler است که گفتم. معمولا حساسیت ورودیآ‌ها حدود چند ده میلیآ‌ولت است که به شما اجازه میآ‌دهد سیگنالآ‌های کوچک و به نسبت ضعیفآ‌تر را هم اندازهآ‌ بگیرید.

            با توجه به وجود یک شمارنده در ورودی، فرکانس کاری میکرو مهم نیست. آن چیزی که مهم است پایداری و دقت اسلاتور است که همون طور که دوستمون هم گفتند استفاده از اسیلاتور به جای کریستال به این پایداری کمک میآ‌کنه. یک مثال ساده شاید تا حدی بتونه کمک کنه (دوستان اگر جایی رو چرت گفتم لطفا بگن تا درستش کنم):
            فرض کنید که شما میآ‌خواهید یک فرکانس شمار دقیق برای اندازهآ‌گیری فرکانسآ‌های تا ۱.۵ گیگ درست کنید. در مرحله اول باید دقت کرد که این فرکانس رو نمیآ‌شه مستقیم به یک شمارنده داد پس باید حتما از یک prescaler استفاده کنید. مثلا یک perscaler پیدا میآ‌کنید که ورودی رو به ۳۲ تقسیم میآ‌کنه و همچنین ورودی فرکانس این چیپ هم مثلا ۲ گیگ است. حالا بعد از prescaler شما فرکانس حداکثر ۵۰ مگی دارید که باید به یک شمارنده بدهید. دقت کنید که هرچه تعداد بیتآ‌های این شمارنده بیشتر باشد شما دقت بیشتری خواهید داشت. در واقع در این مرحله شما باید سرعت اندازه گیری فرکانس رو مشخص کنید یعنی مثلا میآ‌خواهید هر چند ثانیه یکآ‌ بار دستگاه شما فرکانس رو نشون بده. مثلا ما ۱۰ ثانیه رو انتخاب میآ‌کنیم. پس باید شمارنده ما (۵۰*۱۰=۵۰۰) بتونه تا ۵۰۰ میلیون بشمره یعنی به حدود ۲۹ بیت نیاز داره. دوباره فرض میآ‌کنیم شما برای سادهآ‌تر شدن مدار از یک CPLD برای شمارنه استفاده کنید و توی اون یک کانتر ۲۹ بیتی سنتز کنید. حالا فقط لازمه که یک خروجی دقیقا ۱۰ ثانیهآ‌ای به cpld بدهید (با میکرو) که شمارنده رو ریست کنه و ۳۰ بیت قبلی رو به نحوی به میکرو بده و شما هم بعد از دریافت این بیتها ۱۰ ثانیه برای نمایش دادن و یا پردازش آن میکرو وقت دارید. میآ‌بینید که فرکانس میکرو در این طراحی (یا طراحیآ‌های مشابه نقش خیلی مهمی نداره )
            من دوست دارم آزاد فکر کنم، نرمآ‌افزارآ‌ و سختآ‌افزارهای آزاد را به کار ببرم و اگر توانستم نرمآ‌افزار، سختآ‌افزار و محتوای آزاد درست کنم!

            دیدگاه


              #7
              پاسخ : سوال در مورد طراحی فرکانس متر

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

              منظورتون اینه که مثلا می خوام هر 10 ثانیه فرکانس را بخونم نه اینکه هر 10 ثانیه فرکانس را نشان بدهم؟ (یعنی هر چند ثانیه نشان دادن فرکانس زیاد مهم نیست.بلکه زمان دوباره خواندن فرکانس ورودی مهم است.)

              مهم: طبقه تبدیل شکل موج ورودی به موج مربعی باید قبل از آی سی Prescaler قرار بگیرد و این آی سی فقط شکل موج مربعی را می شناسد؟ یا خود این آی سی می تواند عمل تقسیم کردن را برای اکثر شکل موجها انجام دهد؟
              اگه این آی سی نتواند همه شکل موجها (منظورم شکل موجهای مرسوم است) را تقسیم کند آن وقت در تبدیل امواج 100 مگا به بالا به امواج پایین تر مشکل بوجود می اید.( مدارات OP-AMP می توانند در این محدوده عمل کنند؟)

              سوال آخر: به نظرتون می تونم این مدار را تا فرکانس 100 مگاهرتز بسازم؟

              دیدگاه


                #8
                پاسخ : سوال در مورد طراحی فرکانس متر

                با سلام
                ۱. شما میآ‌توانید از شمارنده خود میکرو هم استفاده کنید ولی به شرطی که فرکانس کاری ورودی رو آن قدر تقسیم کنید که در محدوده کار کانتر میکرو قرار بگیرد. احتمالا حداکثر فرکانس ورودی برای کار کانتر میکرو حدود چند مگ است. البته کانتر میکرو ۱۶ بیتی است یعنی باید دقت کرد که در زمانی که کانتر فرکانس را میآ‌شمارد رجیستر میکرو سرریز نشود.

                فکر کنم از سریآ‌های 74xx و 40xx هم بتوانید برای شمارنده استفاده کنید ولی نه برای ۱۰۰ مگ. به جد پیشنهاد میآ‌کنم که یه سرچی توی گوگل انجام بدید و مدارهای مشابه رو نگاه کنید چون این مدار خیلی محبوبه و کلی نمونه ازش ساخته میآ‌شه. این مدارهای خیلی هم ساده به نظر میآ‌رسند (بعضی از وقتآ‌ها فکر میآ‌کنم من مساله رو یک پیچیده کردهآ‌ام!)

                ۲. استفاده از یک FPGA و یا CPLD برای کانتر کار رو راحتآ‌تر میآ‌کنه و شما میآ‌توانید دستگاهی با دقت بیشتر درست کنید چون تعداد بیتآ‌های شمارنده رو بیشتر کردهآ‌اید و همچنین فرکانس ورودی بالاتری نسبت به چیپآ‌های دیگر دارند.

                ۳. برای درست کردن اون قسمت که فرکانس ورودی رو دریافت میآ‌کنه معمولا از یک ترانزیستور فرکانس بالا استفاده میآ‌شه. همون لینکی که دادم فکر کنم مدارهای آ‌دارند که ترانزیستور در ورودی دارد. چیپآ‌هایی که presclaer هستند فکر کنم این قسمت رو داخلشان دارند.

                ۴. عملا چیزی که خیلی مهم است و باید دقیق باشد زمانی است که شما کانتر رو برسی و ریست میآ‌کنید. چون در واقع شما دارید تعداد تغییرات در واحد زمان رو میآ‌شمارید که این واحد زمان خیلی مهم است. نمایش دادن فرکانس هم معمولا در همین زمان انجام میآ‌شود ولی همان طور که خودتون هم گفتید مهم نمایش دادن فرکانس نیست بلکه مهم زمان ریست کردن شمارنده است به عبارت دیگر انجام عملیات نمایش فرکانس نباید در زمان سرکشی به کانتر تاثیر بگذاره.

                ۵. باز هم میآ‌گم شکل موج فکر نکنم مهم باشه اون چیزی که مهمه جهت تغییرات موج و یا عبور از صف به یک (و یا بلعکس) است. البته وقت که ورودی شامل چندین فرکانس باشه عملکرد ممکنه خیلی صحیح نباشه به عنوان مثال دو فرکانس سینوسی یک فرکانس پایین با اندازه بزرگ و دیگری فرکانس بالا اندازه کوچک با هم جمع شوند در این حال کدوم فرکانس شمرده میآ‌شود بستگی به مدا ورودی دارد.


                من دوست دارم آزاد فکر کنم، نرمآ‌افزارآ‌ و سختآ‌افزارهای آزاد را به کار ببرم و اگر توانستم نرمآ‌افزار، سختآ‌افزار و محتوای آزاد درست کنم!

                دیدگاه


                  #9
                  پاسخ : سوال در مورد طراحی فرکانس متر

                  سلام
                  به نظر من هم اندازه کریستال مهم نیست مهم این هست که شما با یک کریستال RTC یک مرجع زمان خوب بسازی که پایداری بالا داشته باشد شما با کانتر 16 بیتی عملا تا 16^2 حالت را می توانید کانت کنید و بعد از آن کانتر ریست می شود حال شما کافی است در برنامه تون وقتی وقفه ریست حاصل میشه تعداد آنها رو هم اندازه بگیری حال فرکانس شما عبارتست از (تعداد ریست شدنها * 16^2)+آخرین مقدار کانتر البته این برای زمان Sample گیری 1 ثانیه هست و رزولوشن آن 1Hz هست حال می توانید با افزایش زمان دقت را بالا ببرید.اگر 2 ثانیه این کارو کنید باید عدد حاصل به 2 تقسیم شود و ....
                  اگر توضیح لازم بود بگین تا من یه پروژه پ کنم.
                  ولی مهم این هست که چطور میشه در کمتر از 1 ثانیه نمونه برداری رزولوشن بهتر از 1 Hz را بدست آورد.مثلا بشه یه فرکانس 1 Mhz رو با دقت 0.01 Hz در مدت 0.1 ثانیه اندازه گرفت؟ اگر کسی میتونه در این مورد کمک کنه ممنون میشم.
                  «اگر واقعيات با نظريات هماهنگي ندارند، واقعيتآ‌ها را تغيير بده.»
                  آلبرت انشتين

                  دیدگاه


                    #10
                    پاسخ : سوال در مورد طراحی فرکانس متر

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

                    دیدگاه


                      #11
                      پاسخ : سوال در مورد طراحی فرکانس متر

                      ولی مهم این هست که چطور میشه در کمتر از 1 ثانیه نمونه برداری رزولوشن بهتر از 1 Hz را بدست آورد.مثلا بشه یه فرکانس 1 Mhz رو با دقت 0.01 Hz در مدت 0.1 ثانیه اندازه گرفت؟ اگر کسی میتونه در این مورد کمک کنه ممنون میشم.
                      دقیقا من هم به همچین موردی نیاز دارم! چطور میشه توی 0.1 ثانیه فرکانس و اندازه گیری کرد اونم با دقت 1hz ؟
                      The harder I work, the luckier I get

                      دیدگاه


                        #12
                        پاسخ : سوال در مورد طراحی فرکانس متر

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

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

                        پس دوستان خوب یکمی ساده تر توضیح بدین تا ما بهتر متوجه بشیم چون ما خیلی مبتدی هستیم و هنوز حتی زبان بیسیک رو درست یاد نگرفته ایم هنوز دارم تایمر کانتر ها رو میخونم که بفههمم چی به چیه بازم میگم من خیلی نیاز به این پستتون دارم یکمی ساده تر توضیح بدین
                        اگر بتونم تا یک مگا راحت رو سون سگمنت جواب بگیرم زود میامو با شما توی این بحث شریک میشم

                        راستی اگر من مثلا تا 1000 هرتز بتونم جواب بگیرم بعدش چطوری توی عمل امتحان کنم وقتی هیچ فانکشن ژنراتوری دم دست نیست .
                        مولا علی (ع) میفرمایند : آسوده باش , آستین هارا بالا بزن , بر خدا توکل کن , آنگاه خدا را خواهی دید که زودتر از تو دست به کار شده است .

                        دیدگاه


                          #13
                          پاسخ : سوال در مورد طراحی فرکانس متر

                          :eek:
                          تاپیک های عصر حجر رو کشیدین بالا :eek:
                          اقا ببینید برای سنجش فرکانس باید از تایمر ها در مد کانتر استفاده کرد :agree:
                          برای فهیمیدن فرق تایمر و کانتر
                          تایمر/ کانتر
                          وتعداد محدود MEGA128 ,MEGA64,MEGA نهایتا دارای سه تایمر / کانتر هستند (به جز, 162 AVR میکرو های
                          دیگرکه 4 تایمر دارند).این تایمر / کانتر ها به نام های تایمر کانتر 0 و تایمر کانتر 1 و تایمر کانتر 2 و تایمر کانتر سه ،
                          نام گذاری میشوند .کار تایمر ها شمردن تا یک عدد خاص و کار کانتر ها شمردن یک پالس ، که به پایه مخصوص اعمال
                          و ...که در ادامه انها را معرفی PWM میشود است ، از تایمر و کانتر استفاده های دیگری نیز میشود ، مانند ساخت پالس
                          میکنیم.
                          خوب حالا باید بریم سر دیتا شیت تا ببینیم این میکرو چقدر پالس رو میتونه بشمره :rolleyes:
                          فکر کنم بیشتر از کلاک خود cpu نتونه بشمره یعنی نهایتا در حالت اور کلاک 20 مگا هرتز :eek:
                          اونم با سرفه کردن کنار میکرو میکرو هنگ میکنه :eek:
                          [move][img width=133 height=100]http://bargiri.persiangig.com/aks/0.306310001356499787_taknaz_ir.gif[/img][/move]

                          دیدگاه


                            #14
                            پاسخ : سوال در مورد طراحی فرکانس متر

                            برای تبدیل شکل موج ورودی به مربعی میتونی از یه Comparator استفاده کنی . ( مثل تریگر اسیلوسکوپ ) و بعدش هم سیگنال رو بدی به پایه ی کلاک چیپ کانتر و بعد از تقسیم ، بدیش به کانتر میکرو و هر ثانیه تعداد پالس های ورودی رو بخونی و به عنوان فرکانس ازش استفاده کنی .
                            البته این یک راهشه ، میتونی به هزار روش دیگه هم این کار رو انجام بدی .
                            فرق ما با جهان غرب در اینه که اونا هیچی نمیدونن! و تحقیق میکنند ولی ما همه چیزو می دونیم! و تحقیق برای ما معنی نداره!!!!!!!!!!!! .(از یه آدم اینکاره)

                            دیدگاه

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