Металл2024 Реклама
Метобр2024 Реклама

Разработка корпуса для тепловизора на основе ИК модуля AMG8833 и микроконтроллера ESP8266

Andrey_3D_
Идет загрузка
Загрузка
22.04.2021
5812
19
Применение

Подпишитесь на автора

Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.

Отписаться от уведомлений вы всегда сможете в профиле автора.

34
Статья относится к принтерам:
Flying Bear Ghost

1.  Введение

  

   Здравствуйте читатели портала 3DToday!

  Хочу поделиться своим опытом работы по моделированию и 3D печати корпуса для самодельного тепловизора на ИК модуле AMG8833 с разрешением массива датчиков 8х8. Вот его некоторые наиболее значимые характеристики:  

Диапазон точности измерения:
Диапазон измеряемой температуры:
Диапазон рабочей температуры:
Рабочее напряжение питания:
 ± 2.5 °C;        
0... 80 °C;
0… 80 °C;      
3…3.6 В.                         
           

      Поскольку модификации модуля AMG8833 достаточно много, важно, чтобы наш работал по интерфейсу I2C.     

      Сам корпус печатался на 3D принтере Flying Bear Ghost 4s и был сделан около 2-ух месяцев назад, самими наработками я ещё тогда хотел поделиться с вами, но то времени не было, то лень одолевала. Пока все данные не были стерты временем всё-таки решил собрать всё воедино и отобразить в этом посте. Сподвигло меня на данную работу вот эта статья , собственно там можно посмотреть электрическую схему сборки и на которой я останавливаться не буду, поскольку там достаточно подробно всё расписано, единственное хочу обратить ваше внимание – что работать будем по интерфейсу I2C и поэтому комплектующие были подобраны соответствующие. По ходу изучения дела выяснилось, что сама тема стара как динозавр и хвост его растет от сюда и от сюда , с чем всех интересующихся данной темой советую ознакомиться. Для этой работы можно было бы использовать любой из модулей: Teency, Raspberry Pi или Arduino, важна сама суть, а она не изменна, сам решил остаться на ESP8266, он чуть помощнее того же Arduino nano, но всё же послабее Teency, однако ESP8266 будет и существеннее дешевле последнего, в рамках данного проекта, а именно для изготовления тепловизора на модуле AMG8833, вкладывать больше средств чем необходимо считаю не целесообразным. Сам ИК модуль можно сказать самый дешевый из тех, что предоставлены на мировом рынке - в начале 2021 г. он стоил порядка 1800 российских рублей, следующий в ценовой категории MLX90640, у него разрешение уже 32х24, но и цена раз так в 6 выше, на который лишних денег у меня не было, а чтобы пощупать, что такое тепловизор считаю хватит и самого дешевого, хотя признаю хотелось и MLX 😊.

2. Исходные данные

      Что нам потребуется:

- Аккумулятор 3.7v 1000mah 43x25x10mm

- Винты потай 3х20

- Шилд зарядки TZT для Wemos D1 mini  

- Wemos D1 mini

- Резистор на 130 кОм

- Переключатель движковый ПД 9-1

- Модуль AMG 8833 работающий по I2C

- Дисплей SPI TFT LCD 240x320 ILI9341 2.8"

- Круглые латунные гайки M3 (Knurl-вставки)

- Пучок тонких разноцветных (для удобства) проводов

1 шт.;      

5 шт.;

1 шт.;

1 шт.;

1 шт.;      

1 шт.;           

1 шт.;    

1 шт.;

5 шт.;  

1 комплект.            

     Практически всё покупалось на площадке AliExpress за исключением переключателя, но думаю и там можно подобрать аналог, главное знать размеры, а ну и резистор приобрел в ближайшем магазине радиодеталей. Разработка корпуса для тепловизора на основе ИК модуля AMG8833 и микроконтроллера ESP8266     Разработка корпуса для тепловизора на основе ИК модуля AMG8833 и микроконтроллера ESP8266

     Латунные гайки всем я думаю уже известны, по крайней мере тем, кто уже связывался с изготовлением пластиковых корпусов, выглядят они так: 

Разработка корпуса для тепловизора на основе ИК модуля AMG8833 и микроконтроллера ESP8266      Удобны тем, что при помощи нагретого паяльника до температуры плавления пластика можно их впаять в нужные места корпуса для последующего соединения его составных частей.

3. Разработка корпуса   

    3D модель корпуса разрабатывался в свободном ПО Blender 3D. Почему именно Blender, потому что для меня он удобен и меня полностью устраивает. Задача стояла уложить весь имеющийся бутерброд как можно компактнее, а также, чтобы на нём были два отверстия под microUSB – для зарядки и возможности прошивки устройства. Вот что в итоге у меня получилось:     Разработка корпуса для тепловизора на основе ИК модуля AMG8833 и микроконтроллера ESP8266     

     Внутренняя компоновка получилась двуярусная: на втором - поместился LCD дисплей, ниже - на пластиковой подставке - остальные комплектующие.

