Лазерный измеритель температуры своими руками

ИК-термометр своими руками

Существует недорогой прибор MLX90614 (Даташит PDF), который представляет из себя цифровой инфракрасный термометр и предназначен для измерения температуры в диапазоне от -20ºС до +120ºС. Точность измерения составляет

0.5ºС. Шина связи: SMBus. Существуют различные версии сенсора отличающиеся напряжением питания (3 и 5 Вольт), углом охвата и др. Цена сенсора на eBay и в др. зарубежных интернет-магазинах составляет 15-20$.

Схема подключения к Arduino очень простая:

Умные ребята из bildr написали библиотеку для подключения к Arduino, тем самым облегчив задачу, за что им большое спасибо.

Мной же было просто собрано небольшое устройство в корпусе с выводом информации на LCD-дисплей от Nokia 5110.

Выводы MLX90614 сенсора и подтягивающие резисторы 4.7 кОм были аккуратно уложены в термоусадочную трубку.

Плата Arduino была запитана от двух Li-Ion аккумуляторов 3.7В. И датчик и LCD питаются напряжением 3.3В, которое берется с платы Arduino.

Nokia 5110 подключается так:
— pin 7 — Serial clock out (SCLK)
— pin 6 — Serial data out (DIN)
— pin 5 — Data/Command select (D/C)
— pin 4 — LCD chip select (CS)
— pin 3 — LCD reset (RST)

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

Был добавлен тумблер питания и все было укомплектовано в корпус, который у меня остался от предыдущего проекта.

Источник

Лазерный измеритель температуры своими руками

Пирометр для бесконтактного измерения температуры

Автор: Сергей Безруков aka Ser60
Опубликовано 05.07.2012
Создано при помощи КотоРед.

Прибор предназначен для безконтактного измерения и мониторинга температуры объектов. Принцип его действия основан на определении мощности теплового излучения объекта в инфракрасном диапазоне. Точность, разрешение, и диапазон измеряемых температур определяется датчиком MLX90614 фирмы Melexis и составляет 0.5°C, 0.01°C, и -70°C … +380°C, соответственно. Период измерений устанавливается через меню настроек в пределах 1 сек – 1 мин. Имеются режимы записи показаний с их последующим просмотром на ЖК дисплее или загрузкой в компьютер через его RS232 порт и внешний преобразователь уровней (например на микросхеме MAX232) или через внешний USB /UART конвертер.

Измеритель собран на основе микроконтроллера MSP430FR5728 фирмы Texas Instruments. Отличительной чертой МК серии FR57xx является наличие в них энерго-независимой ферромагнитной памяти (FRAM) для программ и данных вместо традиционной флеш-памяти (Flash). Такая память выдерживает астрономическое число перезаписей, на несколько порядков превышающее аналогичный показатель для технологии Flash. Запись в память может производиться при низком напряжении (вплоть до 1.5В) и информация сохраняется в ней десятки лет. FRAM фактически исключает необходимость оснащения МК энерго-независимой памятью типа EEPROM и позволяет при необходимости расширить RAM микроконтроллера за счет FRAM, используя для страховки встроенный блок защиты памяти. Для записи байта в FRAM не требуется предварительно стирать блок памяти как в EEPROM или Flash, и с точки зрения пользователя работа с FRAM ничем не отличается от работы с RAM. Оба типа памяти находятся в едином адресном пространстве. Подробнее о FRAM можно почитать на вебсайте фирмы.

Однако, наряду с упомянутыми преимуществами, FRAM на настоящий момент медленнее чем Flash. В МК серии FR57xx частота обращения к памяти не превышает 8 мгц. При тактировании МК на больших чем 8 мгц частотах этот недостаток частично компенсируется наличием в МК промежуточной кэш-памяти и автоматической организации циклов ожидания на аппаратном уровне без участия пользователя. В данном устройстве МК тактируется на частоте 8 мгц, так что запись и чтение из памяти происходит на полной частоте процессора без задержек. FR57xx – это первое семейство МК фирмы с FRAM памятью и обьем ее на настоящий момент ограничен значением 16 КБ. Этого, однако, вполне достаточно для данного прибора и с прилагаемой версией программы позволяет сохранить в памяти около 5400 измерений. Каждое измерение занимает 2 байта в памяти.

