- PVSM.RU - https://www.pvsm.ru -

Самодельный тепловизор на базе Arduino менее чем за 100$

Самодельный тепловизор на базе Arduino менее чем за 100$
Не секрет что каждый из нас хоть раз но мечтал получить в свои руки настоящий тепловизор. Ведь это уникальный шанс взглянуть на мир вокруг совершенно «другими глазами», увидеть скрытое и возможно даже глубже познать суть некоторых явлений. И единственной преградой к этой мечте служит цена подобных устройств. Не смотря на весь прогресс, она остается непомерно высокой для простого смертного.
Однако подобно лучу света в непроглядном мраке безысходности на свет появилась разработка двух студентов из Германии. Их устройство на базе микроконтроллера Arduino является довольно простым в изготовлении и существует аж с 2010 года.

Создателями данного чуда являются Макс Риттер и Марк Коул из города Миндельхейм, что в Германии. Их проект принес им награду на научно-техническом молодежном форуме в 2010 году, и с тех самых пор в сети имеются исходники с подробным описанием конструкции.
Самодельный тепловизор на базе Arduino менее чем за 100$
Низкая стоимость устройства достигается благодаря использованию одного-единственного температурного датчика MLX90614, подобного тому, что используются в пирометрах и системы механической развертки изображения, состоящей из двух сервоприводов. Таким образом, датчик по сути обходит будущую картину, точка за точкой сканируя температуру. Само-собой, это выливается в долгое время получения изображения, что и является главным недостатком самодельного тепловизора. Но ведь если вспомнить о том, сколько мы сэкономили на цене, на это глаза сами-собой закрываются.

Итак, из компонентов для создания устройства, понадобится:

  • Старая веб-камера, разумеется, рабочая;
  • Микроконтроллер Arduino;
  • Сервоприводы, 2 штуки;
  • Датчик температуры MLX90614-BCI;
  • Китайская лазерная указка;
  • Корпуса для сервоприводов;
  • Любой штатив (оптимально).
  • Два резистора на 4.7кОм.

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

Сервоприводы и крепления
К этому моменту тоже можно подступиться с широким размахом. Нам понадобятся 2 сервопривода — один будет отвечать за движение по вертикали, второй по горизонтали соответственно. Учитывая, что на горизонтальном приводе держится и вертикальный и сама веб-камера, стоит взять более мощный. Хотя многие, уже сделавшие устройство спокойно пользуются одинаковыми маломощными.
Крепления для сервоприводов в оригинале называются «поворотно-наклонным механизмом» а у нас «Серво-кронштейном»
Я покупал все эти компоненты тут [1].
В сборе данный элемент конструкции выглядит примерно так:Самодельный тепловизор на базе Arduino менее чем за 100$

Нижний привод крепится к штативу или другому корпусу/подставке туда же надо вставить и лазерную указку, к вертикальному сервоприводу приделывается веб-камера и датчик MLX90614 путем хитрых манипуляций с клеем или деталями от конструктора или например запчастями от старых электросчетчиков (как у меня).

Датчик температуры MLX90614-BCI
Самая сложная часть данной конструкции. Сложная в плане добычи. Найти его непросто (по крайней мере на отечественных сайтах) и он является самой дорогой частью конструкции. Сам я ждал его около двух месяцев, везли видимо из Китая. Подсказать где взять не смогу, ибо ту лавочку уже прикрыли. Автор проекта ссылается на Futureelectronics [2].
При выборе необходимо обратить особое внимание на последние буквы «BCI» в названии, что означает наличие у датчика насадки для обеспечения узкого поля зрения.
Выглядит он так:Самодельный тепловизор на базе Arduino менее чем за 100$

Arduino и схема подключения
Схема подключения датчика и сервоприводов к микроконтроллеру простейшая:
Самодельный тепловизор на базе Arduino менее чем за 100$
Скетч для Arduino и программное обеспечение для работы с тепловизором можно скачать здесь:
Официальная страница проекта [3]
Программное обеспечение (на JAVA) [4]
Скетч для микроконтроллера [5]
Также хочу обратить внимание, что авторы указывают на необходимость дополнительной настройки датчика при помощи специального скетча, что вроде как должно ускорить работу устройства. Однако в моем случае, датчик после конфигурации стал выдавать ложные значения температуры и я сделал откат.
После сборки всей схемы, ее можно поместить в корпус, и закрепить на штативе:
Самодельный тепловизор на базе Arduino менее чем за 100$
Небольшие пояснения:
В качестве корпуса для микроконтроллера взял пластиковую упаковку из-под автомобильного освежителя (на фото слева), он в свою очередь держится на штативе при помощи крепежа от учебного оптического прицела. В общем, строго выдержан принцип дешевизны и использования того, что было под рукой. Светится на фото фонарик, который был бонусом к лазерной указке и оказался весьма полезным при сканировании темных областей.

