Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Manufacturing Technology >> Производственный процесс

Измерение температуры для лабораторных и научных проектов

Введение

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

Для гибкости научных экспериментов, для которых он может использоваться, необходима высокая точность наряду с быстрым откликом и хорошей частотой обновления. Само собой разумеется, что данные должны регистрироваться в удобной форме и простыми в использовании.

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

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

Обзор дизайна

Во многих проектах любителей термопар используется интегральная схема MAX31855, а готовые платы «усилителя термопары» доступны для подключения к RPI от нескольких поставщиков. Однако в этом проекте используется ADS1118 с гораздо более высоким разрешением от Texas Instruments. Он поставляется в корпусе для поверхностного монтажа, но, к счастью, доступна готовая плата разработки ADS1118, которая содержит все схемы, включая ЖК-дисплей и термопару - это очень хорошее соотношение цены и качества. Если вам не нравится пайка, можно подключить эту плату к Raspberry Pi (или к любой другой компьютерной плате - он использует стандартный метод связи, называемый последовательным периферийным интерфейсом или SPI), используя восемь перемычек (вилка-к- женские кабели необходимы). В качестве альтернативы, если вы не возражаете против пайки, можно построить небольшую плату адаптера. Это был подход, использованный здесь. В итоге вы можете увидеть на фото ниже все детали, которые используются для этого проекта, включая собранную плату адаптера.

Всем проектом можно управлять через веб-браузер или из командной строки.

Самый простой способ построить плату адаптера - использовать печатную плату; Используя программное обеспечение EAGLE, я составил дизайн, файлы которого прикреплены к этому сообщению, и готов к отправке производителю печатной платы (это стоит около 30 долларов за десять плат).

В качестве альтернативы можно использовать макетную плату; Я взял перфокарт (типа с изолированными подушечками, а не стрип-картон) и вырезал его по размеру. Просверлено отверстие диаметром 3 мм для крепления опорной стойки (проставки под шестигранник с резьбой). Платы расположены рядом друг с другом, а не друг над другом, чтобы минимизировать изменение температуры и проблемы с шумом, которые могут повлиять на показания термопары.

Мне нужна была возможность подключить плату ADS1118 к контактной площадке перфорированной платы, поэтому здесь есть небольшая сложность. Решением было использование загнутых заголовков SIL. Требуются 10-контактные разъемы SIL (на фото показано 8-контактное соединение, которое у меня было под рукой) - или используйте аналогичные разъемы для поверхностного монтажа, но с чередованием загнутых концов с обеих сторон. Если вы используете печатную плату, а не перфорированную плату, тогда необходимы прямые заголовки SIL.

Чтобы выровнять их, вставьте их в плату ADS1118 и поместите над перфорированной платой, а затем закрепите несколько контактов припоем. Затем можно очень осторожно отсоединить плату ADS и правильно припаять разъемы SIL. Учтите, что на данном этапе довольно сложно отсоединить вилку, не оторвав колодки от платы. При отключении платы ADS1118 прижмите изогнутую часть разъемов SIL к плате.

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

Чтобы определить соединения, обратитесь к фотографии с нумерацией контактов ниже и в следующей таблице:

+ развернуть исходный код
  1. * Подключения:
  2. * ИРП B + совета TI
  3. * ——————————
  4. * P1_1 VCC 1 3,3 В
  5. * P1_7 CLK 23 CLK
  6. * P1_8 ADS_CS 26 SPI_CE1
  7. * P2_8 LCD_CS 24 SPI_CE0
  8. * P2_9 LCD_RS 11 GPIO_17_GEN0
  9. * P2_1 GND 9 GND
  10. * P2_6 SIMO 19 MOSI
  11. * P2_7 SOMI 21 MISO

После тестирования программного обеспечения и функциональности платы можно использовать клей на основе эпоксидной смолы (например, аралдит), чтобы сделать заголовки SIL еще более безопасными. Было использовано минимальное количество, чтобы можно было просто припаять контакты, если это потребуется в будущем.

С подходом к печатной плате, упомянутым ранее, когда приходит печатная плата, контакты заголовка и розетка могут быть припаяны, и это простая задача (занимает пять минут), поэтому печатная плата является предпочтительным методом, особенно если вам нужно сделать много из них (I собираюсь сделать несколько). Я использовал контакты заголовка DIL вместо SIL, но любой из них будет работать с макетом печатной платы, прикрепленным к этому сообщению.

Программное обеспечение

На схеме представлен полный обзор решения. Большая часть кода находится в трех файлах. Код, который взаимодействует с платой ADS1118, обсуждается в первую очередь, потому что при желании этот код можно запустить автономно. На схеме он показан фиолетовым цветом.

Чтобы создать программное обеспечение, первое, что нужно сделать, - это создать логотип:

+ развернуть исходный код
  1. / **************************************** ************************************************* ***
  2. * therm.c
  3. * RPI <-> 430BOOST-ADS1118 Плата термопары / ЖК-дисплея
  4. *
  5. * __ __ ____ _____
  6. * ____ | | ____ _____ ____ _____ / | _ / _ | / | |
  7. * _ / __ \ | | _ / __ \ / \ _ / __ \ / \ __ \ | | / | | _
  8. * \ ___ / | | _ \ ___ / | Д Г \ ___ / | | \ | | / ^ /
  9. * \ ___> ____ / \ ___> __ | _ | / \ ___> ___ | / __ | | ___ \ ____ |
  10. * \ / \ / \ / \ / \ / | __ |
  11. *

Следующим шагом является использование того богатства кода, который обычно предлагает TI. В этом случае у TI уже был высококачественный код ADS1118, предназначенный для панели запуска MSP430, который можно было использовать повторно. Он был немного адаптирован для использования в RPI с использованием некоторого кода ввода-вывода (I / O) от Герта ван Лу и Дома.

Измерение температуры может показаться простой задачей (считайте значение АЦП и преобразуйте его в температуру), но термопары требуют «компенсации холодного спая», что в случае ADS1118 означает также считывание показаний внутреннего датчика температуры. Код чередует показания внутреннего датчика и внешней термопары. Другой ключевой момент заключается в том, что выходной сигнал термопары не является линейным по сравнению с температурой; Производители термопар публикуют данные, которые можно использовать для более точного преобразования значения АЦП в фактическую температуру. Код TI уже включает эти возможности для поставляемой термопары.

Код был адаптирован для добавления возможности ведения журнала. Поскольку плата должна питаться от источника питания 3,3 В с помехами от RPI, и она находится в непосредственной близости от RPI, необходимо предпринять некоторые шаги, чтобы обеспечить чистоту измерения. Реализованный алгоритм каждую секунду считывает внутренний датчик температуры один раз, а внешнюю термопару - десять раз за короткий промежуток времени (всего несколько сотен миллисекунд), так что измерения могут быть усреднены и, наконец, выведены с разрешением 0,1 градуса Цельсия. Конечный результат был очень хорошим; см. пример вывода здесь.

ЖК-дисплей имеет две строки по 16 символов, поэтому было решено использовать нижнюю строку для отображения времени и текущей температуры термопары. Верхняя строка зависит от пользователя; его можно настроить так, чтобы люди сразу знали, о чем идет речь. Например, можно сказать «Тест №1» или «Не трогай».

Использовать код очень просто.

Прежде всего, убедитесь, что некоторые функции включены в RPI. Если RPI используется в свежем виде, то после установки операционной системы убедитесь, что параметр Advanced ’, А затем активируйте три параметра: SSH , SPI и I2C - мы не используем все это для этого проекта, но это стандартные интерфейсы, которые всегда должны быть включены, если вы никогда не хотите отключать RPI от монитора или не использовать 40-контактный разъем DIL на RPI. Если это не было сделано после установки ОС, введите raspi-config . в текстовом окне (также известном как командная оболочка) на RPI, а затем выберите « Дополнительно ’В появившемся меню.

Предполагая, что три упомянутые выше функции включены, создайте папку для своей работы в своем домашнем каталоге (например, создайте папку с именем development а затем подпапку therm ) и скопируйте исходный код (прикрепленный к этому сообщению) в эту подпапку.

Для компиляции кода введите:

+ развернуть исходный код
  1. gcc -o therm.c -lrt

Теперь код готов к запуску. Есть несколько способов использовать этот проект. Один из способов - просто ввести команды в командную оболочку. Другой способ - использовать веб-браузер. Эти два метода обсуждаются далее.

Командный интерфейс

Код можно запустить с помощью ‘ sudo ’Или как суперпользователь (root).

Для последнего, чтобы стать пользователем root, сначала введите sudo passwd root . один раз и создайте пароль суперпользователя (то есть пользователя root). Теперь, когда вы захотите стать суперпользователем, вы можете просто набрать « su ‘И введите этот пароль. Чтобы выйти из привилегий суперпользователя в любое время, введите « выход . ‘. Некоторые люди предпочитают sudo, другие считают, что это ненужные наручники.

Подробнее:Измерение температуры для лабораторных и научных проектов


Производственный процесс

  1. ADI:импеданс и потенциостат AFE для биологического и химического зондирования
  2. Контроль доступа с помощью QR, RFID и проверки температуры
  3. Датчик температуры Python и Raspberry Pi
  4. Простая температура и влажность на Raspberry Pi
  5. Сделай сам:мониторинг и регулирование температуры для домашнего пивоварения
  6. Датчик температуры и освещенности Raspberry Pi
  7. Контрольно-измерительное оборудование, которое вам понадобится для домашней лаборатории
  8. Регистратор данных температуры и влажности
  9. Автоматическое измерение температуры и голосовая информация
  10. Поиск переработанных материалов для инженерных проектов в школах и университетах