اطلاعیه

Collapse
No announcement yet.

درایو سنسور دما mlx90614 با avr

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

    درایو سنسور دما mlx90614 با avr

    سلام
    کسی با این سنسور کار کرده . من زیاد زبان خوب نیست کسی مثال در مورد این سنسور به زبان بیسیک یا c نداره . به زبان c پیدا کردم ولی با winavr بوده که من نتونستم با این نرم افزار کار کنم. کد ویژن احتیاج دارم . یا اگه ممکنه اطلاعاتی در مورد چگونگی درایو اون میخوام

    اضافه شده در تاریخ :
    خودم درستش کردم فقط با خروجی این سنسور یه مشکلی دارم MLX90614 من بایت بالا و پائین خوندم . حالا یه سوال باید یک فرمول داشته باشه تا دما تا دقت 2. به ما بده
    مثلا تو ی دمای 29 درجه سنسور عدد 15112 میده . خوب این یعنی چه. توی دیتاشیتشم چیزی پیدا نکردم . کسی هست کمک کنه ؟؟
    {خلاف قوانین - حذف شد}

    #2
    پاسخ : درایو سنسور دما mlx90614 با avr

    Const Tempfactor = 0.02
    Tempdata = Makeint(lowbyte , Highbyte)
    Td = Tempdata * Tempfactor
    Td = Td - 0.01
    Td = Td - 273.15
    ما زنده به آنیم که آرام نگیریم موجیم که آسودگی ما عدم ماست

    وقتی یک ملت برای فرهنگ و نژاد و ملیت خویش ارزشی قائل نشد و حقی را که طبیعت برای نگاهداری نژاد پاکش به او ارزانی داشته بود پایمال ساخت و به بیگانگان روی آورد و تسلیم شد دیگر حق ندارد از شکست و بدبختی سیاسی که خودش باعث آن شده است شکایت کند .ادولف هیتلر

    r.babazadeh@yahoo.com

    دیدگاه


      #3
      پاسخ : درایو سنسور دما mlx90614 با avr

      دو تا سوال مهم!
      این سنسور رو راه اندازی کردم ولی به دوتا مشکل بزرگ خوردم
      1- بردش خیلی کمه! در حد 3 تا 4 سانت و این میزان برد اصلا بدرد من نمی خوره!چطور میشه زیادش کرد؟
      2- دمای محیط رو الان داره میده 27 که منطقیه(تمام فرمول های بالا رو رفتم ولی بقیه دما ها رو زیاد درست نشون نمیده مثلا یه کیسه ی آب و یخ گرفتم بالا سر سنسور دما رو میده 13 در صورتی که حدودا باید صفر بده!)

      دیدگاه


        #4
        پاسخ : درایو سنسور دما mlx90614 با avr

        مرسی
        من این رو برای ربات امدادگر دانش آموزی می خوام که قراره مصدوم که یه جسم گرمه از دور شناسایی کنه و فکر می کردم تا 10 یا شایدم 20 سانت برد داشته باشه و تنها سنسوری هم که میتونست از راه دور شناسایی کنه همین mlx90614 بود. بقیه سنسورهای دما محیط گرم رو اندازه می گیرن نه جسم گرم رو! مثل lm75 یا lm35 یا هر چیز دیگه! حالا چه کنم؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟

        1- اون مدل بزگ تر که میگید چیه و قیمتش چنده و آیا تو ایران اصلا هست؟
        2- اعداد مشکلی ندارن احتمالا :biggrin: بایت پایین و بالای خونده شده از باس رو ترکیب کردم و حاصل رو در یک long int می ریزم بعد روی اونlong int اون دوتا فرمول که تو پست بالایی آمده رو پیاده کردم!
        3- دمای اجسام دور تر از 3 تا 4 سانت رو هم میگه ولی هر چه جسم دور تر باشه دقت به شدت افت می کنه! که عملا برد ش همون 3-4 سانت میشه!
        4- مشکل من با کیسه ی آب و یخ هست که در همون3 تا 4 سانتی هم دماش رو به جای 0 میده 10 الی 12 ولی بقیه دماهای اجسام مثل دست و لیوان آب داغ و ... تقریبا معقول هستن(حداقل من با دماسنج تست نکردم و حدسی از روی تغیرات میشه گفت معقولند!).
        5- تا این جا هر کجا رو که درست گفتم لطفا تایید کنید و هر کجا که ایرادی هست لطفا اصلاح کنید. مرسی

        6- سوال دیگه ای برام پیش آمده اونم اینه که فرق Ta و To1و To2 که در رم این سنسور هست چیه؟؟؟؟؟؟
        تا اون جایی که من فهمیدم:
        Ta که در آدرس 0x06 هست دمای محیطه هست.(وقتی سنسور رو میگرم روی بخاری میره بالا و ظاهرا درست حدس زدم که دمای محیط رو میگیره)
        To1 که در آدرس 0x07 هست دمای جسم روبروی لنز سنسور هست که وقتی جسم جلویی عوض میشه به سرعت عددش تغییر می کنه!
        اما:
        To2 که در آدرس 0x08 هست رو اصلا نفهمیدم.(ظاهرا عددش هم ثابته! تا جایی که من دیدم من توی مد I2C کار میکنم نه مد PWM. آیا این مورد به PWm مربوطه و اصلا به کار من نمی آیاد یا چیز دیگه؟؟؟؟ این چیه؟ )

        دیدگاه


          #5
          پاسخ : درایو سنسور دما mlx90614 با avr

          اینم کدم


          کد:
          unsigned char a;
          unsigned char b;
          
          int w1;
          
          unsigned char buf[2];
          int number=0;
          long int n=0;
          
          w1=0x5A<<1;
              i2c_start();
              i2c_write(w1);
              i2c_write(0x07);
              i2c_start();
              i2c_write(w1 | 1);
              b=i2c_read(0);
              a=i2c_read(0);
              i2c_stop();
              delay_ms(20);
              
              buf[1]=a;
              buf[0]=b;
              number = (buf[1]<<8)+buf[0]; 
              n=number;
              n=(n*2)/100;
              
              lcd_puts("O:");
              itoa(n-273,p);
              lcd_puts(p);
              lcd_putchar(' ');

          دیدگاه


            #6
            پاسخ : درایو سنسور دما mlx90614 با avr

            تیم ما امسال توی ایران اپن دوم شد :nice:

            ولش کن اون سنسورهارو توی اران هم نیست به علاوه اگه برای امدادگر میخوای زیاد هم هست این :mrgreen:
            2- باید float باشه. یکی اینکه عددهای منفی رو هم بتونه بهت نشون بده و یکی هم اینکه این سنسور دقت 0.1 هم میزنه پس باید بریزی توی float

            فرمولت اینه؟
            کد:
               tempC =(tempk * 0.02)-273;
            tempK همون عدد خونده شده از رجیستر 0X07 هستش

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

            راستی اسم تیمتون چیه ؟ :-w
            از کجا شرکت میکنی؟
            AYRIC

            دیدگاه


              #7
              پاسخ : درایو سنسور دما mlx90614 با avr

              1- فرمول من هم همینه! اگه دقت کنین می بینین که من فقط قسمت اعشار اعداد رو حذف کردم و یه جورایی جز صحیح گرفتم! و عملا خطای موجود در مورد کیسه ی آب یخ خیلی بیش تر از این حرف هاست که توی این موندم.
              2- ان شا الله می خوام ایران اپن شرکت کنم ولی خودم نه! (تیم دانش آموزیه و مرحله ی بعدی کار اینه که حالا کار با این سنسور رو به دانش آموز بفهمونم!)
              3- شما دانشجویی شرکت می کنین دیگه؟؟؟
              4- چرا گفتین توی امدادگر همین بسه؟ با این برد کم من باید عملا بچسبم به مصدوم تا ببینمش!
              اون To ها و Ta رو نفهمیدید داستانش چیه؟

              دیدگاه


                #8
                پاسخ : درایو سنسور دما mlx90614 با avr

                کی گفته بردش چند سانته ؟؟
                من ازش تا 1 متر برد با دقت صدم گرفتم . دقتش عالیه .

                دیدگاه


                  #9
                  پاسخ : درایو سنسور دما mlx90614 با avr

                  میشه بگید چطور؟
                  کدتون چی بوده؟ مدارتون چی بوده؟
                  دقیق تر بگید لطفا من خیلی دنبال این گشتم!

                  دیدگاه


                    #10
                    پاسخ : درایو سنسور دما mlx90614 با avr

                    من با مد i2c کار کردم . کد پیشم نیست مال قبله . ولی چند سال پیش 10 تائی درست کردم و با دقت صدم و تا 1 متر ازش جواب گرفتم . دقیقا مثل دماسن های لیزری دما بهتون نمایش میده .

                    اضافه شده در تاریخ :
                    اگه کدش پیدا کردم برات میل میکنم . کد اونو از سایت میکروچیپ گرفتم . توی forum سایت میکروچیپ اسم
                    mlx90614 سرچ کن کد اونو حتما پیدا میکنی

                    دیدگاه


                      #11
                      پاسخ : درایو سنسور دما mlx90614 با avr

                      من هم دارم با I2C کار می کنم.
                      کد رو هم که گذاشتم. مشکلی نداره چون وقتی کد داره دمای اجسام نزدیک رو میده یعنی درسته! این مشکل سنسور هست که نمیتونه ببینه!
                      میشه بیشتر توضیح بدید.
                      آیا کانفیگ خاصی کردید؟ چیز خاصی روی مدارتون بود؟
                      وقتی این سنسور و بستنش روی مدار یه I2C ثابت با تابع ها و روش های یکسانی در کل دنیاست و مشترکه دیگه دلیل نداره یکی ببنده یک متر برد یکی دیگی همون رو ببنده 4 سانت!
                      من مدام دارم رفرش می کنم ببینم جواب جدید از طرف شما کی می آید. لصفا خراج نشید. برام خیلی مهمه زودتر جواب بگیرم.

                      اضافه شده در تاریخ :
                      به همون دلایلی که در بالا گفتم نمی تونه ایراد از کد باشه.
                      نظر شما چیه؟

                      دیدگاه


                        #12
                        پاسخ : درایو سنسور دما mlx90614 با avr

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

                        دیدگاه


                          #13
                          پاسخ : درایو سنسور دما mlx90614 با avr

                          1- من با مقاومت 4.7 کیلو کارکردم. جواب گرفتم. گویا باید حداکثر تا 10 کیلو بذاری ولی من چندتا عکس توی اینترنت که سرچ کردم از مدارهایی که عملی بسته شده بودند از روی رنگ مقاومت ها دیدم اون ها 4.7 کیلو استفاده کردند برای این سنسور.
                          2- از کجا بشه سالم یا سوخته رو تشخیص داد نمی دونم ولی یه راه همین جوری به ذهنم آمد می گم. این تابع های I2C در صورت موفقیت 1 بر می گردونن و در صورت عدم موفقیت 0! خوب از تابع استارت که شروع کردی برگشتی هر کدوم رو روی ال سی دی نمایش بده اگه یکیش هم یک بود یعنی سنسور داره ارتباط برقرار می کنه و مشکل از کد نویسی یا ... شماست وگرنه اگه در هر حالت صفره احتمالا سوخته!(این راه رو همینت طوری از روی تجربه گفتم و
                          رنه خودم هم تازه کارم و شاید کلا این راه غلط باشه و به اشتباه بیافتید.)
                          3- سنسور رو از کجا گرفتید. مدل مال شما چیه و چند خریدیتش؟ رباتیک کار می کنید؟ نوشته ی روی سنسور شما چیه؟

                          دیدگاه


                            #14
                            پاسخ : درایو سنسور دما mlx90614 با avr

                            ببین این شماتیک منه

                            یه فیلم هم ازش دارم که حجمش بالاست
                            اگه شد برات میل میکنم.
                            کد اون روی یک سی دی بکاپ گرفتم که نمیدونم کجاست .
                            یه چیز دیگه هم هست که بعضی از این سیسورها با 3.3 ولت کار میکنند و قیمتشون خیلی بالاست و تا 1500 درجه نمایش میدند . من با این 60 تومنی ها که جهان کیت داره کار کردم که تا 150 درجه نمایش میدند. به تغذیه خیلی حساس هستند . من به یکی از این سنسورها برای یک لحظه 5.5 دادم به شدت داغ کرد و سوخت .

                            دیدگاه


                              #15
                              پاسخ : درایو سنسور دما mlx90614 با avr

                              من هم تقریبا همین شماتیک شما رو بستم. اصلا جور دیگه ای نمیشه این سنسور رو وصل کرد.
                              دقیقا من هم از جهان کیت همون 65000 رو خریدم!
                              مال من مدل AAA هست که با ولتاژ 5 ولت کار می کنه!
                              لطفا نوشته ی پهلوی بدنه ی استوانه ای سنسورتون رو بخونید اگه نوشته AAA که 5 ولته و اگه نوشته BAA اون مدل 3 ولته که توضیح دادید.
                              اگه دقیقا همینه که ما دوتا باید یه جور جواب بگیریم نه یکی 4 سانت یکی 1 متر!

                              دیدگاه

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