ورود به حساب ثبت نام جدید فراموشی کلمه عبور
برای ورود به حساب کاربری خود، نام کاربری و کلمه عبورتان را در زیر وارد کرده و روی «ورود به سایت» کلیک کنید.





اگر فرم ورود برای شما نمایش داده نمیشود، اینجا را کلیک کنید.









اگر فرم ثبت نام برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.









اگر فرم بازیابی کلمه عبور برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.






جهت تبلیغ در وب سایت ECA کلیک کنید.

کاربران برچسب زده شده

نمایش نتایج: از 1 به 6 از 6
  1. #1
    2008/10/09
    47
    0

    کالیبراسیون کریستال ساعتی

    سلام
    من در برنامه ای نیاز به شمارش تعداد پالس ها دارم. به این صورت که هر ثانیه یکبار تعداد پالسهای شمرده شده را از طریق ارتباط سریال به pc ارسال میکنه. برای تولید 1 ثانیه هم از کریستال ساعتی و RTC میکرو atmega16 استفاده کردم. ولی وقتی که پالس هایی با فرکانس 10KHz به پایه شمارنده اعمال میکنم، تعداد پالس های شمرده شده در هر ثانیه به جای 10000، عددهایی با اختلاف تقریبا 300 تا نشون میده (مثلا 10370، 10377، 10350، ...).
    برای تست اینکه آیا RTC واقعا یک ثانیه را اندازه میگیرد، برنامه ای نوشتم که تایمر 1 و تایمر 2 (همون RTC) با هم راه اندازی میکنم بعد هر وقت تایمر 2 سرریز شد مقدار موجود در تایمر 1 را میخوانم. در این جا به جای اینکه تایمر 1 عدد 1000000 (معادل 1 ثانیه) را نشان بدهد عددهای 1035519، 1036040، 1035800 و... را نشان میدهد.
    آیا باید کریستال ساعتی ضریب کالبراسیون تعریف کرد؟؟ در دیتاشیت نوشته شده که تایمر 2 دارای ریجستر بافر میباشد. آیا مشکل از این هست؟

    کد:
    interrupt [TIM1_OVF] void timer1_ovf_isr(void)
    {
    T1OVF++;
    }
    
    interrupt [TIM2_OVF] void timer2_ovf_isr(void)
    {
       #asm("cli")
       count=TCNT1;
       mult=T1OVF;
       TCNT1=0;
       T1OVF=0;
       #asm("sei")
       printf("%5u",count);
       putchar('c');
       printf("%1u",mult);
    }
    
    void main(void)
    {
    while (1)
       {
       if(start==1)
       {
       TCCR2=0x05;
       delay_us(60);
       TCCR1B=0x02;
       start=0;
       }
    }
  2. #2
    2010/09/03
    بابل
    653
    15

    پاسخ : کالیبراسیون کریستال ساعتی

    سلام

    شما نیاید تایمر 2 رو تو اون مد استفاده کنی چون وقتی که داری از این مد استفاده میکنی دیگه کرستالت 32768 هرتزه و بدیهیه که تعداد شمارش شده درست نیست.

    راه کار:
    از تایمر 0 یا 2 برای تولید زمان 1 ثانیه استفاده کن.بدونه استفاده از اون مد.
    ?Why not
  3. #3
    2008/10/09
    47
    0

    پاسخ : کالیبراسیون کریستال ساعتی

    با تشکر از شما
    من شمارش را با تایمر 1 انجام میدهم. زمان را با تایمر 2 با کلاک کریستال متصل به پایه TOSC توسط Asynchronous Status Register (ASSR اندازه میگیرم. تایمر 1 و 2 را تو مد نرمال راه اندازی کردم. فقط کلاک تایمر 2 را از کریستال متصل به پایه TOSC گرفتم و کلاک تایمر 1 را از پایه t1 با لبه پایین رونده. بصورت زیر.
    کد:
    // Timer/Counter 2 initialization
    // Clock source: TOSC1 pin
    // Clock value: PCK2/128
    // Mode: Normal top=0xFF
    // OC2 output: Disconnected
    ASSR=0x08;
    TCCR2=0x05;
    TCNT2=0x00;
    OCR2=0x00;
  4. #4
    2010/09/03
    بابل
    653
    15

    پاسخ : کالیبراسیون کریستال ساعتی

    شما باید این کارو با یه کریستال 1000000 انجام بدی نه اون کاری که داری میکنی.
    کریستال 1000000 رو داخلی انتخاب کن.
    اون کریستالم بکن.
    ?Why not
  5. #5
    2008/10/09
    47
    0

    پاسخ : کالیبراسیون کریستال ساعتی

    نقل قول نوشته اصلی توسط QUARK
    شما باید این کارو با یه کریستال 1000000 انجام بدی نه اون کاری که داری میکنی.
    کریستال 1000000 رو داخلی انتخاب کن.
    اون کریستالم بکن.
    ببخشید من متوجه منظور شما نمیشم. :cry:
    آیا منظور شما اینه که من با تایمر و کلاک داخلی میکرو، 1 ثانیه را تولید کنم و نه با کریستال ساعتی؟؟ من خیلی جاها دیدم از این روش استفاده میکنند و این روش خیلی راحت تر هم هست. چرا باید همچین مشکلی پیش بیاد. خطا در حد 3% هست خیلی هم بالا نیست.
    تایمر 2 را تو مد Asynchronous با prescaler 128 برای تولید 1 ثانیه هست.
    آیا منظور شما اینه که اگر من تایمر 2 را تو این مد راه اندازی کنم اونوقت کلاک کل میکرو از کریستال 32.768 khz تامین میشه؟؟؟ ولی تو دیتا شیت یکجا نوشته بود تو مد Asynchronous فقط کلاک مربوط به تایمر 2 به جای clk I/O از پایه TOSC1 میاد. و بقیه قسمت های میکرو مثلا تایمرها 0 و 1 کلاکشون از CLK I/O که همون 8MHz هستش، تامین میشود.
  6. #6
    2010/09/03
    بابل
    653
    15

    پاسخ : کالیبراسیون کریستال ساعتی

    الان شما کلاک سیستمت 32768 هرتزِ پس اگه پالسی با فرکانس بیشتر بیاد سیستم شما قادر به پاسخ گویی نمیباشد.

    تازه واسه این ضریبِ خطا کاری نمیشه کرد یعنی همینیه که هست.
    ?Why not
نمایش نتایج: از 1 به 6 از 6

موضوعات مشابه

  1. فوت پرینت باتری ساعتی
    توسط Raha323 در انجمن مدار چاپی (PCB)
    پاسخ: 1
    آخرين نوشته: 2013/11/27, 21:32
  2. ساعتی برای برقی ها
    توسط Mohamadh14 در انجمن ايده هاي نو
    پاسخ: 0
    آخرين نوشته: 2013/11/19, 07:04
  3. دیاگرام ساعتی ترانس
    توسط ram90 در انجمن ترانسفورماتورها و ماشين هاي الکتريکي
    پاسخ: 2
    آخرين نوشته: 2012/12/21, 23:19
  4. کالیبراسیون AVR,LM35
    توسط masoud123 در انجمن میکروکنترلرهای AVR
    پاسخ: 2
    آخرين نوشته: 2011/09/20, 12:43
  5. کالیبراسیون
    توسط siavashsiavash در انجمن مباحث دیگر علم الکترونیک
    پاسخ: 0
    آخرين نوشته: 2011/02/05, 21:49

کلمات کلیدی این موضوع

علاقه مندي ها (Bookmarks)

علاقه مندي ها (Bookmarks)

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •