Pull to refresh

Comments 51

Ну проблему автономности, как мне кажется, можно решить при помощи одноплатного ПК. А так прикольная штука)
любое устройство становится лучше, если в него добавить блютуз.
Плюс приложение для смартфона.
Про одноплатный пк уже сказали. А вообще, можно саму железку делать крайне тупой, все мозги выносить в программу смартфона. Тогда можно будет без умного ПК обойтись, в каком-то смысле контроллера хватит.
Спасибо!
А сколько же времени требуется на сканирование все-таки? 1 минута или 10, или вообще пара часов?
насколько я понимаю увеличив количество датчиков например хотябы до трех можно сократить в разы время сканирования.
И что не дает сканировать быстрее даже с 1 датчиком? Это инерционность самого датчика? Т.е. интересует какое слабое место.
Раз вы в разбирались в теме может подскажите почему не годится использовать матрицы вроде тех что идут в системы видеонаблюдения, отрезав видимую часть спектра? IR фильтры там не ставят, и ближний ИК они вполне неплохо видят. Более дальний ИК им не по зубам?
Скорость сканирования можно определить, внимательно рассмотрев окно управляющей программы — 7 минут и 1.5 минуты.
Похоже, что скорость ограничивает именно инерционность датчика, и судя по документации на датчик, для получения более высокого разрешения по температуре, датчик производит несколько выборок.
По поводу нескольких датчиков — самого интересовал такой датчик.
Матрицы из камер видят только в ближней ИК области, тепловое излучение от нагретых тел находится в дальней. Разница в длине волны — в 10 раз.
Для работы в дальней ИК области нужен не только подходящий датчик, но и специальная оптика — там работают только зеркала и линзы из необычных материалов — германия, пластмассы, и другие.
Извиняюсь за отсутствие информации о времени сканирования. Немного видно на скринах программы но надо было написать подробнее.
Время сканирования при самом большом разрешении занимает 6 минут 45 секунд, в моих примерах в основном приведены результаты сканирования, занимающего 3 минуты. Для получения простенькой картины есть вариант с полутора минутами (качество будет в два раза хуже чем при шестиминутном сканировании).

Насчет обычных матриц хочу добавить только, что попытки сделать из «мыльницы» тепловизор активно обсуждались тут, и боюсь, выводы неутешительные.
Мною из двух беззеркалок было успешно сделано два тепловизора. НО с рабочим диапазоном от 300 градусов и выше.
Делалось под специфическую задачу металлообработки, где температуры 400-900 градусов.
Было бы здорово узнать поподробнее. Может напишете статью, если время позволяет?
Если брать вопрос самой переделки, то вот. Но у каждой модели будут свои особенности.
А дальше только вопрос калибровки: включаем полностью ручное управление чувствительностью и экспозицией, снимаем тестовый объект, нагретый до разных, измеренных независимым методом, температур, смотрим, что будет на картинке. Строим калибровочные кривые яркости цветовых каналов, в зависимости от температуры. Потом снимаем целевой объект и по калибровочным кривым определяем его температуру.
Но это скорей получаются оптические тепловизоры (измерение температуры по цвету объекта). Хотя бы потому, что объектив (как я понял) Вы оставляете прежний, а материал линз ИК не пропускает.
Будет ли разница в съемке нагретого металла и белого листа бумаги при хорошем освещении?
Нет, это не по цвету, а по яркости. Причём в ИК-диапазоне, весь видимый отрезается светофильтром.
Материал линз отлично пропускает весь ИК, который способна видеть кремниевая матрица.
Если это освещение не содержит инфракрасного излучения, то будет ещё какая: бумаги видно не будет вовсе, а вот металл — будет.
Как я понял, датчик показывает температуру поверхности объекта? Почему тогда ваш друг и кот столь холодны? :)
Требуется калибровка?
Вообще датчик уже откалиброван на заводе. Исходя из своего опыта измерений могу сказать что поверхность многих вещей оказывается холоднее, чем кажется. Например намерять пирометром свою температуру в стиле 36.6, как обычным градусником не получится (пробовал), она будет ниже.
Кстати, мне больше было интересно что хвост у кота несмотря на всю пушистость довольно холодный.
Эх, удивительные вы люди… Просто надо вспомнить школьную физику.
1) Температуру здесь замеряют по инфракрасному излучению.
2) Ртутный термометр, вставляя в подмышку, вы прогреваете до своей собственной температуры.
3) Поверхность вашего друга охлаждается различными механизмами (потоотделение, конвекция)
4) Поверхность кота, или его хвоста, оптимизированна так, что бы излучать поменьше.