МК серии FR57xx являются современными устройствами с развитой периферией. Для связи с ЖКИ по интерфейсу SPI и передачи данных в компьютер задействован блок eUSCI_A0, а для связи с сенсором по интерфейсу I 2 C — блок eUSCI_B. Интерфейсы реализованы в МК аппаратно с очень гибкой системой тактирования. Процессор МК имеет расширенный набор инструкций MSP430X, позволяюший, в частности, работать с 20-битными числами. Также имеется и задействован аппаратный 32-битный перемножитель. Для приема и передачи данных в программе использованы все 3 канала прямого доступа к памяти (DMA). Это позволяет производить пересылку массивов данных через упомянутые интерфейсы практически без участия процессора, что положительно сказывается на токопотреблении схемы и удобстве программирования. Большую часть времени МК находится в режиме сна (LPM3) с пробуждением от таймера Timer_A0. Реакция на кнопки и подавление их дребезга реализованы на основе прерываний от порта P1 и трех каналов сравнения таймера Timer_A1. В результате среднее токопотребление МК составляет около 8 мкА.

Читайте также:  Переделка майки своими руками

Значения температуры и другая информация отображаются на ЖКИ семейства DOGS с разрешением 102×64, производимым немецкой фирмой Electronic Assembly. Дисплей относится к разряду экономичных — мой экземпляр потребляет около 270 мкА при неработающeм интерфейсе. Связь ЖКИ с МК производится по интерфейсу SPI на частоте процессора 8 мгц. Дисплею для работы нужно всего 3 внешних конденсатора C11 – C13. Дисплей не имеет встроенной подсветки и может эксплуатироваться без нее. Однако, фирма предлагает отдельные модули подсветки разных цветов точно по размеру ЖКИ, устанавливаемых под дисплеем. Я их не использовал, чтобы исключить подогрев ими сенсора, который весьма чувствителен к перепаду температур даже в пределах своего корпуса. Благодаря большим шрифтам показания дисплея хорошо видны и без подсветки.

В приборе имеется 3 основных режима работы, выбираемых переключателем ползункового типа. Переходы между этими режимами реализованы в программе МК посредством конечного автомата. В среднем положении переключателя производится периодическое измерение температуры объекта с показом ее на дисплее. Кнопками “ ” устанавливается период измерений, а средняя кнопка “mode” служит для останова или продолжения измерений. При останове на дисплее показывается последнее измеренное значение температуры. Это удобно, например, при измерении температуры труднодоступных или малоосвещенных объектов.

При переводе переключателя в верхнее по схеме положение включается режим записи. Сама запись начинается по нажатии кнопки “mode” и продолжается либо до повторного нажатия на эту кнопку, либо до перевода переключателя в другое положение, либо до заполнения всей свободной памяти, либо до выключения питания. Буфер значений температуры размещен сразу после программы и шрифтов в FRAM и простирается влоть до начального адреса векторов прерываний МК в конце памяти. Кнопкой “mode” можно пвременно останавливать и продолжать запись. Период записи регулируется кнопками “ ”. Если в процессе записи будет израсходована вся отведенная под буфер память, прибор автоматически отключается.

Наконец, в нижнем по схеме положении переключателя производится чтение записанных измерений из памяти с показом их на дисплее. Кнопками “ ” переходят от одной записи к другой, а кнопкой “mode” выбирается шаг чтения данных из памяти (1/10/100/1000). Ниже приведены снимки работы прибора при измерении температуры, записи данных (индицируется символом REC на дисплее), и чтения (шестое измерение из 27 записанных) с шагом 10 – две стрелочки вверху (показывается от 1 до 4 при шагах 1/10/100/1000).

В последнем, четвертом, режиме работы производится передача записанных значений температуры из памяти по последовательному интерфейсу через разъем X1. Используется режим с одним стоповым битом без контроля четности на скорости 9600 бод. Перед началом передачи прибор следует выключить и подсоединить к компьютеру. Потом нажать кнопку “mode” и не отпуская ее включить питание прибора и режим приема текстового файла в программе работы с терминалом на компьютере. Передача начинается по отпускании кнопки и по ее окончании прибор автоматически переходит в один из основных режимов работы, определяемых положением переключателя.

