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

Курильщик древесного угля с контролем температуры

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

Arduino MKR1000
× 1
Бесщеточная воздуходувка 5 В
× 1
Модуль драйвера MOSFET IRF520N
× 1
Термисторы NTC 100 кОм
× 1
Макет (общий)
× 1
Перемычки (общие)
× 1
3,7 В Lipo Battery> =700 мАч
× 1

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

IDE Arduino
Microsoft Visual Studio 2015

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

Предыстория

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

Проект

Создайте контроллер, который отслеживает температуру в курильщике и регулирует поток воздуха к углю для поддержания правильной температуры. Кроме того, предоставьте возможность удаленно контролировать температуру зондов для копчения и мяса. Это основано на скором выпуске Arduino MKR1000 со встроенным Wi-Fi и поддержкой зарядки LiPo батареи.

Оборудование

Температура дыма контролируется термистором 100K NTC в делителе напряжения, подключенном к одному из аналоговых входов MKR. Этот термистор был выбран, поскольку он используется для горячих концов Prusa RepRab в 3D-принтерах, поэтому они широко доступны и недороги. Его можно купить уже припаянным к высокотемпературному проводу с силиконовой изоляцией, чтобы получился идеальный датчик температуры. Термистор вставляется в длинную тонкую (1/4 дюйма или меньше) трубку из нержавеющей стали для физической защиты, причем один конец обжимается, чтобы закрыть ее, а провода закрепляются на другом конце с помощью термоусадки.

В делителе напряжения в качестве другой половины делителя напряжения используется резистор 10 кОм. Это значение было выбрано, поскольку оно близко к сопротивлению термистора NTC 100 кОм при типичных температурах курильщика (225 F). Это дает хороший диапазон для измерения температуры, обеспечивая показания от 50 до 300 F с разумной степенью детализации.

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

С другой стороны, к вентиляционному отверстию коптильни прикреплен небольшой вентилятор. Небольшая тарелка для собачьего корма из нержавеющей стали прикреплена к вентиляционному отверстию на коптильне, а воздуходувка прикреплена к отверстию в дне тарелки. Он выполняет две функции:во-первых, полностью закрывает вентиляционное отверстие, а во-вторых, обеспечивает некоторую тепловую изоляцию между корпусом курильщика и нагнетателем. Воздуходувка управляется с помощью N-канального полевого МОП-транзистора. Он мог быть подключен напрямую, но для простоты конструкции использовалась модель MOSFET. Затвор на полевом МОП-транзисторе подключен к цифровому выводу Arduino

Сборка

Для первой реализации все делается на макетной плате для простоты. Термисторный мост (ы) легко подключить, резистор 10 кОм от Vcc (3,3 В для MKR) к одной стороне термистора, а другая сторона идет на землю. Подключите перемычку между центром моста и аналоговым контактом MKR. Отрежьте кусок трубки для датчика, обожмите один конец в тисках, чтобы запечатать его. Затем плоскогубцами загибают углы гофрированной трубки, чтобы сделать острие острие. вставьте термистор в трубку до конца. Накиньте кусок термоусадочной пленки на другой конец и провода. Примените тепло, чтобы сжать его и закрепить провода.

Сторона нагнетателя почти такая же простая. Прикрепите провода к воздуходувке к выходной клеммной колодке на модуле MOSFET, соблюдая полярность. Подсоедините аккумуляторную батарею LiPo и провода от вилки JST к клеммной колодке питания на модуле MOSFET, снова соблюдая полярность. Вставьте штекер JST в гнездо JST для зарядного устройства MKR. Подключите три перемычки для Vcc, заземления и управляющего провода от контактов на плате MOSFET к MKR. Аккумулятор емкостью 10 000 мАч был использован, чтобы обеспечить продолжительное время автономной работы с воздуходувкой.

На макетной плате была добавлена ​​пара элементов, которых нет на схеме. Есть переменный резистор 10 кОм, который можно использовать для генерации напряжения для проверки скетча путем переключения одной из перемычек с термистора на ползунок на переменном резисторе (концы резистора подключены к Vcc и заземлению). Также к выходному контакту 0 подключен светодиод с резистором, ограничивающим ток 330 Ом, который указывает, когда эскиз включает и выключает вентилятор.

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

Здесь задействованы две части программного обеспечения. Один - это эскиз для управления Arduino, а другой - универсальное приложение для Windows, поэтому за курильщиком можно удаленно следить на любом устройстве с Windows 10.

