Ничего не найдено :(
    В гостях у Самоделкина! » Темы » Советы » Применение пирометрического датчика MLX90614 с интерфейсом I2C

    Применение пирометрического датчика MLX90614 с интерфейсом I2C



    Пирометр, он же бесконтактный или дистанционный термометр, можно рассматривать как простейший тепловизор всего с одним пикселем. Подобно тепловизору, он ничего не излучает (если в нём есть примитивный лазерный "прицел", он не имеет отношения к датчику, в служит лишь для удобства), а принимает длинноволновое инфракрасное излучение, исходящее от всех тел, нагретых до температуры выше абсолютного нуля (а других и не бывает). Этим длинноволновое ИК-излучение отличается от коротковолнового, применяемого в оптопарах, пультах ДУ, для приёма которого подойдут и более простые датчики - фотодиоды. Наиболее массовыми, а значит - доступными по цене, являются пирометры, предлагаемые в качестве замены медицинских термометров. Они имеются в продаже во многих аптеках. Но такой прибор - вещь в себе, из которой невозможно вытащить данные во внешнее устройство для дальнейшей обработки.

    Совсем другое дело - модуль MLX90614 с интерфейсом I2C. Вы можете подключить его к Arduino, Raspberry Pi, любым другим платформам, если сможете обеспечить программную поддержку. Но удобнее всего подключать его к Arduino, так для этой платформы есть готовая библиотека фирмы Adafruit, обеспечивающая поддержку данного модуля.

    MLX90614 - это устройство "два в одном": помимо пирометрического датчика, он содержит датчик температуры наружного воздуха. Работают они независимо друг от друга. Диапазон измерения температур пирометрическим датчиком - от -70 до +380 °C, датчиком температуры воздуха - от -40 до +125 °C.

    Автор Instructables под ником Michal Choma написал простой скетч для Arduino, который совместно с упомянутой выше библиотекой позволяет проверить датчик. Текст скетча:

    #include <Wire.h>
    #include <Adafruit_MLX90614.h> 
    mlx = Adafruit_MLX90614();
    
    void setup() {
      Serial.begin(9600);
      mlx.begin();
    }
    
    void loop() {
      Serial.println("Temperature from MLX90614:");
      Serial.print("Ambient:      ");
      Serial.print(mlx.readAmbientTempC());
      Serial.println(" °C");
      Serial.print("Contactless: ");
      Serial.print(mlx.readObjectTempC());
      Serial.println(" °C");
      Serial.println();
      delay(1000);
    }


    Шины питания модуля (плюс и общий провод) мастер подключает параллельно соответствующим шинам Arduino. Питать датчик можно напряжением как 3,3, так и 5 В. Линию SDA (данные) шины I2C мастер подключает к выводу A4 Arduino, линию SCL (тактовые импульсы) - к выводу A5. На схеме это выглядит так:



    А в реале - так:



    В упомянутом выше пирометре из аптеки есть специальная оптика, пропускающая длинноволновые ИК-лучи. Она позволяет фокусироваться на предметах, расположенных довольно далеко от прибора. Здесь её нет, поэтому приходится подносить датчик к предмету на расстояние около 10 мм.

    Мастер испытывает свзяку из схемы, библиотеки и скетча, запустив эмулятор терминала и подключив его к устройству /dev/ttyUSB2 (у вас это устройство может получить другое название в зависимости от ОС и её настроек). Под управлением скетча Arduino считывает данные из модуля, преобразует их в текстовый вид и выводит в порт:



    Сначала мастер ничего не делал, а затем приблизил к датчику мороженое. Его температура тут же оказалась измерена пирометрическим датчиком модуля, но датчик температуры окружающей среды в нём же охладиться не успел. Конечно, лучше перед этим опытом направить датчик вбок и подносить мороженое сбоку.

    Испытав модуль и убедившись в его работоспособности, можно подумать о его практическом применении. Просто измерять им дистанционно температуру человеческого тела, паяльника или того же мороженого неинтересно - для этого сгодится и пирометр из аптеки. Нужно задействовать именно способность датчика передавать данные во внешние устройства для дальнейшей обработки. Можно, например, сделать робота, "боящегося" слишком холодных или, наоборот, слишком горячих предметов, и уезжающего от них подальше. Любые другие температурные датчики, кроме пирометрического, для этого не годятся из-за инерционности. Или попробуйте сконструировать сенсорную кнопку, реагирующую только на прикосновение пальцем, но не любым другим предметом, в том числе токопроводящим. Но особенно хорош такой модуль для мониторинга температуры вращающихся предметов, сам датчик при этом остаётся неподвижным. Вообразите дрель, автоматически останавливающуюся при перегреве сверла и не дающую его "сжечь". Да много чего ещё можно придумать такого, для чего любые другие температурные датчики не годятся, если напрячь фантазию.

    Источник (Source)
    Подборки: датчик

    Установка для ремонта импульсных БП

    Техника приготовления мороженого без холодильника

    Добавить комментарий

    2 комментария
    tormozedison Автор
    От 600 до 800 рублей.
    R555
    Любопытная информация. А сколько стоит сам датчик ?
    Кто не ошибается, тот не делает ничего.

    Привет, Гость!


    Зарегистрируйтесь

    Или войдите на сайт, если уже зарегистрированы...

    Войти

    Добавьте самоделку

    Добавьте тему

    Онлайн чат

    Опрос
    А Вы уже рассказали на сайте о своей самоделке?

    Последние комментарии

    Все комментарии