Кто из посмотревших фильм «Хищник» не мечтал обладать термальным зрением как инопланетный охотник? В наше время это не сложно, но достаточно дорого: не каждый может позволить себе купить тепловизор, хотя в последнее десятилетие, с развитием технологий, они стали гораздо доступнее. Одним из многих проектов на ардуино, которым я был очарован и вовлечен в удивительный мир микроконтроллеров, был как раз тепловизор, если его можно так назвать. Устройство на основе однопиксельного бесконтактного датчика температуры и системы механической развертки хотя меня и сильно впечатлило, но я так и не повторил его, так как, честно сказать, скорость его работы совсем не впечатляла. К слову сказать, датчик MLX90614, использованный в том проекте, достаточно дорогой (по стоимости за пиксель) по сравнению с теми, речь о которых пойдет дальше.
Disclaimer
Топик должен был называться «делаем бюджетный тепловизор», но за то время, пока у меня не доходили до него руки, ситуация изменилась и он стал весьма небюджетным. О текущих ценах на комплектующие в конце статьи.
Тема тепловизоров меня захватила и я всегда с интересом следил за новостями в этой области электроники. Очевидно, чтобы не использовать систему механической развертки нужен датчик большего разрешения, я составил для себя список таких датчиков, но многие из них были недоступны для покупки. Еще недавно на просторах интернета можно было встретить истории, что продавец отказывался отправлять подобные датчики в нашу страну, считая их устройством двойного назначения. Когда же в свободной продаже на aliexpress появился модуль с датчиком AMG8833, а в сети появились проекты с его использованием, я не смог противостоять желанию получить его, хотя стоимость и превышала почти вдвое ежемесячный лимит, отведенный мною на покупки. Датчик был приобретен за 37$ (сейчас его можно купить за 28$). Конечно разрешение у сенсора очень низкое для какого бы то ни было практического использования в качестве тепловизора, но его достаточно, чтобы получить массу восторга, впервые взглянув на мир «глазами хищника».
«селфи» снятое на AMG8833
Вдоволь поэкспериментировав с AMG8833, я отложил его для будущего использования и стал думать о большем. Ведь все на том же aliexpress в продаже появились модули на базе сенсора MLX90640 с разрешением 32*24 и ценой в 60-70$. С таким разрешением возможно использовать его для каких то практических целей, ну и конечно поиграть серьезнее.
Особенности MLX90640:
— Диапазон рабочих температур от -40 до 85 ° C, позволяет использовать в сложных промышленных условиях
— Может измерять температуру объекта от -40 до 300 ° C
— Типичная точность измерения температуры целевого объекта 1 °, точность по всей шкале измерения
— NETD всего 0,1K RMS при частоте обновления 1 Гц
— Не требуется повторная калибровка для конкретных температурных требований, что обеспечивает большее удобство и снижает эксплуатационные расходы
— Два варианта поля зрения (FoV): стандартное (MLX90640BAB) 55 ° x35 ° и широкоугольное (MLX90640BAA) 110 ° x75 ° Матрица с широкоугольным полем зрения обладает меньшим шумом и большей точностью измерения.
— 4-контактный корпус TO39 с необходимой оптикой
— Цифровой интерфейс, совместимый с I²C, упрощающий интеграцию
Отдельно датчик можно было приобрести примерно за 55-60$ в зависимости от версии. Но мне интереснее модули с обвязкой. Есть несколько вариантов таких модулей:
1. Модули, включающие сам сенсор и его обвязку для питания и работы с микроконтроллером по шине I2C.
2. Модули для платформы M5STACK/M5STICK, такие модули содержат необходимую обвязку для питания сенсора и работы с микроконтроллером по шине I2C.
3. Модули с микроконтроллером, реализующим UART интерфейс. Для работы с таким модулем можно обойтись без внешнего микроконтроллера, подключив его к ПК через USB-UART конвертер, я встречал 2 варианта таких модулей. Программное обеспечение для ПК позволяет визуализировать исходное тепловое изображение с сенсора или с программной интерполяцией.
4. Следующим вариантом развития модулей с микроконтроллером являются модули, в которых реализован USB интерфейс и которые можно напрямую подключать к ПК, при этом сохранен UART интерфейс и доступна шина I2C самого сенсора. Для доступа к сенсору по I2C нужно замкнуть конденсатор сброса (который еще нужно найти).
5. Наконец последним вариантом является модуль Red Eye Camera, в котором также реализован USB интерфейс, но, насколько я понял, нет возможности получить сырые данные с сенсора по I2C, при этом доступен UART. Судя по картинкам на странице товара для данного модуля есть ПО для Android.
Мне хотелось иметь возможность для взаимодействия с сенсором по I2C, поэтому я выбрал модуль под номером 4, в котором есть эта возможность, а также реализован USB интерфейс. Со всевозможными скидками на распродаже 11.11.2019 г. этот модуль был приобретен за 54,31$.
Такой довольно дорогой модуль поставлялся в упаковке без какой бы то ни было защиты, к счастью не пострадал. Размеры модуля 28*15 мм.
К сожалению, не удалось найти никакой другой информации о данном модуле кроме представленной на странице товара: ни схемы, ни ПО. На модуле указано его название, версия и дата — «mlx_module v3.1.0 20190608. Но поиск по данному обозначению не дал никаких результатов. У всех продавцов одни и те же фото и описание товара.
Я не терял надежды, что драйвера под Windows найдутся автоматически, но чуда не произошло. При подключении в диспетчере устройств появилось новое неизвестное устройство с com-портом, после поиска драйверов оно было идентифицировано как трекбол, но драйвера не были правильно установлены. При этом в системе еще появляется com-порт. Я попытался использовать ПО от аналогичного модуля без usb, но безрезультатно: видимо протоколы обмена данными через UART у этих модулей отличаются. При последующих подключениях оно вообще не обнаруживалось.
Остался второй вариант использования данного модуля – подключение непосредственно к сенсору по шине I2C. Для этого, согласно информации на странице товара, необходимо замкнуть конденсатор сброса. Осталось найти его на плате среди десятка конденсаторов.
На плате установлены следующие компоненты:
— микроконтроллер STM32F301K6;
— USB-UART конвертер CH340;
— стабилизатор напряжения;
— кварцевый резонатор;
— резисторы и конденсаторы.
Вид сверху.
Вид снизу.
Чтобы найти нужный конденсатор, пришлось изучить даташит на микроконтроллер STM32F301K6 и прозвонить саму плату. Конденсатор, подключенный к пину reset микроконтроллера STM32, выделен на фотографии красным. Потребовалась довольно тонкая работа, чтобы замкнуть его с помощью кусочка провода МГТФ.
Я проверил несколько примеров работы сенсора с ESP32. Для итоговой реализации я использовал в качестве управляющей платформы TTGO T-Watch, о которой можно узнать из моих обзоров: раз, два. Для подключения сенсора к T-Watch я использовал прото-шилд для Wemos D1 mini и угловые штырьковые гребенки. Получилось довольно компактно, конечно, корпус бы не помешал. Взяв за основу данный проект, я переделал его под TTGO T-Watch, а также добавил интерполяцию и возможность сохранения фотографий на microSD.
Пример сохраненных фото с «тепловизора».
Ещё несколько примеров фотографий
Фотографии сделаны до реализации интерполяции в разрешении 32*24 пикселей. А на видео уже пример работы с интерполяцией, с разрешением 64*48. Частота кадров составляет всего 4 кадра в секунду она зависит от частоты опроса датчика и задается программно, частоту можно увеличить до 32 при этом увеличится погрешность измерений.
Дополнительная информация
Я так же проверил работу сенсора MLX90640 c OpenMV
Несмотря на столь небольшое разрешение сенсора MLX90640 его вполне можно использовать для множества целей:
— поиск утечек тепла в доме, при утеплении лоджии проверено на личном опыте;
— поиск греющихся элементов на плате, конечно самые мелкие детали будут неразличимы, но тем не менее такой инструмент может быть полезен;
— контроль присутствия людей, там где нет возможности использовать видеокамеру, человека можно заметить с расстояния порядка 10 м;
— пожарная безопасность;
Функции и улучшения, которые я хотел бы добавить к «тепловизору»:
— переделать проект под большой дисплей с тачскрином;
— добавить поддержку LVGL и сделать красивый дизайн с меню;
— увеличить разрешение сохраняемых изображений;
— добавить возможность потоковой трансляции изображения по Wi-Fi.
Я хочу также реализовать следующие проекты на основе сенсора MLX9040: — Мобильный тепловизор на основе ESP32.
— Мобильный тепловизор для андроид.
— Радиоуправляемый робот с термальным зрением.
— Камера наблюдения с режимом термальной съемки.
— Тепловизор с детектором лиц на базе kendryte k210.
— Шлем виртуальной реальности или очки с термокамерой.
P.S.S.
В следствие пандемии коронавируса цены на сенсор MLX90640 взлетели в несколько раз. На Aliexpress можно найти модуль примерно за 200$. В конце 2019 г. компания Sipeed обещала выпустить в скором времени модуль термокамеры с разрешением 32*32 на базе сенсора от Heimann за ~ 50$, но опять же из-за пандемии этим обещаниям не суждено было сбыться. Надеюсь в будущем ситуация улучшится.
Модули да, что-то безумно дорогие. А вот функционально законченный «тепловизор» на MLX90640 — в районе $120. Тоже не слишком дешево (при таких характеристиках), но хоть что-то…
Для поиска греющихся элементов на плате в основном достаточно пальца… Ну если не лезть в первичку, хотя и там нормально, если за батарею отопления не хвататься второй рукой для поддержки тельца…
недостаточно. Представьте утечку в 0,2А на bga чипе размером в пару квадратных сантиметров. При таком токе и таком теплоотводе на текстлит- пальцем Вы разницу не прочувствуете. И даже кончиком носа не различите разницу в 5 градусов. По идее тепловизор эту разницу должен показать
Тоже в свое время переболел тепловизоростроением. Хотелось, аж «кюшать не мог», а сейчас вроде и пользуюсь совсем редко. Но сам процесс создания/программирования был увлекательным — оно того стоило )) «Отпустило», к сожалению, раньше, чем доделал все программные рюшечки, но хоть корпус успел наваять.))
MLX90640 брал, конечно, по докризисным ценам. Контроллер — ESP32. Корпус на 3D принтере.
я что то не понимаю — где здесь этот самый CH340?
эта маленькая квадратная 10 ногая? Обычно CH340 в другом корпусе. Cам STM32 тут не вараинт — там нет usb.
Далее, драйвера.
Чип CH340 дремучий, под 10ку драйверов офицально быть не должно, там отдельные приключения бывают чтоб их поставить. Что там 7ка найдет — вообще не понятно. И винда не линукс — я бы не очень верил в драйвера, которые она находит. Но раз она показала com порт значит она какие то драйвера таки нашла.
А вот уже на этом компорте она нашла трекбол — на самом деле она помогла получить какойнить ответ от stm32 и ошибочно его признать за трэкбол — такии истории бывали.
Более того — в теории может занять этот порт для себя и он будет недоступен.
Если эта странная микруха сдохла — com порт больше не появиться в системе.
А проверить то com порт несложно, либо осциллографом, либо закоротить tx на rx и в терминалке лицезреть символьное эхо.
И еще цепи питания надо проверить.
Можно использовать свою платку usb — uart, но опять же CH340 надо отпаять так как она будет своими сигналами помехи создавать.
Ну а корочением reset был приведжен в безраличное соcтояние контроллер stm32. Чтобы найти этот пин достаточно было скачать даташит на STM32F301K6 и отследить дорожку. Там еще контакты не подписанные — возможно для прошивки.
я что то не понимаю — где здесь этот самый CH340?
эта маленькая квадратная 10 ногая?
Да, именно она.
Cам STM32 тут не вараинт — там нет usb.
Я, наверное, неправильно выразился, я имел ввиду встроенный USB-UART, хотя при покупке по описанию товара я думал, что плата определится как USB-устройство.
Ну а корочением reset был приведжен в безраличное соcтояние контроллер stm32.
Именно это мне и было нужно, что бы самостоятельно управлять сенсором.
Чтобы найти этот пин достаточно было скачать даташит на STM32F301K6 и отследить дорожку.
1. Без совмещения картинки от обычной камеры все это лабуда.
2. С семейством ESP это сделать не удастся из за конфликта пинов.
3. А вот с OpenMV вполне работает, ибо там есть поддержка MLX и готовые примеры.
4. У Kendryte кривой I2C и MLX не подхватывается.
1 — не лабуда. Даже без камеры позволяет легко найти источник утечки тепла в доме.
2 — у ESP и быстродействия не хватит для обработки термограммы и видео, разве что видео тоже будет 32х24 :).
А вот с OpenMV вполне работает, ибо там есть поддержка MLX и готовые примеры.
Но выглядит совмещение некорректно, т.к. у MLX90640 и OpenMV разные углы обзора и к тому же при выводе на дисплей нарушаются пропорции изображения
У Kendryte кривой I2C и MLX не подхватывается.
У kendryte есть пример работы с аналогичным модулем на MLX90640 по UART, но к сожалению модуль отличается от моего и у них разные протоколы, поэтому не получилось проверить этот пример.
Ну да, углы разные, НО в центре, а это и есть самая информативная область,
изображения совпадают. Судите сами. Ну и MLX с 55 градусным полем взять можно.
Я себе заказал готовый тепловизор на этом датчике, тот который бутербродом из платок.
Ну, согласен, качество хреновенькое, совмещения с обычной картинкой нет, но вот для всякого быстренько посмотреть где что сильно греется, а не пальцем тыкать — оно вполне пригодно за свою-то цену.
У меня Seek Thermal с уже вполне приличным разрешением, но без совмещения — и это не лабуда. Найти нагревающийся элемент на плате, даже если он 0603 — труда не составляет. Если точная идентификация сразу затруднена — можно поднести предмет. Искать утечки тепла в окнах, смотреть нагрев батарей отопления — тоже прекрасно можно без совмещения.
Да, может совмещение бы не помешало с эстетической точки зрения, но на практическое использование оно не влияет.
Два-три года назад и я тоже интересовался этой темой :)
Сделал тепловизор сначала на AMG8833, потом раззорился на MLX90640.
Схема здесь: forum.easyelectronics.ru/viewtopic.php?f=16&t=35969
Сенсор опрашивал микроконтроллером STM32F103CB, отображал на андроид смартфоне(планшете).
С наложением картинки от видеокамеры.
Программки писал сам :), правда, на основе примеров от адафруктов.
Да, искать греющуюся микросхему на плате и тепловые аномалии так гораздо удобнее.
Здесь: www.youtube.com/playlist?list=PLsrCW-R5z-XtUQLkNb1LJ0M1bI5LFiNrK несколько моих видеороликов
Неужели так подорожало? Посмотрел историю, в прошлом году на али купил китайский собранный девайс на MLX90640 за 62,31 евро с доставкой
***
Если интересно, могу показать что внутри его. Хотя в сети полно разборов. Ищется по DANIU Portable HY-18 MLX90640
ИМХО, отдельно девайс как минус, так и плюс.
Удобнее с контентом работать. можно передать соседу попользоваться. маленький экран планшетом превращается в большой.
Есть софт для ББ, хоть на ноут хоть на стационарник цепляй. При ремонте рядом повесил и исследуй.
камера SONY 365 или 355 решает все проблемы, инфракрасное видео с доп подсветкой, в полной темноте, видно всё, Провда в ЧБ изображении лучше в чем в цветном. Антиквариат, пишет на кассету в цифре, но глубина разрешения видоискателе! Куда там ночным прицелам. Тяжёлая, килограмм весит.
Как-то видел в работе, профессиональную для телека, Sony. Темень была кромешная. Чувак включил и я офигел. На мониторе рядом картинка как будто только закат начался.
У SONY есть камеры с германиевой оптикой? :) Снять ик фиильтр с камеры и загнать ее принудительно в ч/б режим не проблема, но это и близко к тепловизору не стояло.
Интересная тема. На сколько понимаю сенсор болометрический. Его нельзя направлять на Солнце даже в выключенном состоянии. Сразу появится много битых пикселей или вообще помрет
Интересная тема. На сколько понимаю сенсор болометрический. Его нельзя направлять на Солнце даже в выключенном состоянии. Сразу появится много битых пикселей или вообще помрет
Есть какая то официальная информация?
У нас только один «отечественный производитель» оптико-электронных систем видеонаблюдения не рекомендует «направлять на солнце», а днем даже закрывать крышкой. Но все только в устной форме, наши просьбы написать письменно (т.к. несет гарантийные обязательства) остались без ответа.
Официальной информации нет, но я сам видел как они умирают. Пятно битых пикселей остается где было солнце.
И это было только на болометрах или Вы эксплуатируете только эти системы?
Есть много факторов от которых появляются битые пиксели, в последние годы — это применение дешевых китайских матриц (я подразумеваю, оптические системы видеонаблюдения).
Blackview bv 9800 pro и 9900 pro, идёт со встроенным тепловизором и есть возможность посмотреть фото из галереи в тепловизионном и обычном режиме в совмещении. Плюс смартфон броневик с неплохими параметрами. Использую в ремонте холодильников и как повседневный смартфон.
Caterpillar лет 5 назад делали свой броневик с Flir
там даже приложение было для подготовки отчетов по обследованию объектов. Знакомый инженер пользовался при выезде к заказчику на обследование электроустановок. Говорил, что отчет принимается как документ, типа там тепловизор сертифицирован для этого
Ради термокамеры купил БУшный CAT S60. Но, он все сильней спешит сдохнуть. Вот мысль гложет, если у него это получится, его термокамеру возможно запустить на чем то автономно?
за 200$ кмк можно купить готовое устройство.
глянул видос на сайте, будто в DOOM 2 или другой шутер играешь)
Примеры фото:
Использую для ремонта (не всегда, но находит применение), на последнем фото плата NanoVNA видно что греется процессор, диод на входе, и генератор
?
MLX90640 брал, конечно, по докризисным ценам. Контроллер — ESP32. Корпус на 3D принтере.
эта маленькая квадратная 10 ногая? Обычно CH340 в другом корпусе. Cам STM32 тут не вараинт — там нет usb.
Далее, драйвера.
Чип CH340 дремучий, под 10ку драйверов офицально быть не должно, там отдельные приключения бывают чтоб их поставить. Что там 7ка найдет — вообще не понятно. И винда не линукс — я бы не очень верил в драйвера, которые она находит. Но раз она показала com порт значит она какие то драйвера таки нашла.
А вот уже на этом компорте она нашла трекбол — на самом деле она помогла получить какойнить ответ от stm32 и ошибочно его признать за трэкбол — такии истории бывали.
Более того — в теории может занять этот порт для себя и он будет недоступен.
Если эта странная микруха сдохла — com порт больше не появиться в системе.
А проверить то com порт несложно, либо осциллографом, либо закоротить tx на rx и в терминалке лицезреть символьное эхо.
И еще цепи питания надо проверить.
Можно использовать свою платку usb — uart, но опять же CH340 надо отпаять так как она будет своими сигналами помехи создавать.
Ну а корочением reset был приведжен в безраличное соcтояние контроллер stm32. Чтобы найти этот пин достаточно было скачать даташит на STM32F301K6 и отследить дорожку. Там еще контакты не подписанные — возможно для прошивки.
Я, наверное, неправильно выразился, я имел ввиду встроенный USB-UART, хотя при покупке по описанию товара я думал, что плата определится как USB-устройство.
Именно это мне и было нужно, что бы самостоятельно управлять сенсором.
Именно так я и сделал.
2. С семейством ESP это сделать не удастся из за конфликта пинов.
3. А вот с OpenMV вполне работает, ибо там есть поддержка MLX и готовые примеры.
4. У Kendryte кривой I2C и MLX не подхватывается.
2 — у ESP и быстродействия не хватит для обработки термограммы и видео, разве что видео тоже будет 32х24 :).
У kendryte есть пример работы с аналогичным модулем на MLX90640 по UART, но к сожалению модуль отличается от моего и у них разные протоколы, поэтому не получилось проверить этот пример.
изображения совпадают. Судите сами. Ну и MLX с 55 градусным полем взять можно.
Ну, согласен, качество хреновенькое, совмещения с обычной картинкой нет, но вот для всякого быстренько посмотреть где что сильно греется, а не пальцем тыкать — оно вполне пригодно за свою-то цену.
Да, может совмещение бы не помешало с эстетической точки зрения, но на практическое использование оно не влияет.
Проект с большИм дисплеем.
Сделал тепловизор сначала на AMG8833, потом раззорился на MLX90640.
Схема здесь: forum.easyelectronics.ru/viewtopic.php?f=16&t=35969
Сенсор опрашивал микроконтроллером STM32F103CB, отображал на андроид смартфоне(планшете).
С наложением картинки от видеокамеры.
Программки писал сам :), правда, на основе примеров от адафруктов.
Да, искать греющуюся микросхему на плате и тепловые аномалии так гораздо удобнее.
Здесь: www.youtube.com/playlist?list=PLsrCW-R5z-XtUQLkNb1LJ0M1bI5LFiNrK несколько моих видеороликов
Если не оформить, поймут лишь те кто и сам такое напишет. :) И они вряд-ли будут вникать.
***
Если интересно, могу показать что внутри его. Хотя в сети полно разборов. Ищется по DANIU Portable HY-18 MLX90640
Обзор от NICKBEL
Битую смд керамику мелкую видно
Удобнее с контентом работать. можно передать соседу попользоваться. маленький экран планшетом превращается в большой.
Есть софт для ББ, хоть на ноут хоть на стационарник цепляй. При ремонте рядом повесил и исследуй.
У нас только один «отечественный производитель» оптико-электронных систем видеонаблюдения не рекомендует «направлять на солнце», а днем даже закрывать крышкой. Но все только в устной форме, наши просьбы написать письменно (т.к. несет гарантийные обязательства) остались без ответа.
Есть много факторов от которых появляются битые пиксели, в последние годы — это применение дешевых китайских матриц (я подразумеваю, оптические системы видеонаблюдения).
там даже приложение было для подготовки отчетов по обследованию объектов. Знакомый инженер пользовался при выезде к заказчику на обследование электроустановок. Говорил, что отчет принимается как документ, типа там тепловизор сертифицирован для этого