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

Контейнер с контролируемой температурой для транспортировки образца

Компоненты и расходные материалы

Датчик температуры PT 100
× 1
Arduino UNO
× 1
Литий-ионный аккумулятор
10400 мАч
× 1
Коробка из полистирола
Вторично из стандартной поставки образцов / химикатов
× 1
Медные блоки
Два медных блока прибл. 80x50x10 мм, для обработки радиатора и насадки Пельтье, с отверстиями для тепловых трубок.
× 1
Модуль платы регулируемого повышающего источника питания ULS
× 1
Охладитель с тепловой трубкой
× 1
Цифровой потенциометр
× 1
Волшебный гель
Чтобы улучшить теплопередачу, мы могли бы вставить металлические стержни между образцами
× 1
преобразователь постоянного тока
× 1
модуль Пельтье
× 1
Конденсатор 3,3 мкФ
× 1
Тепловые трубки
× 1
Электропитание от сети
× 1
разветвитель постоянного тока для источника питания
× 1
ЖК-экран Adafruit Adafruit
× 1
Нагревательный мат
Для образцов нагрева
× 1
Клеммный блок
× 1
Пластиковый корпус
× 1
Штекер постоянного тока для монтажа на панели
× 1
Четырехполюсный двухпозиционный переключатель
× 1
Двухпозиционный однополюсный переключатель
× 1
Пластиковый корпус
Внешний пластиковый ящик для электроники
× 1
Коннектор клеммной колодки, 3-контактный
× 1
Разъем клеммной колодки, 5-контактный
× 1
Лента DualLock с крючком и петлей
× 1
Adafruit Proto-Screwshield
Для более прочного подключения проводов с винтовыми клеммами к Arduino
× 1
Зарядное устройство для литий-ионных аккумуляторов Adafruit USB
× 1
Усилитель датчика температуры Adafruit PT100
× 1

Необходимые инструменты и машины

Паяльник (общий)
Dremel 4000
Тиски
Drill
Инструмент для снятия изоляции с кабеля, плоскогубцы, кусачки
Ручная фрезеровка
Для обработки медных деталей

Приложения и онлайн-сервисы

GitHub
Мы использовали библиотеку sleemanj для цифрового потенциометра MCP41100 (спасибо Sleemanj!). Мы также использовали библиотеки Adafruit для каждого из используемых нами модулей Adafruit; они доступны на странице продукта.
IDE Arduino

Об этом проекте

Mr ThermoParcel:Контейнер с контролируемой температурой для транспортировки образцов

Цель состоит в том, чтобы разработать контейнер с контролируемой температурой, который можно было бы использовать для безопасной транспортировки чувствительных образцов с помощью обычной почтовой службы. Наш прототип устройства под названием Mr ThermoParcel работает в диапазоне температур 4–37 ° C и может питаться от сетевого адаптера, внутренней батареи или других источников 12 В, таких как автомобильный прикуриватель или зарядное устройство для ноутбука.

История нашего проекта

Наша идея возникла из реальной проблемы, с которой мы столкнулись в ходе наших академических исследований:безопасный обмен термочувствительными биологическими образцами с сотрудниками. Виола работает с малярией, и часто возникает необходимость отправить или получить образцы крови. Однако, если образцы не будут храниться при правильной температуре во время хранения и транспортировки, они могут легко разрушиться и стать бесполезными. Это тем более неприятно, когда пробы содержат драгоценные типы крови, которые обладают особой реакцией на малярию и поступают от редких пациентов.

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

Концепция дизайна

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

Концепция системы представлена ​​на рис. 1 . . Охлаждение достигается с помощью модуля Пельтье, при этом холодная сторона прикреплена к небольшому ящику для образцов внутри контейнера из полистирола, а горячая сторона подсоединена к внешнему радиатору. Нагревание осуществляется с помощью нагревательного мата, помещенного внутри ящика для образцов. Температура постоянно контролируется с помощью датчика, контактирующего с образцами, а интенсивность нагрева / охлаждения регулируется контроллером Arduino.

Реализация

Контейнерное оборудование дизайн

