Двухпозиционный (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, воспользуйтесь этой ссылкой. |
|