اطلاعیه

Collapse
No announcement yet.

راه اندازی سنسور دما smt160 با میکرو avr (تو رو خدا کمک کنین خیلی واجبه )

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

    #16
    پاسخ : راه اندازی سنسور دما smt160 با میکرو avr (تو رو خدا کمک کنین خیلی واجبه )

    Project ->configure -> c compiler -> code generation
    در قسمت sprintf features
    عبارت float, wide, precision رو انتخاب کن
    گفت که دیوانه نهی لایق این خانه نهی

    دیدگاه


      #17
      پاسخ : راه اندازی سنسور دما smt160 با میکرو avr (تو رو خدا کمک کنین خیلی واجبه )

      دوستمون درست میگه
      انجام بده ببین درست میشه یا ن ؟
      اگه بازم مشکل داشت بگو
      *****براي آدمي بهتر است که اصلا به دنيا نيايد تا اينکه بيايدو هيچ تاثيري نگذارد *****
      ناپلئون بناپارت

      دیدگاه


        #18
        پاسخ : راه اندازی سنسور دما smt160 با میکرو avr (تو رو خدا کمک کنین خیلی واجبه )

        آفرییییییییییییییییییییییییییییییییییییین :wow: :wow: :wow: :wow: :wow: :wow: :wow: :wow: :applause: :applause: :applause: :applause: :applause: :applause: :applause: :applause: :applause: :applause: :applause: :applause: :applause: :applause: :applause:به خدا چون خیلی وقت بود که سراغ برنامه نویسی نیومده بودم اصلا یادم نبود که باید اونو تنظیم میکردم ....درست شد یه دنیا ممنون از شما که راهنمایی کردین مخصوصا از دوست خوبم اوس موسی ،انشالا بتونم جبران کنم
        انصاف نباشد که من خسته رنجور پروانه او باشم و او شمع جماعت

        دیدگاه


          #19
          پاسخ : راه اندازی سنسور دما smt160 با میکرو avr (تو رو خدا کمک کنین خیلی واجبه )

          خوشحال شدم :applause:
          اگه از کارت نتیجه مطلوب گرفتی، نتیجشو بذار تا اگه کسی مشکل داشت استفاده کنه
          گفت که دیوانه نهی لایق این خانه نهی

          دیدگاه


            #20
            پاسخ : راه اندازی سنسور دما smt160 با میکرو avr (تو رو خدا کمک کنین خیلی واجبه )

            عذر میخوام حواسم نبود قبلا برای t یه عدد اعشاری ثابت تعریف کرده بودم وقتی که تنظیماتو درست کردم عدد اعشاری رو درست نشون داد و این قدر خوشحال شدم که فکر کردم درست شده اما وقتی دوباره t رو به حالت قبل برگردوندم روی ال سی دی این عبارتو نشون میده temp=INF که معنیشو نمیدونم .کل برنامه رو هم دوباره میذارم، همین برنامه این عبارتو نشون میده حالا واقعا نمیدونم مشکل کجاس
            کد:
            #include <mega16.h>
            #include <alcd.h>
            #include <math.h>
            #include <delay.h>
            #include <stdio.h>
            #include <stdlib.h>
            float t1=0.0,t2=0.0;
            bit control=0;
            unsigned char araye[16];
            interrupt [EXT_INT0] void ext_int0_isr(void) {
            TCCR1B=0X00;
            if (control){
            t2=TCNT1;
            TCNT1=0;
            MCUCR=0X02;
            control=0;
            }
            else {
            t1=TCNT1;
            TCNT1=0;
            MCUCR=0x03;
            control=1;
            }
            
            TCCR1B=0X02;
            }
            void main(void)
            {
            float DC=0.0;
            float t=0.0;
            
            // Timer/Counter 1 initialization
            // Clock source: System Clock
            // Clock value: 1000.000 kHz
            // Mode: Normal top=0xFFFF
            // OC1A output: Discon.
            // OC1B output: Discon.
            // Noise Canceler: Off
            // Input Capture on Falling Edge
            // Timer1 Overflow Interrupt: Off
            // Input Capture Interrupt: Off
            // Compare A Match Interrupt: Off
            // Compare B Match Interrupt: Off
            TCCR1A=0x00;
            TCCR1B=0x02;
            TCNT1H=0x00;
            TCNT1L=0x00;
            ICR1H=0x00;
            ICR1L=0x00;
            OCR1AH=0x00;
            OCR1AL=0x00;
            OCR1BH=0x00;
            OCR1BL=0x00;
            // External Interrupt(s) initialization
            // INT0: On
            // INT0 Mode: Low level
            // INT1: Off
            // INT2: Off
            GICR|=0x40;
            MCUCR=0x02;
            MCUCSR=0x00;
            GIFR=0x40;
            ACSR=0x80;
            SFIOR=0x00;
            // Alphanumeric LCD initialization
            // Connections are specified in the
            // Project|Configure|C Compiler|Libraries|Alphanumeric LCD menu:
            // RS - PORTA Bit 0
            // RD - PORTA Bit 1
            // EN - PORTA Bit 2
            // D4 - PORTA Bit 4
            // D5 - PORTA Bit 5
            // D6 - PORTA Bit 6
            // D7 - PORTA Bit 7
            // Characters/line: 16
            lcd_init(16);
            
            // Global enable interrupts
            //#asm("sei")
            
            while (1)
               { 
               DC=t1/(t1+t2);
               DC+=0.018;
               t=(DC-0.32)/0.0047;
               sprintf(araye,"temp=%3f",t);
               lcd_gotoxy(0,0);
               lcd_puts(araye);
               delay_ms(500);
               // Place your code here
            
               }
            }
            انصاف نباشد که من خسته رنجور پروانه او باشم و او شمع جماعت

            دیدگاه


              #21
              پاسخ : راه اندازی سنسور دما smt160 با میکرو avr (تو رو خدا کمک کنین خیلی واجبه )

              INF یعنی بینهایت. زمانی که تقسیم بر صفر انجام میشه، این مقدار درون float ذخیره میشه.
              معنیشم اینه که t1,t2 مقدارشون صفره.
              خروجی smt160 رو چک کردی؟
              گفت که دیوانه نهی لایق این خانه نهی

              دیدگاه


                #22
                پاسخ : راه اندازی سنسور دما smt160 با میکرو avr (تو رو خدا کمک کنین خیلی واجبه )

                نوشته اصلی توسط Finder_
                INF یعنی بینهایت. زمانی که تقسیم بر صفر انجام میشه، این مقدار درون float ذخیره میشه.
                معنیشم اینه که t1,t2 مقدارشون صفره.
                خروجی smt160 رو چک کردی؟
                چون تو پوتئوس smt160 نداره به جاش یه فانکشن گذاشتم که تولید پالس با فرکانس 1 کیلوهرتز تولید میکنه و اونو دادم به وقفه 0 و از میکرو خواستم که هربا که وقفه بالارونده شد مقدار محتوای تایمر 1 رو توی متغیر t1 بریزه و وقفه رو پایین رونده کنه و هر بار که وقفه پایین رونده اتفاق افتاد مقدار محتوای تایمر 1 رو تو t2 بریزه و دیوتی سایکل رو حساب میکنم .حالا چطور میشه مقدار t1 و t2 صفر باشن ؟یعنی ممکنه تایمر شروع به کار نکرده باشه؟شما بیزحمت یه چکش میکنی؟
                انصاف نباشد که من خسته رنجور پروانه او باشم و او شمع جماعت

                دیدگاه


                  #23
                  پاسخ : راه اندازی سنسور دما smt160 با میکرو avr (تو رو خدا کمک کنین خیلی واجبه )

                  در ضمن تو برد بوردقیقا همون ج رو میده و smt160 هم خروجی داره
                  انصاف نباشد که من خسته رنجور پروانه او باشم و او شمع جماعت

                  دیدگاه


                    #24
                    پاسخ : راه اندازی سنسور دما smt160 با میکرو avr (تو رو خدا کمک کنین خیلی واجبه )

                    پس بیزحمت فایل کل پروژه و شبیه سازی رو بذارید تا چکش کنم
                    گفت که دیوانه نهی لایق این خانه نهی

                    دیدگاه


                      #25
                      پاسخ : راه اندازی سنسور دما smt160 با میکرو avr (تو رو خدا کمک کنین خیلی واجبه )

                      خاهش میکنم زکات علم نشر آن است (البته اگه سوادی داشته باشم)
                      پس توی نشون دادن روی ال سی دی مشکلی نداره حتما توی محاسبات یا تولید شکل موج توسط فانکشن مشکل وجود داره
                      سورسو با فایل شبیه سازو بزار چک کنیم
                      *****براي آدمي بهتر است که اصلا به دنيا نيايد تا اينکه بيايدو هيچ تاثيري نگذارد *****
                      ناپلئون بناپارت

                      دیدگاه


                        #26
                        پاسخ : راه اندازی سنسور دما smt160 با میکرو avr (تو رو خدا کمک کنین خیلی واجبه )

                        ممنون اینم از سورس و پروتئوس
                        http://uplod.ir/bhgrdu92etfk/temp_smt160.rar.htm
                        انصاف نباشد که من خسته رنجور پروانه او باشم و او شمع جماعت

                        دیدگاه


                          #27
                          پاسخ : راه اندازی سنسور دما smt160 با میکرو avr (تو رو خدا کمک کنین خیلی واجبه )

                          دوست عزیز مگه از اینتراپت نمیخای استفاده کنی ؟ پس چرا فعال ساز عمومی وقفه رو کامنتش کردی ؟؟؟ !!!!!!! (خط 78 برنامه) از کامنت درش بیار درست میشه
                          در اوردم درست شد
                          *****براي آدمي بهتر است که اصلا به دنيا نيايد تا اينکه بيايدو هيچ تاثيري نگذارد *****
                          ناپلئون بناپارت

                          دیدگاه


                            #28
                            پاسخ : راه اندازی سنسور دما smt160 با میکرو avr (تو رو خدا کمک کنین خیلی واجبه )

                            خدمت شما
                            http://www.4shared.com/rar/JPvkaeuWce/temp_smt160V2.html
                            علاوه بر این که دوستمون گفتن مقدار تایمر هم بعد از خوندن باید صفر بشه.
                            گفت که دیوانه نهی لایق این خانه نهی

                            دیدگاه


                              #29
                              پاسخ : راه اندازی سنسور دما smt160 با میکرو avr (تو رو خدا کمک کنین خیلی واجبه )

                              آقا ممنون از راهنماییهاتون من این برنامه رو تو عمل تست کردم یه مشکل دارم :-دما نوسان داره و یه دمای ثابتو نشون نمیده و بین 2 درجه دائما در نوسانه.من قبلا با lm35 مدارو بیته بودم و اونم همینطور بود با خودم گفتم چون lm35 آنالوگه و از adc استفاده میکنه شاید دقیق نباشه و این امر طبیعی باشه و رفتم 15000 هزار تومن دادم به smr160 که شاید یه دمای ثابتو بدون نوسان داشته باشم چون دقت دما برام خیلی مهمه اما حالا میبینم اینم مثل lm35 عممل میکنه در ضمن تموم خازنای حذف نویزو گذاشتم و تو پروتئوس هم میبینیم که قسمت اعشاری پرش داره و این پرش تو عمل زیادتره و به خاطر همین نوسانو ایجاد میکنه چطور میتونم دما رو ثابت کنم؟
                              انصاف نباشد که من خسته رنجور پروانه او باشم و او شمع جماعت

                              دیدگاه


                                #30
                                پاسخ : راه اندازی سنسور دما smt160 با میکرو avr (تو رو خدا کمک کنین خیلی واجبه )

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

                                دیدگاه

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