Внешний контейнер представляет собой ящик из полистирола с размерами 250x250x250 мм и толщиной стенок 45 мм со всех сторон, который является обычным типом ящиков, используемых при доставке в лаборатории со стандартными почтовыми услугами. Внутри находится пластиковый корпус (125x70x40 мм), в котором находятся две центрифужные пробирки по 50 мл. Эти пробирки служат вторичной упаковкой в ​​соответствии с правилами для биологических и инфекционных веществ, категория B UN3373 ( ссылка: http://www.un3373.com/info/regulations/ ). Первичные образцы представляют собой шесть пробирок Эппендорфа объемом 2 мл, содержащих образцы, разделенные впитывающей тканью для предотвращения утечки. Mr ThermoParcel может хранить до 50 мл жидких образцов, заменяя жесткую вторичную упаковку гибкими пакетами, которые могут содержать большее количество образцов, например до трех или четырех пробирок объемом 15 мл (ссылка:https://www.alphalabs.co.uk/laboratory-products/consumables/sample-handling/sample-transport/95kpa-pouches). Чтобы улучшить равномерность нагрева / охлаждения внутри внутреннего бокса и обеспечить тепловой контакт между медным листом, образцами и датчиком температуры, мы вылили электроизоляционный твердый гель вокруг образцов. Внутреннее поле с образцами показано на Рис. 2 . .

Система охлаждения и обогрева

Внутренняя температура контролируется термометром сопротивления Pt на 100 Ом (или датчиком температуры сопротивления, RTD), контактирующим с образцами, и контролируется системой PID с использованием модуля Пельтье (охлаждение) или нагревательного мата (нагрев). Чтобы отводить тепло от Пельтье за ​​пределами коробки, горячая сторона модуля Пельтье вводится в тепловой контакт с внешним медным элементом и радиатором (кулером ЦП) через три медные тепловые трубки. Холодная сторона прикреплена к тонкому медному листу, который проходит через короб, равномерно охлаждая образцы. Детали теплового соединения показаны на рис. 3 . .

Нагревательный мат помещается внутри внутреннего корпуса и контактирует с датчиком температуры и образцами.

Электроника и проводка

Регулировка охлаждения и нагрева

Модуль Пельтье, используемый г-ном ThermoParcel, рассчитан на 3,9 А и 7,6 В при максимальной мощности охлаждения. Для эффективного управления температурой мощность, подаваемая на модуль Пельтье, регулируется электронно с помощью понижающего регулируемого импульсного регулятора PTN78020W. Регулятор принимает входное напряжение в диапазоне 7-36 В и выдает выходной сигнал в диапазоне 2,5-12,6 В с ограничением, что выход не может превышать входной минус 2 В. Выходное напряжение регулируется путем установки определенного значения сопротивления между двумя регулировочными штырями в соответствии с таблицей в техническом описании устройства. Mr ThermoParcel использует цифровой потенциометр MCP41100 100 кОм, управляемый Arduino, для электронного регулирования выходного напряжения на основе показаний температуры. Поскольку для всего диапазона выходного напряжения PTN78020W требуется изменение напряжения, превышающее 1 МОм, напряжение подается на модуль Пельтье, даже когда цифровой потенциометр установлен на 100 кОм, поэтому модуль Пельтье нельзя «выключить» с помощью только цифровой потенциометр. Та же самая концепция регулирования применяется к нагреву с помощью нагревательного мата. Коврик представляет собой просто резистор, который рассеивает ток в виде тепла, а регулировка напряжения - это прямой способ контролировать подаваемую мощность.

Источник питания

Источник питания 12 В постоянного тока используется для непосредственного питания PTN78020W, когда Mr ThermoParcel находится рядом с сетевой розеткой. Это обеспечивает выходное напряжение до 10 В, которого достаточно для приведения в действие Пельтье на максимальной мощности и нагревательного мата на достаточной мощности для целей проекта. Учитывая диапазон входного напряжения 7–36 В регулятора PTN78020W, Mr ThermoParcel также может работать с большинством источников питания постоянного тока, используемых для ноутбуков и других электронных устройств, а также с розетками для прикуривателей, которые используются в автомобилях. Когда внешнее питание недоступно, Mr ThermoParcel питается от литий-ионной батареи 3,7 В, 10400 мАч. Аккумулятор по-прежнему питает регулятор PTN78020W, но для достижения входного напряжения, необходимого для управления модулем Пельтье (10–12 В на входе PTN78020W), повышающий преобразователь постоянного тока XL6019 сначала подключается к выходу аккумулятора.

Подключение Arduino

Питание на Arduino подается напрямую от внешнего входа 12 В, если таковой имеется, через гнездо на плате. При использовании внутренней батареи аналогичное напряжение устанавливается на розетке с помощью выхода преобразователя XL6019.

Arduino регулирует мощность, подаваемую на модуль Пельтье / нагревательный мат, контролируя сопротивление цифрового потенциометра. Подключение выполняется в соответствии с инструкциями в библиотеке серии Sleemanj MCP41 с потенциометром в конфигурации с переменным резистором. Arduino также подключается к усилителю RTD Adafruit MAX31865 Pt100, используемому для считывания показаний датчика температуры, и к ЖК-экрану Adafruit RGB LCD Shield, используемому для отображения данных о температуре и работы системы. Оба они подключены в соответствии с подробной документацией Adafruit, которую можно найти на страницах продукта.

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

Все модули Adafruit, подключенные к Arduino, работают с соответствующими библиотеками, а цифровой потенциометр - с библиотекой серии Sleemanj MCP41. Основные функции кода Arduino в Mr ThermoParcel связаны с контролем температуры, который реализован с помощью замкнутой системы ПИД-регулирования. Заданное значение температуры задается пользователем с помощью кнопок экрана ЖК-дисплея. Каждое измеренное значение температуры затем используется для получения отклонения от заданного значения и, таким образом, вычисления значения ПИД, которое подается на цифровой потенциометр для регулирования мощности охлаждения / нагрева. Внешний физический тумблер определяет, будет ли выходная мощность направлена ​​на модуль Пельтье (охлаждение) или нагревательный мат (нагрев). Поскольку в системе нет электронных переключателей, делается различие в коде между режимом нагрева и режимом охлаждения, и пользователь должен выбрать соответствующий режим с помощью кнопок экрана ЖК-дисплея. Это различие гарантирует, что вычисленное значение PID имеет правильный знак. Во время наших тестов мы попробовали диапазон значений для факторов PID и обнаружили, что одного члена P было достаточно в большинстве ситуаций, чтобы оставаться в пределах ± 0,5 ° C от заданного значения, поэтому мы в конечном итоге удалили факторы I и D. Вероятно, это связано с относительно большой теплоемкостью образцов и внутренней гелевой коробкой, которые замедляют изменение температуры (обычно в среднем 0,02 ° C / с в самых быстрых режимах).

Производительность

При питании от сети Mr ThermoParcel охлаждается до 4 ° C при запуске с комнатной температуры 21–23 ° C в течение примерно 1 часа. В течение первых 20 минут достигается температура 8-10 ° C. Начиная снова с комнатной температуры и используя нагревательный мат, температура 37 ° C достигается примерно за 10 минут. Все температуры поддерживаются на заданном уровне в пределах ± 0,5 ° C.

При питании только от внутренней батареи примерно 10 ° C - это минимальная температура, которую можно достичь за 1,5–2 часа. С нагревательным матом температура 37 ° C все еще может быть достигнута, но уже через 40-60 минут. Эти ограничения обусловлены скоростью разряда батареи:литий-ионная батарея в Mr ThermoParcel рассчитана на максимальный ток разряда 7 А при 3,7 В, но с учетом повышающего преобразования до 10-12 В ток разряда должен быть выше. для поддержания максимальной мощности модуля Пельтье. Поскольку в батарее есть цепи самозащиты, которые отключают ее выход в случае перегрузки по току, система не может работать, если система охлаждения / нагрева пытается потреблять ток, превышающий максимально допустимый. При работе от аккумулятора потребляемая мощность ограничивается программным обеспечением до безопасного уровня. Это ограничение связано исключительно с используемой здесь батареей, а батареи с более высокой скоростью разряда широко доступны. В качестве альтернативы, литий-ионная батарея с 3 последовательно соединенными ячейками и номинальным напряжением 11,1 В решит проблему, а также устранит необходимость в повышающем преобразователе постоянного тока.

Будущие направления

На текущем этапе разработки наше устройство не может быть отправлено, в основном из-за размера и движущихся частей кулера ЦП, а также прочности конструкции. Однако после замены радиатора на пассивную систему охлаждения и использования вторичной упаковки 95 кПа Mr ThermoParcel может быть помещен в соответствующий жесткий контейнер для безопасной транспортировки, выполняющего все требования стандартных курьеров по отправке образцов самолетом и всем остальным. другие виды транспорта.

С достижением основной цели могут быть добавлены другие компоненты для расширения функциональных возможностей устройства. Температурный профиль во время транспортировки может быть сохранен в локальной памяти для последующей проверки или отправлен непосредственно пользователю через SMS через регулярные промежутки времени с помощью модуля GSM Arduino. Приемник GPS также может быть включен для независимого отслеживания посылок и своевременного получения при доставке.

Код

  • PID_LCD_controller_v03
PID_LCD_controller_v03 Arduino
Код Arduino для подключения к модулям, используемым Mr ThermoParcel, запуска ПИД-регулятора, отображения информации на ЖК-панели и получения пользовательского ввода.
 #include  // импортировать библиотеку датчиков температуры PT100 # include  // импортировать библиотеку цифрового потенциометра # include  // импортировать библиотеку экрана ЖК-дисплея и кнопок # include  // импортировать библиотеку расширителя I2C # include  // Настройка цифровой потенциометр MCP41_Simple digitalPotentiometer; // создание объекта цифрового потенциометраconst uint8_t digitalPotentiometer_CS =10; // Настройка датчика температуры PT100 // Использование программного обеспечения SPI для датчика температуры PT100:CS, DI, DO, CLKAdafruit_MAX31865 PT100amplifier =Adafruit_MAX31865 (2, 3, 4, 5); // Установите значение резистора Rref. Используйте 430.0 для датчика температуры PT100. # Define RREF 430.0 // Номинальное сопротивление датчика 0 градусов Цельсия, 100.0 Ом для PT100 # define RNOMINAL 100.0 // Настройка экрана ЖК-дисплея с помощью кнопок Adafruit_RGBLCDShield LCD_shield =Adafruit_RGBLCDShield (); // # define OFF 0x0 // Состояния ON и OFF могут использоваться для включения / выключения подсветки ЖК-дисплея // # define ON 0x1void setup () {Serial.begin (115200); Serial.println («Мистер ThermoParcel, начало работы ...»); PT100amplifier.begin (MAX31865_4WIRE); // установите 2WIRE или 4WIRE, если необходимо, в данном случае 4-проводной RTD // Инициализируйте цифровой потенциометр digitalPotentiometer.begin (digitalPotentiometer_CS); // Устанавливаем стеклоочиститель в произвольную точку от 0 до 255 digitalPotentiometer.setWiper (200); // Инициализируем экран ЖК-дисплея // устанавливаем количество столбцов и строк ЖК-дисплея:LCD_shield.begin (16, 2); // установить заданное значение и текст измеренного T на ЖК-дисплее с правильными интервалами LCD_shield.print ("Tsetpoint:C"); LCD_shield.setCursor (0, 1); LCD_shield.print ("Tsample:C");} // Инициализируем константы ПИД-регулятора, переменные, связанные с температурой, и значение кнопки экрана int powerMode =1; // powerMode =1 для питания от батареи, powerMode =-1 для питания от сети; используется для предотвращения перегрузки батареи int operationMode =1; // operationMode =1 для охлаждения, operationMode =-1 для нагрева; используется для исправления знака терминов ПИД-регулятора float PT100ratio; // Определение переменной отношения сопротивлений для датчика PT100 uint8_t buttonsPressed =0; float kp =500.0; //; int ki =5; int kd =3.9; float PID_p =0.0; // int PID_i =0; int PID_d =0; float Tmeasured =-1.0; float Tsetpoint =22.0; // Начните с комнатной температуры float PID_error =5; float PID_value =0; // Определите функцию print_Tsetpoint для правильной печати заданного значения температуры на ЖК-экране static char TsetpointString [3]; void print_Tsetpoint (int T) {// Распечатайте Tsetpoint в правильном поместите LCD_shield.setCursor (10, 0); dtostrf (T, 3, 0, TsetpointString); LCD_shield.print (TsetpointString);} // Определите функцию print_Tmeasured для правильной печати измеренной температуры на ЖК-экране static char TmeasuredString [4]; void print_Tmeasured (float T) {// Распечатайте Tmeasured в правильном месте LCD_shield.setCursor (8, 1); dtostrf (T, 5, 1, TmeasuredString); LCD_shield.print (TmeasuredString);} // Определите функцию print_powerMode для правильной печати режима питания (B, батарея; M, сеть) void print_powerMode () {LCD_shield.setCursor (15, 0); если (powerMode ==1) {LCD_shield.print ("B"); } иначе, если (powerMode ==-1) {LCD_shield.print ("M"); }} // Определите функцию print_operationMode для правильной печати режима мощности (C, охладитель Пельтье; H, нагревательный мат) void print_operationMode () {LCD_shield.setCursor (15, 1); если (operationMode ==1) {LCD_shield.print ("C"); } иначе, если (operationMode ==-1) {LCD_shield.print ("H"); }} // *** основной цикл *** void loop () {// Считываем температуру uint16_t rtd =PT100amplifier.readRTD (); PT100ratio =rtd; PT100ratio / =32768; Tmeasured =температура усилителя PT100 (RNOMINAL, RREF); Serial.print ("Заданная температура ="); Serial.println (Tsetpoint); Serial.print ("Температура ="); Serial.println (Tmeasured); // Распечатать значения температуры и режимы print_Tsetpoint (Tsetpoint); print_Tmeasured (Tmeasured); print_powerMode (); print_operationMode (); // Вычислить ошибку между уставкой и измеренным значением PID_error =Tmeasured - Tsetpoint; // Вычислить значение P PID_p =operationMode * kp * PID_error; // Вычислить общее значение PID, если выше максимума (255) оставить 255, если ниже минимума (0) оставить 0 PID_value =(int) PID_p; // + PID_i + PID_d; Serial.print ("PID_p ="); Serial.println (PID_p); Serial.print ("powerMode ="); Serial.println (режим питания); Serial.print ("operationMode ="); Serial.println (режим работы); Serial.print ("PID_error ="); Serial.println (PID_error); Serial.print ("PID_value ="); Serial.println (PID_value); // Если в режиме работы от батареи (powerMode =1) ограничить мощность, чтобы избежать перегрузки батареи // Если в режиме от сети (powerMode =-1) разрешить полную мощность (255) if (powerMode ==1) {if (PID_value <0) { PID_value =0; } если (PID_value> 120) {PID_value =120; }} else if (powerMode ==-1) {if (PID_value <0) {PID_value =0; } если (PID_value> 255) {PID_value =255; }} Serial.print ("Скорректированное значение PID_value ="); Serial.println (PID_value); // Устанавливаем сопротивление цифрового потенциометра по значению ПИД-регулятора digitalPotentiometer.setWiper (255 - PID_value); // Обнаружение любых нажатых кнопок, изменение значения уставки, если необходимо, и отображение измеренного и заданного значения T // вызовы функции delay () гарантируют, что у вас будет достаточно времени для нажатия кнопок и просмотра значений изменения delay (1000); buttonsPressed =LCD_shield.readButtons (); if (buttonsPressed &BUTTON_SELECT) {// Выделите эту систему в режиме редактирования, мигая курсором LCD_shield.setCursor (14, 0); LCD_shield.blink (); задержка (1000); buttonPressed =0; // Остаемся в режиме редактирования, пока кнопка SELECT не будет нажата снова. Кнопки ВВЕРХ и ВНИЗ изменяют точку уставки. // ВЛЕВО переключает режим работы (нагрев / охлаждение). ВПРАВО:переключает режим питания (аккумулятор / сеть). в то время как (not (buttonsPressed &BUTTON_SELECT)) {buttonsPressed =LCD_shield.readButtons (); если (кнопки нажаты &BUTTON_UP) {Tsetpoint + =1; } если (кнопки нажаты &BUTTON_DOWN) {Tsetpoint - =1; } если (кнопки нажаты &BUTTON_RIGHT) {powerMode * =-1; print_powerMode (); } если (кнопки нажаты &BUTTON_LEFT) {режим работы * =-1; print_operationMode (); } print_Tsetpoint (Tsetpoint); LCD_shield.setCursor (14, 0); задержка (500); } // Выйдем из режима редактирования и перестанем мигать курсором LCD_shield.noBlink (); buttonPressed =0; } Serial.println ();} 

Схема

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

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

  1. Вентилятор с регулируемой температурой
  2. Сделай сам:мониторинг и регулирование температуры для домашнего пивоварения
  3. Измерение температуры для лабораторных и научных проектов
  4. Лучшие металлы для отвода тепла
  5. Как рассчитать тепловыделение для частотно-регулируемых приводов
  6. Высокотемпературные ламинаты для печатных плат
  7. Руководство по температуре печатной платы
  8. Термообработка алюминиевых отливок
  9. Alloy 36 (Invar®) Сплав с контролируемым расширением
  10. Процесс термообработки металлических деталей с ЧПУ