Первый ярус: Разработка корпуса для тепловизора на основе ИК модуля AMG8833 и микроконтроллера ESP8266Второй ярус: Разработка корпуса для тепловизора на основе ИК модуля AMG8833 и микроконтроллера ESP8266     Общая высота корпуса в итоге получилась около 23 мм.

4. 3D Печать и покраска составных частей корпуса.

      Печатал все детали корпуса на 3D принтере FlyingBear Ghost 4s белым пластиком ABS. Покрашена была только верхняя часть акриловой черной краской после грунтовки, нижняя - просто обработана наждачной бумагой. Вот, что в итоге получилось:

Разработка корпуса для тепловизора на основе ИК модуля AMG8833 и микроконтроллера ESP8266

      Итоговый вариант:Разработка корпуса для тепловизора на основе ИК модуля AMG8833 и микроконтроллера ESP8266     

     Всё в сборе:

Разработка корпуса для тепловизора на основе ИК модуля AMG8833 и микроконтроллера ESP8266

Разработка корпуса для тепловизора на основе ИК модуля AMG8833 и микроконтроллера ESP8266 

5. Прошивка

     В прошивке тоже покопался. Если пройтись по ссылкам, которые я выкладывал в вводной части, то можно заметить, что в основе получения сглаженной картинки на LCD дисплее лежит алгоритм билинейной интерполяции, можно было бы остановиться на выводе данных на дисплей 8х8 пикселей, но мы же хотим для удобства наших глаз расширить видимую область. Была идея использовать алгоритм бикубической интерполяции, но потом от неё отказался, поскольку он требует больших мощностей и, по сути, не даст существенного улучшения в отображении температурной карты. В той прошивке, которая перекочевала от варианта с Teency (ссылка во введении) после финальной интерполяции входных данных исходная матрица преобразуется в массив данных 70х70.  При этом картинка при отображении на экране идет с небольшим притормаживанием. Я поступил иначе, переписал саму функцию интерполяции в соответствии со статьей , т.е. по факту нашел коэффициенты в функции  F(x,y) для единичного квадрата по четырем известным точкам, так мы получаем её значение внутри и на границах этого квадрата, а дальше размножил её через оператор цикла на остальные 63 квадрата. Полученный код был написан сначала в тестовой программе, которая принимала рандомные значения данных в исходной матрице и создавала отдельный текстовый файл с этой матрицей и данными после интерполяции.  Разработка корпуса для тепловизора на основе ИК модуля AMG8833 и микроконтроллера ESP8266      Вот частичное отображение вывода программы, зеленным отмечены исходные данные массива 8х8, а то что между ними получено путем билинейной интерполяции.

Разработка корпуса для тепловизора на основе ИК модуля AMG8833 и микроконтроллера ESP8266      На самом устройстве были перебраны варианты для итоговых матриц со значениями: 35x35, 42x42, 70x70 и оставлен средний вариант как наиболее оптимальный, учитывая мощность микроконтроллера ESP8266 и качества получаемой картинки. В прошивке все варианты присутствуют, только у тех которые не используются - закомментированы соответствующие строки.

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

Разработка корпуса для тепловизора на основе ИК модуля AMG8833 и микроконтроллера ESP8266

     На этой картинке: слева – бутылка минералки с холодильника, справа горячая тарелка с супом:

Разработка корпуса для тепловизора на основе ИК модуля AMG8833 и микроконтроллера ESP8266

6. Тестирование  

      При тестировании устройства использовал подогреваемый столик своего 3D принтера и термометр у которого датчик вывел на верхнюю поверхность стола. Как показали замеры – точность соответствует действительности с погрешностью порядка 1°C, однако само устройство должно находится на не большом расстоянии от измеряемого объекта – около 15-20 см, при увеличении расстояния погрешность сильно увеличивается, но относительно среднего значения температуры на картинке различимы как более теплые, так и более холодные объекты.Разработка корпуса для тепловизора на основе ИК модуля AMG8833 и микроконтроллера ESP8266

Разработка корпуса для тепловизора на основе ИК модуля AMG8833 и микроконтроллера ESP8266

7 Выводы

     Годится ли устройство в профессиональной деятельности для поиска, например, нагреваемых smd компонентов, или мест утечки тепла в комнате и т.д. думаю нет, на любительском уровне – да, п.к. игрушкой по правде его тоже назвать нельзя, ведь данные он передает вполне реальные, другое дело матрица модуля имеет низкое разрешение и за счет этого на больших расстояниях картинка получается сильно расплывчатой, математически можно лишь сгладить огрехи аппаратной части, но не убрать полностью, однако если уменьшить расстояние между наблюдаемым объектом и матрицей, то какую-то первичную визуальную информацию получить можно. Само устройство имеет низкое потребление питания, использую его уже где-то два месяца, а заряд уменьшился только на половину, правда пользуюсь редко, помогает контролировать процесс нагревания стола 3D принтера, если вижу, что температура держится в нужном диапазоне, то можно ставить на печать 😊 . Спасибо за внимание.

     Ссылка на исходник, прошивку и stl файлы.

Подпишитесь на автора

Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.

Отписаться от уведомлений вы всегда сможете в профиле автора.

34
Комментарии к статье
Кремень КБ Реклама
Кремень КМ Реклама