Эскиз в значительной степени основан на эскизе сервера Wi-Fi из книги Саймона Монкса «Программирование следующих шагов Arduino:дальнейшее развитие с помощью эскизов» (http://www.amazon.com/Programming-Arduino-Next-Steps-Sketches/dp / 0071830251 / ref =sr_1_6? Ie =UTF8 &qid =1459448622 &sr =8-6).

По сути, он создает простой веб-сервер, который обслуживает одну страницу, отображающую измеренные температуры, и позволяет установить целевую температуру для курильщика. Инициализация состоит из настройки адаптера Wi-Fi и назначения фиксированного IP-адреса, чтобы знать, к чему подключаться, когда он не подключен к компьютеру, чтобы увидеть назначенный DHCP-адресом. Контакт 0 настроен на выход. В цикле он проверяет, пытается ли подключиться клиент, и, если да, то обслуживает веб-страницу. Если есть запрос, он также проверяет, содержит ли он параметр в URL-адресе для установки целевой температуры. Затем он проверяет температуру курильщика и включает вентилятор, если она ниже заданной температуры, и выключает, если она выше.

Измерение температуры с помощью термистора в делителе напряжения относительно просто. Сначала по показаниям аналогового входа мы можем определить падение напряжения на постоянном резисторе (показание, если постоянный резистор подключен к земле, Vcc - показание, если он подключен к Vcc) Затем мы используем закон Ома (V =IR) для вычисления тока (I) через резистор (I =V / R). Поскольку тот же ток течет через термистор, мы снова используем закон Ома для вычисления сопротивления термистора. R =V / I, где V - это падение напряжения на термисторе (показание аналогового входа или Vcc - показание в зависимости от того, на какой стороне делителя он находится), а I - это ток, который мы только что вычислили. Используя R, мы можем подключить его к уравнению бета-версии термистора:

1 / T =1 / T0 + 1 / Beta * ln (R / R0)

Где R0 - сопротивление термистора при T0

(Обратите внимание, что все температуры указаны в градусах Кельвина, поэтому обязательно примите это во внимание)

Обслуживание простой веб-страницы HTML в основном включает отправку блоков заголовков html и кодов форматирования html вокруг измеренных температур. Он также включает в себя ввод для целевой температуры и кнопку, чтобы включить ее в запрос обратно на сервер.

Универсальное приложение для Windows

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

Код для скетча и универсального приложения доступен в репозитории GitHub, указанном ниже.

Код

  • Эскиз контроллера Smoker
Эскиз контроллера Smoker Arduino
 // sketch_12_04_server_wifi # include  #include  char ssid [] ="BeeBar2"; // SSID вашей сети (имя) char pass [] ="9254582716"; // ваш сетевой парольWiFiServer server (80); WiFiClient client; const int numPins =10; int pins [] ={0, 1, 2, 3, 4, 5, 6, 7, 8, 9}; int pinState [] ={0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; char line1 [100]; char buffer [100]; IPAddress server_IP (192,168,123,90); float targetTemperature =225; float smokerTemperature =225; float v0; void setup () {Serial.begin (9600); while (! Serial) {}; // Леонардо это нужно для (int i =0; i  "); sendAnalogReadings (); client.println ("
"); client.print ("\ n

Целевая температура:


"); client.println (" \ n
\ n ");} void sendAnalogReadings () {client.println ("

Температура

\ n "); Serial.print ("Pin ("); Serial.print (0); Serial.print ("):V ="); Serial.print (v0); Serial.print ("Температура ="); Serial.println (температура курильщика); client.print (""); для (int я =1; я <7; я ++) {int чтение =аналоговое чтение (я); if (чтение> 0) {float v =(float) чтение / 1241.0; float T =ThermisterTemp (v, 100000, 10000, 3950, 25); Serial.print ("Pin ("); Serial.print (i); Serial.print ("):"); Serial.print (чтение); Serial.print ("V ="); Serial.print (v); Serial.print ("Температура ="); Serial.println (T); client.print (""); }} client.println ("
Курильщик"); client.print (" "); client.print (температура курильщика); client.println ("F
Probe"); client.print (i); client.print (" "); client.print (T); client.println ("F
");} void readHeader () {readRequestLine (line1); while (readRequestLine (buffer)> 1 &&buffer [0]! ='\ n') {}} int readRequestLine (char * line) {char ch; int я =0; while (ch! ='\ n' &&я <100 &&client.available ()) {если (client.available ()) {ch =client.read (); строка [i] =ch; я ++; }} строка [я] ='\ 0'; return i;} boolean pageNameIs (char * name) {// имя страницы начинается с char pos 4 // заканчивается пробелом int i =4; char ch =line1 [i]; while (ch! ='' &&ch! ='\ n' &&ch! ='?') {if (name [i - 4]! =line1 [i]) {return false; } i ++; ch =line1 [i]; } return true;} float readTargetTempParam () {//Serial.print("parsing targetTemperature "); Serial.println (line1); int len ​​=strlen (строка1); for (int i =0; i
Эскиз и универсальное приложение Smoker Controller
https://github.com/DuncanBarbee/SmokerController

Схема

Mrkr1000 представлен Arduino Nano Smoker.fzz - Mrkr1000 представлен Arduino Nano.
Инструмент Fritzing не имел детали.

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

  1. Цифровые игральные кости Arduino
  2. Регистратор данных температуры и влажности
  3. Железный человек
  4. Найди меня
  5. Роботизированная рука, напечатанная на 3D-принтере Arduino
  6. Управление увлажнителем Arduino
  7. Ворота бесконтактного мониторинга температуры
  8. NeoMatrix Arduino Pong
  9. Джойстик Arduino
  10. FM-радиоприемник Arduino TEA5767