Процесс съемки
Зачем здесь нужен китайский лазер и как же происходит процесс сканирования легко понять на примере моего шикарного ковра:
Самодельный тепловизор на базе Arduino менее чем за 100$
Не удивляйтесь, что ПО на русском, просто я уже некоторое время занимаюсь его доработкой под свои нужды, попутно изучая язык Java. К несчастью, пока моих знаний недостаточно для окончательного оформления готового продукта.

Итак, на картинке с веб-камеры есть две желтые точки и точка нашего лазера (снизу по центру). Вся калибровка состоит в том, чтобы выбрать координаты центра и левого нижнего угла будущей термограммы. В этом собственно и поможет лазерная указка:
Самодельный тепловизор на базе Arduino менее чем за 100$
Сегодняшнее ПО поддерживает всего два типа разрешения будущей картинки, в то время, как прошлая версия была богата на это дело, насчитывая шесть разных разрешений. Особенно было забавно получать сильно «пиксельные» картинки за 15 секунд. Думаю, разработчики осознали ненужность остальных режимов и убрали их, хотя программно они остались и могут быть активированы.

Результаты на десерт
Приведенные термограммы в различном разрешении.

Как греется нетбук:
Самодельный тепловизор на базе Arduino менее чем за 100$

Мой Кот:
Самодельный тепловизор на базе Arduino менее чем за 100$

Старый счетчик:
Самодельный тепловизор на базе Arduino менее чем за 100$

Новый щит:
Самодельный тепловизор на базе Arduino менее чем за 100$

Окно:
Самодельный тепловизор на базе Arduino менее чем за 100$

Мой друг в темной комнате перед компьютером
Самодельный тепловизор на базе Arduino менее чем за 100$

Применение
Из-за большого времени сканирования, данный прибор не подходит для проведения энергетического аудита (по крайней мере, для профессионального применения), этот вопрос рассмотрен в этой Статье (Англ.) [6].
Тем не менее, как мне кажется он мог бы стать отличным подспорьем для проверки на нагрев электрических соединений и силовых сборок. В моей практике (а я подрабатываю электриком) иногда использую этот тепловизор для оценки надежности соединений. Пирометр в данном случае проигрывает в наглядности.

Неудобства в работе связаны с жесткой привязкой прибора к компьютеру и необходимости всегда таскать нетбук. Какое-то время авторы вели разработку второй версии своего тепловизора, которая позиционировалась как обособленное устройство с другим датчиком температуры (который кстати использован в этом проекте [7]) с собственным дисплеем и возможностью записи на карту памяти. Но к сожалению, как признался Макс Риттер, у него нет времени на завершение проекта.
В общем, дальнейшее развитие идеи лежит на плечах любителей и умельцев. Буду рад любым предложениям по доработке/усовершенствованию конструкции.
Спасибо за внимание!
Официальная страница проекта (Англ.) [3]

Автор: Astrei

Источник [8]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/arduino/29542

Ссылки в тексте:

[1] тут: http://devicter.ru/

[2] Futureelectronics: http://www.futureelectronics.com/en/technologies/semiconductors/analog/sensors/temperature/Pages/1007424-MLX90614ESF-BCI.aspx?IM=0

[3] Официальная страница проекта: http://cheap-thermocam.bplaced.net/

[4] Программное обеспечение (на JAVA): http://cheap-thermocam.bplaced.net/software/Thermocam-Sketch-020313.zip

[5] Скетч для микроконтроллера: http://cheap-thermocam.bplaced.net/software/Cheap-Thermocam-02-03-2013.zip

[6] Статье (Англ.): http://spectrum.ieee.org/geek-life/hands-on/ir-eye

[7] в этом проекте: http://habrahabr.ru/post/163085/

[8] Источник: http://habrahabr.ru/post/172947/