اطلاعیه

Collapse
No announcement yet.

اشکال در برنامه فرکانس متر

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

    اشکال در برنامه فرکانس متر

    سلام به همه دوستان سال نو مبارک باشه.
    برنامه زیر یه فرکانس متر هستش.برنامه به این صورته که پالس به وقفه خارجی اعمال میشه و به ازای هر لبه بالا رونده یک واحد به متغییر a اضافه میشه.و در حلقه بینهایت یک ثانیه دیلی میدم و مقدار a چاپ و بعد صفر میشه.این برنامه برای فرکانس های روند درست عمل میکنه ولی مثلا برای فرکانس 2.4 هرتز عدد 2 یا 3 هرتز رو نشون میده (با پرش) بنظرتون مشکل از چیه ؟
    http://www.mediafire.com/download.php?b6kmmtbez4c7dev

    کد:
    #include <mega8.h>
    #include <alcd.h>
    #include <stdio.h>
    #include <delay.h>
    #include <stdlib.h>
    char str1[32],str2[32];
    float a=0;
    interrupt [EXT_INT0] void ext_int0_isr(void)
    { 
    a=a+1;
    }
    void main(void)
    {
    DDRD.6=0;
    PORTD.6=1;
    DDRD.2=0;
    PORTD.2=0;
    GICR|=0x40;
    MCUCR=0x03;
    GIFR=0x40;
    lcd_init(16);
    #asm("sei")
    while(1){
      lcd_clear();      
      while(PIND.6==0)
      {
       delay_ms(1000);
       ftoa(a,2,str1); 
       sprintf(str2,"F:%S",str1);
       lcd_gotoxy(3,0);
       lcd_puts(str2);
       lcd_gotoxy(4,1); 
       lcd_puts(str1);
       a=0;
       }
      }
     }
    چه يافت آنــکه تــو را گم کرد وچه گم کرد آنـکه تــو را يافت.

    #2
    پاسخ : اشکال در برنامه فرکانس متر

    سلام

    یک خازن یک نانو فاراد بین پایه وقفه و زمین بذار ببین درست نمیشه . با خازن 104 هم تست کن .
    تاپیک جامع سیستم مدیریت ساختمان BMS و خانه هوشمند Smart Home
    دانلود مجموعه آموزشی شرکت Altium ا (Altium Training)
    مقالات و فایل های آموزشی نرم افزار Labview
    حل مشکل درایور و راه اندازی FT232 های غیراورجینال

    دیدگاه


      #3
      پاسخ : اشکال در برنامه فرکانس متر

      نوشته اصلی توسط محمد م
      سلام

      یک خازن یک نانو فاراد بین پایه وقفه و زمین بذار ببین درست نمیشه . با خازن 104 هم تست کن .
      سلام
      1 نانو و 100 نانو گذاشتم نشد :question:
      چه يافت آنــکه تــو را گم کرد وچه گم کرد آنـکه تــو را يافت.

      دیدگاه


        #4
        پاسخ : اشکال در برنامه فرکانس متر

        این روش برای اندازه گیری فرکانس اصولی نیست. علتش اینه که دائم وقفه برنامه تحریک میشه ولی لحظاتی هر چند کم در این بین (فاصله بین 2 لبه بالا رونده که وقفه تحریک نمیشه) به حلقه اصلی برنامه میره و پس از چند بار مراجعه به اون حلقه چند دستور اجرا میشه . این عمل در فرکانس های بالا زیاد به چشم نمیاد ولی در فرکانس های پایین مثل همین 2.4 هرتز باعث مشکل میشه . چون زمان بین دو لبه میشه 416 میلی ثانیه . در این مدت وقفه تحریک نمیشه و حلقه اصلی اجرا میشه و بعد از اومدن لبه میره به وقفه و دوباره میاد به حلقه اصلی و ادامه دستورات رو انجام میده . بعد از دو بار لبه اومدن یکبار حلقه اصلی اجرا شده (با توجه به تاخیر 1 ثانیه ای داخل حلقه) و مقدار متغیر فرکانس صفر شده و این باعث میشه دائم نوسان کنه . نمی دونم درست تونستم منظورم رو برسونم یا نه .
        تاپیک جامع سیستم مدیریت ساختمان BMS و خانه هوشمند Smart Home
        دانلود مجموعه آموزشی شرکت Altium ا (Altium Training)
        مقالات و فایل های آموزشی نرم افزار Labview
        حل مشکل درایور و راه اندازی FT232 های غیراورجینال

        دیدگاه


          #5
          پاسخ : اشکال در برنامه فرکانس متر

          نوشته اصلی توسط محمد م
          این روش برای اندازه گیری فرکانس اصولی نیست. علتش اینه که دائم وقفه برنامه تحریک میشه ولی لحظاتی هر چند کم در این بین (فاصله بین 2 لبه بالا رونده که وقفه تحریک نمیشه) به حلقه اصلی برنامه میره و پس از چند بار مراجعه به اون حلقه چند دستور اجرا میشه . این عمل در فرکانس های بالا زیاد به چشم نمیاد ولی در فرکانس های پایین مثل همین 2.4 هرتز باعث مشکل میشه . چون زمان بین دو لبه میشه 416 میلی ثانیه . در این مدت وقفه تحریک نمیشه و حلقه اصلی اجرا میشه و بعد از اومدن لبه میره به وقفه و دوباره میاد به حلقه اصلی و ادامه دستورات رو انجام میده . بعد از دو بار لبه اومدن یکبار حلقه اصلی اجرا شده (با توجه به تاخیر 1 ثانیه ای داخل حلقه) و مقدار متغیر فرکانس صفر شده و این باعث میشه دائم نوسان کنه . نمی دونم درست تونستم منظورم رو برسونم یا نه .
          سلام دوباره
          من یه نمونه برنامه بوسیله کانتر یک دیدم اونم همین مشکل رو داشت که حتی بدتر فرکانس زیر 7 هرتز رو تشخیص نمیداد !
          شما چی پیشنهاد میکنین مهندس
          چه يافت آنــکه تــو را گم کرد وچه گم کرد آنـکه تــو را يافت.

          دیدگاه


            #6
            پاسخ : اشکال در برنامه فرکانس متر

            بهترین و اصولی ترین کار اینه که کانتر 1 رو توی مد نرمال فعال کنی برای شمارش و با تایمر 2 و یک کریستال 32768 هرتز یک ثانیه رو بوجود بیاری و داخل حلقه سر ریزش مقدار کانتر رو بشماری و نشون بدی و بعدش مقدارش رو صفر کنی .
            تاپیک جامع سیستم مدیریت ساختمان BMS و خانه هوشمند Smart Home
            دانلود مجموعه آموزشی شرکت Altium ا (Altium Training)
            مقالات و فایل های آموزشی نرم افزار Labview
            حل مشکل درایور و راه اندازی FT232 های غیراورجینال

            دیدگاه

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