Питание прибора производится от одной батареи типоразмера AAA. Ее напряжение повышается до 3В импульсным преобразователем IC3, который запускается при разряде батарей вплоть до 0.9В. Отличительными чертами преобразователя являются высокая эффективность при малых нагрузках и полное отключение нагрузки в неактивном режиме. При этом преобразователь (и вся схема) потребляет 1-2 микроампера, что меньше тока саморазряда батареи. Включение устройства производится кнопкой On/Off. При ее нажатии вывод EN IC3 через диод D1 подтягивается к напряжению батареи, преобразователь запускается и активизирует МК. Последний выставляет напряжение 3В на выводе 1, тем самым поддерживая работу преобразователя после отпускании кнопки. При последующем нажатии на эту кнопку транзистор T1 открывается и напряжение на выводе 15 МК становится равным 0 (при работе этот вывод подтянут к напряжению питания МК внутренним резистором). Перепад напряжения на выводе 15 приводит к аппаратному прерыванию программы МК и переводе вывода 1 в высокоимпедансное состояние. По отпускании кнопки напряжение на выводе EN IC3 притягивается к земле через резистор R7 и преобразователь выключается. Аналогичным образом происходит и самоотключение устройства. Транзистор T1 необходим из-за наличия триггеров Шмитта на входах МК с пороговым напряжением большим чем напряжение батареи. Для надежного включения прибора при частично разряженной батарее желательно, чтобы пороговое напряжение T1 не превышало 1В.

Читайте также:  Летний пейзаж своими руками

Измеритель собран на односторонней печатной плате. Фольга на другой стороне платы изпользуется в качестве общего провода. Несколько неразведенных соединений реализованы проволочными перемычками. В файле печатной платы эти перемычки показаны синим цветом. Большинство деталей установлены под дисплеем, МК в корпусе типa QFN. Все пассивные элементы типоразмера 0402 за исключением C6 и C7 (0805) и C11 – C13 (0603). Получилось, что C6 и C7 самые высокие детали на плате, следовало-бы выбрать их в корпусе 0603, чтобы смонтировать ЖКИ чуть ближе к плате. Диод и транзистор в корпусах SOD523 и SOT523, соответственно. Кварц фирмы Abracon в корпусе ABS09 с номинальной емкостной нагрузкой 7 пФ. Дроссель L1 — Murata LQH3NP.

При монтаже следует обратить особое внимание на отсутствие остатков флюса (и других посторонних жидкостей) в районе элементов кварцевого генератора. При первоначальном монтаже корпуса МК на плате с помощью паяльника кварцевый генератор на 32 кгц никак не хотел запускаться, хотя под микроскопом монтаж выглядил чистым. Пришлось даже обратиться за помощью к инженерам фирмы TI. По их утверждению, генератор XF1 очень чувствителен к разводке платы и чистоте монтажа. Короче, оказалось, что при промывке платы после распайки деталей под корпусом МК остались следы какой-то жидкости, невидимой извне и мешающей работе генератора. Проблему удалось решить путем перепайки МК термофеном. Под действием высокой температуры воздуха все остатки флюса испарились, сделав ненужной последующую промывку места пайки. После перепайги генератор запускался стабильно. Отмечу, что МК серии FR57xx выпускаются и в корпусах типа TSSOP, для монтажа которых вполне можно обойтись без термофена. В программе ожидается запуск кварцевого генератора на протяжении порядка секунды после включения. Если запуска не произошло, для пробуждения из сна МК автоматически задействует внутренний LFO, работаюший на частоте около 8 кгц. Константы в программе подобраны так, чтобы обеспечить примерно те-же временные характеристики устройства, как и при работе с кварцем, но их желательно подобрать для изпользуемого МК индивидуально.

Программа МК написана на языке ассемблера и отлажена в системе IAR Embedded Workbench. Для программирования и отладки через разъем X2 и интерфейс Spy-Bi-Wire использовался инструмент MSP-FET430UIF. Однако можно использовать и MSP 430 Launchpad ценой всего около 4.50 USD. Налаживание прибора сводится к установке напряжения 3В на выходе преобразователя IC3 путем подбора резистора R4. Исходный текст программы и файл платы для Eagle прилагается.

Источник

Лазерный инфракрасный термометр Arduino

В этом проекте мы создадим цифровой лазерный инфракрасный термометр на основе Ардуино и в распечатанном 3D-корпусе.

Шаг 1. Вступление

Инфракрасные термометры широко используются для определения температуры поверхности объектов. Часто в технических системах или в электронной цепи повышение температуры является одним из первых признаков того, что что-то не так. Быстрая бесконтактная проверка с помощью инфракрасного термометра поможет понять, что происходит с температурой системы, что позволит отключить ее, прежде чем это приведет к необратимому повреждению.

Инфракрасное излучение — это просто еще один тип излучения, которое существует в электромагнитном спектре. Мы этого не видим, но если бы вы поместили руку рядом с чем-то горячим, например, с плитой, вы бы почувствовали воздействие инфракрасного излучения. Все объекты излучают энергию в виде инфракрасного излучения. Большинство ручных термометров используют линзы для фокусировки света от одного объекта на термобатарею, которая поглощает инфракрасное излучение. Чем больше инфракрасной энергии поглощается, тем больше она нагревается и уровень тепла преобразуется в электрический сигнал, который в конечном итоге преобразуется в показание температуры.

