اطلاعیه

Collapse
No announcement yet.

MLX90614

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

    MLX90614

    سلام ببخشید کسی تا حالا با سنسور MLX90614 کار کرده من با AVR کار می کنم اگر کسی اطلاعات در این زمینه دارد نحوه ی راه اندازی آن را با AVR توضیح بدین.
    باد می وزد ...
    میتوانی در مقابلش هم دیوار بسازی ، هم آسیاب بادی
    تصمیم با تو است ...

    #2
    پاسخ : MLX90614

    اندازه گیری دما از راه دور با دقت بالا و سنسور دمای MLX90614
    از جمله مشخصه های هر جسمی دمای آن جسم است که می توان برای تشخیص آن جسم از دمای آن استفاده کرد. مثلا دمای بدن انسان متمایز از دمای محیط است و می توان آن را از محیط عادی تمیز داد.
    در الکترونیک برای اندازه گیری دما از سنسور های دما استفاده می شود. یک نوع از این سنسور ها نوع معمولی هستند که دمای محیطی را اندازه گیری می کنند. این سنسور ها بسیار کند هستند و معمولا دقت کمی دارند .
    اما انواع دیگری از سنسور ها وجود دارند که با استفاده از امواج مادون قرمز کار می کنند و علاوه بر اینکه دقت و سرعت بالایی دارند ، می توانند دما را بدون اتصال به آن جسم و با فاصله اندازه گیری کنند. این ویژگی به خصوص برای مصارف رباتیکی که نیاز به سرعت بالا در بررسی است بسیار مناسب است.
    شرکت Melexis از جمله شرکت هایی است که انواع و اقسام این نوع سنسور ها را تولید نموده است که برای مصارف مختلف صنعتی ، پزشکی و ... استفاده می شوند.
    سنسور دمای MLX90614
    یکی از انواع این سنسور ها mlx90614 می باشد. این سنسور خود انواع مختلفی دارد که مصارف مختلفی دارند و در ولتاژ ها و انواع مختلفی وجود دارند.
    انواع سنسور های MLX90614:
    هر سنسور mlx90614 در ادامه نام خود ابتدا 2 حرف دیگر و پس از یک خط فاصله 3 حرف دیگر نیز دارد. یعنی مثلا به این صورت است:
    MLX90614ESF-AAA
    اولین حرف نشان دهنده رنج دمایی است که می تواند E یا K باشد. E به معنای رنج دمای -40 تا 85 درجه سانتی گراد و K به معنای رنج دمای -40 تا 125 درجه سانتی گراد است.
    دو حرف بعدی نشان دهنده پکیج سنسور است که تا کنون فقط یک پکیج از این سنسور موجود است یعنی برای همه سنسور ها این دو حرف SF است.
    سه حرف بعد از خط تیره بسیار مهم هستند و هر کدام معنای مخصوص به خود دارند.
    حرف اول بعد از خط تیره نوع و ولتاژ کاری سنسور را نشان می دهد. A به معنای 5 ولت ، B به معنای 3 ولت ، C تا کنون وجود نداشته و برای تولیدات بعدی نگه داشته شده و D به معنای 3 ولت با کاربرد پزشکی است و دقت بالاتری دارد.
    حرف دوم بعد از خط تیره نشان دهنده تعداد مناطق اندازه گیری دمای سنسور است که می توان 1 ، 2 یا یک طیف باشد که برای مصارف معمولی نوع A پیشنهاد می شود.
    حرف سوم نیز اضافات و مشخصه های خاص سنسور را مشخص می کند که A برای پکیج معمولی است و نوع های C و F سنسور های با زاویه دید بسته تر هستند.

    پروتکل و مقدمات راه اندازی:
    این سنسور به دو صورت می تواند خروجی بدهد. یکی به صورت PWM و دیگر به صورت ارتباط دو سیمه و پروتکل SMBus است. دقت ، سرعت و راحتی استفاده از smbus بیشتر است و به همین منظور ما برای راه اندازی از این پروتکل استفاده می کنیم.
    سخت افزار راه اندازی توسط smbus مانند دیگر دستگاه های این نوع است و تنها کافی است خطوط SCL و SDA و خطوط تغذیه متصل شوند. نیاز به مقاومت pull-up نیز هست و پیشنهاد می شود که یک خازن 100 نانو فاراد موازی خطوط تغذیه متصل شود.
    آدرس سنسور: آدرس پیش فرض سنسور 0x5A می باشد که البته یک آدرس 7 بیتی است و برای استفاده باید یک بیت شیفت داده شود. به غیر از آدرس صفر که آدرس عمومی است تمامی اعداد هفت بیتی می توانند به عنوان آدرس سنسور استفاده شوند.
    خواندن دمای شیئ از حافظه ram سنسور:
    دما های شیئی و محیطی در حافظه ram سنسور وجود دارند و هر کدام دو بایت هستند. برای خواندن دمای شیئی باید طی یک عملیات master receive رجیستر 7 و 8 حافظه ram سنسور خوانده شود و سپس با عملیات شیفت مقدار مورد نظر بدست می آید.
    پس از خواند مقدار دو بایتی دمای شیئ یک عدد 16 بیتی داریم که بیانگر دمای -40 تا 85 یا در مواردی -40 تا 125 در جه سانتی گراد است. ولی عددی که ما داریم اصلا در چنین رنجی نیست به خصوص که دقت آن 0.02 درجه سانتی گراد است.
    برای تبدیل مقدار خوانده شده به درجه سانتی گراد ابتدا باید عدد بدست آمده را در 0.02 ضرب کرد تا مشکل دقت حل شود. اکنون عدد بدست آمده برحسب درجه کلوین است که برای تبدیل آن به سانتی گراد کافی است مقدار 273.15 را از آن کم کنید.
    بنابر این الگوریتم خواندن دمای شیئی از سنسور به این صورت است.
    1- Master read (7,8)
    2- Temp = (reg8<<8)+reg7
    3- Temp = (Temp*0.02)-273.15

    تغییر آدرس سنسور:
    برای کار با تعداد بیشتر از این سنسور نیاز به تغییر آدرس سنسور است.
    آدرس این سنسور در حافظه eeprom آن ذخیره شده است بنابر این باید خانه ای از eeprom که آدرس در آن ذخیره شده است را تغییر دهیم.
    برای کار با حافظه eeprom و به طور کلی نوشتن در حافظه سنسور نکات زیر وجود دارد.
    1- برای نوشتن در حافظه های سنسور نیاز به Pec داریم که توضیح آن قبلا داده شده است و برای محاسبه آن می توانید به فایل وب ضمیمه شده با نام CRC-Calculator مراجعه کنید. برای محاسبه کافی است تا در کادر مربوطه تمامی بایت های ارسالی اعم از آدرس و آدرس رجیستر پشت سر هم وارد شود. لازم به ذکر است که همه ی بایت ها باید به صورت 2 رقمی و هگز وارد شوند مثلا اگر از آدرس صفر استفاده می کنید باید مقدار 00 را در ابتدا وارد کنید. مجموعا باید 4 بایت یعنی 8 رقم وارد کادر شود.
    2- آدرس رجیستر های حافظه ram و eeprom هر دو از آدرس صفر شروع می شوند. برای اینکه به سنسور بفهمانیم کدام حافظه مورد نظر است باید در بایتی که به عنوان command یا همان آدرس رجیستر می فرستیم تغییراتی ایجاد کنیم. مثلا برای نوشتن در eeprom باید بیت پنجم بایت ارسالی به عنوان آدرس رجیستر 1 باشد. سایر command ها در جدول صفحه 19 دیتاشیت سنسور آمده است. مورد سوم نیز خواندن flag ها می باشد که توضیحات آن در صفحه 19 دیتاشیت سنسور که در ضمیمه آمده است وجود دارد.


    3- دسترسی به eeprom اعم از پاک کردن یا نوشتن در آن به 5 میلی ثانیه زمان احتیاج دارد که در این زمان نباید عملیات دیگری روی eeprom انجام شود.
    4- برای تغییر یک مقدار در eeprom ابتدا باید آن خانه را پاک کرد و سپس مقدار مورد نظر در آن نوشته شود.
    5- برای پاک کردن مقدار یک خانه کافی است تا در آن خانه مقدار صفر ریخته شود.
    6- پس از تغییر آدرس بهتر است سنسور را دوباره راه اندازی کنید.
    7- در هنگام تغییر آدرس بهتر است فقط یک سنسور روی خط باشد.

    بنابر توضیحات داده شده ابتدا باید رجیستر با آدرس 0x0e در eeprom پاک شود (مقدار صفر در آن ریخته شود) و پس از 5 میلی ثانیه در همین خانه آدرس مورد نظر نوشته شود و دوباره 5 میلی ثانیه صبر کرد.
    تنها ذکر این نکته الزامی است که با توجه به نکته 2 باید به جای آدرس 0x0E مقدار 0x2E را برای سنسور بفرستیم.
    بعد از تغییر آدرس هم بهتر است سنسور را یک بار ریست کنید.
    الگوریتم تغییر آدرس به صورت زیر می شود.
    1- Master Transmit (0 > 0x2E)
    2- Wait 5 ms
    3- Master Transmit (address > 0x2E)
    4- Wait 5 ms
    5- Restart the module

    تذکر مهم : ماژول SRF08 به گونه ای است که با این سنسور همخوانی ندارد و نمی توان روی یک خط از هر دو استفاده کرد و این به دلیل سخت افزار ماژول SRF08 است.

    محمد صادق مجتبایی 9 اردیبهشت 93

    دیدگاه


      #3
      پاسخ : MLX90614

      یک کتابخانه هم برای این سنسور آماده شده است که انشاالله آن را هم به زودی قرار می دهم

      دیدگاه


        #4
        پاسخ : MLX90614

        نوشته اصلی توسط sadeghmojtabaei
        تذکر مهم : ماژول SRF08 به گونه ای است که با این سنسور همخوانی ندارد و نمی توان روی یک خط از هر دو استفاده کرد و این به دلیل سخت افزار ماژول SRF08 است.
        شاید مشکل از روند تغییر آدرس باشه یا چیز دیگه ای نمیدونم
        من با این دوتا کنار هم مشکلی نداشتم!
        حتی با آدرس دیفالت یعنی b4 هم این مشکل وجود داره؟
        AYRIC

        دیدگاه


          #5
          پاسخ : MLX90614

          نوشته اصلی توسط roboreza
          شاید مشکل از روند تغییر آدرس باشه یا چیز دیگه ای نمیدونم
          من با این دوتا کنار هم مشکلی نداشتم!
          حتی با آدرس دیفالت یعنی b4 هم این مشکل وجود داره؟
          سلام. نمیدونم چرا اما من چند ماه روی این موضوع وقتم تلف شد. هنوز هم دلیل مشخصی براش پیدا نکردم شاید srf08 هایی که ما داشتیم مشکل داشت ولی اصلا روی یک خط همخوانی نداشتند.

          دیدگاه


            #6
            پاسخ : MLX90614

            سلام اگر کتاب خانه ای به زبان c دارید لطفا قرار دهید .
            باد می وزد ...
            میتوانی در مقابلش هم دیوار بسازی ، هم آسیاب بادی
            تصمیم با تو است ...

            دیدگاه


              #7
              پاسخ : MLX90614

              سلام به همگی

              زوم این سنسور چقدر هست ؟

              اگر بخواهیم از پنجاه سانتی متری یه دیوار اندازه گیری دما کنیم، قاعدتا میانگین دمای یه دایره رو به ما می ده.
              شعاع این دایره چقدره ؟

              :rolleyes:
              برای کاری در حوزه اربعین نیاز به نیروی داوطلب هستیم.
              http://hosseinwalkingday.com

              دیدگاه

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