Соответственно, чем выше пушистость вашего друга, тем меньше будет температура замера. Кстати, медецинские термометры обычно измеряют температуру во всяких «технических отверстиях». Например в ушах, потому как — пота нет, конвекции нет. Инфракрасные термометры на лоб тоже ограничивают средства теплоотдачи в средУ.
Можно еще погуглить на тему сопряжения MLX90620 с ардуиной, что должно увеличить скрость сканирования, т.к. у этого градусника аж 64 сенсорных элемента, а стоит всего на 15..20$ дороже
Какое время требуется датчику для съема показателей в одной точки? Как точность зависит от времени?

update: обновил комментарии — увидел ответы. Спасибо.
Зона охвата настраивается в процессе калибровки. Ее можно сделать гораздо больше, чем исходное изображение, на сколько позволяют сервоприводы. Однако вся суть калибровки в совмещении изображений.
вот модуль и сервопривода не нужно, хотя правда стоит значительно дороже, но значительно быстрее
Модуль мне очень понравился, по сути уже готовый тепловизор в миниатюре. Не подскажите цену, мне надо решить, начинать копить на него или нет :)
Смотря какого разрешения, самый простой 8x8 был от 300 евро, получше от 1000 с ethernet.
Самому очень понравилось, но я для себя пока решил что тепловизор мне еще не настолько нужен.
Очень много интересной электроники можно заказать на elbase.ru, там есть этот MLX90614. Но у них для частных лиц заказ от 1000р. Но если вы ИП, то уже нет этой проблемы, да и попросить кого-то заказать для вас тоже не сложно.
DAiMor, спасибо, но мне кажется, что это все равно дороговато для второстепенного инструмента.
Дело в том, что хотя динамичность в изображении привлекательна и выглядит красиво, но по сути в некоторых областях применения она не обязательна. Я думаю, дешевый тепловизор из данной статьи прекрасно должен вписаться в нишу низкой ценовой категории подобного рода устройств. Как раз для тех случаев когда можно пожертвовать временем ради экономии средств.
Отличная идея! И почему с ней авторам не пойти на kickstarter? Для того, чтобы сделать 5-10 снимков фасада здания отлично подойдет.
Им уже, может быть, ни какого kick для start не нужно.
Автор проекта собирался организовать продажу упрощенной версии (уже без Arduino), но у него что-то не срослось. Я думаю все дело в том, что проект идеально подходит для Российских реалий, тогда как в Германии инженер может позволить себе тепловизор, ну или ему выдадут его на работе.
К тому же проект по моему мнению еще сырой, и требует доработок, чем я и занимаюсь.
В Германии еще налаженная система аренды тепловизоров, вот например (http://www.erento.com/mieten/geraete_werkzeug/mess-_pruefgeraete/waermebildkamera/), 102 пункта аренды по Германии. Т.е. фактически вся Германия, на расстоянии в 20-30 км можно взять в аренду за смешные (по немецким меркам) 60 евро в день профессиональный тепловизор. Отснять весь объект и вернуть назад.
У нас же все намного печальнее в этом отношении. Поэтому такой проект имел бы успех в СНГ.
Как же распределительная коробка со счетчиком то не аккуратно собрана…
А так статья интересная. Давно видел похожую. Тот же принцип, но без ПК и камер.
Я вот не понимаю. Можно ведь снять инфракрасный фильтр с веб-камеры и поставить туда другой, который наоборот пропускает только инфра-красное излучение. Или ничего не получится?
Спасибо, интересно.
Здорово было бы узнать более подробные характеристики готового устройства.
Скажем, сравнение одной и той же картинки снятой за 1,5 минуты и за 7, на каком расстоянии различимо, например, излучение человека и т. д.
можно было бы сделать электромеханическую систему как в считывателях штрих кодов, тогда скорость сканирования возросла бы, да и датчик лучше аналоговый
быть может есть фотографии снаружи? утечки тепла из дома, например.
Если честно, не особо интересовался энергоаудитом. Но по возможности попробую сделать пару картинок.
Очень удивительно, что автор «забыл» упомянуть многочисленные обсуждения этого проекта на robocraft'е
Например, вот эту статью.
Особенно с учётом того, что скобы-сервы совсем не от той конструкции, что на фото с установкой.

Что-нибудь посвежее есть?
Ну извините за «баян», но мне интересно развить этот проект, а не просто собрать и забыть. По поводу статьи на которую вы сослались — я только рад что кто-то скопировал текст и проявил интерес к проекту.
А действительно нормальная статья про этот проект есть здесь. Собственно говоря, ей я всем и обязан, но вовсе этого и не скрываю.
Бог с ним, вопрос по существу:
Какой частоты опроса пирометра Вам удалось достичь? И как возрастает погрешность при увеличении скорости движения сенсора (меня интересует именно «эффект памяти» датчика)?
При увеличении скорости сенсора получаемая картинка просто «поплывет», так как температура верхних пикселей будет присваиваться нижним. Если же Вы имели ввиду какую-то другую погрешность, я Вас не понял.

Насчет частоты опроса признаю свою вопиющую неосведомленность в данном вопросе.
Здесь используется протокол SMBus, с которым я только недавно познакомился. Максимальная частота SMBus для этого датчика 100 кГц, она же используется в работе.
Вообще, этот огород уже много раз перекопали авторы проекта и именно из этого датчика, как мне кажется, больше не выжать.
Я уже задумываюсь над заменой датчика MLX90614 другим, по возможности более «быстрым» (и дешевым, разумеется!), но они для меня — темный лес.

Также, я не понимаю всеобщего ажиотажа по поводу уменьшения времени сканирования. Изначально моей целью было повышение качества картинки, а вовсе не ускорения, поэтому в первую очередь я стал разбираться в ПО, а до электроники банально еще не дошел.
> При увеличении скорости сенсора получаемая картинка просто «поплывет», так как температура верхних пикселей будет присваиваться нижним. Если же Вы имели ввиду какую-то другую погрешность, я Вас не понял.

Эту самую и имею ввиду — «смазывание» за счёт влияния предыдущего состояния (виртуального пикселя).
Попробуйте взять «картинку» с резкой границей, например, отгородить замороженным листом часть электроплиты, и «провести» сенсором в обоих направлениях. Интерес представляет как-раз на сколько градусов будет «уплывать» граница для разных угловых скоростей.

> Также, я не понимаю всеобщего ажиотажа по поводу уменьшения времени сканирования. Изначально моей целью было повышение качества картинки…

Так поставьте диафрагму чтобы отсечь лишнее. Для тепловизоров качество не эквивалентно разрешению.
Еще немного разобрался в коде управляющего скетча микроконтроллера. Управление вертикальным сервоприводом осуществляется так, что серводвигатель не делает следующий шаг пока не пройдет промежуток времени, названный «Минимальным периодом чтения». В комментариях к коду есть информация, что этот промежуток должен быть равен 125 (скорее всего миллисекунды?), иначе картинка и начнет плыть.
Экспериментальным путем удалось установить, что «плыть» начинают не все пиксели, а сначала через раз, и дальше — больше. Таким образом если установить значение данной константы равным 100, плавание пикселей не заметно а то и вовсе не проявляется. А вот уже при 90, где-то каждый десятый начинает «проскакивать»
Вот для сравнения картинки для различных значений минимального времени ожидания чтения:


Каждый третий-пятый пиксели начинают дублироваться

Некоторые из двоящихся пикселей начинают троиться

пиксели принимают 7-9 одинаковых значений, что и дает такое красивое «северное сияние»

>20 дубликатов пикселей, время сканирования при этом значении константы — несколько секунд (1-2)
Объект съемки — обычный ЖК монитор.
Кстати, в сети я находил много очень интересных мнений по улучшению, связанных с изменением конструкции, например:

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

Использовать зеркальную систему развертки, подобную той, что в лазерных проекторах
Эта идея весьма привлекательна, ее минус лишь в проблематичности найти материал, работающий зеркалом для широкого диапазона ИК излучения. (Если Вы знаете такой, скажите!)

Изменить алгоритм сканирования
В настоящий момент алгоритм являет собой т.н. «пилу» датчик сканирует снизу-вверх, после чего смещается в сторону с одновременным движением вниз. Одним из предложений было сделать сканирование по спирали, что позволит вообще избавиться от лишних движений. Для этого надо лишь доработать ПО. Особенной роли в прибавке скорости это действие конечно не сыграет, но тоже неплохо.
Есть такой проект тепловизора с диком Нипкова, датчик при этом такой же, как и здесь — MLX90614, правда разрешение картинки очень низкое.
Насколько мне известно, практически любое зеркальное покрытие работает в нужном диапазоне длин волн, однако излучение, падающее на зеркало, не должно встречать на своем пути обычного стекла (в обычных зеркалах зеркальное покрытие закрыто слоем стекла). Были мысли об использовании в тепловизоре зеркал для телескопов.
По поводу быстродействующих датчиков — есть подозрение, что одиночный датчик при большой скорости опроса будет давать слишком сильный шум, и его придется охлаждать (и не факт, что удастся обойтись без жидкого азота).
Огромнейшее спасибо за ссылку! Давно искал хоть какой-нибудь материал по теме.

Насколько хватило моего знания английского при беглом чтении, понял, что диск там не вращается, а движется сервоприводом туда-обратно. Кроме того, датчик хоть и MLX90614, но с широким полем зрения в 90 градусов (тогда как в текущем проекте самая «узкая» модель ряда). По времени снятия показаний с датчика выходит 100 мс на один замер, также задержка в начале каждой из восьми строк длительностью 1 сек для каких-то сомнительных операций. Итого, за одну картинку — 30 сек.
Как и предполагалось, из-за влияния самого диска, нельзя получить достоверные данные о температуре снимаемых объектов, а жаль. Видимо необходимо сделать некое подобие системы компенсации температуры диска.
А не будет ли датчик измерять еще и температура диска Нипкова?
Идеальная задача для Raspberry, а не для ардуины. А вообще прикольная игруха.

может кто-нибудь выложить архивы из статьи? А то все ссылки сдохли.

Была такая же идея) Только горизонтальную развертку можно было сделать на шестигранном зеркале как это сделано в лазерном принтере и ловить в датчик отраженный свет, а вертикальную либо также либо например на динамик наклеить зеркало и сдвигать луч вертикально подавая напряжение. Думаю это ускорило бы работу, так как исключаются высоко инерционные механические узлы. Зеркало вращается с одной скоростью, мембрана динамика имеет малую инерцию и способность быстро колебаться.
Да не, в описанном в данной статье проекте именно датчик является бутылочным горлышком всей конструкции (см. мой комментарий выше от 24 марта 2013 в 01:53). Скорость сервоприводов была занижена чтобы успевать считывать с него значения. Хотя с тех пор много времени прошло, может появилось что-то более скоростное.

С зеркалами идея хороша, но тоже не так просто, так как нужно не обычное зеркало для видимого света, а подходящее под измеряемый ИК диапазон. Вроде матовый металл (насколько я помню) был подходящим кандидатом для этого.
Думаю чуток ускорить работу можно было бы в режиме PWM или читать сырые данные без приведения к температуре
А до этого мы тогда не додумались :(
Обычное стекло отражает почти 100% нужного диапазона
Sign up to leave a comment.

Articles