Добрый день!
В январе 2017 года я начал делать прототип системы диспетчеризации, можно считать это хобби с уклоном на саморазвитие в сфере автоматизации =).
Суть проекта создать систему контроля над насосной станцией водопроводной сети.
И обеспечения непрерывного наблюдения за параметрами в реальном времени.
Первым делом была сделана примерная схема взаимодействия всех компонентов системы:
В роли контроллера выбрана Arduino Mega из-за некоторых важных параметров. Прошивка будет очень объемной, поэтому необходимо побольше памяти. У неё несколько портов TX RX (они пригодятся для отладки и взаимодействием с GSM модулем). У неё есть дополнительные выходы с прерываниями, что тоже может пригодиться для дальнейшего расширения проекта. Тем более цены сейчас на Arduino Mega не большие.
Нам необходимо охватить как можно больше показателей, поэтому выбрали следующие показания и датчики:
- Расходомер (счетчик воды) – Он будет нас информировать о количестве поднятой на поверхность воды, это поможет нам определить эффективность насосной станции. Скорее всего, это будет ультразвуковой расходомер с интерфейсом RS485, поэтому нам понадобиться адаптер для подключения его к контроллеру.
- Датчик температуры – Так как сооружение находиться обособленно, то там установлены электро тэны, которые поддерживают плюсовую температуру. Нам же нужно контролировать температуру во избежание аварийной остановки тэнов в зимнее время. В дальнейшем может даже контроль включения и выключения тэнов.
- Датчик размыкания – Этот датчик будет установлен на двери в насосную станцию, обеспечивая элементарную охрану помещения. Тут два варианта: либо это будет обычный геркон с магнитом, либо это будет датчик размыкания с оптопарой.
- Датчик тока – Двигатель там стоит трехфазный, так вот по нему будем определять ток прохождения по одной из фаз. Соответственно сможем примерно посчитать потребляемую мощность.
- Датчик давления – Этот датчик будет отслеживать давление в трубе, нагнетаемое насосом. Показатель тоже будет применяться в расчете эффективности.
Также в системе будет применяться некоторые модули обеспечивающие управление, хранение и передачу данных:
- Дисплей LCD (со встроенной клавиатурой) – На нём будет выводиться данные состояния, и осуществляться навигация по меню настроек.
- SD Карта – Она будет служить пока для сохранения логов, чтобы можно было отследить ошибки и сбои в работе системы, если она стала не онлайн.
- Часы реального времени – Сама arduino имеет встроенный таймер, но, к сожалению, он не энергонезависимый и не очень точный, поэтому будем пользоваться внешним модулем часов.
- GSM Модуль – Он основан на микросхеме SIM900 и соответственно служит для доступа к сети интернет. SIM-карты M2M я уже купил. Пробовал передавать данные GPRS, но пока не определился с протоколом обмена, может это будет HTTP REST, а может TCP/IP.
На стороне сбора данных будет установлен сервер с HTTP сервером, который будет принимать параметры и сохранять их в базу данных. Диспетчер будет через web-приложение наблюдать за данными. Этот пункт у меня затруднения не вызовет, т.к. я уже давно делаю web-приложения.
Все это уже подобрано и заказано на aliexpress. А пока будем оттачивать мастерство программирования на моей уже имеющейся arduino uno. И так приступим!