اطلاعیه

Collapse
No announcement yet.

فرکانس متر دقیق

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

    فرکانس متر دقیق

    سلام
    من به یه فرکانس متر که 300khz رو با دقت 1hz رو بتونه نشون بده با ccs میخوام طراحی کنم . کسی میتونه کمکم کنه ؟

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

    با سلام، هم 300 کیلو هرتز خیلی زیاده و هم دقت مورد انتظارتون خیلی بالاست.
    خیلی بعید به نظر میرسه با میکرو بشه همچین کاری کرد.
    پیشنهاد من اینه که برای اندازه گیری فرکانس از یه CPLD و برای نمایش یا ارسال مقدارش از میکرو استفاده کنید. با این روش ضریب اطمینان مدار هم خیلی بالاتر میره.
    موفق باشی دوست من.
    کمترین توقع از یک فرد تحصیلکرده، دانستن املای صحیح کلمات است.

    دیدگاه


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

      نوشته اصلی توسط yusef12
      سلام
      من به یه فرکانس متر که 300khz رو با دقت 1hz رو بتونه نشون بده با ccs میخوام طراحی کنم . کسی میتونه کمکم کنه ؟
      سلام.
      راه های زیادی دارین.یکیش استفاده از تایمر1(مدCapture) هست.
      از اینتراپت خارجی+سرریزتایمر0یا2(ترجیحا) یا تایمر1 هم میتونین استفاده کنین.
      اینتراپت تغییر سطح هم گزینه ی دیگه هست که با اینتراپت خارجی فرق زیادی نداره به جز اینکه دفعات وقوع اینتراپت دوبرابر میشه.
      برای جزئیاتش یه خرده مطالعه و فکر کنین،اگه به جایی نرسیدین،من یا دوستان بیشتر راهنمایی بکنیم.

      دیدگاه


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

        نوشته اصلی توسط نو رسیده
        با سلام، هم 300 کیلو هرتز خیلی زیاده و هم دقت مورد انتظارتون خیلی بالاست.
        خیلی بعید به نظر میرسه با میکرو بشه همچین کاری کرد.
        پیشنهاد من اینه که برای اندازه گیری فرکانس از یه CPLD و برای نمایش یا ارسال مقدارش از میکرو استفاده کنید. با این روش ضریب اطمینان مدار هم خیلی بالاتر میره.
        موفق باشی دوست من.
        دقت مورد انتظارشون بالا هست؛ اما 300کیلوهرتز خیلی هم زیاد نیست. میکرو اگه با 4MHz کارکنه؛ سرعت اجرای هر دستور 1MHz میشه.یعنی تقریبا 3 برابر فرکانس مورد نظر و اگه کریستال 20MHzبذارن که دیگه... :redface:

        میمونه خطای اندازه گیری که اونهم فقط تو ضرب و تقسیم داخل برنامه ممکنه به وجود بیاد.

        دیدگاه


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

          تجربه چندین سال کار جدی تو الکترونیک به ما یاد داده برای اینکه راه رفته رو برنگردیم و بتونیم کار رو با هزینه و زمان اپتیمم تموم کنیم همیشه از اول یه پروژه ریسکهای آخرش رو ببینیم.
          برای این سیستم دوستمون یه سرویس روتین اینتراپت میخواد که که تایم بیس رو بسازه، یکی دیگه هم میخواد تا لبه ها رو بشمره. برای عملکرد مطمئن، هرکدوم از این وقفه ها باید حداکثر توی 3 میکروثانیه اجرا بشن( به شرطی که هر دو لبه رو نشمره). فکر میکنید با چند دستور اسمبلی میشه اینا رو نوشت؟ با کریستال 20 مگ نباید بیشتر از 15 تا بشه، با 4 مگ هم ماکزیمم 3 تا. حالا اینجاها جای خوبشه.
          جای بدش اینه که فقط شمارش نیست و جناب میکرو باید مقدار بدست اومده رو یا نمایش بده یا به جایی ارسال کنه اینجاست که ریسک قضیه خیلی بالا میره.
          بنده هنوز هم روش خودم رو پیشنهاد میکنم.
          کمترین توقع از یک فرد تحصیلکرده، دانستن املای صحیح کلمات است.

          دیدگاه


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

            ممنون برا پاسخ هاتون .
            من با pic24hj32gp202 میخوام این کار رو انجام بدم توی حداکثر سرعتش 40mips و از ccp توی مد Capture استفاده کردم . میخوام توی پیکر بندی برای حداکثر دقت کمکم کنید .

            دیدگاه


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

              نوشته اصلی توسط نو رسیده
              تجربه چندین سال کار جدی تو الکترونیک به ما یاد داده برای اینکه راه رفته رو برنگردیم و بتونیم کار رو با هزینه و زمان اپتیمم تموم کنیم همیشه از اول یه پروژه ریسکهای آخرش رو ببینیم.
              برای این سیستم دوستمون یه سرویس روتین اینتراپت میخواد که که تایم بیس رو بسازه، یکی دیگه هم میخواد تا لبه ها رو بشمره. برای عملکرد مطمئن، هرکدوم از این وقفه ها باید حداکثر توی 3 میکروثانیه اجرا بشن( به شرطی که هر دو لبه رو نشمره). فکر میکنید با چند دستور اسمبلی میشه اینا رو نوشت؟ با کریستال 20 مگ نباید بیشتر از 15 تا بشه، با 4 مگ هم ماکزیمم 3 تا. حالا اینجاها جای خوبشه.
              جای بدش اینه که فقط شمارش نیست و جناب میکرو باید مقدار بدست اومده رو یا نمایش بده یا به جایی ارسال کنه اینجاست که ریسک قضیه خیلی بالا میره.
              بنده هنوز هم روش خودم رو پیشنهاد میکنم.
              فرمایش دوستمون کاملا صحیح هست.منم عرض کردم که تنها قضیه ی خطای اندازه گیری مطرح میشه.

              نوشته اصلی توسط yusef12
              ممنون برا پاسخ هاتون .
              من با pic24hj32gp202 میخوام این کار رو انجام بدم توی حداکثر سرعتش 40mips و از ccp توی مد Capture استفاده کردم . میخوام توی پیکر بندی برای حداکثر دقت کمکم کنید .
              برای اندازه گیری دقیقتر؛ قرار نیست که فرکانس رو Real-time اندازه بگیریم و همزمان نشون هم بدیم.
              شما فرضاً فرآیند اندازه گیری رو 5 بار تو بازه های 100 میلی ثانیه ای انجام بده و اونها رو نشون بده.قرار نیست که همزمان هم اندازه بگیری و هم سایر محاسبات رو انجام بدی!
              روند اندازه گیری هم که مشخصه. یه زیربرنامه مینویسی که با فراخوانی اون؛ تایمر مورد نظرت(فرض کنیم تایمر1) فعال میشه و بعد مثلا 10 میکرو ثانیه منتظر میمونی.هروقت Capture اتفاق افتاد، تایمر رو خاموش کن و مقدار شمارش شده رو بخون.بعد چندتا ضرب و تقسیم انجام میدی برای محاسبه ی زمان لازم جهت افزایش یک واحدی رجیستر تایمر.الان با توجه به اون مقدار محاسبه شده و مقدار فعلی رجیستر تایمر؛ زمان Capture رو میتونی محاسبه کنی.
              حالا اگه سرعت تغییرات فرکانس زیادی نداشتی؛ این مراحل رو چندبار تکرار کن تا از اندازه گیری صحیح مطمئن بشی.

              دیدگاه


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

                با تشکر از پاسخ شما جناب مستقیمی.
                فکر میکنم با این روش در فرکانس های پایین مشکل ایجاد میشه. خطای اندازه گیری میشه 10 تقسیم بر f به درصد. مثلا تو فرکانس 100 خطا میشه حدود 10 درصد و هرچی فرکانس پایینتر بیاد درصد خطا بیشتر میشه.( با اینتروال اندازه گیری 100 میلی ثانیه)
                البته در فرکانس 300 کیلو، تو همون بازه های 100 میلی ثانیه هم تردید وجود داره، به هرحال وفقه پس از وقوع باید وارد سرویس روتینش بشه، فلگ رو چک کنه، فلگ رو clear کنه، یک عدد حداقل 16 بیتی رو inc کنه و خارج بشه. بنظرم به امتحانش میارزه.
                ولی این فرمایش شما که نمایش میتونه همزمان با اندازه گیری انجام نشه کاملا درست و بجاست. ولی حداقل فرکانس قابل اندازه گیری میشه عکس پریود نمایش ( با در نظر نگرفتن خطا) که اگه منظور فقط اندازه گیری 300 کیلو هرتز باشه قابل چشم پوشیه.
                امیدوارم منو ببخشید اگه زیاد مته به خشخاش میذارم. آخه ما خوشبختانه یا متاسفانه زندگیمون از این راه میچرخه و معمولا زمان و هزینه برای سعی و خطا نداریم.
                از حوصله و صبر شما متشکرم.
                کمترین توقع از یک فرد تحصیلکرده، دانستن املای صحیح کلمات است.

                دیدگاه


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

                  نوشته اصلی توسط نو رسیده
                  با تشکر از پاسخ شما جناب مستقیمی.
                  فکر میکنم با این روش در فرکانس های پایین مشکل ایجاد میشه. خطای اندازه گیری میشه 10 تقسیم بر f به درصد. مثلا تو فرکانس 100 خطا میشه حدود 10 درصد و هرچی فرکانس پایینتر بیاد درصد خطا بیشتر میشه.( با اینتروال اندازه گیری 100 میلی ثانیه)
                  البته در فرکانس 300 کیلو، تو همون بازه های 100 میلی ثانیه هم تردید وجود داره، به هرحال وفقه پس از وقوع باید وارد سرویس روتینش بشه، فلگ رو چک کنه، فلگ رو clear کنه، یک عدد حداقل 16 بیتی رو inc کنه و خارج بشه. بنظرم به امتحانش میارزه.
                  ولی این فرمایش شما که نمایش میتونه همزمان با اندازه گیری انجام نشه کاملا درست و بجاست. ولی حداقل فرکانس قابل اندازه گیری میشه عکس پریود نمایش ( با در نظر نگرفتن خطا) که اگه منظور فقط اندازه گیری 300 کیلو هرتز باشه قابل چشم پوشیه.
                  امیدوارم منو ببخشید اگه زیاد مته به خشخاش میذارم. آخه ما خوشبختانه یا متاسفانه زندگیمون از این راه میچرخه و معمولا زمان و هزینه برای سعی و خطا نداریم.
                  از حوصله و صبر شما متشکرم.
                  اختیار دارین برادر من.حق با شماست.
                  در مورد اندازه گیری فرکانسهای پایین؛ این روش اصلاً و ابداً مناسب نمیتونه باشه و خطای زیادی خواهد داشت.
                  برای کاهش خطا هم باید فرکانس میکرو رو بالا ببریم تا ضریب اطمینان افزایش پیدا کنه.
                  حالا از هرچی بگذریم؛این چه وسیله ی فوق حساسی هست که 300000 هرتز با 300001 هرتز براش فرق میکنه؟!! :mrgreen: ( یه تیکه کلمه بود تو یکی از فیلمها که بازیگره میگفت:منم که حسـّـــــــــــــــــاس!! الان شده ماجرای این دستگاه :biggrin: )

                  دیدگاه


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

                    آره . باید بتونم تغییرات فرکانسی 300khz رو با دقت 1hz اندازه گیری کنم .

                    دیدگاه


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

                      نوشته اصلی توسط yusef12
                      آره . باید بتونم تغییرات فرکانسی 300khz رو با دقت 1hz اندازه گیری کنم .
                      شما اگه این دقت رو واقعا میخوای از هر روشی که استفاده کنی، تایم بیس باید حداقل 1 ثانیه باشه.
                      با این شرط یه مسئله جدید پیش میاد و اینه که تغییرات فرکانستون نباید سریعتر از 1 ثانیه اتفاق بیفتن وگرنه دیده نمیشن.
                      کمترین توقع از یک فرد تحصیلکرده، دانستن املای صحیح کلمات است.

                      دیدگاه


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

                        جناب یوسف خان.
                        امیدوارم ما رو هم در جریان روند پیشرفت پروژه بذاری.
                        خودم تا حالا اینکارو نکردم. ولی خیلی دوست دارم بدونم واقعا تا چه فرکانس و دقتی رو میشه ( نسبت به کلاک ) با اینتراپت میکرو اندازه گیری کرد.
                        منتظریم.
                        کمترین توقع از یک فرد تحصیلکرده، دانستن املای صحیح کلمات است.

                        دیدگاه


                          #13
                          پاسخ : فرکانس متر دقیق

                          حالا رنج تغییر فرکانس چقدر هست؟ مثلا 10 هرتز هم باید اندازه بگیرید؟

                          دیدگاه


                            #14
                            پاسخ : فرکانس متر دقیق

                            نه . فقط 200 هرتز بالا و پایین 300 کیلو هرتز رو با دقت 1 هرتز میخوام اندازه گیری کنم .

                            دیدگاه


                              #15
                              پاسخ : فرکانس متر دقیق

                              سلام
                              پیشنهاد می کنم به جای استفاده از میکرو از تراشه های شمارنده فرکانس یا سطح پالس برای این منظور استفاده کنید.
                              با تراشه پیشنهادی خودتون هم فرکانس کاری رو بدون در نظر گرفتن حالت PLL داخلی و حالت تقسیم کنندگی 4 تایی در نظر بگیریم 10 مگاهرتز سرعت دارین
                              حالا چند تا فرض اولیه
                              1-برای اینکه قضیه نایکویست صدق کند فرکانس کاری شما حداقل دو برابر فرکانس اندازه گیریتون باید باشد که با در نظر داشتن 1 مگاهرتز هم کافی هست
                              2-برای اینکه زمان نوشتن بر روی ادوات یا سریال کردن داده های خروجی زیاد زمان بر نشن از یک رم خارجی و خروجی کردن 8 بیتی داده ها برای نوشتن بر روی رم یا SPI استفاده کنید تا داده ها را در زمان های دیگر منتقل کنید

                              من شرمنده ام که شماره آی سی یا برنامه نویسی رو قرار ندادم چون بعد از دو سال کار نکردن با هیچ سخت افزار و نرم افزاری نه تراشه خاصی شاید برای کاربرد شما در ذهنم باشد نه شیوه صحیح برنامه نویسی / ان شالله بقیه دوستان با تجربه که تا همینجا خیلی خوب راهنماییتون کردن در ادامه بیشتر و بهتر از من همراهتون هستن
                              موفق باشید
                              هیچ دانش آموزی نیست که به در خانۀ دانشمندی آمد و شد کند, مگر این که خداوند برای هر گامی که برمی دارد عبادت یک سال را برایش رقم زند.

                              دیدگاه

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