Я работал на трассе на днях, и у меня был компонент, который был очень горячим. Я хотел узнать его температуру, но, поскольку у меня не было инфракрасного термометра под рукой, то было принято решение создать свой собственный. Устройство будет иметь специальный 3D-корпус, который можно распечатать и собрать прямо у себя дома.

Читайте также:  Огород 4 сотки планировка своими руками

Это простой проект, который можно использовать как отличное введение в сенсоры, 3D дизайн или печать, электронику и программирование.

Шаг 2. Необходимые компоненты

Компоненты, необходимые для сборки нашего инфракрасного термометра Ардуино приведены ниже:

  1. Кнопка-переключатель
  2. Резисторы 5 кОм, 200 Ом
  3. 5В лазер
  4. Ардуино Нано
  5. Переключатель Вкл/Выкл
  6. Дисплей OLED 0,96″
  7. Датчик температуры GY-906 или датчик MLX90614 с соответствующими конденсаторами/резисторами
  8. Аккумулятор 9В
  9. 3D-принтер и нить (например, Hatchbox PLA)

Многие компоненты можно приобрести в большинстве интернет-магазинов.

Шаг 3. Инфракрасный датчик температуры GY-906

Я использовал датчик инфракрасного термометра GY-906, который является переходной платой для бесконтактного инфракрасного термометра MLX90614 от Melexis.

Выносная плата очень недорогая и ее легко интегрировать, поставляется с подтягивающими резисторами 10К для интерфейса I2C.

Подтягивающий резистор нужен, чтобы гарантировать на логическом входе, с которым соединён проводник, высокий (в первом случае) либо низкий (во втором случае) уровень в случаях:

  • проводник не соединён с логическим выходом;
  • присоединённый логический выход находится в высокоимпедансном состоянии;
  • когда разомкнут ключевой элемент на присоединённом логическом выходе, который устроен как открытый вывод ключевого элемента.

GY-906 поставляется с заводской калибровкой в диапазоне от -40 до +125 градусов по Цельсию для температуры датчика и от -70 до 380 градусов по Цельсию для температуры объекта. Точность этого датчика составляет примерно 0,5 градуса Цельсия.

Шаг 4. Электроника

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

Схема нашего устройства (нажмите на схему для увеличения):

Слева у нас есть наш лазер с токоограничивающим резистором 200 Ом, управляемый от цифрового выхода 5. Также есть стандартная кнопка, которая подключена между 5 В и цифровым входом 2. Есть подтягивающий резистор 5 кОм, чтобы когда переключатель разомкнут, на вход ничего не идет, а вместо этого устанавливается на 0 В.

Справа у нас есть основной выключатель, который соединяет нашу батарею 9 В с выводами VIN и GND на Arduino Nano. Дисплей OLED и инфракрасный датчик температуры GY-906 подключены к 3,3 В, а линии SDA подключены к A4, а SCL к A5. На дисплее и GY-906 уже есть подтягивающие резисторы на линиях I2C.

Шаг 5. Программирование

Нужно будет установить следующие библиотеки, чтобы код компилировался.

Программа постоянно считывает данные о температуре с MLX90614, но отображается на OLED только при нажатии кнопки триггера. Если нажать на курок, лазер также включается, чтобы помочь определить, какой объект измеряется.

Код для нашего инфракрасного термометра Ардуино ниже:

Шаг 6. Делаем 3D-корпус

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

Имеется отверстие для 0,96-дюймового OLED-дисплея и передняя часть на конце термометра для лазера и датчика MLX90614. Как лазер, так и датчик могут быть запрессованы в отверстие. Верхняя часть предназначена для Arduino Nano, и, честно говоря, я действительно недооценил количество проводов, необходимое для подключения в небольшом пространстве.

Все файлы можно скачать по этой ссылке.

Когда я вжал Arduino Nano в небольшое пространство, то потерял много проводов, поэтому в итоге я использовал клеевой пистолет, чтобы зафиксировать провода на месте, устанавливая Nano внутрь корпуса. Я всегда устанавливаю Arduino Nano в специальные держатели, на случай, если захочу использовать его для проектов позже, так что держатели заняли много дополнительного места, которое не понадобилось бы, если бы вы просто всё припаяли. Тем не менее, в конце концов, когда я все установил в корпус, то просто надавил на верхнюю крышку.

Теперь, когда у вас есть лазерный инфракрасный термометр, собранный и запрограммированный, пришло время проверить его!

Нажмите кнопку питания и подождите пока загрузится дисплей.

Источник

Оцените статью
Своими руками