Двухпозиционный (ON/OFF) контроллер с терморезистором Pt100 и управлением со смартфона через bluetooth модуль HC-05 |
|
На этой страничке представлена простейшая система управления подогревом по типу включить/выключить, которая использует в качестве измерителя температуры самодельный температурный преобразователь термосопротивления Pt100.
Двухпозиционный (ON/OFF) контроллер Что может данная система управления. Она включает и выключает подогреватель при заданных температурах. Выдает сигнализацию по высокой и низкой температуре. Все события выводятся на LCD-дисплей. Система позволяет настраивать все необходимые параметры и записывать их в память Arduino. В системе есть полностью ручной режим (включение/выключение). В чем же разница с контроллером, представленным на этой страничке сайта? В данную схему добавлена возможность получать данные о температуре и управлять системой со смартфона по средством bluetooth модуля HC-05. СОСТАВ СИСТЕМЫPLC Arduino UNO с шилдом Sensor Shield v 5.0 (питание 7-12 В постоянного тока), LCD-дисплей с шиной I2C, DC-DC конвертер для питания реле и дисплея, реле включения и выключения подогревателя и реле сигнализации, кнопочный пост с тремя кнопками и самодельный температурный преобразователь термосопротивления Pt100. Датчик Pt100 можно использовать штатный, установленный на системе подогрева. Также для связи смартфона и Arduino добавлен bluetooth модуль HC-05. |
КАК РАБОТАЕТ |
|
При подаче питания на Arduino контроллер замерит текущую температуру объекта. При снижении температуры ниже заданной минимальной контроллер подаст питание на реле включения подогревателя, а при превышении заданной максимальной выключит реле. В случае, если текущая температура уйдет за пределы аварийной минимальной или максимальной уставки, будет подано питание на реле сигнализации. При неисправности термодатчика вы можете переключиться в ручной режим и сами включать и выключать подогреватель. |
ИНДИКАЦИЯ LCD |
|
УПРАВЛЕНИЕ СИСТЕМОЙ КНОПКАМИ |
|
Есть два способа управления данной системой : с помощью трех кнопок : НАСТРОЙКИ, ВВЕРХ, ВНИЗ, и по средством специального приложении на смартфоне. Рассмотрим функции тактовых кнопок подробно : Кнопка НАСТРОЙКИПри нажатии этой кнопки вы попадете в меню настроек и будете циклично переходить по пунктам меню. После последнего пункта меню вы снова вернетесь на основной экран (показания температуры). Изменение параметров осуществляется кнопками ВВЕРХ и ВНИЗ. Все цифровые параметры имеют верхнюю и нижнюю границы, за которые вы выйти не сможете. Изменение цифровых параметров сразу принимается системой, подтверждение не нужно. Обратите внимание, верхнюю и нижнюю границы, а также значение по умолчанию вы можете сами изменять в скетче. Пройдемся по пунктам меню Настройки.
Кнопки ВВЕРХ-ВНИЗЭтими кнопками меняются значения параметров. |
УПРАВЛЕНИЕ СИСТЕМОЙ СО СМАРТФОНА |
|
Второй способ управления системой - из приложения на смартфоне через bluetooth модуль HC-05. Как его подключить, рассказывается ниже. Для работы нам необходимо установить на смартфон специальное приложение. Их довольно много, и чтобы выбрать правильное, нужно ответить на вопрос, что мы хотим от него получить. Конкретно в этом проекте необходимо заменить (продублировать) функции тактовых кнопок, а также иметь возможность получать данные о текущей температуре с датчика. Исходя из этого, в арсенале приложения должны быть джойстик или четыре кнопки (право-лево для перемещения по пунктам меню настройки, и вверх-вниз для изменения параметров). Также понадобятся переключатели ON/OFF для ручного управления системой. А чтобы получать данные с датчика, подойдет любой индикатор цифрового типа с возможностью настройки диапазона, например, спидометр (естественно, в нашем случае он будет показывать температуру). Раз уж зашла речь о приложениях, расскажу, какие я попробовал и почему от некоторых отказался.
ПОДКЛЮЧЕНИЕ СМАРТФОНАУстановите приложение Bluetronics на свой смартфон. Активизируйте Bluetooth. Запустите приложение. При первом запуске оно попросит разрешение на определение местоположения, разрешите. Нажмите на "Select Your Device".
В открывшемся списке доступных устройств выберите модуль HC-05.
Кнопка "Connect" станет активной. Нажмите на нее.
Дождитесь окончания процесса подсоединения.
Об успешном подсоединении вам подскажет надпись внизу экрана.
Теперь пройдемся по некоторым элементам управления. Для начала выберем джойстик "Arrow Key". Здесь представлены пять кнопок. Две из них (лево - left - L и право - right - R) в нашем проекте отвечают за переход по пунктам меню Настройки. С помощью двух других (верх - top - T и низ - bottom - B) можно изменять текущий параметр в настройках. Эти четыре стрелки дублируют функции тактовых кнопок. Пятая кнопка OK в проекте не используется.
Следующим элементом управления будет переключатель "Switch". На этой вкладке их несколько штук. Конкретно в этом проекте переключатель №1 включает-выключает автоматический режим работы подогревателя, переключатель №2 включает-выключает подогреватель, если он находится в ручном режиме, а переключатель №3 включает-выключает сигнализацию по температуре. К сожалению в этом приложении нельзя переименовать названия переключателей.
Кроме функции управления, приложение Bluetronics имеет возможность мониторинга за каким-либо параметром. В нашем случае это будет температура с датчика Pt100. В качестве индикатора здесь имеется спидометр, на который и будет приходить информация с Arduino. Опять же, переименовать спидометр в термометр в приложении возможности нет. Можно изменить диапазон шкалы, но эта настройка не сохраняется даже при переходе на другую вкладку внутри приложения.
Итак, стоит ли вообще использовать управление со смартфона, чтобы заменить им те же тактовые кнопки и LCD-экран. Можно, только, если вы напишите свое собственное приложение под конкретный проект. В остальных случаях (при использовании универсальных приложений) это не имеет смысла, так как главное преимущество такого управления - дистанционность полностью нивелируется отсутствием обратной связи от контроллера к смартфону. Например, управляя со смартфона настройками, вы не видите реакцию на ваши действия на экране смартфона и вам нужно подходить и смотреть ее на экране LCD. Тем не менее, попробовать создать хотя бы один проект с использованием смартфона и bluetooth модуля можно. Как минимум, чтобы освоить совместную работу Arduino и этих устройств и научиться программировать реакцию на их действия. |
ПОДКЛЮЧЕНИЕ |
|
Здесь приведено соединение всех элементов системы управления, Arduino (через шилд) и самого подогревателя. В виде схемы подключение представлено ниже.
Подключение подогревателя Плата Arduino и Sensor-shield
ПодогревательНастоятельно рекомендуется подключать подогреватель через контактор, катушку которого питать от реле системы. Реле включения/выключения подогревателя : COM - источник питания с напряжением аналогичным катушке контактора подогревателя, NO - клемма катушки контактора подогревателя (например А1). Минусовой или нулевой провод контактора можно оставить штатный. Bluetooth модуль HC-05
Примечание. Рекомендую использовать для проекта шилд версии 5.0 - на нем есть отдельная колодка для подключения bluetooth модуля. Плата для bluetooth модуля HC-05Для удобства работы с модулем HC-05 вы можете собрать небольшую плату. На ней, кроме колодок под пины, устанавливается и делитель напряжения. Ниже представлена электросхема платы.
Электросхема платы Ниже приведена схема пайки. За базу взята макетная плата 30х25 мм. Конечно вы можете расположить элементы по другому и более компактно. Обратите внимание, для экономии места на плате резисторы установлены вертикально. Колодка ARDUINO(M) - это штыревой соединитель на 6 пинов, колодка ARDUINO(F) - это разъем PBS на 6 пинов, колодка HC-05 - тоже разъем PBS на 6 пинов.
Схема пайки платы |
ЧТО НУЖНО ДЛЯ ПРОЕКТА |
|
ВОЗМОЖНЫЕ ПРОБЛЕМЫ |
|
Главная проблема, возникшая при полевых испытаниях, большая чувствительность Arduino к электромагнитным полям (плата зависает). Это явление возникает при коммутации через реле токов переменного напряжения 220 В и более. В этом случае вынесите реле К1 на расстояние не менее полуметра от платы. |
СКЕТЧ |
Немного о программировании для HC-05На самом деле все программирование для модулей, подобных HC-05, сводится к обработке сигналов, полученных с bluetooth модуля. Подобно тому, как мы обрабатываем сигналы с кнопок, датчиков и т.п. Условно этот процесс можно разбить на несколько этапов. Рассмотрим их бегло с примерами.
Ниже представлен скетч системы управления. В этом окне он неудобочитаем, поэтому скачать его в формате ino вы можете по этой ссылке. Внимание! Bluetooth-модуль использует тот же порт, что и USB-кабель при подключении Arduino к компьютеру, а вместе они работать не могут. Поэтому при одновременной загрузке скетча с компьютера по USB-кабелю и подключенным HC-05 вы получите ошибку. Чтобы этого не случилось, отключите bluetooth модуль от Arduino (можно отбросить только провода TX и RX). Для работы этого скетча вам понадобятся дополнительные библиотеки :
Если есть возможность, проверьте эти библиотеки на наличие обновлений. |
ТЕСТОВЫЙ СКЕТЧ ДЛЯ ЧТЕНИЯ ДАННЫХ С BLUETOOTH МОДУЛЯ |
|
Я думаю, что после начала программирования у вас может возникнуть вопрос : а как узнать символы, которые авторы приложений определили для элементов управления. В теории, для этого достаточно открыть окно порта в среде программирования Arduino IDE и прочитать символы, которые появятся после воздействия на те или иные органы управления на смартфоне. Но, как говорилось выше, bluetooth-модуль использует тот же порт, что и USB-кабель при подключении Arduino к компьютеру, и одновременно они работать не могут. Конечно, есть библиотека для переопределения портов и пинов, но чтобы не лезть в дебри, вы можете воспользоваться скетчем, представленным ниже. Загрузите этот скетч в Arduino, поиграйтесь с кнопками и т.п., и в верхней строчке LCD вы увидите искомые символы. Обратите внимание, они будут замыкаться двумя "крякозябриками" - это символы перевода строки. Чтобы скачать скетч в формате ino, воспользуйтесь этой ссылкой. |