Диспетчеризация на Arduino Начало проекта!

Добрый день!

В январе 2017 года я начал делать прототип системы диспетчеризации, можно считать это хобби с уклоном на саморазвитие в сфере автоматизации =).

Суть проекта создать систему контроля над насосной станцией водопроводной сети.
И обеспечения непрерывного наблюдения за параметрами в реальном времени.

Первым делом была сделана примерная схема взаимодействия всех компонентов системы:

В роли контроллера выбрана Arduino Mega из-за некоторых важных параметров. Прошивка будет очень объемной, поэтому необходимо побольше памяти. У неё несколько портов TX RX (они пригодятся для отладки и взаимодействием с GSM модулем). У неё есть дополнительные выходы с прерываниями, что тоже может пригодиться для дальнейшего расширения проекта. Тем более цены сейчас на Arduino Mega не большие.

Нам необходимо охватить как можно больше показателей, поэтому выбрали следующие показания и датчики:

  1. Расходомер (счетчик воды) – Он будет нас информировать о количестве поднятой на поверхность воды, это поможет нам определить эффективность насосной станции. Скорее всего, это будет ультразвуковой расходомер с интерфейсом RS485, поэтому нам понадобиться адаптер для подключения его к контроллеру.
  2. Датчик температуры – Так как сооружение находиться обособленно, то там установлены электро тэны, которые поддерживают плюсовую температуру. Нам же нужно контролировать температуру во избежание аварийной остановки тэнов в зимнее время. В дальнейшем может даже контроль включения и выключения тэнов.
  3. Датчик размыкания – Этот датчик будет установлен на двери в насосную станцию, обеспечивая элементарную охрану помещения. Тут два варианта: либо это будет обычный геркон с магнитом, либо это будет датчик размыкания с оптопарой.
  4. Датчик тока – Двигатель там стоит трехфазный, так вот по нему будем определять ток прохождения по одной из фаз. Соответственно сможем примерно посчитать потребляемую мощность.
  5. Датчик давления – Этот датчик будет отслеживать давление в трубе, нагнетаемое насосом. Показатель тоже будет применяться в расчете эффективности.

Также в системе будет применяться некоторые модули обеспечивающие управление,  хранение и передачу данных:

  1. Дисплей LCD (со встроенной клавиатурой) – На нём будет выводиться данные состояния, и осуществляться навигация по меню настроек.
  2. SD Карта – Она будет служить пока для сохранения логов, чтобы можно было отследить ошибки и сбои в работе системы, если она стала не онлайн.
  3. Часы реального времени – Сама arduino имеет встроенный таймер, но, к сожалению, он не энергонезависимый и не очень точный, поэтому будем пользоваться внешним модулем часов.
  4. GSM Модуль – Он основан на микросхеме SIM900 и соответственно служит для доступа к сети интернет. SIM-карты M2M я уже купил. Пробовал передавать данные GPRS, но пока не определился с протоколом обмена, может это будет HTTP REST, а может TCP/IP.

На стороне сбора данных будет установлен сервер с HTTP сервером, который будет принимать параметры и сохранять их в базу данных. Диспетчер будет через web-приложение наблюдать за данными. Этот пункт у меня затруднения не вызовет, т.к. я уже давно делаю web-приложения.

Все это уже подобрано и заказано на aliexpress. А пока будем оттачивать мастерство программирования на моей уже имеющейся arduino uno. И так приступим!

Продолжение

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *