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

  • William Charles
  • 0
  • 4088
  • 1104
Реклама

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

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

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

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

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

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

Из соображений безопасности я использую эти RC-штекеры для переключения устройств переменного тока, с разорванным контроллером, подробно описанным в этой статье по домашней автоматизации. Устройства управления от Arduino: начало домашней автоматизации Устройства управления от Arduino: начало домашней автоматизации Last В то время я показал вам несколько способов управления речью ваших проектов Arduino с помощью SiriProxy, встроенных в OS X голосовых элементов, а также некоторых сценариев Automator или даже выделенного аппаратного чипа для распознавания голоса. Я ... Это беспроводная связь, поэтому мне не нужно прикасаться к проводам.

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

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

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

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

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

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

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

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

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

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

если (temperatureC < desiredTempC) mySwitch.switchOn(1,1); Serial.println("Heater ON");  else Serial.println("Heater OFF"); mySwitch.switchOff(1,1);  

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

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

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

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

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

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

Испытывать

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

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




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