Сделайте свой собственный регулятор температуры с Arduino

Разводите идеальный хлеб, варите красивое пиво и доводите до совершенства цыплят с помощью регулятора температуры Arduino. Если вы живете в менее надежном климате, таком как Англия, инструкции, которые говорят о том, что вы должны держать что-то при заданной температуре, не особенно полезны — у нас нет кондиционеров, и поднимать термостат для всего дома непрактично. просто сделать буханку хлеба. Даже если их держать внутри, птенцы могут умереть, если температура ночью понизится; и получение их в первую очередь имеет еще более строгий температурный диапазон. Но мне нужен мой хлеб, а цыплятам нужно высиживать — поэтому вместо покупки дорогостоящего оборудования мы можем собрать компетентный регулятор температуры с Arduino и бытовыми битами.

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

Что тебе понадобится

Это проект Arduino — если вы никогда раньше не работали с Arduino, наше бесплатное руководство для начинающих — фантастическое место для начала.

  • Arduino
  • Датчик температуры — я использую TMP36, дешевое устройство в одной упаковке, которое поставляется с набором для начинающих Oomlout (Великобритания) / Sparkfun (США).
  • Реле или RC штекерные переключатели
  • Винтовые клеммы
  • Коробка для удержания тепла
  • Нагревательный элемент или лампа накаливания и приспособление (или оба)

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

Из соображений безопасности я использую эти RC-штекеры для переключения устройств переменного тока, с разорванным контроллером, подробно описанным в этой статье по домашней автоматизации

, Это беспроводная связь, поэтому мне не нужно прикасаться к проводам под напряжением.

Зондирование температуры

Давайте начнем с подключения и тестирования датчика. [Диаграмма из Адафрута]

Adafruit-tmp36

Датчик температуры TMP36 подключен плоской стороной к вам и ногами вниз. +, сигнал, GND в этой последовательности. + Идет на выход 3.3 В от Arduino; необходимо также другая линия, идущей от +3,3 до AREF штифта — это говорит Arduino, чтобы использовать 3,3 В для аналогового входа ссылки вместо 5 В. Подключения сигнала контактного датчика к A1. В предыдущих попытках я использовал TMP36 непосредственно на линии 5 В; он работает, к сожалению, когда в паре с реле, при каждом срабатывании реле происходило падение мощности, что приводило к сильным колебаниям показаний.

В качестве сигнального кабеля я использовал старый сетевой кабель — его очень полезно иметь вокруг, так как внутри 8 проводов. Хотя кабель довольно тонкий, поэтому обязательно укрепите другой конец припоем, где он будет ввинчен в клеммную колодку.

tmp36-сенсор-кабели

Формула в коде предполагает, что вы используете датчик tMP36; Вы должны быть в состоянии найти образец кода для других датчиков. Этот пример кода от Adafruit — загрузите его и откройте консоль Serial, чтобы проверить вывод.

tmp36-тестирование

Сравните с термометром, если это возможно. Чтения не правильно?

  • Убедитесь, что подаваемое напряжение на самом деле 3,3 В
  • AREF тоже подключен к 3,3 В?

Добавление в Switch Logic

Для управления нагревательным элементом я использую эти розетки RC от Maplin, и разобрали контроллер. Только земля и управляющий контакт должны быть подключены. Я изменил код, включив в него соответствующие библиотеки, которые вы можете скачать здесь.

радиоуправляемые выключатели

На этом этапе я также собираюсь удалить все ссылки на Farenheit и продолжу работать только с Celsius. Затем я определил желаемую температуру для поддержания и добавил в простую структуру управления, например:

if(temperatureC < desiredTempC){
mySwitch.switchOn(1,1);
Serial.println("Heater ON");
}
else{
Serial.println("Heater OFF");
mySwitch.switchOff(1,1);
}

Здесь нет ничего сложного, что вы не поймете - просто сравните текущее значение температуры с желаемым и включите переключатель, если он ниже; в противном случае выключите его.

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

проводка

Собираем все вместе

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

температуры контроллера коробки

Дальнейшая работа

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

Испытывать

Наконец, что бы этот проект был без небольшого теста? Я взбил партию готового теста в хлебопечке и разделил его на две буханки. Та закваска внутри коробки была немного больше, но тогда температура окружающего воздуха сегодня составляет около 26 градусов по Цельсию - это было бы гораздо полезнее зимой. В любом случае, мне лучше приготовить суп, чтобы сопровождать этот прекрасный хлеб.

хлеб-тест

Итак, что бы вы сделали, что требует постоянной температуры?

Ссылка на основную публикацию
Adblock
detector